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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Автоматическая печать :)

Автоматическая печать :)

Ответ
Поиск в этой теме
Непрочитано 09.11.2007, 12:07 #1
Автоматическая печать :)
Unreal_2007
 
Н НОвгород
Регистрация: 04.02.2007
Сообщений: 15

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

Можно создать блок (прямоугольник типа кромки листа А4).
Все чертежи вставлять в такой блок.
При печати получать координаты углов блоков (x1,y1)(верхний)-(x2,y2)(нижний). и отправлять на печать, переходить к следующему блоку.
Пока предположим что печатать надо только А4.

Есть у кого-нибудь наработки, мысли....?
Просмотров: 10293
 
Непрочитано 09.11.2007, 12:09
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


1. caduser.ru -> форум -> Готовые программы и там искать программу от Владимира Громова. Специально он для этого писал.
2. Учить матчасть и использовать все же листы и подшивки.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.11.2007, 12:15
#3
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


С поиском сейчас на том форуме хреново, а то ведь там была тема, связанная с рамками-блоками...
Profan вне форума  
 
Непрочитано 09.11.2007, 12:52
#4
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,290


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
2. Учить матчасть и использовать все же листы и подшивки.
Это правильно. Но за тем исключением, если это множество чертежей уже давно описанным выше образом оформлены в модели.
Нет смысла сидеть и их в лист переводить - титаническая работа!
Pilot вне форума  
 
Непрочитано 09.11.2007, 13:14
#5
Залётный


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


Цитата:
Сообщение от Pilot Посмотреть сообщение
Нет смысла сидеть и их в лист переводить - титаническая работа!
Иначе всё повторится в следующем проекте.
Увы, существуют разные законы для больших и малых чисел, но не все это видят и для больших чисел используют то, что даже для малых не всегда хорошо. Потом же тратят титанические усилия на поиски лекарства для залечивания а не вылечивания, с оргументами о титанической работе, забыв, что они сыкономили время на организацию листов и подшивок.
Залётный вне форума  
 
Непрочитано 09.11.2007, 13:28
#6
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Все это теория. А на практике, оказывается, бывает, что в пространстве модели начерчены сотни (до 1000) форматок. Ради такого случая и родилась моя программа, о которой упомянул Алексей Кулик.
Profan вне форума  
 
Непрочитано 09.11.2007, 13:59
#7
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,290


Profan, Именно так!
Pilot вне форума  
 
Автор темы   Непрочитано 09.11.2007, 14:27
#8
Unreal_2007


 
Регистрация: 04.02.2007
Н НОвгород
Сообщений: 15


У меня вопрос по програмне Profanа ...
Все классно, но вопрос как реализована печать, т.е.
вписать и центрировать?
Unreal_2007 вне форума  
 
Непрочитано 09.11.2007, 14:55
#9
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Дело в том, что в варианте командной строки (без диалогового окна) команды "_-PLOT" ("-ПЕЧАТЬ") нет опций "Вписать" и "Центрировать". Но эти опции можно задать в параметрах листа с помощью Диспетчера параметров листов. Так я думаю. Но сам не проверял. Попробуйте.
Добавлено.
Опция "Вписать" может задаваться при указании масштаба. Надо посмотреть код, а то я его стал забывать.

Последний раз редактировалось Profan, 09.11.2007 в 15:05.
Profan вне форума  
 
Непрочитано 09.11.2007, 15:08
#10
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от Profan Посмотреть сообщение
Дело в том, что в варианте командной строки (без диалогового окна) команды "_-PLOT" ("-ПЕЧАТЬ") нет опций "Вписать" и "Центрировать". Но эти опции можно задать в параметрах листа с помощью Диспетчера параметров листов. Так я думаю. Но сам не проверял. Попробуйте.
Добавлено.
Опция "Вписать" может задаваться при указании масштаба. Надо посмотреть код, а то я его стал забывать.
Если выбрать область печати "Окно"- то появятся дополнительные настройки

Enter plot area [Display/Extents/Limits/Layout/View/Window] <current>: W

Enter lower left corner of window: Specify a point

Enter upper right corner of window: Specify a point

