Создание видового экрана на новом листе

Автор Тема: Создание видового экрана на новом листе  (Прочитано 5858 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн ElectricАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 10
Пишу скрипт, который создает новые листы и в них программно видовые экраны  определенного размера.
Возникла проблема в строке активации модели в листе (vla-put-mspace ActiveDocument :vlax-true)

Код - Auto/Visual Lisp [Выбрать]
  1. (setq PaperSpace (vla-get-paperspace ActiveDocument)   
  2.         ; Координаты центра    
  3.         center_x (+ 20 (* 0.5 395))            
  4.         center_y (- 292 (* 0.5 header_height))  
  5.                        
  6.         ; Видовой экран
  7.         Viewport (vla-AddPViewport PaperSpace (vlax-3d-point (list center_x center_y)) table_width header_height)
  8. ) ; setq
  9.                        
  10. (vla-display Viewport :vlax-true)
  11.                
  12. ; Активизация модели в видовом экране   
  13. (vla-put-mspace ActiveDocument :vlax-true)
  14.  
  15. (setq left_point (vlax-3d-point (list (x (- y header_height))))
  16.                           right_point (vlax-3d-point (list ((+ x table_width) y))))
  17.        
  18.  ; Центровка зума экрана                      
  19. (vla-ZoomWindow Application  left_point right_point)
  20.  
  21. ; Деактивизация модели в видовом экране
  22. (vla-put-mspace ActiveDocument :vlax-false)

возвращает ошибку "; ошибка: Ошибка Automation. Нет активного видового экрана в пространстве модели. Переключение в пространство листа", хотя видовой экран на листе создан.

P.S. автоматическое создание видового экрана на новом листе  отключено (vla-put-LayoutCreateViewport Display :vlax-false)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Electric,
Код выполняешь из пространства модели?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ElectricАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 10
Electric,
Код выполняешь из пространства модели?

Да, команду запускаю из ModelSpace, выбираю нужные объекты и создаю листы с ВЭ.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Да, команду запускаю из ModelSpace, выбираю нужные объекты и создаю листы с ВЭ.
Так почему ты решил, что:
Код - Auto/Visual Lisp [Выбрать]
  1. ; Активизация модели в видовом экране    
  2. (vla-put-mspace ActiveDocument :vlax-true)
?
Ты же не перешел в пространство листа:



Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ElectricАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 10
Да, команду запускаю из ModelSpace, выбираю нужные объекты и создаю листы с ВЭ.
Так почему ты решил, что:
Код - Auto/Visual Lisp [Выбрать]
  1. ; Активизация модели в видовом экране    
  2. (vla-put-mspace ActiveDocument :vlax-true)
?
Ты же не перешел в пространство листа:


Ну я просто не стал приводить  сюда всю портянку неотрефакторенного кода.
Но до этого я создавал лист и переключался в него:

Код - Auto/Visual Lisp [Выбрать]
  1. ; Создаем страницу
  2. (setq page_name (strcat "Спец_" (itoa i)))                 
  3. (setq Layout (vla-Add Layouts page_name))
  4. (setvar "CTAB" page_name)

Или  этого было недостаточно.

Отмечено как Решение Electric 13-06-2021, 21:43:29

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Electric,
Код - Auto/Visual Lisp [Выбрать]
  1. (vla-put-ActiveSpace ActiveDocument acPaperSpace)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение