Максим Кидрук - КОМПАС-3D V10 на 100 %
- Название:КОМПАС-3D V10 на 100 %
- Автор:
- Жанр:
- Издательство:046ebc0b-b024-102a-94d5-07de47c81719
- Год:2009
- Город:Санкт-Петербург
- ISBN:978-5-388-00375-1
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Максим Кидрук - КОМПАС-3D V10 на 100 % краткое содержание
Книга посвящена КОМПАС-3D V10 – мощной, постоянно совершенствующейся системе автоматизированного проектирования (САПР), максимально адаптированной к российским стандартам. Издание в доступной форме рассказывает о принципах проектирования и основных приемах работы в этой замечательной программе. Книга не является аналогом справочной системы: обучение основывается на интересных примерах, взятых из практики. Более того, в издании есть раздел, посвященный расширению возможностей системы, а именно написанию прикладных конструкторских библиотек, работающих с 3D.
Издание будет полезно всем, кто занимается созданием трехмерных моделей и чертежей, а также хочет научиться разрабатывать приложения для КОМПАС-3D.
КОМПАС-3D V10 на 100 % - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Интерфейсы IDispatch можно применять в любой из наиболее распространенных сегодня сред программирования (Visual C++ Studio, Borland Delphi, Borland C++Builder, Visual Basic). Именно этим КОМПАС-Мастер выгодно отличается от КОМПАС-Макро: вам не придется изучать малознакомый язык программирования, вы можете создавать свои приложения в той среде, к которой привыкли.
Базовые интерфейсы API системы КОМПАС
Как вы уже поняли, взаимодействие внешнего приложения или подключаемого модуля с системой КОМПАС (с функциями моделирования, математическими функциями ядра системы и пр.) осуществляется посредством программных интерфейсов, называемых API. В КОМПАС на данный момент существуют API двух версий: API 5 и API 7. Сразу предостерегаю вас от ошибочного мнения, что API 7 – это усовершенствованный и более новый вариант программных интерфейсов пятой версии. На самом деле обе версии реализуют различные функции системы и взаимно дополняют друг друга. Отсюда, полагаю, очевидно, что обе версии программных интерфейсов в равной мере поддерживаются и развиваются с учетом самих изменений в системе.
В основном, для создания полноценных подключаемых модулей достаточно методов и свойств интерфейсов API 5.
Примечание
В этом разделе рассмотрены главные интерфейсы и их методы, касающиеся только работы в трехмерном редакторе КОМПАС-3D.
Главным интерфейсом API системы КОМПАС является KompasObject. Получить указатель на этот интерфейс (если быть точным, на интерфейс приложения API 5) можно с помощью экспортной функции CreateKompasObject(). Методы этого интерфейса, главные из которых представлены в табл. 6.1, реализуют наиболее общие функции работы с документами системы, системными настройками, файлами, а также дают возможность получить указатели на другие интерфейсы (интерфейсы динамического массива, работы с математическими функциями, библиотек моделей или фрагментов и различных структур параметров определенного типа).


Описание прототипов всех приведенных функций, а также других методов, составляющих интерфейс KompasObject, вы найдете в справке по API КОМПАС. Файл этой справки размещается в каталоге SDK, находящейся в папке, в которой установлен КОМПАС (например, по умолчанию это C:\Program Files\ASCON\KOMPAS-3D V10\SDK).
Другой важный интерфейс API 5 – интерфейс документа модели ksDocument3D.
Получить его можно с помощью методов интерфейса KompasObject:
• ActiveDocument3D – для уже существующего и активного в данный момент документа;
• Document3D – если вы планируете создавать новый трехмерный документ.
Примечание
Графические документы имеют собственный интерфейс – ksDocument2D, со своими специфическими свойствами и методами. Этот интерфейс здесь не описывается, но нам не раз придется с ним сталкиваться даже при трехмерном программировании, поскольку изображения в эскизах трехмерных операций создаются именно с помощью функций, присутствующих в ksDocument2D.
Свойства (члены данных) этого интерфейса позволяют динамически управлять настройками любого трехмерного документа системы из вашего модуля. Наиболее используемые из них приведены в табл. 6.2.

Методы этого интерфейса позволяют программно управлять трехмерным документом, как сборкой и ее компонентами, так и отдельной деталью. Обратите внимание: именно управлять самим документом, но не выполнять в нем трехмерные операции! Методы, которые могут пригодиться вам при программировании подключаемых модулей, собраны в табл. 6.3.

Важнейший из перечисленных в табл. 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) управляют состоянием компонентов сборки, они почти полностью дублируют команды контекстного меню и панели свойств, доступные пользователю при работе с тем или иным компонентом.

Как видите, все эти методы лишь управляют состоянием компонента (задают видимость, размещение, определяют, запущено ли редактирование компонента), но не дают возможность ничего создавать (выполнять операции).
Для программной реализации всех трехмерных операций, которые пользователи выполняют в трехмерных документах системы КОМПАС-3D, в API реализован единый интерфейс ksEntity – интерфейс элемента модели. Этот интерфейс можно получить с помощью метода ksPart::NewEntity, которому необходимо передать тип создаваемого элемента. Типов элементов в системе, как и в API системы, большое множество. Каждому из них отвечает своя целочисленная константа и свой собственный интерфейс параметров . Именно с помощью настроек (свойств и методов) этих интерфейсов и создаются любые возможные объекты в деталях и сборках КОМПАС-3D. Некоторые константы с описанием типа элемента и интерфейса, к которому они относятся, приведены в табл. 6.6. Сведения об остальных вы можете почерпнуть из файла справки SDK.hlp, поставляемого вместе с системой КОМПАС.



Члены данных интерфейса ksEntity соответствуют свойствам трехмерных элементов модели (о свойствах трехмерной модели читайте в подразд. «Свойства трехмерных объектов» разд. «Твердотельное моделирование в КОМПАС-3D» гл. 3).
Читать дальшеИнтервал:
Закладка: