Перейти к содержанию

Смещение содержимого листа при смене принтера


Рекомендуемые сообщения

Ситуация:
При выборе устройства печати, происходит смещение содержимого на листе. (показано на видео)

Наш рабочий процесс требует печатать как на pdf, так и на принтер,
приходится постоянно корректировать положение содержимого на листе, что крайне неудобно.

На видео показано:

Сначала при смене набора параметров листа сдвигаются область ограниченная сплошной линией синего цвета, а так же области выделенные пунктирной линией синего цвета и пунктирной линией красного цвета. Лист выравнивается по границе области печати документа, а не по границе листа бумаги. После содержимое листа изменяет положенние

шпаргалка из справки))

710461086_.png.06aeb3121f90ab90eb6ba15b1bb99c99.png

 

Вопрос:
Что сделать, чтобы после компоновки листа, содержимое листа не сдвигалось при выборе/смене устройства печати.

 

Изменено пользователем СПиС
Ссылка на сообщение
Поделиться на другие сайты

Ваша проблема в общем понятна. А теперь вопрос.

 

Допустим, у вас есть чертёж на форматке А4. Вы его выводите на PDF-принтер у которого поля нулевые на бумагу А4. Область печати совпадает с размером бумаги. Всё отлично помещается на листе. Теперь вы хотите вывести этот же чертёж на физический принтер у которого поля, допустим, по 10мм по каждой стороне. Итого, область печати физического принтера меньше области печати PDF-принтера на 20мм по каждому измерению. Что по-вашему должен сделать nanoCAD? Какое действие (или последовательность действий вас и программы) вы бы посчитали правильным?

Ссылка на сообщение
Поделиться на другие сайты
В 17.12.2020 в 19:54, СПиС сказал:

Вопрос:
Что сделать, чтобы после компоновки листа, содержимое листа не сдвигалось при выборе/смене устройства печати.

Ниже продемонстрированы настройки

Также вас возможно заинтересуют эти видео:

Создание шаблона печати

Автоматический подбор листа по чертежу

Ссылка на сообщение
Поделиться на другие сайты
15 часов назад, bay сказал:

 Что по-вашему должен сделать nanoCAD?

NanoCAD должен не менять расположение чертежа относительно листа при изменении области печати.

 

" Какое действие (или последовательность действий вас и программы) вы бы посчитали правильным?"

 

Фактическая ситуация:

Как Вы и говорили, при выборе PDF-принтера, у которого поля нулевые, начало области печати ((0;0)ОП) совпадает с началом  чертежа ((0;0)Ч) и с  началом границы листа ((0;0)ГЛ)

При выборе физического принтера, у которого поля (допустим - 10 мм), (0;0) ОП совпадает с (0;0) Ч, а (0;0) ГЛ смещается на величину поля (10 мм)

Соответственно чертеж смещается относительно листа на величину поля (10мм)

Хотелось бы:

    - чтобы начало границы листа ((0;0)ГЛ) и чертежа ((0;0)Ч) совпадали, а не зависели от области печати (ОП), а ОП  смещалась на величину поля (10 мм) относительно листа;

    - чтобы расположение Ч на листе было зафиксировано и ОП никак не влияла на это, иными словами, чтобы ОП сдвигалась относительно листа, а не наоборот.

 

В итоге при смене принтера подобная проблема не возникала бы.

 

Untitled-2.png

уцк.png

Изменено пользователем СПиС
Ссылка на сообщение
Поделиться на другие сайты
1 час назад, СПиС сказал:

В итоге при смене принтера подобная проблема не возникала бы.

Согласен, но тогда возникает другая проблема: при печати на принтере с ненулевыми полями часть чертежа будет попадать в область полей и не будет напечатана на бумаге. А поля бывают достаточно большие: например по 6мм сверху слева и справа и 20мм снизу листа. Для форматки А4 это будет почти катастрофа. Как быть в этом случае?

 

