Перейти к содержимому
Войти

Макросы и утилиты для CAD-систем. Расставляем точки над “i”.

27.07.2023
1129
0

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

Но что интересно, обновления CAD-систем зачастую может производить не только производитель, но и простой пользователь. Как же это возможно?

Большинство производителей CAD-систем выкладывают в открытый доступ информацию по API своих программ. API – это описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой. Информация по применению этих способов представляется в виде справки, идущей в установочном пакете, или в виде открытой онлайн страницы с описанием всей иерархии интерфейсов.

Таким образом, любой пользователь может использовать функционал CAD-системы не только с помощью мышки и набора инструментов на пользовательской панели, но и непосредственно программно, используя различные языки программирования: Python, Delphi, VBA, C++ и др.

То есть, например, надо начертить отрезок в эскизе или на чертеже? Берём интерпретатор - программу, которая выполняет код, написанный на языке программирования. Подключаем нужные модули для связи с CAD-системой. Залезаем в справочную систему с информацией по API. Находим интерфейс отрезка. Находим родительские интерфейсы. Соблюдая синтаксис языка программирования, вводим их в интерпретатор по иерархии таким образом: интерфейс приложения (CAD-системы) → интерфейс активного документа → интерфейс активного вида → интерфейс контейнера графических объектов → интерфейс отрезка. Далее присваиваем свойствам отрезка нужные значения (координаты, стиль линии). Запускаем код. И вуаля! Отрезок начерчен программным методом. https://vk.com/video_ext.php?oid=-172171969&id=456239189&hd=1

Таким образом, мы записали макрос, т.е. программный алгоритм действий.
Аналогично можно записать более сложный макрос, состоящий из набора таких действий с различными объектами (окружностями, прямоугольниками, NURBS-кривыми и т.д. для 2D-документа, элементами выдавливания, вырезами, поверхностями и т.д. для 3D-документа). В общем, всё, что мы делаем многократно руками стандартными средствами CAD-системы, на что тратим массу времени и сил, можно единожды заранее запрограммировав, повторять потом многократно простым запуском макроса.

Далее по необходимости макрос можно расширять, дополнять новыми функциями, математическими зависимостями, добавлять связь с другими приложениями (MS EXCEL, MS WORD и т.д.), связывать с другими CAD-системами. В таком случае данный макрос уже становится утилитой - вспомогательной компьютерной программой в составе общего программного обеспечения для выполнения специализированных типовых задач.

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

P.S. На сайте такие утилиты можно скачать у меня. Так же см. раздел "Макросы, скрипты, блоки".


Комментариев пока нет
Чтобы оставить комментарий, необходимо войти