2 - 2006

Конструкторские библиотеки и инструменты для их создания в системе КОМПАС-3D

Часть 2. Сделай сам, или Как создать свою библиотеку для КОМПАС-3D

Максим Кидрук

Создание библиотек фрагментов и моделей

Создание библиотек шаблонов

Создание пользовательских библиотек с помощью КОМПАС-Макро

КОМПАС-Мастер

Заключение

В предыдущей статье мы рассказали о значении прикладных библиотек в развитии современных систем моделирования. В частности, читатели узнали о возможностях конструкторских библиотек системы КОМПАС-3D и могли оценить, в какой мере использование таких приложений облегчает повседневную работу инженера.
В настоящей статье в общих чертах рассматривается, с чего начать создание собственных библиотек, чтобы сделать конструкторские решения более точными, а проектирование более быстрым, легким и удобным.

Как уже отмечалось, ни один набор библиотек к графической системе не может охватить всё множество различных направлений и отраслей промышленности и в полной мере удовлетворить требования всех категорий пользователей. Спектр задач конструкторско-технологической подготовки производства стал настолько широким, что решение некоторых из них как стандартными, так и прикладными средствами, предоставленными компанией — разработчиком ПО, может отнимать слишком много времени и быть нерациональным, а в редких случаях даже невозможным.

Огромный перечень областей применения САПР — первая причина, по которой любая из современных CAD-систем должна быть максимально открытой и обязательно содержать инструменты для создания пакета пользовательских библиотек. Второй причиной является ориентация на заказчика. Если, например, подавляющее большинство предприятий, использующих ту или иную систему, работают в машиностроении, а единицы — в области производства медицинского оборудования, то разработчики прикладных библиотек вынуждены подстраиваться под первую категорию. Но для заказчиков КОМПАС никаких проблем не возникнет — они  могут создать библиотеки самостоятельно.

Перечислим основные способы создания библиотек:

•  создание библиотеки фрагментов (эскизов) или моделей на основе базовых возможностей системы КОМПАС-3D;

•  создание библиотеки шаблонов с помощью Менеджера шаблонов;

•  использование специальной макросреды КОМПАС-Макро для подготовки пользовательского приложения;

•  применение инструментальных средств КОМПАС-Мастер, то есть собственно написание (программирование) библиотек.

Какой из этих вариантов выбрать? Всё зависит от поставленных целей и от вашего представления о будущей библиотеке: какой она должна быть, что будет делать (создавать, редактировать, выполнять какие-либо другие действия), насколько мощными и гибкими должны быть ее функции. Большое значение имеет и уровень вашей подготовки как разработчика. Простые библиотеки не требуют почти никаких специальных знаний, но и возможностей предоставляют немного. Создание более сложных модулей невозможно без некоторых навыков и опыта (иногда из совсем другой предметной области, в частности из программирования), при этом чем сложнее проектируемая библиотека, тем более глубокие знания необходимы. Под сложностью библиотеки здесь следует понимать уровень автоматизации тех конструкторских решений, которые будут реализованы в создаваемом приложении. Но не стоит думать, что наиболее автоматизированная библиотека всегда является лучшим решением. Чересчур автоматизированные приложения не оставляют места инициативе и не дают возможности варьировать решения.

Создание библиотек фрагментов и моделей

Для создания библиотек этого типа вам не потребуется никаких специальных навыков, кроме умения работать в КОМПАС-График или в КОМПАС-3D. С помощью таких библиотек каждый проектировщик может систематизировать свой набор наиболее часто используемых элементов, чтобы облегчить доступ к ним при разработке новых чертежей или моделей.

Создать свою библиотеку фрагментов совсем несложно. Для этого в окне Менеджера библиотек нужно воспользоваться командой контекстного меню Добавить описание > Библиотеки документов. В появившемся диалоговом окне открытия библиотеки следует выбрать тип файла: КОМПАС-Библиотеки фрагментов (*.lfr), если вы создаете хранилище для чертежей или эскизов, или КОМПАС-Библиотеки моделей (*.l3d) — для наполнения будущей библиотеки 3D-моделями. В итоге в окне Менеджера библиотек должна появиться ваша библиотека, пока еще пустая. После запуска к ней можно добавлять фрагменты и модели с помощью команд контекстного меню.

