Есть рутина, которую вы мечтаете автоматизировать? Или идеи, чего не хватает в повседневной работе? Напишите в комментариях или мне на почту (она в конце постаЕсть рутина, которую вы мечтаете автоматизировать? Или идеи, чего не хватает в повседневной работе? Напишите в комментариях или мне на почту (она в конце поста

MCP (КОМПАС-3D + LLM): превращаем САПР в среду для AI-агентов с помощью Python и COM API

7-D719200-9-AED-4-B6-E-92-F7-232-AC24-F0-BFE

Есть рутина, которую вы мечтаете автоматизировать? Или идеи, чего не хватает в повседневной работе? Напишите в комментариях или мне на почту (она в конце поста). Буду рад любым предложениям: что добавить, что упростить, а что вообще переделать.

Нейросети научились писать код, но до недавнего времени оставались беспомощными в реальном мире софта. Протокол MCP (Model Context Protocol) убрал эту стену, дав моделям прямой доступ к инструментам. И если для веба коннекторы появились сразу, то инженерный софт незаслуженно забыли. Я решил это исправить и дал нейросети прямой доступ к API КОМПАС-3D.

Что умеет сервер

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

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

Отдельный инструмент execute_python_script позволяет выполнять произвольный Python-код прямо в контексте КОМПАС. В глобальную область видимости скрипта инжектируются готовые объекты: kompas (корневой KompasObject API5), app7 (IApplication API7), doc2d (активный документ), tools (доступ ко всем зарегистрированным инструментам как к обычным функциям). Есть высокоуровневые обёртки: ln(x1, y1, x2, y2) для быстрого рисования линии, circle(x, y, r) для окружности, rect(x, y, w, h) для прямоугольника. Можно писать сложные скрипты, не выходя из диалога с моделью.

7-D719200-9-AED-4-B6-E-92-F7-232-AC24-F0-BFEUntitled

Подключение к КОМПАС

Если КОМПАС не запущен, COM-механизм попытается запустить его. Если не получится, вернёт ошибку. При выполнении команд сервер проверяет наличие активного 2D-документа.

Конфигурация

Пример конфигурации для Claude Code, Roo Code в файле mcp.json:

{ "mcpServers": { "kompas-3d": { "command": "python", "args": ["C:/Path/To/MCP-KOMPAS-3D/main.py"], "env": { "SERVER__LOG_LEVEL": "DEBUG" } } } }

Пример конфигурации для Codex в файле config.toml:

[mcp_servers.kompas-3d] command = "python" args = ["C:/Path/To/MCP-KOMPAS-3D/main.py"] # указывайте ваш путь в args

Как это работает в реальной сессии

Пользователь пишет AI-ассистенту: "Нарисуй прямоугольник 100x50 со скруглёнными углами радиусом 5". Модель разбивает задачу на шаги: создать прямоугольник, затем применить скругление к каждому углу. Для каждого шага она вызывает соответствующий инструмент через MCP.

Запрос create_rectangle с параметрами x1=0, y1=0, x2=100, y2=50 попадает на сервер. Обработчик находит зарегистрированный RectangleTool, формирует замыкание, передаёт его в ComWorker. Рабочий поток вызывает ksRectangle через API5. Результат (reference созданного объекта) возвращается модели. Она использует его для следующего вызова create_fillet с радиусом 5.

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

Untitled

Ограничения и открытые вопросы

Сервер работает только с 2D-документами: чертежами и фрагментами.

Некоторые операции через API ведут себя нестабильно. Создание видов и слоёв через API7 иногда отказывается работать, приходится использовать API5.

Производительность зависит от сложности документа. На чертеже с тысячами объектов итерация по геометрии занимает секунды. Для критичных сценариев есть batch_execute, который группирует несколько операций в один вызов.

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

Также связаться со мной можно по почте: [email protected]

Источник

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно