ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

让AI替你建模型:SolidCraft MCP服务器完全实战指南

让AI替你建模型:SolidCraft MCP服务器完全实战指南

【免费下载链接】solidcraft

SolidCraft: an open-source parametric 3D CAD application built in pure Rust. Desktop, web, and automation through MCP.

项目地址:https://gitcode.com/gh_mirrors/so/solidcraft
点击查看免费下载

SolidCraft 是一款用纯 Rust 编写的开源参数化 3D CAD 应用,内置的SolidCraft MCP 服务器让 AI 代理能直接驱动它建模、测量、截图并导出零件——你只需用自然语言描述需求,AI 就能一步步完成从草图到实体模型的完整流程。

为什么选择MCP服务器来建模型?

传统的 3D CAD 软件操作门槛高:草图、约束、特征、参数……每一步都要人手工完成。而 SolidCraft 的 MCP 服务器基于Model Context Protocol(JSON-RPC 2.0 over stdio),让 AI 代理「像人一样建模」——它执行的每一条命令,都与你用工具栏、命令面板操作时完全相同,且永远不会弹出对话框。

这意味着:

  • 🤖自然语言驱动:告诉 AI「建一个 80×60×30 的圆角盒壳,侧面开一个 USB 口」,它自动拆解为建模命令
  • 📐完全参数化:改一个参数,时间轴自动重建整个模型
  • 📸AI 自带眼睛:screenshot工具让 AI 直接「看到」模型效果,自我校验
  • 📦可导出交付:最终产物可导出为 STEP、3MF、STL 等格式

一键启动步骤:三种运行模式

SolidCraft 的 MCP 服务器由命令行工具solidcraft-cli提供,一条命令即可启动:

# 无头模式:进程内设计会话,不打开窗口(截图由CPU渲染) solidcraft-cli mcp # 无头模式,从已有设计文件或命令脚本开始 solidcraft-cli mcp --in part.solidcraft # 桥接模式:连接正在运行的桌面应用,你可以实时"看"AI建模 solidcraft --control 7878 & solidcraft-cli mcp --connect 127.0.0.1:7878
模式命令适用场景
无头(Headless)solidcraft-cli mcp服务器/CI 环境,批量建模
无头+文件--in part.solidcraft在已有零件上继续加工
桥接(Bridged)--connect 127.0.0.1:7878桌面端观看 AI 建模全过程

💡 无头模式下 stdout 只传输协议消息,错误信息走 stderr;桥接模式要求服务器和应用运行在同一台机器上。

命令行入口定义在 apps/solidcraft-cli/src/main.rs。

最快接入AI客户端:5分钟配置方法

以 Claude Code 为例,一条命令完成注册:

claude mcp add solidcraft -- solidcraft-cli mcp

或写入项目配置.mcp.json:

{ "mcpServers": { "solidcraft": { "command": "solidcraft-cli", "args": ["mcp"] } } }

Claude Desktop 使用claude_desktop_config.json,桥接桌面应用时把参数改为["mcp", "--connect", "127.0.0.1:7878"]即可。配置完成后,AI 客户端会自动发现 SolidCraft 提供的全部工具和资源(solidcraft://design返回当前设计状态,solidcraft://commands返回完整命令目录)。

AI能做什么:15个核心工具清单

SolidCraft 将 CAD 引擎能力封装为一组 MCP 工具(实现见 crates/mcp/src/tools.rs),覆盖建模全流程:

工具作用
list_commands查询命令目录:id、参数文档、快捷键、当前是否可用
execute执行单条命令(草图、拉伸、圆角、孔、阵列……),失败不影响设计
batch按顺序批量执行,出错自动回滚已完成步骤,结果要么全成功要么全回滚
inspect_design检查参数、时间轴、实体、草图状态与选中项
measure测量体积、表面积、质心、包围盒
body_topology查看实体的边与面,供圆角/倒角选取
set_parameter创建或修改用户参数并触发重建
screenshot按指定视角渲染 PNG,AI 用它"看图"自检
export导出 STEP / 3MF / STL / OBJ
undo/redo撤销 / 重做一步
open打开.solidcraft、STEP、3MF/STL 文件
save/new_design保存 / 新建设计
crash_reports查看本机崩溃报告

其中batch是最强大的工具:单次最多可含10000 步命令,AI 可以在一次调用里完成「草图→约束→标注→拉伸→圆角」的完整建件流程,任何一步出错都会精确回滚到起点,并指明失败步的错误信息。

实战演示:AI一步步搭建电子设备外壳

仓库自带一个完整演示脚本 examples/demo/enclosure_mcp.py,它作为 MCP 客户端驱动运行中的应用,按 examples/demo/enclosure_steps.json 逐条执行命令,搭建一个电子设备外壳:

  1. 定义参数:width80mm、depth60mm、height30mm、wall2mm
  2. 草图与约束:在 XY 平面画矩形,绑定尺寸约束
  3. 拉伸成体:按height参数拉伸,命名为 Enclosure
  4. 圆角与抽壳:四条竖边倒 6mm 圆角,顶面开放抽壳至wall厚
  5. 开 USB 口:在侧面建草图,through_all拉伸切割穿墙
  6. 四个螺柱:plastic.boss在四角添加带孔螺柱
  7. 参数化验证:把width从 80 改为 100mm——时间轴自动重建,所有特征随之更新

更震撼的案例是开源项目SELENE:一台科学漫游车完全通过 SolidCraft MCP 服务器构建,包含车体、车轮、电子舱、采样臂、太阳能翼等部件,共3,323 步可编辑时间轴,全部无错误重建:

桥接模式:看着AI实时建模

桥接模式下,AI 的每个动作都会实时反映在桌面应用里——截图取自应用窗口,相机移动、时间轴增长都清晰可见:

一次典型会话长什么样?

AI 客户端与服务器之间是标准 JSON-RPC 2.0 通信(每行一条消息)。一次简化会话大致如下:

→ {"id":2,"method":"tools/call","params":{"name":"batch","arguments":{"commands":[ {"command":"sketch.create","params":{"plane":"XY"}}, {"command":"sketch.rectangle.two_point","params":{"p0":[0,0],"p1":[40,30]}}, {"command":"sketch.finish","params":{}}, {"command":"solid.extrude","params":{"distance":20}}, {"command":"solid.fillet","params":{"edges":[[0,0,10]],"radius":3}}]}}} ← {"id":2,"result":{"content":[{"type":"text","text":"{\"ok\": true, \"completed\": 5, ...}"}]}}

引擎级失败(参数错误、特征失败)会返回isError: true并附带可读错误信息,AI 可以自行理解并修正;协议级错误(未知工具、参数不匹配)则返回 JSON-RPC 的-32602错误码。长会话中可将verbose设为false获得紧凑回复,节省上下文。

更多细节、完整工具参数表和客户端配置示例,请参阅官方文档 docs/mcp.md;服务端实现位于 crates/mcp/,端到端会话测试见 crates/mcp/src/tests.rs。

常见问题速查

问题说明
命令执行失败,模型没变?正常机制:失败的execute不会污染设计,直接根据错误信息修正参数重试
batch报错后模型乱了?不会。默认rollback: true,失败步骤前的所有操作已精确回滚
截图特别慢?无头模式为 CPU 渲染;大场景可调小width/height
如何复用已有零件?启动时--in part.solidcraft,或用open工具打开 STEP/3MF/STL
想批量处理文件?无头模式 +batch(最多 10000 步),配合export输出交付格式

小结

SolidCraft MCP 服务器把「纯 Rust 参数化 CAD」变成了 AI 可直接操作的建模引擎:三种启动模式覆盖无头服务器到桌面实时协作的全部场景,15 个工具覆盖从草图到导出的完整链路,batch回滚机制让 AI 大胆试错。无论是快速出结构概念、批量生成变体,还是像 SELENE 那样构建复杂整机,让 AI 替你建模型,从今天的一条solidcraft-cli mcp命令开始。

【免费下载链接】solidcraft

SolidCraft: an open-source parametric 3D CAD application built in pure Rust. Desktop, web, and automation through MCP.

项目地址:https://gitcode.com/gh_mirrors/so/solidcraft
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进