Программирование CAD: практический гид для начинающих

Если вы уже работаете в CAD‑программах и хотите ускорить рутину, программирование – ваш билет в мир автоматизации. Вместо того чтобы кликать по меню каждый раз, вы сможете писать скрипты, которые делают всю работу за вас. В этой статье расскажем, с чего начинать, какие языки выбрать и какие простые приёмы уже помогут улучшить ваш процесс.

Выбор языка и среды

Большинство популярных САПР поддерживают свои встроенные API. Самый известный – AutoCAD, у него есть AutoLISP и .NET API (C#, VB.NET). Если вы работаете в SolidWorks, то стоит обратить внимание на VBA и C#. Для Fusion 360 отлично подходит Python, а FreeCAD полностью открыт и тоже использует Python.

Выбирайте язык по двум критериям: насколько он уже установлен в вашей программе и насколько он удобен для вашего уровня. Если вы только начинаете, Python – идеальный выбор: легко читается, огромная документация и множество готовых библиотек. Если же вам нужен максимум скорости и плотная интеграция, C# в AutoCAD даст доступ к полному набору функций.

Установка среды обычно проще, чем кажется. Для Python достаточно скачать Anaconda или обычный установщик, а в большинстве САПР уже есть встроенный редактор скриптов, где можно писать и тестировать код напрямую.

Полезные приёмы и примеры кода

Начнём с самого простого: создать линию в AutoCAD через AutoLISP.

(command "_LINE" (list 0 0) (list 100 0) "")

Эта строка автоматически рисует отрезок длиной 100 единиц. Смотрите, как мало кода нужно, чтобы выполнить задачу, которую обычно делают вручную.

Если вы пишете на Python для Fusion 360, аналогичный скрипт будет выглядеть так:

import adsk.core, adsk.fusion, adsk.cam

def run(context):
    ui = None
    try:
        app = adsk.core.Application.get()
        design = app.activeProduct
        sketches = design.rootComponent.sketches
        xyPlane = design.rootComponent.xYConstructionPlane
        sketch = sketches.add(xyPlane)
        sketch.sketchCurves.sketchLines.addByTwoPoints(adsk.core.Point3D.create(0,0,0), adsk.core.Point3D.create(10,0,0))
    except:
        if ui:
            ui.messageBox('Failed')

Суть та же – один скрипт, одна линия. Главное тут – понять, где искать объект модели (в данном случае плоскость XY) и как к нему обратиться.

Далее полезный приём – использовать циклы для создания повторяющихся элементов. Например, массив отверстий в детали. На Python это выглядит так:

for i in range(5):
    x = i * 20
    sketch.sketchPoints.add(adsk.core.Point3D.create(x, 0, 0))
    sketch.sketchCircles.addByCenterRadius(adsk.core.Point3D.create(x, 0, 0), 5)

Пять отверстий, каждое на 20 мм дальше. Такой подход экономит время и устраняет ошибки, связанные с ручным вводом координат.

Не забывайте проверять результат скрипта в небольшом участке модели. Если всё работает, расширяйте скрипт под свои задачи: автоматическое измерение, генерацию спецификаций, экспорт в формат STEP.

И ещё один совет: храните часто используемые функции в отдельном файле‑модуле. Так вы сможете переиспользовать код в разных проектах без дублирования.

Подытоживая, программирование в CAD – это просто возможность автоматизировать скучную работу. Выберите язык, который уже поддерживается вашей САПР, изучите базовый API и начните писать небольшие скрипты. С каждым новым кусочком кода вы почувствуете, как ускоряется ваш рабочий процесс, а проекты становятся чище и профессиональнее.

От Данила Якушев, 28 июн, 2025 / Технологии

На каком языке написан Автокад: история и технологии C++ в AutoCAD

Разбираемся, на каком языке написан Автокад, почему для AutoCAD выбрали именно C++, и как это влияет на быстродействие, стабильность и развитие программы.