Skip to content

About

Open-source MCP integration for AutoCAD: native .NET worker, drawing inspection, preview images and Codex/Claude chat adapters. Early prototype, Apache-2.0.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

CAD MCP — AutoCAD, Map 3D и Civil 3D 2025–2027

Версия 0.11.1-preview. Открытый MCP-сервер и чат для работающего AutoCAD. Новый код — Apache-2.0; лицензии заимствований и зависимостей приведены в NOTICE, docs/provenance.md и licenses/.

Изменения каждой версии и результаты проверки релизов — в CHANGELOG.md; порядок проверки — в docs/validation.md.

В 0.11.1 исправлены смешивание строк текста из разных пространств/определений блоков и с разных отметок Z, а также обновление вставок динамических блоков после text_replace. Старые составные ключи, объединяющие несвязанный текст, отклоняются без изменений DWG. Исправления проверены в AutoCAD 2025 Core Console; полный интерфейс Map 3D/Civil 3D требует отдельной проверки. Проверки релиза.

В 0.11.0 добавлены подтверждение AutoLISP пользователем, пробный прогон правок (cad_edit_preview), повседневные операции 2D (обрезка, удлинение, сопряжение, подобие, массивы, замена текста, поля, внешние ссылки), чтение палитры «Свойства» (cad_properties) и прокси-объектов (cad_proxies), перевод и подгонка текста (cad_text_units, text_translate, text_fit), скругление вершин полилинии (polyline_fillet), сводки и объёмы (cad_outline, cad_takeoff), лента изменений (cad_changes), проверки размеров, шрифтов, топологии и комплекта листов, трассы Civil 3D с кривыми, проверка вызовов Civil 3D по сигнатурам 2024–2027 и систем координат Map 3D, стенд оценки агентов. В работающем AutoCAD, Civil 3D и Map 3D эта версия ещё не проверялась. Новые возможности и как они проверены.

В 0.10.0 добавлены измеримые критерии задания, проверка всей изменённой геометрии ответа, каталог стальных сечений с радиусами, арматура с круглыми изгибами и объёмная лопасть сваи. Все помощники ограничены чтением; запись выполняет основной агент. Исправлены Redo связанных таблиц и проверка PDF при фоновой печати. Новые возможности, ограничения и проверка релиза.

Что реализовано

В 0.8.0 добавлены штатные таблицы AutoCAD: чтение, создание, правка, объединение ячеек, строки/столбцы, локальные формулы и ссылки на ячейки других таблиц через поля DWG. Добавлены размеры, оси и отметки СПДС, редактируемые рамки/основные надписи на листах A0–A4, формы ведомостей/спецификации по ГОСТ Р 21.101-2026 и проектные ведомости КЖ/КМ. Все объекты создаются через C#. Контракт, примеры и пределы нормативной проверки.

В работающий чат можно отправлять уточнения и новые вложения кнопкой «Дополнить» или Enter (Shift+Enter — новая строка). Codex получает уточнение в текущий ход, Claude — через поток сообщений в той же сессии. Видимая отметка показывает подтверждение доставки; сообщения при запуске соединения остаются в очереди. Подробности: дополнения к заданию.

В 0.7.0 добавлены измеряемые критерии результата: cad_edit проверяет реальную геометрию до commit и откатывает пакет при несоответствии; cad_verify перечитывает объекты после изменения. Панель дописывает подтверждённый результат и состояние сохранения DWG. Потерянный ответ восстанавливается по журналу операции без повторного построения; статус читается и при занятом AutoCAD. Для работы по фото добавлены калибровка по известным точкам, преобразование координат, сравнение заданных силуэтов и временные виды с кадрированием объектов. Это помогает проверять приближённую модель, но не восстанавливает скрытую 3D-геометрию автоматически. Общий контракт доступен Codex и Claude. Исправлено потоковое отображение текста и удержание позиции прокрутки. Описание и примеры.

