Форум пользователей ПО АСКОН
Новости:
Python и КОМПАС-Макро
Ответов: 24
Просмотров: 926
Ответов: 7
Просмотров: 219
Ответов: 10
Просмотров: 255
Ответов: 4
Просмотров: 195
Ответов: 4
Просмотров: 260
Ответов: 1
Просмотров: 138
Ответов: 29
Просмотров: 835
Ответов: 42
Просмотров: 812
Ответов: 2
Просмотров: 202
Ответов: 2
Просмотров: 148
Ответов: 1
Просмотров: 237
Ответов: 0
Просмотров: 111
Ответов: 30
Просмотров: 3,372
Ответов: 6
Просмотров: 245
Ответов: 0
Просмотров: 148
Ответов: 2
Просмотров: 288
Ответов: 0
Просмотров: 195
Ответов: 5
Просмотров: 278
Ответов: 6
Просмотров: 303
Ответов: 2
Просмотров: 179
Ответов: 5
Просмотров: 355
Ответов: 42
Просмотров: 8,936
Ответов: 7
Просмотров: 319
Ответов: 15
Просмотров: 431
Ответов: 1
Просмотров: 202
Ответов: 116
Просмотров: 2,229
Ответов: 4
Просмотров: 263
Ответов: 1
Просмотров: 199
Ответов: 1
Просмотров: 145
Ответов: 5
Просмотров: 408
Ответов: 7
Просмотров: 398
Ответов: 2
Просмотров: 430
Ответов: 4
Просмотров: 323
Ответов: 7
Просмотров: 479
Ответов: 3
Просмотров: 274
Голосование

Заблокированная тема
Прикрепленная тема
Текст книги «КОМПАС-3D V10 на 100 %»
Автор книги: Максим Кидрук
Жанр: Программы, Компьютеры
Текущая страница: 29 (всего у книги 32 страниц) [доступный отрывок для чтения: 12 страниц]
Создание библиотек шаблонов
Приложение для создания библиотек шаблонов (по своей сути также прикладная библиотека к КОМПАС-3D, названная Менеджером шаблонов) позволяет создавать особый вид пользовательских прикладных библиотек. Эти библиотеки состоят из базового параметризированного чертежа или трехмерной модели, таблицы переменных, набранной в соответствии с некоторыми правилами в табличном редакторе Excel, и схемы – документа КОМПАС-3D или рисунка, содержащего имена переменных. Сама библиотека – это файл с расширением TLM, с помощью которого переменным параметризированного фрагмента или детали ставятся в соответствие значения, набранные в Excel-таблице.
Разработку шаблона следует начинать с создания фрагмента (для двухмерного шаблона) или детали (для трехмерного), пользуясь стандартными средствами КОМПАС-График или КОМПАС-3D соответственно. После этого необходимо параметризировать вычерченный фрагмент или эскизы модели и определить как внешние все переменные, которые вы планируете вводить в таблице Excel. Если вы хотите, чтобы отдельные составляющие фрагмента-шаблона вставлялись в документ в различных комбинациях, их следует поместить на отдельные слои. С помощью менеджера создаваемый шаблон можно настроить таким образом, чтобы при вставке, в зависимости от названия, отдельные слои чертежа-заготовки удалялись из графического документа или удалялись все объекты, ограниченные графическими компонентами, которые входят в слои.
Следующим шагом является создание таблицы Excel. В ней необходимо ввести названия переменных (при этом важно проследить, чтобы их имена и количество точно совпадали с именами и количеством внешних переменных фрагмента или модели); установить видимость колонок значений в менеджере шаблонов. Можно задать интервал значений, которые будет принимать переменная (в том числе сформировать раскрывающийся список ее дискретных значений, который будет отображен в соответствующей ячейке в таблице менеджера). И, наконец, заполнить таблицу необходимыми данными. Подробно о правилах заполнения таблиц для шаблонов вы можете узнать из файла-справки и примеров, поставляемых вместе с менеджером шаблонов.
Формирование еще одной составной части шаблона – схемы параметров – не вызовет особых затруднений. Схема – это заставка, изображение конструктивного элемента, которое будет показано на одной из панелей менеджера шаблонов. Схемой может быть любой графический файл системы КОМПАС-3D (чертеж, фрагмент, деталь или сборка) или файл-рисунок в формате BMP, GIF, JPG и JPEG.
Когда все три описанных компонента подготовлены, их следует собрать в одно приложение. Сначала с помощью команды Библиотека → Создать менеджера шаблонов нужно указать название будущей библиотеки и папку, где будет размещен файл библиотеки (рис. 6.12). Здесь можно также задать файл-заставку, которая будет отображаться в библиотеке шаблонов в виде фоновой картинки.
Рис. 6.12. Начало создания библиотеки шаблонов
Далее необходимо оформить древовидную структуру библиотеки, то есть разделы и подразделы, в которых будут размещены подготовленные вами шаблоны. Для этой цели на панели инструментов и в меню менеджера шаблонов есть команда Создать раздел. Завершающий этап подготовки библиотеки – наполнение разделов соответствующими шаблонами, для чего нужно воспользоваться командой Редактор → Создать шаблон. После ее выполнения появится окно, в котором для каждого шаблона нужно будет ввести имя, указать файл с параметризированным фрагментом или моделью, файл таблицы параметров Excel и заставку (необязательно).
В результате библиотека шаблонов будет полностью готова к работе (рис. 6.13).
Рис. 6.13. Пример библиотеки шаблонов сварных швов
Все значения переменных, набранные в редакторе электронных таблиц Excel (рис. 6.14), будут ассоциированы с соответствующими им переменными шаблона. Теперь в окне менеджера шаблонов можно выбирать определенный шаблон, вводить значения переменных и вставлять его в документ.
Рис. 6.14. Таблица параметров для одного из шаблонов библиотеки сварных швов
Чем же существенно отличаются библиотеки шаблонов от библиотек фрагментов? Как уже говорилось, возможностью вставки в документ не всего фрагмента, а отдельных слоев и возможностью задавать список четко определенных значений для переменной, из которых пользователь может выбирать необходимую (например, стандартные модули зубчатых колес, диаметры резьбы, длину шпоночного паза и пр.). Кроме того, в шаблонах можно использовать различные типы переменных, среди которых логические и строковые, а в размерных надписях фрагмента-заготовки можно резервировать переменные для текстовых подстановок (они должны выделяться с обеих сторон знаком #). Однако самым главным преимуществом библиотек шаблонов перед библиотеками фрагментов является то, что при выборе и вставке шаблона вам не нужно будет изменять вручную параметризованные переменные, как это делалось бы при вставке фрагмента или модели из библиотеки фрагментов. Значения всех переменных будут автоматически выбраны из соответствующей шаблону таблицы.
Безусловно, на разработку шаблонов уходит больше времени, а при создании и работе с библиотекой уже не обойтись одними навыками работы с КОМПАС-3D – нужно изучить принципы работы менеджера библиотек (для чего изрядно попотеть над справкой). Зато библиотека шаблонов дает возможность широко автоматизировать создание типовых элементов и, вместе с тем, не запрещает динамично управлять процессом формирования и вставки библиотечного элемента в графический или трехмерный документы.
Создание библиотек с помощью КОМПАС-Макро
КОМПАС-Макро – это интегрированная в систему КОМПАС-3D среда разработки конструкторских приложений на основе языка программирования Python. Почему за основу взят именно Python? Во-первых, Python распространяется бесплатно и, как следствие, нет никаких ограничений на использование программ, написанных на нем. И, во-вторых, на сегодняшний день Python – один из самых простых и понятных языков программирования. И при всей своей простоте он мало в чем уступает таким китам объектно-ориентированного программирования, как C++ или Delphi.
По сути, КОМПАС-Макро является обычной библиотекой, подключаемой к КОМПАС, только с очень большими возможностями. После установки среды Python и КОМПАС-Макро (их дистрибутивы входят в установочный комплект системы КОМПАС) библиотеку можно подключить к системе как обычный прикладной модуль – с помощью менеджера библиотек.
При создании приложений в КОМПАС-Макро можно пользоваться как функциями КОМПАС-Мастер (о них будет рассказано ниже), так и специальными функциями макросреды, облегчающими разработку прикладных библиотек. Среди специальных функций КОМПАС-Макро следует отметить возможности простановки угловых, линейных и радиальных размеров, функцию вставки в документ фрагмента, рисования линии-выноски и пр. Синтаксис перечисленных методов значительно проще их аналогов, реализованных в КОМПАС-Мастер (например, вместо вызова одной функции создания линейного размера, при работе с API-функциями в КОМПАС-Мастер приходится объявлять и инициализировать три интерфейса).
Чтобы использовать библиотеку КОМПАС-Макро, нужно обладать знаниями лексики и приемов работы с языком Python.
Если же вы не понаслышке знакомы с основами объектно-ориентированного программирования и у вас есть желание разрабатывать настоящие библиотеки на базе КОМПАС-3D, то для вас есть один путь – использование инструментальных средств разработки прикладных библиотек КОМПАС-Мастер.
КОМПАС-Мастер
Во многих случаях одних средств параметризации для автоматизации тех или иных действий в процессе проектирования недостаточно, и новые проектируемые 3D-модели или чертежи хоть и схожи с эталоном, но имеют различия, не позволяющие использовать параметрические зависимости при построении. Например, когда какие-либо значения принимаются конструктивно или выбираются из справочников в зависимости от третьих величин. Иногда расчетные параметры модели изменяются дискретно (например, модуль зубчатых колес всегда согласовывается со стандартными значениями и не может принимать значений, отличных от приведенных в ГОСТ) или не связаны аналитически с любым другим параметром. Для определения таких параметров в библиотеку необходимо заложить достаточно сложный и гибкий алгоритм. Он может включать расчеты любой сложности, условия определения параметров, различные ограничения, связь с файлами данных и т. п. В таком случае никак не обойтись без программирования.
Для этой цели программный пакет КОМПАС-3D располагает очень мощными инструментальными средствами разработки дополнительных модулей (прикладных 500 библиотек) – КОМПАС-Мастер, которые позволяют использовать всю силу современного объектно-ориентированного программирования совместно с функциями КОМПАС для создания очень гибких и функциональных приложений. Хорошо владея одним из языков программирования и основами трехмерного моделирования в КОМПАС-3D, можно научиться самостоятельно разрабатывать различные по структуре программные модули для решения узко-профильных задач конструирования. Такие приложения смогут производить сложные вычисления, самостоятельно выбирать необходимые параметры из баз данных, обмениваться данными с внешними приложениями и, в конце концов, построить 3D-модель или чертеж неограниченной сложности с учетом всех параметров (вспомните хотя бы Редуктор3D, описанный в гл. 5).
Выбор того, что применять (параметризацию или программирование), зависит от поставленных перед вами задач. Если вам необходим просто набор надежно хранимых и удобных в использовании параметрических элементов, а главное – если с созданием самих этих элементов нет никаких проблем, конечно, лучше прибегнуть к параметризации и создавать простые библиотеки типовых элементов. Однако если вы планируете вводить в проектируемый модуль сложные аналитические расчеты, предполагаете, что модуль будет принимать решения вместо проектировщика, взаимодействовать с внешними приложениями, считывать или сохранять данные, то этот модуль должен быть полноценной программой. Другими словами, к средствам программирования следует прибегать лишь тогда, когда вам необходимо создавать мини-САПР.
Конечно, практика разработки подключаемых модулей на языках Delphi, C++ и др. далеко не нова. Очень много известных приложений трехмерной графики формируют свою архитектуру открытой, предоставляя пользователям возможность расширять функциональность программ. Такими приложениями являются AutoCAD, Adobe Photoshop, 3ds Max (некоторые плагины для 3ds Max значительно расширяют функционал программы) и др. В этом разделе будет рассказано о создании пользовательских приложений на базе КОМПАС-3D в одной из самых популярных на сегодня сред программирования – Borland Delphi 7.
Данный раздел рассчитан на читателей как минимум знакомых с основами объектно-ориентированного программирования и имеющих представление о работе в программной среде Delphi 7. Вы должны знать основополагающие понятия программирования, такие как класс, объект, интерфейс, метод и пр. В противном случае рекомендую вам изучить какую-либо книгу о программировании в Delphi.
КОМПАС-Мастер предоставляет доступ как к функциям КОМПАС-График, так и к функциям трехмерного моделирования в КОМПАС-3D. Сам доступ может реализоваться двумя путями:
• с использованием экспортных функций, оформленных в виде DLL-модулей, которые разработчик подключает к своей программе при создании плоских чертежей, и с применением СОМ-объектов – при программном формировании твердотельных моделей;
• при помощи технологии Automation (автоматизации). Эта технология реализована через API (Application Programming Interface, интерфейс прикладного программирования) системы КОМПАС. Управление и взаимодействие с системой при этом оформлено через интерфейсы IDispatch.
Далее в этом разделе пойдет речь о программировании прикладных библиотек, работающих именно с трехмерным редактором КОМПАС-3D. По этой причине необходимо сказать о том, благодаря чему возможно создание таких прикладных модулей.
Технология COM, автоматизация и интерфейсы IDispatch
Поскольку программирование не является темой данной книги, мы не будем углубляться в суть понятий технологии COM и автоматизации. Я опишу эти вопросы вкратце, чтобы вы имели некоторое представление.
С начала 1990 годов корпорация Microsoft разрабатывает технологию, позволяющую создавать гибкие модульные программы таким образом, чтобы отдельные модули можно было писать на разных языках программирования, но чтобы при этом обеспечивалась их полная взаимозаменяемость при использовании в различных программных пакетах. На сегодня эта технология полностью сформирована и называется COM (Component Object Model, модель компонентных объектов).
Технология COM описывает методологию реализации компонентов программного обеспечения: объектов, которые могут повторно использоваться, могут быть неоднократно подключены к разным приложениям. Повторное использование компонентов стало логическим следствием эволюции объектно-ориентированного программирования и получило название компонентно-ориентированного подхода. Концепция компонентно-ориентированного программирования предусматривает полное отделение внутренних функций компонента от функций доступа к нему извне. Теперь, обращаясь к компоненту, необязательно знать его внутреннее устройство, для этого достаточно лишь иметь информацию о том, как вызывать его функции. Другими словами, необходимо знать, как взаимодействовать с компонентом и какой у него интерфейс. Такая функциональность в COM достигается за счет поддержки одного или нескольких интерфейсов, которые используются другими программами для доступа к внутренним членам и методам компонента.
Таким образом, интерфейс – это то, что размещено между двумя объектами и обеспечивает связь между ними. Интерфейс-ориентированное программирование представляет собой технологию разработки программного обеспечения, жестко нацеленную на использование интерфейсов. Интерфейс является своего рода связующим звеном, предоставленным управляющей программе для доступа к COM-объекту.
Объект COM – конкретный экземпляр COM-класса, завершенный объект с собственными членами данных и методами, который может легко встраиваться в программы или распространяться как отдельный программный продукт. COM-объект представляет собой или DLL-библиотеку или ЕХЕ-программу для Wіndows, которые можно создавать в любой среде программирования, способной поддерживать нужный формат представления. COM-объект может иметь много функций, доступ к которым происходит через его интерфейсы. Любой COM-объект должен иметь по крайней мере одни интерфейс ІUnknown, хотя на самом деле имеет их значительно больше.
В свое время разработчики технологии COM пришли к заключению, что должен существовать некоторый механизм запроса интерфейса для определения его возможностей. Этот запрос также должен существовать для того, чтобы обеспечить обновление клиентскими программами значения счетчика ссылок на данный интерфейс. Данный счетчик определяет, как долго интерфейс будет оставаться доступным, прежде чем он будет удален из памяти. Именно для этой цели существует специальный интерфейс, который называется ІUnknown. Он имеет настолько важное значение, что основной принцип спецификации СОМ требует, чтобы все СОМ-объекты кроме своих специализированных интерфейсов поддерживали интерфейс ІUnknown. Причем каждый определенный для объекта интерфейс должен происходить от ІUnknown или от интерфейса, который в свою очередь сам происходит от ІUnknown. Данный принцип называется наследованием интерфейсов. В интерфейсе ІUnknown реализовано лишь три метода: Queryіnterface(), AddRef() и Release(). Метод Queryіnterface() определяет, является ли полученный интерфейс нужным. Методы AddRef() и Release() используются для подсчета ссылок на данный интерфейс при его применении многими программами. Перед началом использования COM-объекта клиент вызывает метод СОМ, тем самым увеличивая количество ссылок на интерфейс на единицу. После окончания работы с интерфейсом клиент должен вызвать функцию Release(), чтобы уменьшить количество ссылок на единицу. Когда счетчик ссылок для всех интерфейсов станет равным нулю, значит, объект больше никем не используется и его можно выгружать из памяти.
На сегодняшний день технология СОМ используется практически во всех серьезных программах. Приведу один пример. Предположим, что пользователю в каком-нибудь отчете нужно поместить электронную таблицу с расчетами, которые ссылаются на определенные параметры в тексте. Чтобы выполнить любые вычисления без использования технологии СОМ, пришлось бы постоянно переключаться между двумя программами (Word и Excel), а информацию копировать (вырезать и вставлять). При помощи технологии COM можно применять функции электронной таблицы прямо в текстовом редакторе и автоматически форматировать полученный результат. Возможность реализовать операции такого рода называется автоматизацией.
Цель автоматизации состоит в том, чтобы дать возможность программе предоставлять в использование сервисы, которые в ней присутствуют. Основной особенностью автоматизации является возможность комбинировать функции различных специализированных приложений в одном модуле. СОМ дает возможность программам передавать свою информацию в другие приложения и модули. Если бы каждая программа или приложение-сценарий могли бы поддерживать указатели и процедуру обхода указателей, то проблема была бы решена. Однако в некоторых языках программирования есть определенная трудность с процедурой обхода таблицы указателей. Некоторые из них, например Vіsual Basіc, не поддерживают указатели напрямую. Для решения этой проблемы был разработан специальный интерфейс, который разрешает любым языкам программирования, в том числе таким, как Vіsual Basіc, обращаться к методам COM-компонентов. Этот интерфейс получил название ІDіspatch.
Итак, любая программа, которая предоставляет свои возможности другим приложениям (поддерживает автоматизацию), может делать это через интерфейс ІDіspatch. Интерфейс ІDіspatch происходит от базового интерфейса модели СОМ ІUnknown, тем не менее, в отличие от других COM-интерфейсов, ІDіspatch содержит метод Іnvoke(). Его можно использовать для действительного выполнения методов, которые поддерживает COM-объект. Клиент может выполнить любой метод COM-объекта, вызвав метод Іnvoke() интерфейса ІDіspatch. Этот механизм работает при помощи диспинтерфейса (интерфейса диспетчеризации). Диспинтерфейс определяет методы, которые будут доступны благодаря использованию метода Іnvoke() интерфейса ІDіspatch.
Интерфейсы 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, реализуют наиболее общие функции работы с документами системы, системными настройками, файлами, а также дают возможность получить указатели на другие интерфейсы (интерфейсы динамического массива, работы с математическими функциями, библиотек моделей или фрагментов и различных структур параметров определенного типа).
Таблица 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.

















