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

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

VBA AUTOCAD печать видовых экранов из пространства модели

Ответ
Поиск в этой теме
Непрочитано 22.10.2016, 06:52 #1
VBA AUTOCAD печать видовых экранов из пространства модели
zenija2007
 
Регистрация: 18.09.2015
Сообщений: 120

Давно где-то на форуме видел тему про печать через видовые экраны, теперь не могу найти. Вспомнил в связи с тем, что простой пример печати из vba help командой plottodevice, немного измененный для печати через acwindow, готовит лист к печати очень долго, а команда автокада _plot делает это мгновенно. Да, еще все параметры печати назначал программно через объект AcadLayout, а не через готовый набор параметров. Поскольку медленная печать происходила на любой версии автокада, начиная с 2014, любой битности (а установлены эти версии на 6 разных ПК), сделал вывод, что команда plottodevice имеет недокументированные проблемы, о которых никто не спешит просвятить новичка, да и мало кто знает.
При печати стандартной командой _plot появляется сообщение: Вычерчивается видовой экран 2. Это немного озадачивает: если автокад при печати преобразует выделенную область в видовой экран, а только затем его печатает, почему это никак не отображается визуально? Видовыми экранами управляет объект AcadViewport, а в нем я не нашел команд, позволяющих создать и распечатать видовой экран в фоне, да еще чтобы это все происходило в фоне.
Потом, при разборе программы !Plot_U нашел код для работы с видовыми экранами:
Код:
[Выделить все]
Dim viewportObj As AcadViewport
Set viewportObj = ThisDrawing.ActiveViewport
Dim currTarget As Variant
currTarget = viewportObj.Target
If viewportObj.Target(0) <> 0# Or viewportObj.Target(1) <> 0# Or viewportObj.Target(2) <> 0# Then
Dim newTarget(0 To 2) As Double
newTarget(0) = 0#: newTarget(1) = 0#: newTarget(2) = 0
viewportObj.Target = newTarget
ThisDrawing.ActiveViewport = viewportObj
ThisDrawing.Regen acAllViewports
ZoomAll
но просто не понимаю его смысл (не смог найти вменяемый перевод используемых в справке терминов), ведь печать выполняется командой plottodevice, область для которой указывается через acwindow. Тем не менее, подозреваю, что именно этот код позволяет упомянутой программе быстро готовить лист к печати без использования готового pc3.
Буду благодарен за помощь в понимании проблемы.
Просмотров: 3231
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA AUTOCAD печать видовых экранов из пространства модели

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Создание листов и видовых экранов на них Andrey_13 Готовые программы 415 23.02.2024 18:25
AutoCAD MEP и производительность ПК при больших объёмах модели. fugi1824 Вертикальные решения на базе AutoCAD 43 27.03.2015 20:29
AutoCAD 2014 неактивна панель видовых экранов в листе KSPigin AutoCAD 2 08.10.2014 16:17
Использование в AutoCad 3d модели созданной в AutoCad Архитектор faust23 AutoCAD 25 16.10.2008 00:53
Автоматическая печать из пространства модели Дмитрий_В AutoCAD 9 19.04.2006 16:52