46 MCP-инструментов и 98 видов нативных действий. Помимо обычной геометрии C# создаёт 3D-полилинии, сплайны и произвольные многоугольные сетки, объёмные примитивы, выдавливает и вращает замкнутые профили, ведёт тело по траектории, объединяет, вычитает и пересекает тела, поворачивает объекты вокруг пространственной оси. Листы и PDF/DXF тоже выполняются через C# API AutoCAD. Пакет правок выполняется в транзакции с чтением конечного результата; ошибка до commit откатывает пакет. При доступной штатной Undo-группе один Undo отменяет пакет. AutoLISP остаётся запасным путём для операций без нативного адаптера и не гарантирует атомарный откат.

cad_search читает базу DWG за пределами ограниченного снимка. Области: текущее пространство, модель, листы, всё, выделение, текущий вид; фильтры по слою, типу, тексту и WCS-границам. Вложенные блоки и загруженные xref раскрываются с путём экземпляра и преобразованием в мировые координаты. Сводка не выгружает все вершины и свойства; детали запрашиваются отдельно. Динамические блоки возвращают доступные динамические свойства, размеры — точки построения и измерение. Специальные свойства СПДС GraphiCS, Map и Civil явно отмечаются как частичные.

Каталоги, снимки и целевые поиски кэшируются по документу, ревизии и пространству. Выделение и вид перечитываются. Большие результаты сохраняются в ограниченном архиве с постраничным чтением и помечаются как исторические. Журнал изменений сохраняется на диск до запуска операции и после результата. Ограничения в 128 изменений больше нет; в памяти остаётся небольшой кэш завершённых записей. Если запись уже выполненного результата на диск не удалась, ответ сохраняет сведения о выполненном изменении и сообщает предупреждение.

Панель показывает активный DWG и использует выделение. Список найденных объектов и технические строки cad_* из окна чата убраны. HTML-диалог отображает Markdown, локальные изображения и формулы KaTeX, автоматически следует светлой/тёмной теме AutoCAD, показывает доступную краткую сводку рассуждений и понятный текущий статус. После визуальной CAD-операции панель прикладывает к ответу снимок текущего вида; если AutoCAD не ответил, сообщает, что проверка результата не состоялась. Можно сохранить весь диалог или выбранный ответ вместе с изображениями в Word. Поддерживаемые формулы сохраняются в редактируемом формате OMML, таблицы — штатными таблицами Word. Неподдерживаемая запись вызывает понятную ошибку экспорта. Доступны проверка подключения, вход и диагностика Codex, журнал ошибок, выбор модели и глубины рассуждений. Enter отправляет, Shift+Enter вставляет строку. История и настройки сохраняются. «Стоп» отменяет собственные принятые CAD-запросы на безопасной границе; выполняющийся вызов геометрического ядра сначала завершается.

В панели есть общий для Codex и Claude Code выбор числа помощников: выключены или до 2–4. Основной агент делегирует им независимое чтение, расчёты и проверку; итоговую правку выполняет и проверяет сам. Claude получает отдельного помощника cad_researcher с доступом только к операциям чтения CAD. Локальный broker принимает несколько запросов одновременно и проверяет независимые CAD-сессии параллельно. Доступ к базе одного DWG остаётся последовательным в главном потоке AutoCAD. Подробнее: помощники и параллельная работа.

Начиная с 0.3.1 файлы можно перетащить в окно чата или выбрать кнопкой. Перед отправкой они видны в списке и удаляются по одному. Небольшие текстовые файлы передаются с содержимым; PNG/JPEG/WebP/GIF идут изображением через протокол провайдера. Прочие файлы, в том числе DWG и PDF, передаются как локальные пути: агент должен иметь средство их прочитать и явно сообщить, если оно недоступно. См. вложения.

