Пытаюсь нарисовать примитивы по команде пользователя скриптом AutoLisp через ActiveX.
При активной модели или листе все нормально: определяю активный документ, затем активное рабочее пространство и далее добавляю нужный примитив.
(setq ActiveDocument (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (= (vla-get-ActiveSpace activeDocument) 1)
(setq workSpace (vla-get-modelspace activeDocument))
)
(if (= (vla-get-ActiveSpace activeDocument) 0)
(setq workSpace (vla-get-paperspace activeDocument))
)
Но что делать, если во время вызова команды открыт видовой экран? Функция vla-get-ActiveSpace выдает 0, т.е. работу в листе, но фактически активной является модель. Как можно отловить такую ситуацию? Пробовал функцию vla-get-activeviewport, но все время выдает ошибку, что нет активных видовых экранов.