| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Распечатка нескольких листов одновременно

Распечатка нескольких листов одновременно

Ответ
Поиск в этой теме
Непрочитано 02.08.2012, 06:49
Распечатка нескольких листов одновременно
antisept
 
Регистрация: 04.04.2012
Сообщений: 6

Здравствуйте! Часто приходиться работать в автокаде. В модели, всегда 50-100 чертежей. И чтобы все их распечатать, уходит много времени, т.к. нужно выделять каждый чертеж с помощью рамки и посылать на печать. Можно ли как-то упростить это процесс? Т.е., например, сначала все выделить, а потом, отправить все на печать, как в MsWord. Все чертежи имеют одинаковый размер А4. Заранее спасибо)
Просмотров: 107165
 
Непрочитано 02.06.2013, 16:20
#61
szuser


 
Регистрация: 25.10.2008
Сообщений: 106


Есть вопросы по работе лиспа.
1) В каком масштабе должны быть начерчены чертежи? Сейчас у меня 1 ед. на чертеже соответ. 1 мм. на бумаге.
2) На чертеже есть разные форматы А1, А2 разной ориентации вертикальные и горизонтальные, и нестандартные. Как сделать чтоб они печатались в правильном формате?
Пока печатал только на ПДФ принтере и так понял что лисп печатает все на одном формате заданном в _PAGESETUP.
szuser вне форума  
 
Непрочитано 04.06.2013, 19:45
1 | #62
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


чертежи , т.е штампик =может быть ЛЮБОГО масштаба.
Прога находит прямоугольники (лежащие на слое format), которые находятся под рамкой блоком- и распечатывает их по наружным границам.
Т.е масштаб- абсолютно любой

Ориентация чертежей- альбомная или книжная-не важно- вычисляется автоматически, =поворачивает и распечатывает в правильном положении.
См. пост 36 -там видео работы моего лиспа.

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

зы. пост 33- лисп
пост 26- файл с образцом рамки и под ней- специальный прямоугольник (по которому и печатаются сами рамки)

Обращаю внимание, если у тебя я думаю, нет этого прямоугольничка под блокамиЭ, то можно сделать так:
тебе нужно будет в блок рамок зайти, там создать полилинию, лежащую на слое format, а затем разбить свой блок коммандой burst - чтобы не полетели атрибуты.
Лучше все это сделать в копии основного файла
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 06.06.2013, 07:31
#63
Astartes

Котло- и реакторостроение
 
Регистрация: 25.02.2010
Барнаул
Сообщений: 807


sasha_lif, Попросил админа поставить триал версию Пдф креатор плюс (начнем с того что он платный ). Ваш лисп работает отлично. Но хотелось бы узнать, можно его доработать в таком направлении.
У меня есть блок рамки, перед печатью его можно разбить, не проблема. Но дело в том что у меня обе рамки (внутренняя и внешняя) сделаны полилинией на слое Формат. Можно ли добавить условие чтобы лисп захватывал бОльшую рамку или та которая тоньше.
Вроде как самое просто это разбить вторую полилинию. Но тогда придется переделывать блок, а у меня на основе этого блока сделано еще много блоков, и в каждом придется отлавливать баги заново.
Вложения
Тип файла: dwg
DWG 2010
Рамка.dwg (104.0 Кб, 2596 просмотров)
__________________
AutoCad 2011 -> AutoCad 2013

Последний раз редактировалось Astartes, 06.06.2013 в 07:48.
Astartes вне форума  
 
Непрочитано 06.06.2013, 11:25
#64
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


Astartes, Виртуальный принтер МОЖЕТ БЫТЬ ЛЮБОЙ, только чтобы он в процессе добавления листов, работал в фоновом режиме и не задавал вопросов :-)), а молча добавлял странички...
Вы по- моему уже ленитесь:
1.Это надо сделать один раз для файла- зайти в блок и закинуть например ненужную линию на другой слой- и все, вопрос решен.
2. Какие баги полезут?