В 0.4.0 добавлены создание определений блоков из существующих объектов, листов, точек и эллипсов через C#; PDF/DXF выводит файл и возвращает его размер и SHA-256. На тестовом пустом DWG в AutoCAD 2025 эти операции прошли Core Console; PDF проверен как созданный непустой файл, но визуальную правильность листа нужно проверять отдельно. Для Civil 3D/Map 3D и СПДС чтение специальных объектов дополнено ограниченными именованными свойствами при наличии их managed-сборок; их полная геометрия и редактирование ещё требуют отдельных API-адаптеров. Схема и сравнение реализаций.

Codex 0.159.0 включён в установщик. Работа по подписке использует официальный CLI и вход своим аккаунтом. Модели загружаются из его каталога. Смена модели сохраняет диалог. Инструменты своего MCP разрешаются автоматически в процессе приложения, без изменения пользовательского .codex/config.toml. Claude Code устанавливается и авторизуется отдельно.

В 0.5.0 добавлены листы с видовыми экранами заданного масштаба, настройками печати и копированием, а также пакетный выпуск отдельных PDF с ведомостями JSON/CSV. Растры PNG/JPEG/TIFF/BMP привязываются к WCS по 3–20 опорным точкам и вставляются в DWG; проверены обычное и скошенное размещение. Снимок текущего вида получает image_id: по опорным точкам можно калибровать его пиксели и переводить их в WCS и обратно. Для Civil 3D добавлены каталоги поверхностей, трасс, профилей и сетей, выборка отметок и создание/пополнение TIN; для Map 3D — чтение системы координат, таблиц и объектных данных при доступном API. Специальные операции Civil/Map ещё не проверены в работающих вертикальных продуктах. См. геопривязку, выпуск листов и вертикальные API.

В 0.6.0 добавлены нативные C# операции для 3D-сеток, пространственных полилиний и сплайнов, сфер, конусов, клиньев, торов, выдавливания, sweep, вращения профиля, булевых операций и пространственного поворота. Эти операции проверены на тестовом DWG в AutoCAD 2025 Core Console. Для модели по фотографии агент сначала разбивает форму на измеряемые части и применяет эти операции; фотография сама по себе не задаёт точные размеры. Контракт и ограничения 3D-моделирования.

Совместимость

Продукты / годы Адаптер Интерфейс Проверка
AutoCAD, Map 3D, Civil 3D 2025 до обновлений .NET 10 API 2025, .NET 8 Палитра из ленты AutoCAD и Map 3D: нативные GUI-проверки; Civil 3D отдельно не проверен
AutoCAD, Map 3D, Civil 3D 2026 до обновлений .NET 10 Совместимый API 2025, .NET 8 Палитра из ленты Сборка; живой запуск отдельно не проверен
AutoCAD и основанные на нём продукты 2025.1.4+ Официальный AutoCAD.NET 25.0.2, .NET 10 Отдельное окно из ленты SDK собран; живой запуск обновлённого продукта не проверен
AutoCAD и основанные на нём продукты 2026.1.2+ Официальный AutoCAD.NET 25.1.1, .NET 10 Отдельное окно из ленты SDK собран; живой запуск обновлённого продукта не проверен
AutoCAD, Map 3D, Civil 3D 2027 Официальный AutoCAD.NET 26.0.0, .NET 10 Отдельное окно из ленты Сборка официального SDK; живой запуск ещё не проверен

AutoCAD LT и версии до 2025 исключены по согласованному объёму. Будущие версии после 2027 не включены автоматически. Совместимость базового DWG API не означает готовность специальных операций с сетями Civil, геоданными Map, проверкой ГОСТ/СПДС или выпуском комплектов.

Обновления AutoCAD 2025.1.4 и 2026.1.2 переводят среду с .NET 8 на .NET 10. Установщик читает acdbmgd.runtimeconfig.json каждого установленного выпуска и выбирает подходящий адаптер; после обновления Autodesk запустите установщик CAD MCP повторно. При смешении .NET 8 и .NET 10 внутри одного выпуска установщик остановится: Autodesk предупреждает о сбоях такой конфигурации. SDK-сборки Autodesk не распространяются в установщике.

