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

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

Печать из модели по выбору объекта

Ответ
Поиск в этой теме
Непрочитано 21.10.2009, 12:41
Печать из модели по выбору объекта
zenon
 
Остекляем!!! Алюминим!!!
 
Москва
Регистрация: 21.02.2005
Сообщений: 3,825

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

ps см. в приложении что и как.

исходник.dwg

__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
Просмотров: 73532
 
Непрочитано 12.11.2009, 12:12
#81
Колька


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


важно тока что бы точки выбрались, можно только секущей рамкой задеть. Теперь всё работает, проверенно!
Колька вне форума  
 
Непрочитано 12.11.2009, 12:21
#82
JokerrSergh


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


не работает
Команда: npr

Выберите объекты: Противоположный угол: найдено: 7

Выберите объекты: Противоположный угол: найдено: 0, всего: 7

Выберите объекты:
Неизвестная команда "MILLIMETERS". Для вызова справки нажмите F1.
Неизвестная команда "LANDSCAPE". Для вызова справки нажмите F1.
Неизвестная команда "NO". Для вызова справки нажмите F1.
Неизвестная команда "WINDOW". Для вызова справки нажмите F1.
Неизвестная команда "FIT". Для вызова справки нажмите F1.
Неизвестная команда "CENTER". Для вызова справки нажмите F1.
Неизвестная команда "YES". Для вызова справки нажмите F1.
Неизвестная команда "MONOCHROME.CTB". Для вызова справки нажмите F1.
Неизвестная команда "YES". Для вызова справки нажмите F1.
Неизвестная команда "AS". Для вызова справки нажмите F1.
Неизвестная команда "N". Для вызова справки нажмите F1.
Неизвестная команда "N". Для вызова справки нажмите F1.
Неизвестная команда "Y". Для вызова справки нажмите F1.
JokerrSergh вне форума  
 
Непрочитано 12.11.2009, 12:28
#83
Колька


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


Я лисп поменял теперь должно быть "_MILLIMETERS" и "_LANDSCAPE" и т.д.
перезапусти лисп. У меня всё работает и в англ и в рус.

ну как? получилось?

Последний раз редактировалось Колька, 12.11.2009 в 12:34.
Колька вне форума  
 
Непрочитано 12.11.2009, 12:38
#84
JokerrSergh


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


все равно не хочет...

Команда: npr

Выберите объекты: Противоположный угол: найдено: 7

Выберите объекты:
Неизвестная команда "MILLIMETERS". Для вызова справки нажмите F1.
Неизвестная команда "LANDSCAPE". Для вызова справки нажмите F1.
Неизвестная команда "NO". Для вызова справки нажмите F1.
Неизвестная команда "WINDOW". Для вызова справки нажмите F1.
Неизвестная команда "FIT". Для вызова справки нажмите F1.
Неизвестная команда "CENTER". Для вызова справки нажмите F1.
Неизвестная команда "YES". Для вызова справки нажмите F1.
Неизвестная команда "MONOCHROME.CTB". Для вызова справки нажмите F1.
Неизвестная команда "YES". Для вызова справки нажмите F1.
Неизвестная команда "AS". Для вызова справки нажмите F1.
Неизвестная команда "N". Для вызова справки нажмите F1.
Неизвестная команда "N". Для вызова справки нажмите F1.
Неизвестная команда "Y". Для вызова справки нажмите F1.
1

файлик прилагаю
Вложения
Тип файла: dwg
DWG 2007
NPr.dwg (95.7 Кб, 1104 просмотров)
JokerrSergh вне форума  
 
Непрочитано 12.11.2009, 12:49
#85
Колька


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


У меня распечаталась. Будем искать в чём косяк. набери в командной строке
Код:
[Выделить все]
(command "_plot" "_y" "")
и пришли результат
Колька вне форума  
 
Непрочитано 12.11.2009, 13:05
#86
JokerrSergh


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


Команда: (command "_plot" "_y" "")
nil
Имя устройства вывода или [?] <Нет>:
JokerrSergh вне форума  
 
Непрочитано 12.11.2009, 13:18
#87
Колька


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


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

набери (command "_plot" "_y" "" "XEROX WORKCENTRE PRO 133 PCL 6" "?") и пришли результат