Главное преимущество библиотек фрагментов — простота их создания и применения. Большим плюсом таких приложений является также то, что при появлении новых версий КОМПАС не нужно подгонять или изменять их структуру под только что выпущенный релиз. Достаточно загрузить старый файл библиотеки в Менеджер библиотек, и можете не сомневаться — всё будет работать.

Недостатком подобных библиотек является ограниченность их функциональных возможностей. Автоматизация таких библиотек достигается только за счет параметризации объектов, которыми вы наполняете приложение, а библиотека лишь ускоряет процесс поиска и вставки нужного графического элемента в документ и обеспечивает лучшие условия для их хранения (не в отдельных файлах, раскиданных по жесткому диску, а упорядоченно, в едином файле-библиотеке).

Более широкими возможностями, по сравнению с библиотеками фрагментов, обладают библиотеки шаблонов КОМПАС-3D.

Создание библиотеки моделей

Создание библиотеки моделей

Пример пользовательской библиотеки, содержащей модели шпонок, и ее применение

Пример пользовательской библиотеки, содержащей модели шпонок, и ее применение

Пример пользовательской библиотеки шаблонов для создания трехмерной модели гайки

Пример пользовательской библиотеки шаблонов для создания трехмерной модели гайки

В начало В начало

Создание библиотек шаблонов

Библиотека шаблонов — это прикладная библиотека, состоящая из базового параметризованного чертежа или трехмерной модели, таблицы переменных, набранной в соответствии с некоторыми правилами в табличном редакторе MS Excel, и схемы — документа КОМПАС-3D или рисунка, содержащего имена переменных. Библиотека представляет собой файл с расширением *.tlm, с помощью которого переменным параметризованного фрагмента или детали ставятся в соответствие значения, набранные в Excel-таблице. Для создания библиотек шаблонов предназначено специальное приложение под названием Менеджер шаблонов.

Разработку шаблона следует начинать с создания его прототипа (фрагмента или детали), пользуясь стандартными средствами КОМПАС-График или КОМПАС-3D. Затем необходимо параметризовать вычерченный фрагмент или эскизы модели и назначить внешними все переменные, которые вы планируете вводить (набирать) в таблице Excel. Следующим шагом является создание таблицы значений. Такая таблица формируется в редакторе Excel и включает названия внешних параметризованных переменных,  флаги видимости колонок значений в Менеджере шаблонов, конкретные значения или их интервал для каждой переменной и др. Детально с правилами заполнения таблиц к шаблонам вы можете ознакомиться в файле-справке и примерах, поставляемых вместе с библиотекой шаблонов. Формирование еще одной составной части шаблона — схемы параметров — не вызовет особых затруднений. Схемой может быть любой графический файл системы КОМПАС-3D или файл-рисунок в формате *.bmp, *.gif или *.jpg.

Когда все три рассмотренных выше компонента подготовлены, их нужно собрать в единое приложение. Для этого, пользуясь командой Новая библиотека, следует указать название будущей библиотеки и папку, где она будет размещена. Далее необходимо оформить внутреннюю древовидную структуру библиотеки, то есть разделы и подразделы, в которых будут находиться подготовленные вами шаблоны.

Завершающий этап подготовки библиотеки — это наполнение разделов соответствующими шаблонами, для чего следует воспользоваться командой Создать шаблон. После ее вызова появится небольшое окошко, в котором для каждого шаблона нужно ввести имя, указать файл с параметризованным фрагментом или моделью, файл таблицы параметров Excel и заставку (необязательно). По завершении всех этих действий библиотека шаблонов полностью готова к работе. Можно загружать определенный шаблон, вводить значения переменных и вставлять готовую деталь или фрагмент в документ.

