Максим Кидрук - КОМПАС-3D V10 на 100 %
Недостатком такого типа приложений следует считать ограниченность их функциональных возможностей. Собственно автоматизация достигается только за счет параметризации чертежей или моделей, которыми вы наполняете приложение, а сама библиотека лишь ускоряет процесс поиска и вставки нужного графического элемента в документ и обеспечивает лучшие условия для хранения типовых конструкторских элементов (не нужно искать их по всему жесткому диску, так как они хранятся упорядочено в одном файле-библиотеке).
Более широкими возможностями, по сравнению с библиотеками фрагментов, обладают библиотеки шаблонов КОМПАС-3D.
Создание библиотек шаблонов
Приложение для создания библиотек шаблонов (по своей сути также прикладная библиотека к КОМПАС-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-модели или чертежи хоть и схожи с эталоном, но имеют различия, не позволяющие использовать параметрические зависимости при построении. Например, когда какие-либо значения принимаются конструктивно или выбираются из справочников в зависимости от третьих величин. Иногда расчетные параметры модели изменяются дискретно (например, модуль зубчатых колес всегда согласовывается со стандартными значениями и не может принимать значений, отличных от приведенных в ГОСТ) или не связаны аналитически с любым другим параметром. Для определения таких параметров в библиотеку необходимо заложить достаточно сложный и гибкий алгоритм. Он может включать расчеты любой сложности, условия определения параметров, различные ограничения, связь с файлами данных и т. п. В таком случае никак не обойтись без программирования.