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

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

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

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

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

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

исходник.dwg

__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
Просмотров: 73552
 
Непрочитано 04.10.2012, 10:05
#161
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Offtop: Я не виноват! Это всё он!!
bargool вне форума  
 
Непрочитано 04.10.2012, 10:37
#162
Fazeroid


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


Печатаю я через стандартный принтер Adobe PDF, это он изначально предлагает Adobe PDF.pc3.
Даже изменение системной переменной filedia в 0 не дает никакого результата. Как появлялось окно с запросом так и появляется.
Может имя файла сохраняемого документа в PDF прописывается в кокой-нибудь системной переменной?
Хотя просмотрев список переменных я не нашел ничего похожего.
Fazeroid вне форума  
 
Непрочитано 04.10.2012, 10:41
1 | #163
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Adobe PDF - это не стандартный автокадовский пдф-принтер. Стандартный - DWG to PDF.pc3, с ним будет работать переменная filedia. И я всегда рекомендую использовать именно его, если, конечно, у вас автокад более новой версии, чем 2008 (там ещё подглючивает).
Если вы всё ещё хотите использовать Adobe PDF - залезьте в настройки данного конктернтго pc3, в Custom properties (как они там по-русски значатся), там есть пункт про "спрашивать имя файла"
bargool вне форума  
 
Непрочитано 04.10.2012, 11:34
#164
Fazeroid


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


Вариант DWG to PDF.pc3 в моем случае не подходит.
Я вкратце объясню весь процесс, который я хочу запустить.
При работе в автокаде мне и моим коллегам приходится создавать большое количество листов в пространстве листа. Поясню почему. Мы используем поля для ссылок между схемами и планами. Поэтому получается, что в пространстве листа находится до 70 листов различного формата. Сами листы выполнены блоками с атрибутом (формат листа).
Я написал программку (что-то нашел в нете, а что-то дописал сам) в Lispe по распечатке листов как с пространства модели так и с пространства листа.
Так вот при распечатке в PDF (хотя можно печатать на любой принтер, установленный на комп) для каждого листа выскакивает окно сохранения файла. Я хочу уйти от этого.
В моих планах добавить в блоки листов атрибуты "Шифр проекта" и "Номер листа", которые и будут заноситься в имя файла автоматом, но как это провернуть я пока ума не приложу.
Подскажите, как это выполнить?

P.S. Работу в пространстве листа с одним листом рассматривали не однократно и отметали как неудобную в нашем случае. Все благодаря полям, которые мы широко используем в своих проектах. А они не работают между пространствами Модель-Лист или Лист-Лист.
Fazeroid вне форума  
 
Непрочитано 04.10.2012, 13:21
#165
maratovich


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


Цитата:
Сообщение от Fazeroid Посмотреть сообщение
Так вот при распечатке в PDF для каждого листа выскакивает окно сохранения файла.
Приложите пример этих рамок.
maratovich вне форума  
 
Непрочитано 06.10.2012, 00:40
1 | #166
Do$

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


Цитата:
Сообщение от Fazeroid Посмотреть сообщение
А они не работают между пространствами Модель-Лист или Лист-Лист.
Работают как миленькие. Ссылка в поле, я так понимаю, на объект идет. У объекта есть уникальный ID не зависимо от того в модели он или в листе. Другое дело, что пока переключаешься между вкладками прерывается выполнение любых команд, поэтому сослаться полем на объект другой вкладки бесхитростно не получается. Ctrl+C и Ctrl+V тут очень помогают

Цитата:
Сообщение от Fazeroid Посмотреть сообщение
Вариант DWG to PDF.pc3 в моем случае не подходит...
Так и осталось загадкой, чем не устраивает DWGtoPDF.
Do$ вне форума  
 
Непрочитано 06.12.2012, 17:27
#167
Иван Павлов


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