Последний раз редактировалось Колька, 12.11.2009 в 13:26.
Колька вне форума  
 
Непрочитано 12.11.2009, 13:36
#88
JokerrSergh


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


Команда: (command "_plot" "_y" "" "XEROX WORKCENTRE PRO 133 PCL 6" "?")

Доступные форматы носителя.
"Польз. 20 (210x297 мм)"
"Польз. 19 (210x297 мм)"
"Польз. 18 (210x297 мм)"
"Польз. 17 (210x297 мм)"
"Польз. 16 (210x297 мм)"
"Польз. 15 (210x297 мм)"
"Польз. 14 (210x297 мм)"
"Польз. 13 (210x297 мм)"
"Польз. 12 (210x297 мм)"
"Польз. 11 (210x297 мм)"
"Польз. 10 (210x297 мм)"
"Польз. 9 (210x297 мм)"
"Польз. 8 (210x297 мм)"
"Польз. 7 (210x297 мм)"
"Польз. 6 (210x297 мм)"
"Польз. 5 (210x297 мм)"
"Польз. 4 (210x297 мм)"
"Польз. 3 (210x297 мм)"
"Польз. 2 (210x297 мм)"
"Польз. 1 (210x297 мм)"
"16K (195 x 270 мм)"
"16K (194 x 267 мм)"
"8K (270 x 390 мм)"
"8K (267 x 388 мм)"
"Обложка Letter (9 x 11")"
"Обложка А4 (223 х 297 мм)"
"Youkei 0 (235 х 120 мм)"
"Открытка с маркой горизонтальна\"
"Японска\ открытка (100x148 мм)"
"Photo 2L (5 x 7")"
"Postcard (4 x 6")"
"11 x 15" (279,4 x 381,0 мм)"
"215 x 315 мм (8,46 x 12,4")"
"8 x 10" (203,2 x 254,0 мм)"
"С4 (229 х 324 мм)"
"C5 (162 x 229 мм)"
"DL (110 x 220 мм)"
"Com 10 (4.125 x 9.5")"
"Monarch (3.875 x 7.5")"
"Ledger (11 x 17")"
"Folio (8.5 x 13")"
"Legal (8.5 x 14")"
"Letter (8.5 x 11")"
"Executive (7.25 x 10.5")"
"Statement (5.5 x 8.5")"
"В6 (128 х 182 мм)"
"А6 (105 х 148 мм)"
"A5 (148 x 210 мм)"
"B5 (182 x 257 мм)"
"A4 (210 x 297 мм)"
"B4 (257 x 364 мм)"
"A3 (297 x 420 мм)"
"A2 (420 x 594 мм)"
"A1 (594 x 841 мм)"


Я пользуюсь только форматами А3 и А4
"A4 (210 x 297 мм)"
"A3 (297 x 420 мм)"
JokerrSergh вне форума  
 
Непрочитано 12.11.2009, 13:43
#89
Колька


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


