Базовые интерфейсы API системы КОМПАС
Базовые интерфейсы API системы КОМПАС
Как вы уже поняли, взаимодействие внешнего приложения или подключаемого модуля с системой КОМПАС (с функциями моделирования, математическими функциями ядра системы и пр.) осуществляется посредством программных интерфейсов, называемых API. В КОМПАС на данный момент существуют API двух версий: API 5 и API 7. Сразу предостерегаю вас от ошибочного мнения, что API 7 – это усовершенствованный и более новый вариант программных интерфейсов пятой версии. На самом деле обе версии реализуют различные функции системы и взаимно дополняют друг друга. Отсюда, полагаю, очевидно, что обе версии программных интерфейсов в равной мере поддерживаются и развиваются с учетом самих изменений в системе.
В основном, для создания полноценных подключаемых модулей достаточно методов и свойств интерфейсов API 5.
Примечание
В этом разделе рассмотрены главные интерфейсы и их методы, касающиеся только работы в трехмерном редакторе КОМПАС-3D.
Главным интерфейсом API системы КОМПАС является KompasObject. Получить указатель на этот интерфейс (если быть точным, на интерфейс приложения API 5) можно с помощью экспортной функции CreateKompasObject(). Методы этого интерфейса, главные из которых представлены в табл. 6.1, реализуют наиболее общие функции работы с документами системы, системными настройками, файлами, а также дают возможность получить указатели на другие интерфейсы (интерфейсы динамического массива, работы с математическими функциями, библиотек моделей или фрагментов и различных структур параметров определенного типа).
Таблица 6.1. Методы интерфейса KompasObject
Описание прототипов всех приведенных функций, а также других методов, составляющих интерфейс KompasObject, вы найдете в справке по API КОМПАС. Файл этой справки размещается в каталоге SDK, находящейся в папке, в которой установлен КОМПАС (например, по умолчанию это C:Program FilesASCONKOMPAS-3D V10SDK).
Другой важный интерфейс API 5 – интерфейс документа модели ksDocument3D.
Получить его можно с помощью методов интерфейса KompasObject:
• ActiveDocument3D – для уже существующего и активного в данный момент документа;
• Document3D – если вы планируете создавать новый трехмерный документ.
Примечание
Графические документы имеют собственный интерфейс – ksDocument2D, со своими специфическими свойствами и методами. Этот интерфейс здесь не описывается, но нам не раз придется с ним сталкиваться даже при трехмерном программировании, поскольку изображения в эскизах трехмерных операций создаются именно с помощью функций, присутствующих в ksDocument2D.
Свойства (члены данных) этого интерфейса позволяют динамически управлять настройками любого трехмерного документа системы из вашего модуля. Наиболее используемые из них приведены в табл. 6.2.
Таблица 6.2. Свойства интерфейса ksDocument3D
Методы этого интерфейса позволяют программно управлять трехмерным документом, как сборкой и ее компонентами, так и отдельной деталью. Обратите внимание: именно управлять самим документом, но не выполнять в нем трехмерные операции! Методы, которые могут пригодиться вам при программировании подключаемых модулей, собраны в табл. 6.3.
Таблица 6.3. Методы интерфейса ksDocument3D
Важнейший из перечисленных в табл. 6.3 методов – ksDocument3D::GetPart. Входящим параметром этой функции является целочисленная переменная type_, которая определяет, интерфейс какого именно компонента сборки возвращать. Данная переменная имеет несколько предопределенных значений (констант):
• plnPlace_Part (равняется –4) – метод возвращает указатель на компонент, который находится в режиме контекстного редактирования (то есть редактирования «на месте»);
• pNew_Part (–3) – создает в модели новый компонент и возвращает указатель на него;
• pEdit_Part (–2) – возвращает указатель на редактируемый компонент (с помощью библиотеки);
• pTop_Part (–1) – верхний компонент, в состав которого входит или новый, или редактируемый, или указанный компонент;
• все остальные значения (от 0 и выше) отвечают номеру компонента в дереве построения, то есть возвращается указатель на существующий в сборке компонент.
Метод ksDocument3D::GetPart возвращает указатель на интерфейс детали или компонента сборки – ksPart. Свойства и методы этого интерфейса (часть из которых приведена в табл. 6.4 и табл. 6.5) управляют состоянием компонентов сборки, они почти полностью дублируют команды контекстного меню и панели свойств, доступные пользователю при работе с тем или иным компонентом.
Таблица 6.4. Свойства интерфейса ksPart
Как видите, все эти методы лишь управляют состоянием компонента (задают видимость, размещение, определяют, запущено ли редактирование компонента), но не дают возможность ничего создавать (выполнять операции).
Для программной реализации всех трехмерных операций, которые пользователи выполняют в трехмерных документах системы КОМПАС-3D, в API реализован единый интерфейс ksEntity – интерфейс элемента модели. Этот интерфейс можно получить с помощью метода ksPart::NewEntity, которому необходимо передать тип создаваемого элемента. Типов элементов в системе, как и в API системы, большое множество. Каждому из них отвечает своя целочисленная константа и свой собственный интерфейс параметров. Именно с помощью настроек (свойств и методов) этих интерфейсов и создаются любые возможные объекты в деталях и сборках КОМПАС-3D. Некоторые константы с описанием типа элемента и интерфейса, к которому они относятся, приведены в табл. 6.6. Сведения об остальных вы можете почерпнуть из файла справки SDK.hlp, поставляемого вместе с системой КОМПАС.
Таблица 6.5. Методы интерфейса ksPart
Таблица 6.6. Типы объектов трехмерного документа
Члены данных интерфейса ksEntity соответствуют свойствам трехмерных элементов модели (о свойствах трехмерной модели читайте в подразд. «Свойства трехмерных объектов» разд. «Твердотельное моделирование в КОМПАС-3D» гл. 3).
Среди методов наиболее важными являются три следующих:
• Create – создает трехмерную операцию или объект вспомогательной геометрии по заданным настройкам;
• ColorParam – возвращает указатель на интерфейс настроек цвета и оптических свойств элемента;
• GetDefinition – получает указатель на интерфейс параметров объекта определенного типа (параметры данного трехмерного элемента). Именно с помощью этого метода можно получить указатель на любой интерфейс, приведенный в столбце «Интерфейс параметров» табл. 6.6.
Таким образом, создание какой-либо трехмерной операции пользовательской программой сводится к такой последовательности шагов.
1. Инициализация главного интерфейса приложения API – KompasObject. Он инициализируется один раз для всего сеанса работы программы.
2. Инициализация интерфейса трехмерного документ ksDocument3D, с последующим созданием нового документа или получением указателя на активный документ.
3. Создание компонента и получение на него указателя (интерфейс ksPart). Для сборки это может быть готовый компонент, компонент, вставленный из файла или созданный «на месте». Для детали необходимо получить указатель на компонент типа pTop_Part.
4. Создание с помощью метода ksPart::NewEntity интерфейса нужной нам операции. При этом в метод передается соответствующий идентификатор (например, для выдавливания – o3d_bossExtrusion).
5. Получение с помощью метода ksEntity::GetDefinition указателя на интерфейс параметров конкретной операции (для выдавливания этим интерфейсом является ksBossExtrusionDefinition). Настройка этих параметров необходимым пользователю образом.
6. Создание операции с помощью метода ksEntity::Create.
Кроме перечисленных, в API системы КОМПАС существует еще большое множество различных интерфейсов, отвечающих за тот или иной аспект работы с программой. Небольшая их часть описана в табл. 6.7.
Таблица 6.7. Некоторые дополнительные интерфейсы API КОМПАС
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
КОМПАС-3D V10: первое знакомство
КОМПАС-3D V10: первое знакомство Любой современный графический редактор обладает достаточно сложным интерфейсом. Как правило, конструкторские системы, представленные сегодня на рынке САПР, развиваются уже не один год. Они успели за это время накопить множество различных
Главное меню КОМПАС-3D V10
Главное меню КОМПАС-3D V10 Как уже отмечалось, главное меню программы динамически изменяет свой состав в зависимости от типа активного в данный момент документа (в основном это зависит от того, является ли этот документ трехмерным или графическим). Более того, даже для
Особенности последних версий КОМПАС-3D
Особенности последних версий КОМПАС-3D В конце данной главы остановимся более подробно на некоторых новшествах, реализованных в последних версиях КОМПАС-3D. Мы рассмотрим далеко не все новинки, а только те, которые имеют наибольшее влияние на повседневную работу с
Азбука КОМПАС
Азбука КОМПАС В версии V9 появилось специальное встроенное интерактивное учебное пособие – Азбука КОМПАС (рис. 1.71). Рис. 1.71. Интерактивное учебное пособие Азбука КОМПАСОткрыть Азбуку КОМПАС можно, используя команду меню Справка-Азбука КОМПАС.Азбука КОМПАС содержит
Новое в версии КОМПАС-3D V10
Новое в версии КОМПАС-3D V10 Одним из главных общих усовершенствований в версии системы КОМПАС-3D V10 является полная поддержка формата Юникод – международного стандарта кодирования символов, позволяющего отображать символы и знаки практически всех возможных языковых
КОМПАС-SHAFT 3D
КОМПАС-SHAFT 3D Система проектирования и трехмерного твердотельного моделирования тел вращения и механических передач КОМПАС-SHAFT 3D – без сомнения, самый мощный вспомогательный модуль, предоставленный компанией «АСКОН» для работы с трехмерными моделями. Простой и удобный
КОМПАС-SHAFT 2D
КОМПАС-SHAFT 2D Аналогом КОМПАС-SHAFT 3D для двухмерного проектирования служит библиотека КОМПАС-SHAFT 2D (хотя не совсем двухмерного – с помощью КОМПАС-SHAFT 2D также можно генерировать и трехмерные модели). Модуль КОМПАС-SHAFT 2D обеспечивает параметрическое построение чертежей
КОМПАС-SPRING
КОМПАС-SPRING Еще одним мощным и многофункциональным расчетным приложением системы КОМПАС-3D является модуль проектирования пружин КОМПАС-SPRING (рис. 5.17). Рис. 5.17. Библиотека КОМПАС-SPRINGСогласитесь, что создание сборочных чертежей или трехмерных сборок высокой сложности,
КОМПАС-Мастер
КОМПАС-Мастер Во многих случаях одних средств параметризации для автоматизации тех или иных действий в процессе проектирования недостаточно, и новые проектируемые 3D-модели или чертежи хоть и схожи с эталоном, но имеют различия, не позволяющие использовать
Первая библиотека к КОМПАС-3D
Первая библиотека к КОМПАС-3D Приведенный выше пример, демонстрирующий общий принцип программного выполнения трехмерных операций из внешнего приложения (плагина), вряд ли объяснил, как все-таки создать прикладную библиотеку для КОМПАС-3D. В этом разделе подробно
Трехгранник осей и компас
Трехгранник осей и компас Еще одно средство установки нужного вида – трехгранник осей и компас. Чтобы воспользоваться данной возможностью, выполните команду меню View ? 3D Views ? Viewpoint (Вид ? Трехмерные виды ? Точка зрения). Можете также ввести команду VPOINT с клавиатуры. При этом
Трехгранник осей и компас
Трехгранник осей и компас Еще одно средство установки нужного вида – трехгранник осей и компас. Чтобы воспользоваться данной возможностью, выполните команду меню View ? 3D Views ? Viewpoint (Вид ? Трехмерные виды ? Точка зрения). Можете также ввести команду VPOINT с клавиатуры. При этом
Часть II Черчение с КОМПАС-3D
Часть II Черчение с КОМПАС-3D
Часть III Информатика с КОМПАС-3D
Часть III Информатика с КОМПАС-3D
Часть IV Геометрия с КОМПАС-3D
Часть IV Геометрия с КОМПАС-3D