Второй вопрос. cad@maxsoft.ru предложил несколько способов для обхода вашей проблемы. По сути все они сводятся к вписыванию чертежа в область печати конкретного принтера с нарушением точного масштаба (т.е. будет использоваться "пользовательский" масштаб вместо предопределённого). Чем вас не устраивает этот подход?

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, bay сказал:

По сути все они сводятся к вписыванию чертежа в область печати конкретного принтера с нарушением точного масштаба (т.е. будет использоваться "пользовательский" масштаб вместо предопределённого). Чем вас не устраивает этот подход?

Конкретно это предложение (изменение масштаба) следует считать неудовлетворительным.

В нашей практике были случаи, когда проверяющие инстанции линейкой (!) измеряли длину рамки.

При несовпадении (184,5 вместо 185 мм) поднималась серьезная буча с обвинением в жульничестве, т.к. де неправильно посчитаны длины и т.д. и т.п..

Оправдания, что расчеты велись по значениям из акада, а не с распечатанного листа, отклика не находили. Как-то так...

 

Данная проблема обычно относится к печати форматов А3 и А4 на принтеры с предварительно загруженной бумагой сооответствующего формата в определенные лотки. Т.е., такая проблема не характерна для плоттеров  с рулонной подачей (хотя там тоже могут быть нюансы).

Одним из способов решения проблемы печати на принтеры (А3 и А4) у нас применялась следующая методика:

1. область печати задавалась по внутренней рамке с захватом левого нижнего угла бокового штампа и правого верхнего угла внутренней рамки.

2. для указанной области устанавливалась опция "Центрировать" и масштаб указывался 1:1 (не вписывать!)

 

В результате:

-смещение могло и присутствовать в пределах 0,5 мм (визуально практически не заметно)

-искажения масштабов не происходит

-вся содержательная часть чертежа попадает в область печати (внешняя рамка - это все-таки просто обозначение границы, а не чертеж)

-pdf создавался корректно (с небольшим смещением и без искажения масштаба) на листе необходимого размера.

 

Как вариант, можно центрировать область печати, принятую по внешней рамке.

Но в этом случае на некоторых чертежах для отдельных принтеров могла пропадать правая кромка внутренней рамки.

Ссылка на сообщение
Поделиться на другие сайты
19 часов назад, EdwardSt сказал:

В нашей практике были случаи, когда проверяющие инстанции линейкой (!) измеряли длину рамки.

Да, согласен, это аргумент.

 

Фактически, вы идёте тем же путём, что предлагает СПиС: жертвуете частью форматки, которая попадёт на поля листа, ради точного соблюдения масштаба и попадания содержательной части чертежа в область печати.

Ссылка на сообщение
Поделиться на другие сайты
21 минуту назад, bay сказал:

Фактически, вы идёте тем же путём, что предлагает СПиС: жертвуете частью форматки, которая попадёт на поля листа, ради точного соблюдения масштаба и попадания содержательной части чертежа в область печати.

 

Не совсем так.

Принципиальная разница в подходе к тому, кто решает, какая часть чертежа является содержательной.

 

В предложении же СПиС предполагается, что программа должна сопоставить значения для смещения, заданные пользователем, с текущими значениями сдвигов роликов, где-то их запомнить, а при смене принтера установить новые значения параметров. Т.е., алгоритм должен косвенным образом оценить, что собственно является содержательной частью.

 

При предлагаемом мной подходе проектировщик явным образом указывает содержательную часть.

И дальше вопрос к принтеру - может ли он разместить эту часть на доступной ему поверхности листа.

 

На мой взгляд, вариант с точным программным анализом того, что хочет проектировщик, пока еще в области будущего, пусть и недалекого.

А прямое указание работает уже прямо сейчас. 

Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, EdwardSt сказал:

Не совсем так.

Принципиальная разница в подходе к тому, кто решает, какая часть чертежа является содержательной.

