多媒体#3D 建模

build123d-mcp:让智能体边建模边检查的参数化 CAD

基于 build123d 的参数化 CAD 工具箱:智能体逐步建零件,随时渲染、测量、查可打印性,最后导出 STEP、STL、DXF,适合做 3D 打印件。

项目与安装文档

查看项目

https://github.com/pzfreo/build123d-mcp

让大模型直接写 CAD 脚本,最常见的问题是“盲写”:一口气生成几十行代码,跑出来孔位错了、壁厚不对,模型自己却不知道。build123d-mcp 给智能体配了“眼睛”和“卡尺”:它在持久的 build123d 会话里一次加一个特征,每步之后可以渲染预览、测量尺寸,确认没问题再导出。截至 2026-10-06 约 100 star,知道的人不多。

能做什么

  • 分步建模:在持久会话里执行 build123d 代码,出错时查 last_error 修完再继续,会话可以存快照和回滚。
  • 看和量:渲染 PNG、SVG、DXF 预览;测量体积、面积、包围盒、拓扑和质心;识别孔、凸台、沉头孔和孔阵列。
  • 检查:可打印性检查、装配配合比较,导出前用 validate() 确认实体有效。
  • 导入导出:导入 STEP、STL 做对比,导出 STEP、STL、DXF、SVG,还能生成 2D 工程图预览;对导入件可用 edit_feature 修改简单通孔的直径。

适合谁

  • 做 3D 打印的创客,想用一句话描述出安装板、支架这类零件,再让智能体量好尺寸导出 STL。
  • 懂一点 CAD 的工程师,想让智能体按草图要求起一版参数化模型,自己再精修。
  • 用 build123d 写代码建模的人,想让编程智能体在改模型时能看到结果。

接入方式

需要 uv,支持 Python 3.11 到 3.14,不用克隆仓库。Claude Code 在项目的 .mcp.json 里加:

{
  "mcpServers": {
    "build123d-mcp": {
      "command": "uv",
      "args": ["tool", "run", "--python", "3.12", "build123d-mcp@latest"]
    }
  }
}

连上后可以让智能体调用 install_skill 装上建模、出图、修复三套工作流说明。

编辑点评

3D 类我们已经收了 MCP for Blender,那是做场景和美术;build123d-mcp 做的是有尺寸要求的机械零件,两者不重叠。它值得注意的地方在于把“建一步、看一步、量一步”做成了工具链,作者引用 CADGenBench 公开榜单的数据:同一模型用上它后得分从 0.360 提到 0.457,有效几何从 88% 到 100%。风险方面,它会用 exec() 执行 AI 生成的 Python,作者做了导入白名单和受限内置函数等防护,并写明这是本地开发工具,不适合多用户部署。项目由个人开发者 pzfreo 主导,许可证为 Apache-2.0。