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

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

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

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

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

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


sadko7, странно, у меня работает.

Интересно откуда взялось это сообщение:
Для пересечения выбрано избыточное число объектов
Какой у вас автокад, русский? Версия?
На какой принтер посылаете?
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 14.11.2013, 14:37
#82
sadko7


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


Autocad 2012 RUS SP2

Принтер doPDF v.7. Выбираю его в диспетчере параметров листов.
sadko7 вне форума  
 
Непрочитано 14.11.2013, 15:09
#83
sasha_lif

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


блин, не знаю у меня файл из 79 поста нормально идет

скачай asd.lsp из 36 поста

попробуй asd.dwg из 26 поста- он работает? (только выбирай при запросе команды весь чертеж а не одну рамку)
Может на другом акаде попробуешь? Попробуй еще перед стартом отключить привязки.
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 14.11.2013, 15:22
#84
vl74


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


Надо в начале сделать проверку на имя принтера - если нет имени, то завершать программу с предупреждением.
И еще надо строчку поправить
Код:
[Выделить все]
 (setq s1 (ssget  (list  (cons 8 "format") (cons 0 "LWPOLYLINE") )))
чтобы полилинии только выбирались. Можно еще проверку сделать, что это прямоугольники.
Так бы и сам сделал, но в лиспе плохо разбираюсь, да и автору надо до ума программу довести, чтобы в случае ошибок
предупреждения выводились, а не просто программа сваливалась.
__________________
From Siberia with love

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

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


vl74, ну автор типа я, но тоже в лиспе не сильно разбираюсь, делал для себя , поэтому и без проверок :-))
А по поводу только прямоугольники чтобы выбиралось- опасный путь, т.к. можно напечатать кучу ненужного
Мне кажется гораздо логичнее, когда на слое format, нет ничего кроме наружных рамочек...
и видел тут есть проги для распечатки намного вкуснее и более функциональные. Так что пробуй их
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 14.11.2013, 15:59
#86
vl74


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


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

Подправил программу - добавил несколько проверок
Код:
[Выделить все]
 (defun c:asd (/ acapp doc plotname);локальные переменные
  (vl-load-com)



(setq  blip (getvar "BLIPMODE"))
(setq  echo (getvar "CMDECHO"))
(setvar "CMDECHO"  0)
(setvar "BLIPMODE" 0)

  (setq acapp   (vlax-get-acad-object)
        doc     (vla-get-activeDocument acapp)
	plotname (GetActivePlotDevice doc)
	)

  (if (= plotname "None" )
	(progn
	  	(princ "\n=========== Ошибка не выбран принтер=================")
		(quit)
	  )
	)
   
(princ "\nВыделите чертежи, предназначенные для печати")
  
(setq s1 (ssget  (list  (cons 8 "format") (cons 0 "LWPOLYLINE") )))

(if (= s1 nil)
  	(progn
	  	(princ "\n=========== Ничего не выбрано=================")
		(quit)
	  )
	)
  
(setq l1 (sslength s1))
  
(setq i 0) 
(while (< i l1) 
	
  (setq s11 (ssname s1 i))
  (setq a_nach (entget s11))
  (setq a (entget s11)) ; получение списка со всеми координатами точек прямоугольника
  
  	(setq t1 (assoc 10 a))    (setq t1_x (car (cdr t1))) (setq t1_y (car (cdr (cdr t1))))
	(setq a (subst '(11 11stop) t1 a))
	(setq t2 (assoc 10 a))    (setq t2_x (car (cdr t2))) (setq t2_y (car (cdr (cdr t2))))
	(setq a (subst '(11 11stop) t2 a))
	(setq t3 (assoc 10 a))    (setq t3_x (car (cdr t3))) (setq t3_y (car (cdr (cdr t3))))
	(setq a (subst '(11 11stop) t3 a))
	(setq t4 (assoc 10 a))    (setq t4_x (car (cdr t4))) (setq t4_y (car (cdr (cdr t4))))
	




	(setq tdiag_x_max (max t2_x t3_x t4_x))
	(setq tdiag_y_max (max t2_y t3_y t4_y))
	(setq tdiag_x_min (min t2_x t3_x t4_x))
	(setq tdiag_y_min (min t2_y t3_y t4_y))



(setq point1 (list tdiag_x_min tdiag_y_min))
(setq point2 (list tdiag_x_max tdiag_y_max))

(setq Dy (- tdiag_y_max tdiag_y_min))
(setq Dx (- tdiag_x_max tdiag_x_min))




(setq Dyx (/ Dy Dx))

(if (> Dy Dx ) (setq ugol "_P")(setq ugol "_l"))

(command "_-plot" "_y"  ""  ""  ""  ""  ugol  ""   "_w" point1 point2 ""  ""  ""   ""  ""  ""   ""  ""   "")
(setq i (1+ i))

)

(setvar "CMDECHO"  echo)
(setvar "BLIPMODE" blip)


)


(progn
(princ "\n=========== Автоматический поиск и печать чертежей=================")
(princ "\n           Разработал [email protected]")
(princ "\n           Для запуска наберите asd ")
(princ )
)



; Plot Device in active Layout
(defun GetActivePlotDevice (ad)
  (vla-get-ConfigName
    (vla-get-ActiveLayout ad))
)
Маленько безобразно получается вывод ошибок - тут не знаю пока как исправить. В лиспе плохо разбираюсь
Вложения
Тип файла: lsp asd3.lsp (2.3 Кб, 316 просмотров)
__________________
From Siberia with love

Последний раз редактировалось vl74, 14.11.2013 в 17:17.
vl74 вне форума  
 
Непрочитано 15.11.2013, 05:56
#87
sadko7


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


Где вы принтер выбираете, который по умолчанию: через диспетчер листов или через сервиc-настройка-печать?
После того как один раз удачно удалось распечатать на виртуальный принтер, программа больше не предлагает поменять его на другой.
Печатает только на виртуальные принтеры (PDF которые создают), а вот на реальный принтер не получается.

Последний раз редактировалось sadko7, 15.11.2013 в 06:29.
sadko7 вне форума  
 
Непрочитано 15.11.2013, 07:56
#88
vl74


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


Цитата:
Сообщение от sadko7 Посмотреть сообщение
Где вы принтер выбираете, который по умолчанию: через диспетчер листов или через сервиc-настройка-печать?
Если говорить просто - то нажимаете кнопочку "plot", далее настраиваете печать как обычно при печати отдельного листа, нажимаете "Apply to Layout" и далее закрываете диалог.
После чего и запускаете программку ASD.
Минус программы - в многостраничном PDF не получается отсортировать порядок печати листов.
Похоже берется Handle промитива-рамки и печать идет по убывающей этого параметра, т.е. та рамка, которая создана позже, печатается в первую очередь.
__________________
From Siberia with love
vl74 вне форума  
 
Непрочитано 15.11.2013, 12:38
#89
sasha_lif

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


vl74, да, сортировки нет. Думал сделать по номеру атрибуту, но пока нет времени.
Тогда уже так- заменил princ на alert
в итоге выскакивает окошко с ошибкой, а не в командной стркое
Вложения
Тип файла: lsp asd3.lsp (2.3 Кб, 112 просмотров)
__________________
Kiev, Ukraine

Последний раз редактировалось sasha_lif, 15.11.2013 в 12:51.
sasha_lif вне форума  
 
Непрочитано 23.11.2013, 10:48
#90
Pum-purum

PHP-разработчик
 
Регистрация: 12.05.2008
Ижевск
Сообщений: 1,166


Есть необходимость слегка подкорректировать программу - под расширенную аудиторию. У меня форматки заданы дин.блоком "Формат листа". Дин.блок кстати скачан с форума и им пользуются очень много людей. Алгоритм печати я представляю себе так:
1. Выбираем секущей рамкой область в пространстве листа.
2. Из полученного набора извлекаем блоки "Формат листа".
3. У каждого блока считываем точку вставки и по значению атрибутов L и H находим границы печати
4. Выводим на печать в PDF.
5. Разрозненные файлы PDF склеиваем в один многостраничный файл.
6. Полученный многостраничный файл отправляем на принтер.
PS Хотелось бы реализации на VBA - очень хочется увидеть код.
Вложения
Тип файла: dwg
DWG 2013
Формат листа.dwg (41.3 Кб, 2194 просмотров)
Тип файла: dwg
DWG 2010
Формат листа 2010.dwg (75.5 Кб, 2150 просмотров)

Последний раз редактировалось Pum-purum, 23.11.2013 в 12:14.
Pum-purum вне форума  
 
Непрочитано 23.11.2013, 12:07
#91
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Pum-purum Посмотреть сообщение
У меня форматки заданы дин.блоком "Формат листа".
Файл примера наверное в 2013 версии ? Открыть не смог.
Offtop: Но под все потребности что Вы описали уже есть решение, причём PDF автоматом многостраничный и с автоповоротом.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 23.11.2013, 12:14
#92
Pum-purum

PHP-разработчик
 
Регистрация: 12.05.2008
Ижевск
Сообщений: 1,166


Цитата:
Сообщение от maratovich Посмотреть сообщение
Файл примера наверное в 2013 версии
Да, 2013. Перезалил в 2010.

Цитата:
Сообщение от maratovich Посмотреть сообщение
уже есть решение
Можно ссылку? Я нашел только решение с прямоугольником в слое format
Pum-purum вне форума  
 
Непрочитано 23.11.2013, 12:17
#93
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Pum-purum Посмотреть сообщение
Можно ссылку? Я нашел только решение с прямоугольником в слое format
Вот, смотреть до конца.

P.S Ваш файл прекрасно обработался.
Общие принципы работы программы
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....

Последний раз редактировалось maratovich, 23.11.2013 в 12:25.
maratovich вне форума  
 
Непрочитано 23.11.2013, 12:42
#94
Pum-purum

PHP-разработчик
 
Регистрация: 12.05.2008
Ижевск
Сообщений: 1,166


Это конечно хорошо, но все-таки РЕВЕРС максимально общая и платная программа.
Pum-purum вне форума  
 
Непрочитано 23.11.2013, 12:44
#95
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Тогда ждём доработку лиспа sasha_lif
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 24.11.2013, 00:02
#96
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


Pum-purum, мой вариант видели? vba код в открытом доступе
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 24.11.2013, 00:33
#97
Pum-purum

PHP-разработчик
 
Регистрация: 12.05.2008
Ижевск
Сообщений: 1,166


swell{d}, да, видел. Но у тебя программа несколько другую задачу решает. У меня, повторюсь, форматки лежат в листе сразу скопом. Создавать отдельный лист под каждую форматку, я считаю, - несусветная глупость.
Pum-purum вне форума  
 
Непрочитано 24.11.2013, 00:37
#98
ssn

Инженер проектировщик (раздел ТМ - фриланс)
 
Регистрация: 06.12.2003
Геленджик
Сообщений: 1,794
Отправить сообщение для ssn с помощью Skype™


ну и моя реализация тогда пусть тоже будет на ВБА.
код кстати открыт тоже.
программа ищет полилинии на определённом слое.
т.е. по сути надо только заменить набор поиска и указать что надо искать блоки.
правда я тот ещё програмист, по этому код корявый. но рабочий
лежит тут
http://dwg.ru/dnl/126
Вложения
Тип файла: rar печать_макросом.rar (5.92 Мб, 95 просмотров)
ssn вне форума  
 
Непрочитано 24.11.2013, 09:17
#99
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


Pum-purum, что именно Вам кажется глупым?
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 24.11.2013, 10:11
#100
Pum-purum

PHP-разработчик
 
Регистрация: 12.05.2008
Ижевск
Сообщений: 1,166


Цитата:
Сообщение от swell{d} Посмотреть сообщение
Pum-purum, что именно Вам кажется глупым?
1. У меня в одном файле DWG лежат чертежи с траншеями по определенному участку. В листе около 20-30 чертежей. Создавать отдельный лист под каждый чертеж я считаю необоснованной бюрократией. Я полдня только потрачу на переход между листами.
2. Теряется наглядность, возможность быстро сравнить содержимое чертежей. Когда они рядом, просто взял и посмотрел. Когда на листе - приходится переключаться.
PS Про подшивки знаю, сайт Паши Лукьянченко смотрел, публикацию тоже использовал в свое время.
Pum-purum вне форума  
Ответ
Вернуться   Форум 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