Доступ к 3D-модели из открытого в редакторе эскиза

Автор rusty_cat, 23.02.20, 13:05:41

« предыдущая - следующая »

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

rusty_cat

23.02.20, 13:05:41 Последнее редактирование: 23.02.20, 18:56:58 от rusty_cat
Обращаюсь к приложению "Компас" (версия 16), в котором открыт файл с 3D-моделью и создан (редактируется) эскиз.

IApplication.ActiveDocument возвращает интерфейс "фрагмент" (Doc.DocumentType = ksDocumentFragment).
Его Parent содержит KompasAPIObject с типом (Type) "ksObjectDocuments" (Коллекция документов, открытых в приложении).
При помощи (Doc as IFragmentDocument).IsSketch убеждаюсь, что это - эскиз.
Попытка получить интерфейс эскиза или Entity завершает ошибкой, что интерфейс не поддерживается:
Doc as IEntity, Doc as ISketch, Doc as ISketchDefinition ==> Интерфейс не поддерживается
Хотя в файле SDK для ISketchDefinition написано, что "На момент редактирования (до вызова метода EndEdit), текущим документом является документ эскиза."

Как получить доступ к текущей 3D-модели (IPart)?
Как получить доступ к текущему эскизу (ISketchDefinition)?