MCP (КОМПАС-3D + LLM): превращаем САПР в среду для AI-агентов с помощью Python и COM API. DIY или Сделай сам.. DIY или Сделай сам. llm.. DIY или Сделай сам. llm. mcp.. DIY или Сделай сам. llm. mcp. model context protocol.. DIY или Сделай сам. llm. mcp. model context protocol. python.. DIY или Сделай сам. llm. mcp. model context protocol. python. автоматизация.. DIY или Сделай сам. llm. mcp. model context protocol. python. автоматизация. искусственный интеллект.. DIY или Сделай сам. llm. mcp. model context protocol. python. автоматизация. искусственный интеллект. КОМПАС-3D.. DIY или Сделай сам. llm. mcp. model context protocol. python. автоматизация. искусственный интеллект. КОМПАС-3D. нейросети.. DIY или Сделай сам. llm. mcp. model context protocol. python. автоматизация. искусственный интеллект. КОМПАС-3D. нейросети. Программирование.. DIY или Сделай сам. llm. mcp. model context protocol. python. автоматизация. искусственный интеллект. КОМПАС-3D. нейросети. Программирование. Проектирование API.. DIY или Сделай сам. llm. mcp. model context protocol. python. автоматизация. искусственный интеллект. КОМПАС-3D. нейросети. Программирование. Проектирование API. Промышленное программирование.. DIY или Сделай сам. llm. mcp. model context protocol. python. автоматизация. искусственный интеллект. КОМПАС-3D. нейросети. Программирование. Проектирование 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-BFE
Untitled

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

Если КОМПАС не запущен, 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-ассистенту: “Нарисуй прямоугольник 100×50 со скруглёнными углами радиусом 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, который группирует несколько операций в один вызов.

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

Также связаться со мной можно по почте: grandfatherofny1984@gmail.com

Автор: lya_ocean

Источник

Rambler's Top100