Рисование в видовом экране

Автор Тема: Рисование в видовом экране  (Прочитано 7447 раз)

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

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

  • ADN OPEN
  • Сообщений: 13
  • Карма: 1
Пытаюсь нарисовать примитивы по команде пользователя скриптом AutoLisp через ActiveX.
При активной модели или листе все нормально: определяю активный документ, затем активное рабочее пространство и далее добавляю нужный примитив.
Код - Auto/Visual Lisp [Выбрать]
  1. (setq ActiveDocument (vla-get-ActiveDocument (vlax-get-acad-object)))
  2.         (if (= (vla-get-ActiveSpace activeDocument) 1)
  3.                 (setq  workSpace (vla-get-modelspace activeDocument))
  4.         )
  5.         (if (= (vla-get-ActiveSpace activeDocument) 0)
  6.                         (setq workSpace (vla-get-paperspace activeDocument))
  7.         )
  8.  
Но что делать, если во время вызова команды открыт видовой экран? Функция vla-get-ActiveSpace выдает 0, т.е. работу в листе, но фактически активной является модель. Как можно отловить такую ситуацию? Пробовал функцию vla-get-activeviewport, но все время выдает ошибку, что нет активных видовых экранов.
« Последнее редактирование: 08-08-2019, 23:27:29 от Александр Ривилис »

Отмечено как Решение Александр Ривилис 09-08-2019, 09:20:55

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Рисование в видовом экране
« Ответ #1 : 08-08-2019, 23:36:39 »
SilverWork,
1. Не забывай про правильное форматирование кода на форуме.
2. Если (= (getvar "tilemode") 0) и (= (getvar "cvport") 1) - мы в пространстве листа. В противном случае в пространстве модели.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 13
  • Карма: 1
Re: Рисование в видовом экране
« Ответ #2 : 09-08-2019, 09:20:04 »
Все отлично сработало. Спасибо.