На сколько я понял из второго поста СПиС (в части "Хотелось бы..."), предлагается все объекты, размещаемые в пространстве бумаги, привязывать к левому нижнему углу листа (начало координат совпадает с левым нижним углом листа). И никакого программного анализа, что является содержательной частью чертежа, не производится.

 

Получается, что если печать производится на принтере без полей, то результат будет точно соответствовать изображению на экране. Если печать производится на принтер с полями (размер полей зависит от принтера), то часть чертежа, которая попадёт в область полей, не будет напечатана.

 

Такой подход в программе можно реализовать достаточно просто. Однако при этом теряется совместимость с Autocad: там начало координат пространства бумаги привязано к левому нижнему углу области печати.

 

При вашем подходе, конечно, необходимо вмешательство проектировщика, который должен указать содержательную часть чертежа. Программно такое решить весьма трудоёмко.

 

Сейчас логика работы nanoCAD (и Autocad) следующая:

  1. Начало координат в пространстве бумаги совпадает с левым нижним углом области печати.
  2. Форматку (левый нижний угол её габаритного прямоугольника) необходимо ставить в точку (0, 0).
  3. При изменении области печати при смене принтера начало координат пространства бумаги изменяет своё положение относительно физического листа. При этом возможно чертёж будет обрезан справа и/или сверху.
  4. Дополнительную регулировку положения чертежа относительно области печати можно задать указанием смещений по осям X и Y.

 

Ссылка на сообщение
Поделиться на другие сайты

Я вижу решение проблемы в следующей последовательности действий:

  1. Чертёж на листе размещать относительно (0, 0) области печати.
  2. Для каждого принтера, на который предполагается делать вывод, и для каждого формата бумаги создать свой набор параметров листа. В наборе параметров листа отрегулировать положение чертежа относительно области печати указанием смещений по осям X и Y.
  3. К листам с одинаковым форматом бумаги применить соответствующий набор параметров листа для одного и того же принтера.
  4. Окончательную настройку и вывод на печать осуществлять через команду PUBLISH. Для вывода на "другой" принтер к листам применить наборы параметров листа, соответствующие этому принтеру, и с учётом формата бумаги (кнопка Параметры листа...).

Как-то так.

 

Единственный минус: в п.4 для каждого листа набор параметров листа придётся настраивать индивидуально. Пока нет возможности выделить в списке группу листов и назначить для них нужный набор параметров листа.

Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, bay сказал:

Я вижу решение проблемы в следующей последовательности действий:

...

 

 

Возможно минусов несколько больше...

  1. Чертёж на листе размещать относительно (0, 0) области печати. А каким образом вы предполагаете получать границы области печати на листе? Сходу такого способа не просматривается...
  2. Для каждого принтера, на который предполагается делать вывод, и для каждого формата бумаги создать свой набор параметров листа. В наборе параметров листа отрегулировать положение чертежа относительно области печати указанием смещений по осям X и Y. Случай из практики (отнюдь не уникальный): сисадмин заливает новые драйверы под тот же сетевой принтер . Вчерашняя область печати стала отличной от сегодняшней. Фэйл печати .... 
  3. К листам с одинаковым форматом бумаги применить соответствующий набор параметров листа для одного и того же принтера. Настройки печати включают не только формат бумаги, но и способ размещения (справа, влево, по центру и т.д.). Как быть с этим?
  4. Окончательную настройку и вывод на печать осуществлять через команду PUBLISH. Для вывода на "другой" принтер к листам применить наборы параметров листа, соответствующие этому принтеру, и с учётом формата бумаги (кнопка Параметры листа...). У каждого может быть свой набор приемов работы. Но навязывать вместо естественной операции "Печать" использование операции "Публикация" - все-таки перебор. Имхо

Как-то так...

 

PS.  И все эти проблемы (или большинство) снимаются при предложенном мною выше методе

Изменено пользователем EdwardSt
Ссылка на сообщение
Поделиться на другие сайты

EdwardSt, моё предложение совершенно не отрицает ваше. Более того, их можно применять совместно.

 

47 минут назад, EdwardSt сказал:

А каким образом вы предполагаете получать границы области печати на листе? Сходу такого способа не просматривается...

Во-первых, границы области печати на листе обозначены пунктирной рамкой, а начало координат области печати отмечено синим треугольничком с квадратиком. Во-вторых, объект на листе можно с привязкой переместить в точку (0, 0), указав абсолютные координаты (через #).

 

1 час назад, EdwardSt сказал:

Случай из практики (отнюдь не уникальный): сисадмин заливает новые драйверы под тот же сетевой принтер . Вчерашняя область печати стала отличной от сегодняшней. Фэйл печати .... 

От этого ни кто не застрахован. Скажите спасибо производителю драйвера. Однако, при использовании описанной мной методики, последствия такого действия не будут катастрофическими в большинстве случаев. Если же надо совсем хорошо, то придётся для каждого формата бумаги для этого принтера отредактировать наборы параметров листа.

 

Кстати, наборы параметров листа можно создавать/изменять/распространять централизованно через файлы стандартов САПР (*.dws).

Также для этого можно использовать *.dwg, *.dwt, *.dxf. Но идейно правильнее - через файлы стандартов САПР .

 

1 час назад, EdwardSt сказал:

Настройки печати включают не только формат бумаги, но и способ размещения (справа, влево, по центру и т.д.). Как быть с этим?

Да, а в чём проблема? Используйте те параметры, которые вам необходимы. Не нужно задавать такие значения параметров, которые потенциально могут вызвать проблемы. Иначе - ССЗБ.

 

Топикстартер работает в режиме Лист (параметр диалога печати Область печати). Для него выравнивание (вправо/влево/по центру) не работает. Вы устанавливаете этот параметр в значение Рамка. Здесь выравнивание доступно. В этом режиме точно также можно настроить расположение чертежа относительно области печати и сохранить набор параметров листа.

 

1 час назад, EdwardSt сказал:

У каждого может быть свой набор приемов работы. Но навязывать вместо естественной операции "Печать" использование операции "Публикация" - все-таки перебор. Имхо

Ни кто ничего не навязывает. Выбор за вами.

 

Операция ПУБЛИКАЦИЯ нужна, если необходимо выпускать большие комплекты документации. При этом проблема смещения содержимого листа при смене принтера стоит особенно остро. Поэтому я и порекомендовал менять наборы параметров листа в диалоге этой команды. Но вы можете применять к листу заранее созданные наборы параметров листа и в диалоге команды ПЕЧАТЬ.

 

Основные две идеи предлагаемой методики - в размещении чертежа на листе относительно (0, 0) области печати и в использовании набора параметра листов для нивелирования различий между принтерами. Остальное - "хозяйке на заметку".

Ссылка на сообщение
Поделиться на другие сайты
20 часов назад, bay сказал:
22 часа назад, EdwardSt сказал:

А каким образом вы предполагаете получать границы области печати на листе? Сходу такого способа не просматривается...

Во-первых, границы области печати на листе обозначены пунктирной рамкой, а начало координат области печати отмечено синим треугольничком с квадратиком. Во-вторых, объект на листе можно с привязкой переместить в точку (0, 0), указав абсолютные координаты (через #).

..........

 

Извиняюсь, но "совет хозяйке" определить абсолютные координаты пунктирной рамки, чтоб их потом ввести  через# - это действительно только "на заметку", а не для практики. Или имелось ввиду что-то другое?.

И благодарить сисадмина особенно не за что, он просто выполняет свою работу - установил свежий драйвер принтера.

 

 

А можно просто указать явно рамкой содержательную часть чертежа и получить нужный результат на ЛЮБОМ принтере, если он может эту содержательную часть разместить на листе с указанным масштабом.  

 

PS. Кстати, указание области печати через выбор рамкой дает более устойчивые результаты при смене принтеров и даже CADов. Например, на практике неоднократно сталкивался со случаями, когда метод выбора через "Границы" дает разные результат в AutoCAD и NanoCAD при попытке печати одного и того же файла. Именно поэтому теперь я всегда рекомендую проектировщикам рамку, а не лист и границы.

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, EdwardSt сказал:

Извиняюсь, но "совет хозяйке" определить абсолютные координаты пунктирной рамки, чтоб их потом ввести  через# - это действительно только "на заметку", а не для практики. Или имелось ввиду что-то другое?.

Не надо определять абсолютные координаты пунктирной рамки. Они уже определены. Её левый нижний угол соответствует началу координат области печати. Поэтому, когда вы, допустим, вставляете на лист форматку, её надо ставить в точку (0, 0), а не в точку, визуально соответствующую изображению листа бумаги.

paper02.png.0966d42eed6c9b62047bbdf67fa60ed6.png

 

2 часа назад, EdwardSt сказал:

И благодарить сисадмина особенно не за что, он просто выполняет свою работу - установил свежий драйвер принтера.

Вообще-то я говорил про "благодарность" производителю драйвера/принтера.

 

2 часа назад, EdwardSt сказал:

Кстати, указание области печати через выбор рамкой дает более устойчивые результаты...

Я не спорю с вами.

Можно делать по вашей методике, можно делать так, как написал я. Можно скомбинировать эти два способа.

Это уже будет зависеть от потребностей и предпочтений топикстартера.

Ссылка на сообщение
Поделиться на другие сайты

Извините, но я так и не понял, каким образом мне нужно определить величину смещения, чтоб на вашем примере (см. рисунок выше) добиться попадания  содержательной части (внутренняя рамка, боковой штамп) в область печати. Смещение на какой-то вектор всех элементов, включая форматку и все видовые экраны? И так под каждый новый принтер, включая новую версию драйвера? А потом еще отслеживать наборы параметров? Да еще держать в уме, что при передаче этого файла (например, заказчику) возможно использование как NanoCAD, так и AutoCAD?

 

Как-то все это выглядит очень хлопотным...

На мой взгляд, явное однократное указание рамкой необходимого контента - весьма невеликая плата за то, что избежать всех этих заморочек.

Как-то так...

Ссылка на сообщение
Поделиться на другие сайты
В 17.12.2020 в 16:54, СПиС сказал:

Ситуация:
При выборе устройства печати, происходит смещение содержимого на листе. (показано на видео)

Наш рабочий процесс требует печатать как на pdf, так и на принтер,

 

Как успехи в решении проблемы ?

Можете приложить файл примера ?

Ссылка на сообщение
Поделиться на другие сайты
11 часов назад, bay сказал:

Вы прочитали обсуждение?

Я то прочитал, и не вижу окончательного решения, по крайней мере удобного для автора темы.

Ссылка на сообщение
Поделиться на другие сайты
В 06.01.2021 в 10:00, maratovich сказал:

Я то прочитал, и не вижу окончательного решения, по крайней мере удобного для автора темы.

Вам известно мнение автора темы?

 

Изложенная проблема на самом деле проблемой не является.

По крайней мере, в части того, чтоб куда-то подскакивать и что-то исправлять.

Просто такова реальность и к ней необходимо приспособиться.

В обсуждениях были изложены методы такого приспособления, известные другим форумчанам.

И только автор мог бы сказать, подходит ли ему какой-то из предложенных методов или он будет ждать еще другие способы

Ссылка на сообщение
Поделиться на другие сайты

Парни, если честно - я вообще то автора спрашивал.

У меня вообще с этим проблем нет. И решение своё есть. Нажал две кнопки - распечатал в PDF 100500 форматов, сразу нажал две другие кнопки и пошла печать на физический.

И хотелось обсудить с автором, может быть ему бы помогло.

 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Расскажите друзьям

    Нравится Официальный форум компании Нанософт? Расскажите друзьям!
×
×
  • Создать...