Каковы же существенные отличия библиотек шаблонов от библиотек фрагментов? Прежде всего это возможность вставки в документ не всего фрагмента, а отдельных его слоев, а также наличие ряда дискретных значений для переменной, что исключает ввод или выбор пользователем ошибочных значений. Кроме того, переменные шаблонов могут быть различных типов, в том числе логических и строковых, а в размерных надписях фрагмента-заготовки несложно резервировать переменные для текстовых подстановок (они должны выделяться с обеих сторон знаком #). Главным же преимуществом библиотек шаблонов является то, что при использовании шаблона не приходится изменять вручную параметризованные переменные, как это делалось бы при вставке фрагмента или модели из библиотеки фрагментов. При вставке объекта в активный документ Менеджер шаблонов сам позаботится о том, чтобы подставить нужные значения из выбранного пользователем ряда.

Безусловно, на разработку шаблонов уходит больше времени и при этом одних только навыков работы с КОМПАС уже будет недостаточно — придется изучить принципы работы Менеджера библиотек. Зато применение шаблонов дает возможность достаточно гибко автоматизировать создание типовых элементов и вместе с тем не запрещает динамично управлять процессом формирования библиотечного элемента.

Создание прикладных библиотек с помощью API

Создание прикладных библиотек с помощью API

Муфты, сгенерированные с помощью приложения, разработанного в среде КОМПАС-Мастер

Муфты, сгенерированные с помощью приложения, разработанного в среде КОМПАС-Мастер

В начало В начало

Создание пользовательских библиотек с помощью КОМПАС-Макро

КОМПАС-Макро — это интегрированная в систему КОМПАС-3D среда разработки конструкторских приложений на основе языка программирования Python. Почему за основу выбран именно Python? Во-первых, Python распространяется бесплатно и, как следствие, не налагает никаких ограничений на использование и распространение написанных на нем программ. Во-вторых, сегодня Python — один из самых простых и понятных языков программирования, однако при всей своей простоте он мало в чем уступает таким «китам» объектно-ориентированного программирования, как C++ и Object Pascal (Delphi).

По своей сути КОМПАС-Макро является обычной библиотекой, подключаемой к КОМПАС, только с большими возможностями. При создании приложений в КОМПАС-Макро можно пользоваться как функциями КОМПАС-Мастер (о них мы еще расскажем), так и специальными функциями макросреды, облегчающими разработку прикладных библиотек. Среди специальных функций КОМПАС-Макро следует отметить функции простановки угловых, линейных и радиальных размеров, функцию вставки в документ фрагмента, рисования линии-выноски и пр. Синтаксис перечисленных методов значительно проще их аналогов, реализованных в КОМПАС-Мастер (к примеру, вместо вызова одной-единственной функции создания линейного размера в КОМПАС-Макро при работе с API-функциями среды КОМПАС-Мастер приходится объявлять и инициализировать целых три интерфейса).

Если же вы не понаслышке знакомы с основами объектно-ориентированного программирования и у вас есть желание разрабатывать самые мощные библиотеки на базе КОМПАС-3D, то использовать вы можете КОМПАС-Мастер.

Среда разработки прикладных библиотек к КОМПАС-3D

Среда разработки прикладных библиотек к КОМПАС-3D

В начало В начало

КОМПАС-Мастер

КОМПАС-Мастер… Согласитесь, звучит несколько загадочно. Навевает мысли об утилите наподобие Мастера записи компакт-дисков в Windows. Но оказывается, все намного серьезнее.

КОМПАС-Мастер — это очень мощные инструментальные средства разработки приложений (библиотек) неограниченной сложности, функционирующих в среде КОМПАС-3D. С помощью КОМПАС-Мастер прикладной программист получает доступ ко всем без исключения функциям системы. То есть абсолютно всё, что пользователь может делать вручную, — будь то создание или редактирование графического документа, открытие и закрытие файлов, работа со спецификациями, создание таблиц, оформление чертежей, сохранение файлов в различных форматах, вставка рисунков и т.д. и т.п. — все это может быть автоматизировано с использованием КОМПАС-Мастер.

Доступ к внутренним функциям КОМПАС-График и КОМПАС-3D обеспечивается двумя путями:

•  через экспортные функции, оформленные в виде dll-модулей, которые разработчик подключает к своей программе, — при создании плоских чертежей; через использование СОМ-объектов — при программном формировании твердотельных моделей;

•  с помощью технологии Automation (Автоматизации), реализованной через API (Application Programming Interface — программный интерфейс приложения) системы КОМПАС. Управление и взаимодействие с системой при этом оформлено через интерфейсы IDispatch.

Использование интерфейсов IDispatch возможно в любой из наиболее распространенных сегодня сред программирования (Visual C++, Delphi, C++Builder, Visual Basic). Интеграция с такими мощными программными пакетами позволяет, помимо применения графического инструментария КОМПАС, использовать в создаваемых модулях все преимущества современного объектно-ориентированного программирования.

На последнем рисунке изображены трехмерные сборки четырех различных типов муфт (зубчатой, упругой втулочно-пальцевой, торообразной с резиновой оболочкой и продольно-свертной), в которых на первый взгляд нет ничего необычного. Ничего, за исключением того, что все эти муфты полностью сгенерированы программно — при помощи конструкторской библиотеки, разработанной в среде КОМПАС-Мастер. Их создание заключалось только в выборе пользователем диаметра соединяемых валов и нажатии кнопки «Строить». Все остальные операции спрятаны внутри программы.

Но за всю эту мощь КОМПАС-Мастер приходится расплачиваться. В отличие от библиотек фрагментов или шаблонов, в этом случае вам не обойтись знанием только КОМПАСа. Для программирования библиотек нужно уметь четко формулировать задачу:  что будет решаться с помощью создаваемого приложения, представлять себе все возможные пути ее решения (для составления правильного алгоритма), а также освоить приемы работы с одной из вышеназванных сред программирования, для того чтобы все грамотно запрограммировать. Разработчик прикладных САПР должен быть одновременно и инженером, и программистом, обладая при этом немалым терпением. Нужно быть готовым потратить время и нервы на нелегкую отладку программ. Даже если вы профессионал высокого класса, ошибки не исключены, а их поиск и устранение могут быть не менее долгими и утомительными, чем процесс написания библиотеки.

Зато, преодолев все эти трудности, вы получите удобное и гибкое приложение, обладающее функциональностью и интерфейсом, которые полностью удовлетворяют вашим требованиям. Программу можно заставить «думать» — самостоятельно выбирать, анализировать и обрабатывать необходимые данные, производить определенные действия в зависимости от прочитанных значений, делать сложные расчеты и выводы по их результатам и пр. И всё это для того, чтобы максимально облегчить работу инженера, избавить его от выполнения рутинных операций.

В начало В начало

Заключение

Мы закончили рассказ о  наборе разнообразных приложений к системе КОМПАС-3D. Главная цель этого обзора — показать значение прикладных библиотек для улучшения качества и ускорения проектирования в целом и с использованием КОМПАС-3D в частности. Учитывая, что стандартные библиотеки не всегда могут удовлетворить всех пользователей, в статьях были рассмотрены различные способы создания конструктором собственных приложений — от простых утилит до сложных модулей, обладающих мощной функциональностью.

Наверняка  искушенные пользователи КОМПАС-3D знают и активно применяют эти возможности. Данный  материал поможет систематизировать их знания о системе и ее приложениях. Полезной окажется данная статья и для молодых специалистов конструкторско-технологических отделов, которые зачастую являются экспертами при выборе и внедрении САПР. Надеемся, вышеизложенная информация будет учтена при принятии важных решений и генерации новых идей и в конечном счете будет способствовать повышению качества проектируемой продукции.

В начало В начало

САПР и графика 2`2006