- BrainTools - https://www.braintools.ru -

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

Меня всегда интересовало инженерное 3D-моделирование, но руки так и не дошли освоить его в должной степени. Зато я весьма неплохо научился работать с ИИ-агентами. Поэтому было решено перенести весь этот опыт [1] в плоскость инженерных задач. Так появился плагин, через который LLM-агент работает в КОМПАС-3D: открывает модели, строит и правит детали и сборки, оформляет чертежи. Пишете задачу в чат — агент разбирается в дереве построения, пишет код на API КОМПАС, выполняет его в открытом документе и проверяет, что получилось.

Сразу о главном: это не «кнопка сделать проект». Задачу ставит инженер, архитектуру изделия и решения принимает инженер, результат принимает инженер, ответственность тоже несет инженер. Агент забирает рутину — ту часть работы, где думать уже не надо, а кликать ещё долго.

В статье — один сквозной пример от расчёта до комплекта КД + как это устроено (без глубокого погружения), цифры на реальных задачах и честный список того, где агент пока ошибается.

Агент строит редуктор в КОМПАС-3D

Агент строит редуктор в КОМПАС-3D

Курсовая по деталям машин

Для демонстрации я взял задачу, которая часто встречается в курсовых, — одноступенчатый цилиндрический редуктор. Классическая курсовая по деталям машин: задача многим знакомая, оттого легко оценить результат. Сам я этого сделать все-равно не могу, поэтому оценку «курсача» вы скорее всего увидите где-то в комментариях)

Исходные данные — как в типовом задании: двигатель АИР112M4 (5,5 кВт, 1440 об/мин), передаточное число 4, ресурс 10 000 ч. Дальше агент прошёл весь путь:

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

    Лист "Расчёт зубчатой передачи«

    Лист “Расчёт зубчатой передачи«
  2. Сборка со скелетом. Опорные переменные (межосевое, модуль, числа зубьев, диаметры, ширины) хранятся в сборке, детали берут размеры оттуда. Агент сам проверил параметричность: временно поставил u = 5, убедился, что скелет перестроился, и откатил.

  3. Валы и колесо. Вал-шестерня z = 26 и колесо z = 105 (m = 1,5), тихоходный вал, мазеудерживающие кольца, распорная втулка. Ступени и зубья строятся приложением «Валы и механические передачи 3D» — агент пользуется штатными инструментами КОМПАС, а не рисует зубья эскизами. Подшипники 207 и 208, шпонки по ГОСТ 23360, концы валов по ГОСТ 12080.

    Валы и колесо в корпусе, крышка корпуса скрыта

    Валы и колесо в корпусе, крышка корпуса скрыта
  4. Корпус и крышка. Литой корпус с фланцами, бобышками подшипников, расточками и уклонами, крышка корпуса со сводом над колёсами.

    Редуктор в сборе

    Редуктор в сборе
  5. Крышки подшипников и манжеты. Глухие и сквозные врезные крышки под манжеты 35×58 и 40×60.

  6. Комплект КД. Рабочие чертежи всех деталей (вал-шестерня с сечением и таблицей параметров венца, колесо, корпус, крышки…), сборочный чертёж и спецификация, включая раздел «Материалы» с маслом.

    Чертёж вала-шестерни

    Чертёж вала-шестерни
    Чертёж колеса

    Чертёж колеса
    Чертёж корпуса

    Чертёж корпуса
    Сборочный чертёж

    Сборочный чертёж

Модель параметрическая: размеры деталей — от переменных сборки, а не набитые руками числа.

Что делал я. Конструктором я себя назвать не могу, поэтому выступал заказчиком: ставил задачу, проверял то, что способен проверить, а там, где моих знаний не хватало, звал на помощь проверку. Вёл проект так же, как вёл бы его с исполнителем-человеком:

— Писал ТЗ на каждый этап. Не «сделай редуктор», а исходные данные, что посчитать, уровень проработки («рабочая модель: фаски, галтели, зубья»). — Ставил контрольные точки. сначала расчеты, затем внутрянка, после всего корпус. Каждый следующий этап — только после моего «ок». — Направлял решения. После расчёта спросил, прокинуты ли результаты в параметрические переменные. Оказалось что нет — агент предложил варианты, я выбрал: уравнения в документе расчёта и опорные переменные в сборке. Упустил бы это и вся модель уже не была бы параметрической. — Ловил ошибки [2]. На чертежах увидел, что у пазов под шпонки вогнутые концы, — агент исправил их и в моделях, и на чертежах.

Это ровно та граница, о которой я писал выше: агент выполняет, человек ставит задачу и принимает решения. Валидировать такую работу должен инженер.

Поэтому оценки курсачу — в комментарии. За то, что получившийся редуктор правильный, я честно не ручаюсь: расчёты и модель внушают доверие, а вот КД даже у меня вызвала вопросы (об этом ниже). Буду рад разбору — так что не стесняйтесь.

Как это устроено

Как устроен плагин

Как устроен плагин