Enter plot scale (Plotted Inches = Drawing Units) or [Fit] <current>: F

Enter plot offset (x, y) or [center] <current>: C
Хмурый вне форума  
 
Непрочитано 09.11.2007, 15:10
#11
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Просмотрел код в начале той темы. У меня ведь там предусмотрена опция "Вписать".
Profan вне форума  
 
Непрочитано 09.11.2007, 15:23
#12
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Хмурый, правильно уточнил! Забываю, нехорошо. Так вот, в моем коде после указания масштаба (или "Вписать") записана пара двойных ковычек, что соответствует вводу текущего значения. Я думаю, что если опция "Центрировать" отмечена в параметрах листа, то она и перейдет в программу. Не хочется мне переделывать код... И не буду, разрази меня гром.
Profan вне форума  
 
Автор темы   Непрочитано 09.11.2007, 15:36
#13
Unreal_2007


 
Регистрация: 04.02.2007
Н НОвгород
Сообщений: 15


Либо я старую версию качнул, либо что-то еще опции вписать нет.
А лучше подскажите команду вписать...
Unreal_2007 вне форума  
 
Непрочитано 09.11.2007, 15:55
#14
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Самый первый код в той теме. Вот это место:
Код:
[Выделить все]
 
(initget "Да Нет")
(setq dn (getkword "\n Задать опцию 'Вписать'? [Да/Нет] <Нет>: "))
(if (= dn "Да") (setq scl "_fit") (setq scl (strcat "1:" scl))
)
Сама тема:
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=27776ES
Меня не будет до понедельника.
Profan вне форума  
 
Непрочитано 20.11.2007, 07:59 Автоматическая печать :)
#15
evgm


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


Здравствуйте
а я для этих же целей пытаюсь написать тоже но на VBA
вроде все работает только вот печатает почему-то только на А4...
вот кусочек кода:
Вложения
Тип файла: zip Module1.zip (2.8 Кб, 229 просмотров)
evgm вне форума  
 
Непрочитано 21.11.2007, 12:20
#16
ssn

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


посмотрите.. я тоже писал такое на ВБА...
http://dwg.ru/dnl/126
правда почему то на момент написания я не догадался использовать в виде объекта для поиска форматок блоки... сделал обычную полилинию (прямоугольник) но со специфическим скейл фактором и по ней ищё форматки.
самое приятное в программе, это то, что при переходе на другой комп с другими плотерами и принтерами настроить надо лишь один раз какой формат на какой принтер посылать.... А3 - туда, А1 - туда... и все
и ещё, раз уж сделана возможность выбирать форматы на печать, то ещё я добавил возможность выбирать черновой печати... например, надо А1 для проверки напечатать на А3... просто ставим галочку, и все.... никаких перенастроек листов...
или, например, 2 листа А3 расположены рядом, и их можно распечатать все четыре на А1... это тоже реализовано.
только вот печатать можно только из лейаутов...
ну и сам код не очень красивый, в плане большого количества переменных и всяких корявых конструкций... но работает. код открыт
ssn вне форума  
 
Непрочитано 27.11.2007, 14:09
#17
LGers


 
Регистрация: 15.12.2006
Минск
Сообщений: 8
<phrase 1=


Во-первых поиск рулит.
Во-вторых см. http://dwg.ru/dnl/1851
VBA. Печать нескольких листов одновременно из пространства модели
LGers вне форума  
 
Непрочитано 21.05.2010, 17:29
#18
sasha_lif

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


LGers,
VBA. Печать нескольких листов одновременно из пространства модели
Подскажите, а можно сделать автоматическую распечатку по порядку листов, но значения листов хранятся в АТРИБУТЕ блока?
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Автор темы   Непрочитано 21.06.2010, 14:14
#19
Unreal_2007


 
Регистрация: 04.02.2007
Н НОвгород
Сообщений: 15


Мой вклад в печать из модели
Вложения
Тип файла: zip !Plot.zip (39.3 Кб, 142 просмотров)
Unreal_2007 вне форума  
 