короче просто меняй строчку:
Код:
[Выделить все]
(setq l_paper '("A1" "A2" "A3" "A4"))
на:
Код:
[Выделить все]
(setq l_paper '("A1 (594 x 841 мм)" "A2 (420 x 594 мм)" "A3 (297 x 420 мм)" "A4 (210 x 297 мм)"))
и должно быть для твоего принтера всё ок.
а я пока поскриплю мозгами как вытащить список листов
Колька вне форума  
 
Непрочитано 12.11.2009, 13:49
#90
Do$

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


Цитата:
Сообщение от Колька Посмотреть сообщение
как вытащить список листов
У меня получилось только для текущего принтера/плоттера:
Код:
[Выделить все]
(mapcar	'(lambda (a) (vla-GetLocaleMediaName lay a))
	(vlax-safearray->list
	  (vlax-variant-value
	    (vla-GetCanonicalMediaNames
	      (setq lay	(vla-get-ActiveLayout
			  (vla-get-ActiveDocument (vlax-get-acad-object))
			) ;_ end of vla-get-ActiveLayout
	      ) ;_ end of setq
	    ) ;_ end of vla-GetCanonicalMediaNames
	  ) ;_ end of vlax-variant-value
	) ;_ end of vlax-safearray->list
) ;_ end of mapcar
Do$ вне форума  
 
Непрочитано 12.11.2009, 14:03
#91
Колька


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


пасиб Это не выход, но надеюсь направит в нужную сторону
Колька вне форума  
 
Непрочитано 12.11.2009, 14:08
#92
Do$

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


Насколько я понял, тут без вариантов. Сперва задаешь текущий плоттер, потом можно уже получить список его листов. Получить список листов другим способом нереально. Можно, конечно, сделать перебор: делаешь текущим первый плоттер из списка - считываешь его форматы - сохраняешь данные - делаешь текущим следующий плоттер - ... Но этот процесс очень небыстрый.
Do$ вне форума  
 
Непрочитано 12.11.2009, 14:10
#93
Колька


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


вот как раз мне это и надо, я сделаю после выбора принтера его текущим и выдам список только для этого принтера
только надеюсь текущий это не тот который в винде по умалчанию, а то это неохото трогать
Колька вне форума  
 
Непрочитано 12.11.2009, 14:21
#94
Do$

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


По умолчанию стоит плоттер с оригинальным названием "None"(анг.версия) (если настройки печати не менялись в листе)
Do$ вне форума  
 
Непрочитано 12.11.2009, 14:31
#95
Колька


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


Do$ подскажи плиз глупому какой сиспеременной или командой можно сменить текущий плоттер
Колька вне форума  
 
Непрочитано 12.11.2009, 14:36
#96
Do$

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


Код:
[Выделить все]
(vla-put-ConfigName
  (vla-get-ActiveLayout
    (vla-get-ActiveDocument (vlax-get-acad-object))
  ) ;_ end of vla-get-ActiveLayout
  "тут имя принтера/плоттера"
) ;_ end of vla-put-ConfigName

Цитата:
только надеюсь текущий это не тот который в винде по умалчанию, а то это неохото трогать
Нет, конечно. Меняется только принтер для текущей вкладки.

Последний раз редактировалось Do$, 12.11.2009 в 14:48.
Do$ вне форума  
 
Непрочитано 12.11.2009, 15:03
#97
JokerrSergh


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


вот подгрузил людей
Забегу завтра, раб. день подошел к концу
JokerrSergh вне форума  
 
Непрочитано 12.11.2009, 15:15
#98
Колька


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


Всё супер коды вставил теперь при выборе бумаги выдаёться большущий правдивый список
я там свою прогу подправил теперь можно пользоваться.
Do$ ты просто гений, я там пока в этих vla- в справке ковырялся чуть голову не сломал

Кстати JokerrSergh что бы точки делать видимыми и не видимыми можешь в код добавить:
Код:
[Выделить все]
(defun C:NPointV (/)
	(if (/= (getvar "pdmode") 35) (setvar "pdmode" 35))
	(if (/= (getvar "pdsize") -1) (setvar "pdsize" -1)))
(defun C:NPointInv (/)
	(if (/= (getvar "pdmode") 0) (setvar "pdmode" 0))
	(if (/= (getvar "pdsize") 0) (setvar "pdsize" 0))
)

Последний раз редактировалось Колька, 12.11.2009 в 15:22.
Колька вне форума  
 
Непрочитано 12.11.2009, 15:26
#99
Do$

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


Цитата:
Сообщение от Колька Посмотреть сообщение
Do$ ты просто гений, я там пока в этих vla- в справке ковырялся чуть голову не сломал
Не гений, просто я уже вторую неделю сижу ковыряю vla на предмет печати, чтобы избавиться от коммандных методов.
Do$ вне форума  
 
Непрочитано 13.11.2009, 16:25
#100
Do$

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


Колька, мне вот что интересно: а если твой блок "Ramka_dlya_pechati" стоит в нескольких листах чертежа, как будет происходить печать тех блоков, которые находятся не на текущем листе?
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Печать из модели по выбору объекта

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Опять про печать из модели нескольких листов gizmo_zx Программирование 2 28.09.2010 12:33
Автоматическая печать из пространства модели Дмитрий_В AutoCAD 9 19.04.2006 16:52
Печать из модели Eugenius AutoCAD 11 03.11.2004 18:26
Печать 3-х мерной модели Лариса AutoCAD 5 09.06.2004 19:57