Интересно, а процесс отправки листа на печать у всех такой длительный (по лиспу #120),
кажется когда сам отправляешь он реально быстрее завершает отправку.
Иван Павлов вне форума  
 
Непрочитано 07.12.2012, 09:17
#168
Fazeroid


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


Всем привет! Спасибо за дискуссию по моему вопросу. Программу свою я сделал и как раз через принтер DWG to PDF.pc3. За это вам спасибо. Прога работает полностью как хотел, если не брать в расчет некоторые косяки , которые предстоит исправить. Но это в процессе.

Возникла еще такая проблема.
Сделал рамки листов динамическими, но проблема программы с определением координат рамки выделения листа при печати через команду "vla-getboundingbox". Эта функция каждый раз задает размеры наибольшего из листов в динамическом блоке. Как с этим бороться подскажите кто-нибудь пожалуйста.
Fazeroid вне форума  
 
Непрочитано 07.12.2012, 10:05
#169
Do$

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


Посмотри код из #120, там есть функция по определению границ динамического блока, которую написал Кулик Алексей. Суть в том, что проверяются все объекты внутри блока на предмет видимости и граница определяется только по видимым объектам. У vla-getboundingbox есть еще другие проблемы - со сплайнами, с мультитекстом...
Do$ вне форума  
 
Непрочитано 07.12.2012, 10:36
#170
Fazeroid


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


Цитата:
Сообщение от Do$ Посмотреть сообщение
Посмотри код из #120, там есть функция по определению границ динамического блока, которую написал Кулик Алексей. Суть в том, что проверяются все объекты внутри блока на предмет видимости и граница определяется только по видимым объектам. У vla-getboundingbox есть еще другие проблемы - со сплайнами, с мультитекстом...
Спасибо, посмотрю.
Fazeroid вне форума  
 
Непрочитано 07.12.2012, 11:19
#171
MEsher


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


Чтоб не создавать новую тему напишу вопрос здесь по DWG to PDF.

Каким-нибудь параметром можно отключить открытие созданного файла в pdf, то есть возможность тихой печати.
__________________
Код порою получается жутковат, конешно, и убиться об его можно, да ведь все под богом ходим...
MEsher вне форума  
 
Непрочитано 07.12.2012, 11:24
#172
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Цитата:
Сообщение от MEsher Посмотреть сообщение
Каким-нибудь параметром можно отключить открытие созданного файла в pdf, то есть возможность тихой печати.
только ручным снятием галочки в настройках DWG to PDF.pc3
__________________
Алексей
bargool вне форума  
 
Непрочитано 07.12.2012, 11:39
#173
MEsher


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


Цитата:
Сообщение от bargool Посмотреть сообщение
только ручным снятием галочки в настройках DWG to PDF.pc3
А ведь достаточно было залезть в "Дополнительные свойства". Спасибо, помогло.
__________________
Код порою получается жутковат, конешно, и убиться об его можно, да ведь все под богом ходим...
MEsher вне форума  
 
Непрочитано 27.05.2013, 15:41
#174
RedAlex


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


;Код из №14 поста работает нормально, но очень нужно превью! Правильно ли выделилось, не забыл я включить слои и т.д.

печатаем или нет, все просто оказалось.
Offtop:
Код:
[Выделить все]
 (defun c:A1color ()
(vl-load-com)
(defun GetBoundingBox (en / obj minpt maxpt)
  (if (= (type en) 'ENAME)
    (progn
      (setq obj (vlax-ename->vla-object en))
      (vla-getboundingbox obj 'minpt 'maxpt)
      (list
        (trans (vlax-safearray->list minpt) 0 1)
        (trans (vlax-safearray->list maxpt) 0 1)
      ) ;_ end of list
    ) ;_ end of progn
  ) ;_endof if progn 
) ;_endof defun

;(princ "Выберите объект для печати")
;(setq box (GetBoundingBox (car(entsel)))); список из координат минимума и максимума габаритов выбранного объекта
;(setq xy1 (car box)); координаты для определения области печати, xy1 - левая нижняя, xy2 - правая верхняя 
;(setq xy2 (car (cdr box))) 

 (setq xy1 (getpoint "\n Укажите левый нижний угол рамки (ENTER-Отказ): "))
 (setq xy2 (getpoint "\n Укажите правый верхний угол рамки (ENTER-Отказ): "))
 (setq Plot-not-prew1   "_no")
 (setq Plot-not-prew2   "_Yes")

(setq a (angle xy1 xy2));угол для вычисления ориентации листа
;;; Ориентация листа: если угол в диапазоне 45...135 или 225...315 то портрет, иначе - альбом
             (if (or (and (> a (* pi 0.25)) (< a (* pi 0.75))) (and (> a (* pi 1.25)) (< a (* pi 1.75))))
               (setq orientation "Portrait") 
               (setq orientation "Landscape") 
             ) ;_ end of if

(command "_.plot"
            
             "_Yes"
             "model" ; Имя листа или [?] <Модель>: 
             ;"HP CLJ 5550N PCL 6 A4.pc3" ;Имя устройства вывода 
             "UDC.pc3"
             ;"Universal Document Converter"
             "A1" ;Формат листа бумаги
             "Millimeters" ;Единицы измерения размеров листа
             orientation
            ; "portrait" ;Ориентация чертежа 
             "_No" ;Перевернуть чертеж?
             "_Window" ;Печатаемая область
             xy1 ;Первая точка окна 
             xy2 ;Вторая точка окна 
             "_fit" ;[Вписать]
             "_center" ;Смещение от начала (x,y) или [Центрировать]
             "_yes" ;Учитывать стили печати?
             "acad.ctb" ;Имя таблицы стилей печати
             ;"previous plot"
             "_yes" ;Учитывать веса линий?
             "As displayed" ;Режим вывода раскрашенных ВЭ
             "_No" ;Запись чертежа в файл
             "_yes" ;Сохранить изменения параметров листа
             Plot-not-prew1 ;Перейти к печати
    ) ;_ end of command
(command "_.PREVIEW" ) ;_ end of command печатаем или нет, все просто оказалось.
)

Последний раз редактировалось RedAlex, 27.05.2013 в 16:16.
RedAlex вне форума  
 
Непрочитано 12.03.2017, 15:05 Как сделать эту программу для множества рамок созданных динамическим блоком?
#175
Александр Лактионов


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


это только для одного объекта, как сделать для множества рамок?
Александр Лактионов вне форума  
 
Непрочитано 12.03.2017, 15:07
#176
maratovich


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


Цитата:
Сообщение от Александр Лактионов Посмотреть сообщение
это только для одного объекта, как сделать для множества рамок?
Вам сюда.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 12.03.2017, 15:12 Что нужно добавить ,чтобы программа печатала множество рамок(форматов) во всем чертеже?
#177
Александр Лактионов


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


К примеру 100 динамических блоков , формата А3 и чтобы за один раз сразу все распечатались ?
Александр Лактионов вне форума  
 
Непрочитано 12.03.2017, 15:14
#178
maratovich


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


Цитата:
Сообщение от Александр Лактионов Посмотреть сообщение
К примеру 100 динамических блоков , формата А3 и чтобы за один раз сразу все распечатались ?
Пример приложите.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 12.03.2017, 16:20 Пример
#179
Александр Лактионов


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


Цитата:
Сообщение от maratovich Посмотреть сообщение
Пример приложите.
8 рамок ,чтобы все за раз распечатались
Я понимаю, что надо создать цикл(i+1) и список всех координат max min
Вложения
Тип файла: dwg
DWG 2007
примерdwg.dwg (608.8 Кб, 20 просмотров)
Александр Лактионов вне форума  
 
Непрочитано 12.03.2017, 18:22
#180
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Поиском не пользуемся? - целая же тема про пакетную распечатку из модели есть.
Сергей812 вне форума  
Ответ
Вернуться   Форум 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