Установка

  1. Закрыть AutoCAD, Map 3D, Civil 3D и Core Console. Установщик сам остановит broker, отдельное окно CAD MCP и встроенный Codex из папки дополнения; активное задание в отдельном окне прервётся. Нужный текст сохраните заранее. Установщик не закрывает пользовательские чертежи.
  2. Установить для текущего пользователя. Папка обновления: %APPDATA%/Autodesk/ApplicationPlugins/CadMcp.AutoCAD2025.bundle.
  3. Запустить поддерживаемый продукт. При запросе доверия разрешить конкретную сборку. Не нужно менять SECURELOAD глобально.
  4. Открыть «CAD MCP → Открыть чат» или CADMCPCHAT. Для Codex нажать «Войти»; Claude авторизовать через его CLI.

Внешний MCP-клиент запускает Contents/Host/CadMcp.Host.exe без аргументов. Broker стартует автоматически. Панель привязана к запустившей её CAD-сессии и передаёт агенту активный DWG; инструменты дополнительно проверяют документ и ревизию.

Данные пользователя: %LOCALAPPDATA%/CadMcp/chat, logs/panel.log, operations/, results/. После перезапуска AutoCAD создаются новые идентификаторы сессии и документа; прежний журнал служит аудитом. Неизвестный результат изменения нельзя автоматически повторять — сначала проверить чертёж.

Сборка и проверки

Windows x64; .NET SDK для net8 и отдельный SDK для net10. Ссылки на AutoCAD 2025 берутся из установленного AutoCAD или, без него, из NuGet: scripts/autocad-references.ps1 -Destination <папка>, затем scripts/build.ps1 -AutoCADDir <папка>. Lock-файлы и контрольные суммы CLI включены. Autodesk DLL используются только для компиляции.

Из корня: scripts/build.ps1, затем scripts/test.ps1 — автоматические тесты xUnit (tests/CadMcp.Tests), результаты в artifacts/test-results. Тесты запускают собранный CadMcp.Host и подставные Codex/Claude из tests/CadMcp.TestCli; AutoCAD и настоящие модели не используются. GitHub Actions (.github/workflows/ci.yml) на каждый pull request собирает все проекты, включая адаптеры и проверочные программы, с предупреждениями как ошибками и запускает тесты. Добровольные проверки с настоящими CLI: CadMcp.TestCli.exe --live-subagent-test codex|claude <cli>, --live-codex-model-test <cli>, --live-codex-approval-test <cli> из корня репозитория. Нативные проверки: собрать tests/CadMcp.CoreProbe и запустить scripts/test-autocad-core.ps1; собрать tests/CadMcp.NativeProbe и запустить scripts/test-autocad-gui.ps1 (для установленного Map 3D 2025 — -Product MAP). Core Console работает с /isolate и своим профилем; GUI-проверка создаёт собственные пустые DWG и заранее копирует зарегистрированный профиль, чтобы /p не вызывал модальный диалог. Launcher завершает только свой процесс, восстанавливает прежний выбор профиля, если тот ещё указывает на тестовый, и удаляет свой профиль. Рабочие DWG не открываются.

Для установщика сначала восстановить Host и Client для win-x64, SelfContained=true, RuntimeFrameworkVersion=8.0.31, адаптеры 2025.1.4+, 2026.1.2+ и 2027 — SDK .NET 10. Затем scripts/prepare-codex.ps1 -Destination <папка-комплекта> и scripts/build-installer.ps1 -IsccPath <Inno-Setup-6.7.3/ISCC.exe> -CodexDir <папка-комплекта> -DotNet2027 <SDK10/dotnet.exe>.

Документация: история изменений и проверки релизов, контроль результата и фото, помощники, 3D-моделирование, геопривязка, выпуск листов, вертикальные API, вложения, редактирование, чтение, модели, анализ ClaudeRevit.

About

Open-source MCP integration for AutoCAD: native .NET worker, drawing inspection, preview images and Codex/Claude chat adapters. Early prototype, Apache-2.0.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages