ADN Club > AutoLisp / VisualLISP и DCL
Создание видового экрана на новом листе
Electric:
Пишу скрипт, который создает новые листы и в них программно видовые экраны определенного размера.
Возникла проблема в строке активации модели в листе (vla-put-mspace ActiveDocument :vlax-true)
--- Код - Auto/Visual Lisp [Выбрать] ---(setq PaperSpace (vla-get-paperspace ActiveDocument) ; Координаты центра center_x (+ 20 (* 0.5 395)) center_y (- 292 (* 0.5 header_height)) ; Видовой экран Viewport (vla-AddPViewport PaperSpace (vlax-3d-point (list center_x center_y)) table_width header_height)) ; setq (vla-display Viewport :vlax-true) ; Активизация модели в видовом экране (vla-put-mspace ActiveDocument :vlax-true) (setq left_point (vlax-3d-point (list (x (- y header_height)))) right_point (vlax-3d-point (list ((+ x table_width) y)))) ; Центровка зума экрана (vla-ZoomWindow Application left_point right_point) ; Деактивизация модели в видовом экране(vla-put-mspace ActiveDocument :vlax-false)
возвращает ошибку "; ошибка: Ошибка Automation. Нет активного видового экрана в пространстве модели. Переключение в пространство листа", хотя видовой экран на листе создан.
P.S. автоматическое создание видового экрана на новом листе отключено (vla-put-LayoutCreateViewport Display :vlax-false)
Александр Ривилис:
Electric,
Код выполняешь из пространства модели?
Electric:
--- Цитата: Александр Ривилис от 13-06-2021, 18:17:13 ---Electric,
Код выполняешь из пространства модели?
--- Конец цитаты ---
Да, команду запускаю из ModelSpace, выбираю нужные объекты и создаю листы с ВЭ.
Александр Ривилис:
--- Цитата: Electric от 13-06-2021, 18:25:19 ---Да, команду запускаю из ModelSpace, выбираю нужные объекты и создаю листы с ВЭ.
--- Конец цитаты ---
Так почему ты решил, что:
--- Код - Auto/Visual Lisp [Выбрать] ---; Активизация модели в видовом экране (vla-put-mspace ActiveDocument :vlax-true) ?
Ты же не перешел в пространство листа:
Electric:
--- Цитата: Александр Ривилис от 13-06-2021, 18:34:56 ---
--- Цитата: Electric от 13-06-2021, 18:25:19 ---Да, команду запускаю из ModelSpace, выбираю нужные объекты и создаю листы с ВЭ.
--- Конец цитаты ---
Так почему ты решил, что:
--- Код - Auto/Visual Lisp [Выбрать] ---; Активизация модели в видовом экране (vla-put-mspace ActiveDocument :vlax-true) ?
Ты же не перешел в пространство листа:
--- Конец цитаты ---
Ну я просто не стал приводить сюда всю портянку неотрефакторенного кода.
Но до этого я создавал лист и переключался в него:
--- Код - Auto/Visual Lisp [Выбрать] ---; Создаем страницу(setq page_name (strcat "Спец_" (itoa i))) (setq Layout (vla-Add Layouts page_name))(setvar "CTAB" page_name)
Или этого было недостаточно.
Навигация
Перейти к полной версии