Слой должен называться format, а не формат. Или же надо исправить строчку в лиспе
Код:
[Выделить все]
 (setq s1 (ssget  (list  '(8 . "format") )))
Ладно, Astartes, если без проверки кода, то вроде так

Код:
[Выделить все]
 (setq s1 (ssget  (list  '(8 . "формат")  '(370 . 0) )))
Теерь будет искать с учетом толщины. Только наружная рамка по которой теперь печатает- ее толщина должна быть 0,00, внутренняя -любой другой. Т.е. как у тебя в твоем чертеже.
__________________
Kiev, Ukraine

Последний раз редактировалось sasha_lif, 06.06.2013 в 13:28.
sasha_lif вне форума  
 
Непрочитано 06.06.2013, 11:48
#65
Astartes

Котло- и реакторостроение
 
Регистрация: 25.02.2010
Барнаул
Сообщений: 807


sasha_lif, Про формат и format я конечно исправил в лиспе.
Баги в блоке. На другой слой переносить заданную линию в исходном блоке? Ну как то это не по нашему. Весь блок в слое Формат, а эта линия в другом.
Если менять эту линию через редактор блоков перед разбиением, то при выходе из редактора, слетают многострочные атрибуты.
Я просто не знаю лиспа. Если это можно сделать одной строчкой кода, то почему нет. Если сложно, то конечно, заморачиваться ради этого не стоит.

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

УПД: Пока писал, уже ответ есть. Сейчас проверю.

УПД2: По поводу вирт. принтеров. Я не встречал бесплатного принтера, который может делать многостраничный ПДФ. Если знаете, дайте ссылку пожалуйста.
__________________
AutoCad 2011 -> AutoCad 2013
Astartes вне форума  
 
Непрочитано 06.06.2013, 11:56
#66
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


Astartes, поищи тогда другой тоже pdf creator (без плюса который ) - он намного проще, но вроде бесплатный
инсталяху ищи по:
PDFCreator-0_9_3_GPLGhostscript.exe
вроде тут, только проверь бесплатный, а то мне лень качать и ставить.
http://www.pdfforge.org/pdfcreator
Там вначале вроде спросит при попытке послать второй лист на печать - что делать- добавлять или перезаписывать, поставишь галочку добавлять- и все ОК
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 06.06.2013, 13:10
#67
Astartes

Котло- и реакторостроение
 
Регистрация: 25.02.2010
Барнаул
Сообщений: 807


sasha_lif, Спасибо, работает. Но.
В приложенном файле 2 вида форматов. Сверху со штампом. А снизу теже самые форматы, только без штампов.
Так вот, если применить ваш модернизированный лисп к нижним форматам, то печатается без проблем.
А вот к верхним, если захватить рамкой выделения и штампы, то выдает:

Команда: ASD1

Выделите чертежи, предназначенные для печати
Выберите объекты: Противоположный угол: найдено: 26

Выберите объекты:
; ошибка: неверный тип аргумента: numberp: nil


Других полилиний там нет. Тем не менее, что то мешает печати.
Вложения
Тип файла: dwg
DWG 2010
Рамка.dwg (84.7 Кб, 2488 просмотров)
__________________
AutoCad 2011 -> AutoCad 2013
Astartes вне форума  
 
Непрочитано 06.06.2013, 13:21
#68
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


Astartes,
Цитата:
чтобы лисп захватывал бОльшую рамку или та которая тоньше.
Вот по этому принципу и сделал-я вам и написал
Цитата:
Теперь будет искать с учетом толщины. Только наружная рамка по которой теперь печатает- ее толщина должна быть 0,00, внутренняя -любой другой
Т.е . не должно быть на слое формат никаких линий, кроме наружного контура, у которых толщина линиии 0,00, а у тебя там встречается такое.
Поэтому тебе придется своим тонким линиям присвоить любую другую толщину, кроме 0,00!

Offtop: От Киева до Барнаула - 4 242 км. Мощная штука интернет!
__________________
Kiev, Ukraine

Последний раз редактировалось sasha_lif, 06.06.2013 в 13:35.
sasha_lif вне форума  
 
Непрочитано 06.06.2013, 13:44
#69
Astartes

Котло- и реакторостроение
 
Регистрация: 25.02.2010
Барнаул
Сообщений: 807


sasha_lif, Забыл написать.
Если пользоваться изначальным лиспом и даже перевести внутренний контур на 0 слой. Все равно не работает.
Точнее также печатает вынесенные отдельно рамки, но не хочет печатать, когда в рамку выбора попадает штамп.
__________________
AutoCad 2011 -> AutoCad 2013
Astartes вне форума  
 
Непрочитано 06.06.2013, 13:49
#70
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


Astartes, не срабатывает на модифицированном лиспе ?? с (setq s1 (ssget (list '(8 . "формат") '(370 . 0) )))
??
Вот рабочий вариант для твоего файла и лисп
Все работает:
Вложения
Тип файла: lsp asd.lsp (2.5 Кб, 176 просмотров)
Тип файла: dwg
DWG 2007
Рамка.dwg (125.8 Кб, 2522 просмотров)
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 06.06.2013, 14:00
#71
Astartes

Котло- и реакторостроение
 
Регистрация: 25.02.2010
Барнаул
Сообщений: 807


sasha_lif, Я наверное запутал вас. У меня конец рабочего дня. Вкраце опишу сейчас. Потом добавлю подробно.

1. Не модифицированный лисп (setq s1 (ssget (list '(8 . "Формат") ))). Не работает даже если внутреннюю рамку переместить на другой слой.
2. Модифицированный лисп (setq s1 (ssget (list '(8 . "Формат") '(370 . 0) ))). Работает если присвоить линиям с Нулевой толщиной, любую другую.

Вопрос. Почему неработает не модифицированный лисп. В нем ведь нет указаний на толщину линий?
__________________
AutoCad 2011 -> AutoCad 2013
Astartes вне форума  
 
Непрочитано 06.06.2013, 14:03
#72
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


Astartes, по 1 Не модифицированный лисп - НА СЛОЕ ФОРМАТ НЕ ДОЛЖНО БЫТЬ НИКАКИХ ЛИНИЙ кроме наружной рамки
прога ищет все полилинии лежащие на слое формат. А у тебя там есть как нужные прямоугольники, так и не нужные проге полилинии, которые ее сбивают с толку
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 07.06.2013, 11:43
#73
Astartes

Котло- и реакторостроение
 
Регистрация: 25.02.2010
Барнаул
Сообщений: 807


sasha_lif, С одной стороны понял, с другой нет.
Меня полностью устраивает модиф. лисп. Спасибо за него. Я просто изменю линии нулевой толщины на другую толщину.

Дальнейшие вопросы, чисто мое любопытство.

Немод. и мод. лисп отличаеют вот этим: '(370 . 0). Можешь объяснить что это значит. Пробовал почитать про ssget, но там на английском, я ни фига не понял. Думаю если понять что здесь зашифровано, то может и вопросы отпадут.

Проводил эксперименты над лиспом. Есть пара моментов, которыми хочу поделится.


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
Не модифицированный лисп - НА СЛОЕ ФОРМАТ НЕ ДОЛЖНО БЫТЬ НИКАКИХ ЛИНИЙ кроме наружной рамки
Вот тут я нашел причину по которой не печаталось. Оказывается у меня в рамке было около 6 линий дубликатов (наложенные). Я прогнал свою рамку через total purge, удалил дубликаты линий и после этого печать шла нормально.
Вывод, немод. лиспу не нравятся наложения линий. А так, на слое формат может быть любое количество объектов.

Еще, если в настройках принтера "Область печати" стоит по умолчанию не "Рамка", а допустим "Экран", то лисп также сбоит и не печатает.

ЗЫ: Кстати спасибо за наводку на ПДФ Креатор (без плюса) бесплатный, и может склеивать листы.
__________________
AutoCad 2011 -> AutoCad 2013

Последний раз редактировалось Astartes, 07.06.2013 в 11:50.
Astartes вне форума  
 
Непрочитано 07.06.2013, 12:59
#74
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


Astartes,
Цитата:
Вывод, немод. лиспу не нравятся наложения линий.
Вывод неверный!!! Лисп бы просто распечатал несколько копий одинаковых по кол-ву наложенных прямоугольников. Я ж говорю- у тебя есть на слое простые полилинии, в виде отрезков, на них лисп и загибается.
Так как при получении результатов выполнения (setq a (entget s11))
набери после выполнения лиспа в компндной строке
!a
Получишь описание , например такое
Код:
[Выделить все]
 Command: !a
((-1 . <Entity name: 7e96e9d8>) (0 . "LWPOLYLINE") (330 . <Entity name: 
7e93fcf8>) (5 . "387B") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . 
"format") (370 . 35) (100 . "AcDbPolyline") (90 . 4) (70 . 1) (43 . 0.0) (38 . 
0.0) (39 . 0.0) (11 11STOP) (40 . 0.0) (41 . 0.0) (42 . 0.0) (11 11STOP) (40 . 
0.0) (41 . 0.0) (42 . 0.0) (11 11STOP) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 
3219.4 355.114) (40 . 0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0))
Где определенные коды групп отвечают за:
(8 . "format") - слой, на котором лежит искомый прямоуголник для печати
(370 . 35) - толщина линии 0,35 мм
(10 3219.4 355.114) - координаты точек прямоугольника

и соответственно в строке
Код:
[Выделить все]
 (setq s1 (ssget  (list  '(8 . "формат") '(370 . 0) )))	
Мы фильтруем среди выбранного все объекты находящиеся на слое формат и имеющего толщину 0
если без '(370 . 0) - то просто все объекты, находящиеся на слое формат.

Цитата:
Еще, если в настройках принтера "Область печати" стоит по умолчанию не "Рамка", а допустим "Экран", то лисп также сбоит и не печатает.
Да, ты прав, тут надо переправить строку
Код:
[Выделить все]
 (command "_-plot" "_y"  ""  ""  ""  ""  ugol  ""   "" point1 point2 ""  ""  ""   ""  ""  ""   ""  ""   "")
на
Код:
[Выделить все]
 (command "_-plot" "_y"  ""  ""  ""  ""  ugol  ""   "_w" point1 point2 ""  ""  ""   ""  ""  ""   ""  ""   "")
и будет тебе счастье

Цитата:
Пробовал почитать про ssget,
Почитай\поищи про DXF коды. Например
http://www.3e-club.ru/view_full.php?id=24&name=dxf
http://gor.h1.ru/15bt1/ebook_1590/theory/part7.htm
__________________
Kiev, Ukraine

Последний раз редактировалось sasha_lif, 10.06.2013 в 15:00.
sasha_lif вне форума  
 
Непрочитано 12.11.2013, 15:07
#75
sadko7


 
Регистрация: 01.02.2012
Сообщений: 101


ошибка: неверный тип аргумента: lentityp nil

В теме уже были решения этой проблемы, но я так и не понял. Помогите более подробно решить эту проблему.
sadko7 вне форума  
 
Непрочитано 13.11.2013, 17:48
#76
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


sadko7, приложи файлик, так будет быстрее
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 14.11.2013, 07:42
#77
sadko7


 
Регистрация: 01.02.2012
Сообщений: 101


Вот тестовый файл. Он выдает ошибку:
"неверный тип аргумента: lentityp nil"
Может у меня неправильный lisp файл? его тоже прикрепил.
Вложения
Тип файла: dwg
DWG 2010
ТЕСТ222.dwg (114.9 Кб, 1888 просмотров)
Тип файла: lsp asd.lsp (2.5 Кб, 51 просмотров)
sadko7 вне форума  
 
Непрочитано 14.11.2013, 11:40
#78
vl74


 
Регистрация: 25.10.2010
Сообщений: 868


Цитата:
Сообщение от sadko7 Посмотреть сообщение
Вот тестовый файл. Он выдает ошибку:
"неверный тип аргумента: lentityp nil"
Может у меня неправильный lisp файл? его тоже прикрепил.
sasha_lif, поправьте, наконец, косяк в лиспе. Отладкой - то пользоваться умеете? Я не лиспер, а пришлось поковыряться
ошибка в строке
Код:
[Выделить все]
 (while (< i= l1) 
надо исправить на
Код:
[Выделить все]
 (while (<=  i l1) 
Еще момент - выбирать надо только полилинии-прямоугольники, если зацепить что-то другое, ошибочка выходит.
Как вариант, я понял, на слое format должны находится только прямоугольники-границы.
Надо какое-то условие поставить - или отключать слой format при печати, или отфильтровывать только рамки для получения координат.


У меня работает #40
Выложите полный исправленный код, пожалуйста, чтобы мы не лазили по строкам с исправлениями!
Программка нормальная.
__________________
From Siberia with love

Последний раз редактировалось vl74, 14.11.2013 в 12:01.
vl74 вне форума  
 
Непрочитано 14.11.2013, 12:51
#79
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


vl74, в посте №72 я и писал:

НА СЛОЕ format НЕ ДОЛЖНО БЫТЬ НИКАКИХ ЛИНИЙ кроме наружной рамки
прога ищет все полилинии лежащие на слое формат.

выбирать руками по одному не надо. Прога сама сканирует чертеж, только на слое format НЕ ДОЛЖНО БЫТЬ НИКАКИХ ЛИНИЙ кроме наружной рамки

берите из №40- у меня работает, ошибку правда выбивает, но на печать все посылает.Сейчас поковыряюю лисп.



sadko7, у вас я думаю ошибка из-за того, что не настроен принтер никакой, выберите что-нибудь
Перенес все в новый файл, Выкладываю. проверьте у вас работает в моем файле?
Вложения
Тип файла: dwg
DWG 2007
test333.dwg (133.8 Кб, 1853 просмотров)
__________________
Kiev, Ukraine

Последний раз редактировалось sasha_lif, 14.11.2013 в 12:58.
sasha_lif вне форума  
 
Непрочитано 14.11.2013, 13:57
#80
sadko7


 
Регистрация: 01.02.2012
Сообщений: 101


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
проверьте у вас работает в моем файле?
Тоже самое пишет:

Для пересечения выбрано избыточное число объектов
Команда: (LOAD "D:/сеть/ACAD 2012 (полезные советы, настройки)/Пакетная печать
множества рамок (форматов) из пространства модели/asd.lsp")
=========== Автоматический поиск и печать чертежей=================
Разработал [email protected]
Для запуска наберите asd

Команда: asd

Выделите чертежи, предназначенные для печати
Выберите объекты: Противоположный угол: найдено: 1

Выберите объекты:

Для пересечения выбрано избыточное число объектов
Неизвестная команда "ASD". Для вызова справки нажмите F1.
Неизвестная команда "ASD". Для вызова справки нажмите F1.
Неизвестная команда "ASD". Для вызова справки нажмите F1.
Неизвестная команда "ASD". Для вызова справки нажмите F1.
Неизвестная команда "ASD". Для вызова справки нажмите F1.
; ошибка: неверный тип аргумента: lentityp nil
sadko7 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Распечатка нескольких листов одновременно

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать в один PDF фаил нескольких листов YuryKlimchuk AutoCAD 103 24.05.2018 20:47
autocad mep 2009, как отправить печать нескольких листов одновременно eugen2002 Вертикальные решения на базе AutoCAD 2 26.01.2012 15:39
Опять про печать из модели нескольких листов gizmo_zx Программирование 2 28.09.2010 12:33
Печать сразу нескольких листов из одного лайаута??? Nik6 Программирование 21 19.02.2009 17:20
Как заменить принтер одновременно у нескольких листов в чертеже. Witalij AutoCAD 6 22.05.2008 09:00