FreeCAD MCP связывает ИИ-клиент с моделью FreeCAD через сторонний MCP-сервер или собственный инструмент: клиент предлагает изменение параметров, FreeCAD пересчитывает документ, инженер сравнивает геометрию и утверждает результат. Для такой схемы нужна параметрическая исходная модель, ограниченный набор операций и сохранённая исходная версия. Само подключение открывает инструменты; инженерное решение остаётся за специалистом.
Границы связи
У проекта freecad-mcp от neka-nat есть два компонента: дополнение внутри FreeCAD и MCP-сервер, который запускает клиент. Это сторонний проект, официальный статус для него отсутствует.
MCP описывает вызов инструмента между клиентом и сервером. В этом сценарии клиент получает операции над документом, а дополнение передаёт команды в открытый FreeCAD. Репозиторий стороннего freecad-mcp показывает установку дополнения, запуск локального RPC-сервера и конфигурацию клиента. Его список инструментов включает чтение объектов, изменение свойств и выполнение кода Python. Для рабочей модели из этого набора выбирают операции под конкретную задачу.
Удобный предмет проверки — параметрическая деталь, где инженер заранее определил исходные размеры и зависимости. Представим фланец с отверстиями: запрос касается диаметра окружности центров отверстий при сохранении остальных ограничений. Клиент получает обозначения допустимых параметров и предлагает значение; изменение происходит в копии документа. Так понятно, какую величину проверять и какое исходное состояние брать для сравнения.
Общие принципы выдачи прав MCP уже разобраны в материале про MCP-подключения. Здесь важна специфика CAD: успешный ответ инструмента подтверждает выполнение команды, а пригодность детали подтверждается проверкой модели и инженерным утверждением. Даже убедительный вид на экране способен скрыть ошибку размера, ограничения эскиза или неверно выбранный объект.
Исходная модель
Начните с файла FreeCAD, который инженер способен открыть, пересчитать и проверить вручную. Зафиксируйте его копию и запишите имя документа, имена объектов, единицы измерения, исходные значения параметров и требования к результату. Такой перечень становится входным контрактом инструмента. Если клиент получает расплывчатую просьбу «сделай отверстия удобнее», сначала требуется инженерное уточнение: какие отверстия, какой размер, какие ограничения сохраняются.
По официальному руководству FreeCAD, параметрические объекты обновляются при пересчёте после изменения свойств. Поэтому запись свойства и готовая геометрия представляют разные этапы. Инструмент должен явно инициировать пересчёт документа, затем вернуть инженерно значимые данные. Подходящие поля для ответа: путь копии, имя объекта, записанное значение, статус пересчёта, объём или габаритный прямоугольник при наличии твёрдого тела, список обнаруженных ошибок. Состав ответа определяет инженер для конкретной модели.
| Вход | Проверка до записи | Свидетельство после пересчёта |
|---|---|---|
| Имя объекта | Объект найден в открытой копии документа | Имя изменённого объекта в журнале |
| Параметр и единица | Свойство допускает запись и размерность совпадает | Значение свойства прочитано из документа |
| Инженерный предел | Значение входит в утверждённый диапазон | Геометрия сопоставлена с исходной версией |
Диапазон берут из чертежа, технического задания или решения инженера. Языковая модель способна подсказать, какое свойство похоже на нужное, но окончательное соответствие имён и размеров фиксируется в контракте инструмента. Когда параметров много, извлечение и сравнение выполняет скрипт FreeCAD; модель помогает объяснить расхождения и выдвинуть гипотезу о причине.
Вызов инструмента
Для начала предложите локальный пилот на копии детали с заранее известным изменением. Вариант на стороннем проекте использует дополнение FreeCAD и MCP-сервер из репозитория; свой сервер может дать более узкий инструмент с типизированным входом. В обоих вариантах клиент передаёт имя разрешённого параметра и предложенное значение. В пилоте добавьте узкий слой проверки: он сверяет допустимость параметра, пределы и подтверждение записи по правилам вашей команды. Сторонний freecad-mcp предоставляет операции над FreeCAD, а проверку прав и пределов добавляет команда. Промпт лишь описывает желаемое действие.
- Откройте копию документа и сверьте дерево объектов с утверждённым перечнем параметров. Запишите контрольные значения до правки.
- Попросите ИИ-клиент сформулировать изменение одного параметра в заданных единицах. Покажите инженеру имя объекта, старое значение и новое значение.
- После инженерного подтверждения передайте команду серверу. Сервер повторно проверит допуск, запишет свойство и запустит пересчёт FreeCAD.
- Скрипт считывает значения свойств и признаки геометрии из полученного документа. Сохраните их рядом с исходными значениями и журналом вызова.
В примере neka-nat среди инструментов есть edit_object, get_object и execute_code. Последний запускает Python в контексте FreeCAD; доступ к нему открывает программные действия внутри приложения. Для ограниченного процесса разумно выставить собственный узкий инструмент перед таким вызовом либо исключить произвольный код из доступного клиенту набора. Детали типизированного инструмента описаны в статье о минимальном MCP-сервере на Python.
Какой параметр вашей модели требует согласованной правки?
Сравнение геометрии
Сравнение начинается после пересчёта и повторного чтения документа. Снимок экрана полезен как обзор формы, но численные признаки нужно получать из геометрии FreeCAD. Скрипт сопоставляет исходную и новую версии по устойчивым обозначениям объектов, значениям ключевых свойств, числу тел, габаритам и объёму там, где эти показатели уместны. Для перечня объектов используйте результат `get_objects` или данные FreeCAD API, затем формируйте отчёт о различиях. Языковая модель объясняет отчёт и предлагает, где искать причину; числовую сверку проводит код.
Один показатель легко вводит в заблуждение. Совпавший объём допускает иное расположение отверстий, а совпавший снимок скрывает сдвиг по глубине. Поэтому инженер заранее задаёт набор проверок для конкретной детали: координаты отверстий, наружные габариты, толщину стенки, отсутствие ошибок в дереве построения и сохранность требуемых ограничений. Каждую проверку оформляют как наблюдаемое условие с источником значения в модели. Порог допустимого отклонения берут из конструкторских требований. Если в задании такого порога нет, инженер определяет критерий до запуска правки и фиксирует его в контрольном листе.
Выберите копию одной параметрической детали и одно изменение размера. Сравните старое и новое значение свойства, состояние пересчёта и согласованные геометрические признаки. При расхождении сохраните обе версии для разбора инженером.
Если пересчёт сообщает ошибку либо объект исчез из ожидаемого дерева, спроектированный вами контрольный слой должен отклонить правку и оставить исходный файл доступным для восстановления. Условие отказа полезно проверить отдельно: намеренно подайте значение за утверждённым пределом в тестовой копии. Ожидаемый результат в таком пилоте — запись отклонена, журнал содержит причину, а инженер видит исходное значение. Такой тест проверяет границу инструмента без оценки убедительности ответа ИИ. Отдельно проверьте сохранение исходной версии после отказа и возможность повторного открытия файла. Журнал должен связывать попытку правки с точным именем документа и значением параметра, иначе разбор причины превратится в поиск по разным копиям.
Инженерная приёмка
Передача результата инженеру включает исходный файл, изменённую копию, формулировку задания, перечень изменённых параметров, протокол пересчёта и отчёт о геометрических различиях. Инженер открывает обе версии в FreeCAD, сверяет размеры с заданием и оценивает конструктивный смысл изменения. Затем он принимает правку, отправляет её на доработку либо возвращает исходный вариант. Статус решения записывают вместе с версией файла и именем проверяющего.
Проверка инструментом показывает согласованность заданных правил; проектные требования могут быть шире набора автоматических условий. Например, параметрическое отверстие осталось корректным телом, но его новое положение ухудшило сборку с соседней деталью. Это выявляет инженер при просмотре сопряжений и документации. Для критичной детали он добавляет необходимые испытания и расчёты по принятой процедуре команды. Инструмент может передать данные проверки через MCP, а решение о допуске принимает назначенный инженер.
Если задача перейдёт от локального пилота к постоянному процессу, обсудите отдельные роли чтения и записи, хранение версий, журнал ошибок и порядок отзыва доступа. Из статьи о тестировании ИИ-агентов возьмите логику проверки отказов и отката, а работа с CAD добавляет контроль геометрии. Внедрение ИИ-агента под инженерную задачу имеет смысл считать после описания модели, допустимых операций и процедуры приёмки. Напишите нам, и мы оценим состав работ под вашу задачу.
Стоимость такого контура зависит от состояния исходных моделей, числа разрешённых параметров, требований к проверке геометрии, инфраструктуры FreeCAD и способа подтверждения правок. Смету удобно проверять по составу инструмента, сценарию отказа и перечню результатов для инженера. Ясные границы этих работ помогают отличить доступ к редактору модели от полноценной процедуры инженерной приёмки. Для обсуждения сметы передайте пример файла и список обязательных проверок. Тогда подрядчик сможет показать границы доступа, результат работы инструмента и точку, где решение принимает инженер.