При создании приложений в КОМПАС-Макро можно пользоваться как функциями КОМПАС-Мастер (о них будет рассказано ниже), так и специальными функциями макросреды, облегчающими разработку прикладных библиотек. Среди специальных функций КОМПАС-Макро следует отметить возможности простановки угловых, линейных и радиальных размеров, функцию вставки в документ фрагмента, рисования линии-выноски и пр. Синтаксис перечисленных методов значительно проще их аналогов, реализованных в КОМПАС-Мастер (например, вместо вызова одной функции создания линейного размера, при работе с API-функциями в КОМПАС-Мастер приходится объявлять и инициализировать три интерфейса).
Чтобы использовать библиотеку КОМПАС-Макро, нужно обладать знаниями лексики и приемов работы с языком Python.
Если же вы не понаслышке знакомы с основами объектно-ориентированного программирования и у вас есть желание разрабатывать настоящие библиотеки на базе КОМПАС-3D, то для вас есть один путь – использование инструментальных средств разработки прикладных библиотек КОМПАС-Мастер.
КОМПАС-Мастер
Во многих случаях одних средств параметризации для автоматизации тех или иных действий в процессе проектирования недостаточно, и новые проектируемые 3D-модели или чертежи хоть и схожи с эталоном, но имеют различия, не позволяющие использовать параметрические зависимости при построении. Например, когда какие-либо значения принимаются конструктивно или выбираются из справочников в зависимости от третьих величин. Иногда расчетные параметры модели изменяются дискретно (например, модуль зубчатых колес всегда согласовывается со стандартными значениями и не может принимать значений, отличных от приведенных в ГОСТ) или не связаны аналитически с любым другим параметром. Для определения таких параметров в библиотеку необходимо заложить достаточно сложный и гибкий алгоритм. Он может включать расчеты любой сложности, условия определения параметров, различные ограничения, связь с файлами данных и т. п. В таком случае никак не обойтись без программирования.
Для этой цели программный пакет КОМПАС-3D располагает очень мощными инструментальными средствами разработки дополнительных модулей (прикладных 500 библиотек) – КОМПАС-Мастер, которые позволяют использовать всю силу современного объектно-ориентированного программирования совместно с функциями КОМПАС для создания очень гибких и функциональных приложений. Хорошо владея одним из языков программирования и основами трехмерного моделирования в КОМПАС-3D, можно научиться самостоятельно разрабатывать различные по структуре программные модули для решения узко-профильных задач конструирования. Такие приложения смогут производить сложные вычисления, самостоятельно выбирать необходимые параметры из баз данных, обмениваться данными с внешними приложениями и, в конце концов, построить 3D-модель или чертеж неограниченной сложности с учетом всех параметров (вспомните хотя бы Редуктор3D, описанный в гл. 5).
Выбор того, что применять (параметризацию или программирование), зависит от поставленных перед вами задач. Если вам необходим просто набор надежно хранимых и удобных в использовании параметрических элементов, а главное – если с созданием самих этих элементов нет никаких проблем, конечно, лучше прибегнуть к параметризации и создавать простые библиотеки типовых элементов. Однако если вы планируете вводить в проектируемый модуль сложные аналитические расчеты, предполагаете, что модуль будет принимать решения вместо проектировщика, взаимодействовать с внешними приложениями, считывать или сохранять данные, то этот модуль должен быть полноценной программой. Другими словами, к средствам программирования следует прибегать лишь тогда, когда вам необходимо создавать мини-САПР.
Конечно, практика разработки подключаемых модулей на языках Delphi, C++ и др. далеко не нова. Очень много известных приложений трехмерной графики формируют свою архитектуру открытой, предоставляя пользователям возможность расширять функциональность программ. Такими приложениями являются AutoCAD, Adobe Photoshop, 3ds Max (некоторые плагины для 3ds Max значительно расширяют функционал программы) и др. В этом разделе будет рассказано о создании пользовательских приложений на базе КОМПАС-3D в одной из самых популярных на сегодня сред программирования – Borland Delphi 7.