Связка стандартная для ИИ-агентов: MCP (Model Context Protocol) — открытый протокол, через который агент вызывает внешние инструменты. Плагин — это MCP-сервер для КОМПАС. Агентом может быть любой клиент с поддержкой MCP: Claude Code, Claude Desktop, Cursor, VS Code, Codex, Gemini CLI и другие. В примерах этой статьи — Claude.

Внутри КОМПАС работает библиотека плагина со встроенным Python — код агента выполняется прямо в процессе КОМПАС, с полным доступом к его API. Снаружи — небольшой мост, который переводит вызовы MCP в эту библиотеку. Ставится всё одним скриптом в профиль пользователя, без прав администратора.

Дальше — несколько решений, которые, по-моему, интереснее самой схемы.

Агент пишет код, а не жмёт кнопки

Первое желание при создании такого плагина — сделать инструмент на каждое действие: «добавить отверстие», «добавить сопряжение», «создать вид». Я от этого отказался. Таких инструментов никогда не хватит: у КОМПАС тысячи операций, у каждой десятки параметров, а реальная задача — всегда их комбинация.

Вместо этого агент пишет скрипт на API КОМПАС и выполняет его. Плагин даёт ему то, без чего такой скрипт не написать:

— справку по API — поиск по интерфейсам и методам, чтобы не выдумывать их; — обзор модели — дерево, переменные, сопряжения, связи деталей и чертежей, поиск по проекту; — проверку — ошибки перестроения, пересечения тел, масса как контрольное число; — кадры и разрезы — агент буквально смотрит на модель с нужного ракурса, а не гадает по числам.

Цена такого подхода — агент должен хорошо знать API. Об этом ниже, в разделе про ошибки.

Правка — этапами

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

Свой КОМПАС для агента

Агент может поднять отдельный экземпляр КОМПАС и работать в нём, не мешая человеку в его окне. Удобно, когда агент делает длинную задачу, а вы в это время продолжаете работать.

Что он умеет: цифры

Чтобы понимать, где агент реально помогает, я собрал бенчмарк. Сразу оговорюсь: бенч самопальный. 15 заданий я вывел из готовых сборок, которые идут в поставке КОМПАС: беру законченное изделие, что-то убираю или ломаю — и прошу агента восстановить, как это сделал бы инженер. Исходная сборка — эталон, проверка автоматическая (геометрия, сборка, масса, чертёж). Это не научное сравнение моделей, а инструмент, которым я улучшаю плагин.

Задания — не «кубики», а куски реальной работы: деталь по чертежу, узел в контексте сборки, доведение изменения до КД, нормоконтроль, металлокаркас.

задача

модель

балл, из 100

время

вал по рабочему чертежу

Sonnet

100

8 мин

узел вала по сборочному чертежу

Sonnet

88–94

7 мин

новый вал в контексте сборки

Sonnet

91

15 мин

достроить металлокаркас по образцу

Opus

100

5 мин

рабочий чертёж зубчатого колеса

Sonnet

82

49 мин

КМД металлокаркаса: марки, чертежи, сталь

Opus

88

32 мин

узлы металлокаркаса из типовых решений

Opus

63

44 мин

спецификация по сборке

Sonnet

50

7 мин

Картина получается такая:

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

Где агент ошибается

Чертежи даются тяжело. Агент может подобрать виды и выноски, определить, какие размеры нужны и какие допуски проставить. Проблемы начинаются, когда всё это нужно красиво расположить на листе. Агент жёстко путается в API, и в итоге на чертеже указано всё, что нужно, но оформление не читаемое.

А вот с 3D-моделированием, как видно по цифрам, всё довольно хорошо.

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

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

Нужны сильные модели. Тяжёлые задачи пока решаются только моделями уровня Opus; относительно простые вытягивает Sonnet. Ощущается, что новые поколения моделей сильно прокачались в 3D, и, думаю, скоро эта тенденция дойдет и до опенсорс моделей, что сделает моделирование через агентов реально доступным.

Все эти проблемы — временное препятствие, а не потолок. Большая часть уже в работе: каждая находка бенча превращается в правку плагина или скилла.

Итого

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

Инженера он не заменяет. Кто-то должен поставить задачу, продумать изделие, принять решения и проверить результат. Агент освобождает время как раз для этого.

Попробовать

Плагин — на GitHub: github.com/cad-lab-ai/kompas-mcp [3]. Установка — один скрипт, без прав администратора; сервер сам регистрируется в найденных клиентах MCP (Claude Code, Claude Desktop, Cursor, VS Code, Codex, Gemini CLI и другие).

Попробуйте на своей задаче — и расскажите в issues или в комментариях, где помогло, а где нет.

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

Автор: Kirill_manankov

Источник [4]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/37894

URLs in this post:

[1] опыт: http://www.braintools.ru/article/6952

[2] ошибки: http://www.braintools.ru/article/4192

[3] github.com/cad-lab-ai/kompas-mcp: https://github.com/cad-lab-ai/kompas-mcp

[4] Источник: https://habr.com/ru/articles/1102580/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1102580

www.BrainTools.ru

Rambler's Top100