Настоящая справка CHM сгенерирована через Doxygen (конфигурационный файл см. в /docs/ms_com_api_Doxyfile), сама справка приведена там же. В дополнение к справке приведены Interop DLL в разделе Releases -- https://github.com/GeorgGrebenyuk/cs_modelstudio_com_api_about/releases/tag/interop_libs, для изучения (для подключения к проекту используйте идентификаторы и названия COM библиотек из раздела 2. About Docs настоящей справки.
Также приведен небольшой вспомогательный код на Python (/samples/) для демонстрации подключения к объектам модели ModelStudio: Трубопроводы; проект с примерами разрабатывался в среде PyCharm Community.
В силу использования внутри ModelStudio от ~10 до ~30 разных COM библиотек, работать с COM API из языков с динамической типизацией очень трудно и потому рекомендуется использовать языки со строгой типизацией (C#, C++) и с возможностью явного приведения интерфейсов (и просмотром свойств и методов целевого интерфейса, что из-под Python неудобно (например, применяя dir()) или постоянно сверяясь со справкой).
Общая логика приведения интерфейсов простая.По умолчанию, любой объект модели nanoCAD -- это интерфейс OdaX.AcadEntity, и если целевой интерфейс наследует данный, то свойства и методы можно запрашивать без необходимости приведения интерфейсов (например, это интерфейсы .Element из UnitsCSCom -- Model Studio Objects 1.0 Type Library); в то же время, если объект модели относится к одному из вертикальных приложений, например оси трубопровода в MS: Трубопроводы, то он помимо наследования интерфейса IElement из UnitsCSCom также может быть приведен к одному из интерфейсу из ViperCSObjCom (vCSViperCSObjCom 1.0 Type Library), что и показано в тестовом python-скрипте в папке /samples.
Материалы также продублированы на https://github.com/GeorgGrebenyuk/cs_modelstudio_com_api_about.
Составитель: технический писатель ООО "Нанософт разработка", Гребенюк Е.А. ([email protected])
Выражаются благодарности за поддержку в исследованиях программистам TBS Software (https://www.tbs-soft.ru); также за материалы Владимиру Кудряшову (Росатом, АО АЭП) и сотрудникам CSoft за летний интенсив по программированию, чьи записи помогли в начале освоения CS ModelStudio API