Непрочитано 21.06.2010, 15:43
#20
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Хоть бы написал пару слов о том, как пользоваться программой и что она умеет. В идеале - выложил бы исходники.
А загружать в свой рабочий инструмент "кота в мешке" -
Do$ вне форума  
 
Непрочитано 24.06.2010, 10:26
#21
gizmo_zx

Проектировщик ЭО,ЭМ, ЭОС
 
Регистрация: 18.07.2007
Нижний Новгород
Сообщений: 257
<phrase 1= Отправить сообщение для gizmo_zx с помощью Skype™


Цитата:
Сообщение от Do$ Посмотреть сообщение
Хоть бы написал пару слов о том, как пользоваться программой и что она умеет. В идеале - выложил бы исходники.
А загружать в свой рабочий инструмент "кота в мешке" -
Там и есть код на VBA.

Описание:

Выполняю настройки принтера и прочие...
Запускаю прогу:
Команда: -vbarun
Имя макроса: StartPlot
Открывается форма печать.
Задаю слой рамок и количество копий.
(возможен вылет проги если принтер во время отправки перестает отвечать )
Жму "ОК"
(есть проблемы с сортировкой, так до конца и не добил)

Кнопка V_print для печати в PDF на DOPDF - принтере.
Есть блок "ramka" по нему генерируется имя для файла pdf и копируется в буфер обмена.
т.е. на запрос DOPDF - принтера, имя сохраняемого файла, жму Ctrl+V.

Атрибуты блока для генерации имени см. модуль Nodule_UserForml (Ln 367, Col 53)
"CHIFR" + "INDX"+"NUM"
! блок должен находиться внутри рамки.

Последний раз редактировалось gizmo_zx, 24.06.2010 в 10:43.
gizmo_zx вне форума  
 
Непрочитано 24.06.2010, 11:15
#22
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Там и есть код на VBA.
Мда... Не учел, что dvb в обычном блокноте не посмотришь...
Но устанавливать VBA Enabler только для того, чтоб посмотреть что в файле - точно не стану
Do$ вне форума  
 
Непрочитано 26.06.2012, 11:50
#23
Woka

Инженер-конструктор
 
Регистрация: 14.06.2012
Киев
Сообщений: 5


Перечитал все записи, но так ничего и не пошло! Может кто-то подскажет макрос рабочий на CAD 2011 для печати n-го количества открытых документом CAD! Просто нужно все время печатать порядка 30 отдельных схем, а вручную отправлять на печать не весьма удобно! Спасибо!
Woka вне форума  
 
Непрочитано 26.06.2012, 12:03
#24
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Woka Посмотреть сообщение
Перечитал все записи, но так ничего и не пошло! Может кто-то подскажет макрос рабочий на CAD 2011 для печати n-го количества открытых документом CAD! Просто нужно все время печатать порядка 30 отдельных схем, а вручную отправлять на печать не весьма удобно! Спасибо!
SheetSet + Page Setup Override.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 26.06.2012, 12:34
#25
Woka

Инженер-конструктор
 
Регистрация: 14.06.2012
Киев
Сообщений: 5


Цитата:
Сообщение от hwd Посмотреть сообщение
SheetSet + Page Setup Override.
Спасибо, вроде нормально, только иногда один файл делает вертикально и горизонтально, но это уже проще, сортировку и удаление лишних файлов проще решить!
Woka вне форума  
 
Непрочитано 27.06.2012, 01:20
#26
Yura Agafonov

Инженер.
 
Регистрация: 04.05.2012
Minsk
Сообщений: 95
Отправить сообщение для Yura Agafonov с помощью Skype™


Еще одно решение вашей задачи может быть такое:
1) Если все ваши листы оформлены в пространстве модели, то их следует расположить в виде массива с заданным расстоянием между столбцами и строками.
2) Принцип расположения - в одной строке все листы формата А1, в другой - А2, и т.д.
3) Далее на лиспе пишем функцию для печать указанного прямоугольника в файл или на устройство. Вот нашел мой пример авто печати, но в файл jpg, а не на принтер. Его легко переделать так как вам нужно.
Код:
[Выделить все]
 
(defun plot_to_file (x1 y1 x2 y2 format bxh put filename)
  (command "_.plot"
	   "_Yes"			;Выполнить детальное задание конфигурации? [Да/Нет] 
	   "model"			;Имя листа или [?] <Модель>:
	   format			;Имя устройства вывода или [?] <Нет>:
	   bxh				;Формат листа бумаги или [?] <Sun выс. разр. (1600.00 x 1280.00 пикселов)>:
	   "А"				;Ориентация чертежа [Книжная/Альбомная] <Альбомная>:
	   "Н"				;Перевернуть чертеж? [Да/Нет] <Нет>: 
	   "Р"				;Печатаемая область [Экран/Границы/Лимиты/Вид/Рамка] <Экран>:
	   (list x1 y1)			; Левый нижний угол рамки <0.000000,0.000000>:
           (list x2 y2)			; Правый верхний угол рамки <0.000000,0.000000>:
	   "В"				;Масштаб печати (пиксел чертежа=Единицы чертежа) или [Вписать] <Вписать>: 
	   "Ц"				;Смещение от начала (x,y) или [Центрировать] <11.55,-13.65>:
	    "_Yes"			;Учитывать стили печати? [Да/Нет] <Да>:
	   "Mult 01"			;Имя таблицы стилей печати или [?] (. если нет) <>:
	    "_Yes"			;Учитывать веса линий? [Да/Нет] <Да>: 
	   "О"	)			;Режим вывода тонированных ВЭ [Обычный/Каркас из предыдущих версий/Скрытие линий из предыдущих версий/Визуальные стили/с  вИзуализацией] <Как на экране>:
	   ;"Р"				;Выберите вариант [Каркас/Скрытие/Реалистичный/КОнцептуальный/Тонированный/тонированный с кроМками/Оттенки серого/Эскизный/Просвечивание/Другой] <Реалистичный>: 
	   (strcat put filename)	;Введите имя файла <Чертеж1-Model.jpg>:
	   "К"				;Сохранить изменения в параметрах листа, или задать качество вывода? [Да/Нет/Качество] <Н>:
	   "М"				;Задайте качество вывода [Черновое/Просмотр/Нормальное/пРезентационное/Максимум/пОльзовательское] <Нормальное>:
	   ""				;Сохранить изменения в параметрах листа? [Да/Нет] <Нет>:
	   ""				; Перейти к печати [Да/Нет] <Д>:
  )
)

(defun plot_to_file_options (x1 y1 x2 y2 filename)
  (plot_to_file
    x1				      y1
    x2				      y2
    "PublishToWeb PNG"
    "Sun выс. разр. (1600.00 x 1280.00 пикселов)"
    "E:\\work\\BD\\jpg\\"
    filename
   )
)
4) Ну а дальше - имея такую функцию и массив чертежей - дело техники.
Yura Agafonov вне форума  
 
Непрочитано 27.06.2012, 08:46
#27
Andi55

инженер-электрик
 
Регистрация: 12.08.2005
Иркутск
Сообщений: 523
<phrase 1=


Если по-английски, то тут хорошее решение для печати массива одинаковых рамок.
http://www.cadforum.cz/cadforum_en/p...rawing-tip7585
__________________
В MEP моя буква - Е
Andi55 вне форума  
 
Непрочитано 27.06.2012, 10:51
#28
Woka

Инженер-конструктор
 
Регистрация: 14.06.2012
Киев
Сообщений: 5


Спасибо всем за помощь, пока остановился на варианте
Цитата:
Сообщение от hwd Посмотреть сообщение
SheetSet + Page Setup Override.
, удобно, так как мне PDF тоже делать нужно! Ну и программка "РЕВЕРС" тоже очень помогла!
Woka вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Автоматическая печать :)



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать листов подшивки? Peter AutoCAD 5 04.06.2013 11:14
Вывод на печать в Acad 15(2000) и след.релизах DayEl AutoCAD 32 18.01.2011 16:14
Печать широкой однолинейной схемы? est412 AutoCAD 12 10.04.2007 10:06
Автоматическая печать из пространства модели Дмитрий_В AutoCAD 9 19.04.2006 16:52
Печать через плоттер Snog AutoCAD 17 05.04.2006 13:23