每日文摘

深挖 · text-to-cad:15k star 的 CAD 技能库,让 agent 写参数化代码直通 3D 打印机

题图

如果你试过用 Fusion MCP 让 AI 客户端驱动 Fusion 360 建模,大概率体会过那种「连上了但很脆」的感觉:一次一个操作、依赖 Fusion 常驻、会话一断重放不回来。今天深挖的 text-to-cad 是另一条范式——它不让 agent 去操作 CAD 软件,而是让 agent 直接写参数化 Python 代码,本地几何内核确定性出 STEP,再用伴生 skill 一路串到切片和 3D 打印机。2026 年 4 月建仓,约 4.5 个月拿到 15,033 stars,值得认真看一眼它到底改变了什么。

是什么

text-to-cad 不是独立服务,也不是模型——它是装进 Claude Code、Codex、Grok Build 等编程 agent 的 11 个 skill 库(MIT 许可):cad(文/图生 CAD)、cad-viewer(本地浏览器预览)、step-parts(标准件 STEP 索引)、dxf(2D 图)、urdf/srdf/sdf(机器人描述文件)、sendcutsend(钣金下单预检)、dfam-check(可打印性检查)、gcode(切片)、bambu-labs(打印机对接)。智能全部来自宿主 agent 的 LLM,本地只有确定性工具链,官网的原话是 “100% open source + free, runs locally”。

作者 softservo 在 HN 自述:做了十年机器人、转软件十年后又回来,为了给 7 自由度机械臂生成 CAD 造了这个工具——机器人背景解释了为什么 skill 库里有一整套 URDF/SRDF/SDF。GitHub 官方 YouTube 频道 5 月底还把它选为 “Open source project of the week”。

核心机制:使用方式与「可控、可固定复现」从哪来

使用方式的根本变化:agent 产出的是一个纯 Python 参数化模型脚本(基于 build123d API,几何内核是 OpenCascade),直接 python model.py 就在旁边写出 STEP——这是默认主输出,STL/3MF/GLB 是可选导出。不需要任何 CAD 软件在运行。

对这个「模型脚本」,SKILL.md 定了一套强制 10 步工作流:执行 → cadgen step inspect 做几何校验(测量/对齐/拓扑)→ 渲染 PNG 快照让 agent 自己看图检查 → 有问题就改最小的一段源码重跑。注意两个设计:快照视检是强制的,确定性检查通过也不许跳(因为 validate 的 ok 只覆盖引用解析,开口壳体和反向实体都能骗过它);铁律是 “Edit source, not generated artifacts”——产物永远从源码重建,不手工修 STEP。

可控与可固定复现是机制保证,不是巧合。这是它和你现有 Fusion MCP 路线最大的分野:

诚实起见也说边界:cadgen 自己没给 build123d/cadquery-ocp 这些传递依赖钉版本,跨机器、跨内核小版本的 STEP 字节级复现没有官方承诺,要自己实测。

打印链是它最独特的部分——目前唯一把「建模 → 检查 → 切片 → 上机」做成 agent skill 链的开源方案:$cad 出 STEP/STL → $dfam-check 用 trimesh 测壁厚、悬垂角、支撑体积、水密性(只测不判,发现问题生成带目标数值的返修指令,回 $cad 改源码复测)→ $gcode 调用真实切片器 CLI(OrcaSlicer > PrusaSlicer > CuraEngine,强制先 dry-run 审命令再执行,切片后还校验 G-code 内容)→ $bambu-labs 走纯局域网 FTPS 上传 + MQTT 起印,默认 dry-run,真要开打必须 --execute --confirm-start-print 双重确认。

怎么跑起来

安装面很轻:npx skills add earthtojake/text-to-cad 把 skill symlink 进各 agent 的 skills 目录(Claude Code 在 ~/.claude/skills/,Codex 家族在 ~/.agents/skills/),然后 pip install -r requirements.txt + playwright install chromium + cadgen doctor 验证。Python ≥3.11,cadgen wheel 只有 2MB,重的是几何内核 cadquery-ocp(约 68-70MB)。无 GPU、无本地大模型需求,全链路唯一付费点是宿主 LLM 的用量——3090 机器在这里派不上用场。

对 Fusion 360 用户要建立一个新的心智模型:STEP 拖进 Fusion 得到的是哑实体——无特征树、无草图、时间轴只有一个 Import 条目(Autodesk 社区多方确认)。Fusion 侧可以用 press/pull 这类直接建模工具微调,但参数化真源在 .py 脚本里:要改尺寸,回 agent 改代码重出 STEP,而不是在 Fusion 里改。把它当「AI 参数化建模 → STEP 交接 → Fusion 微调/装配」的流水线,而不是 Fusion 的替代品。

Mac 上跑完整打印链:brew install --cask orcaslicer,在 OrcaSlicer GUI 里为你的机器导出参数,按 schema 建 wrapper profile JSON(skill 明确禁止编造打印机参数);有 Bambu 打印机的话开 LAN Only + Developer Mode,配好 IP 和 access code 即可——但注意 A1 Mini 是唯一完整验证过「局域网直接起印」的机型,P1S 走打包模式,其他机型有 profile 未启用验证。

数据说话

热度是真的:Wayback 快照逐点核实的曲线是 4/28=1,012 → 6/6=5,686 → 9/1=14,109 → 9/10=15,032,上线 6 天破千,7-8 月净增 6.7k 是最大增量;HN 主帖 186 分由作者本人提交。工程质量也实在:最近 4 周约 100 commits(约半数来自外部贡献者和机器人)、169 个测试 Python 文件、Linux+Windows CI 必过;issue 抽样关闭时间从 31 分钟到 2 天——单人维护但响应极快。

正面实测的上限是「法兰盘级多特征板类件」。知乎实测用 Codex 做了三组零件:100×60×20 校准块带 4 孔 2mm 倒角约 2 分钟完成、孔位倒角厚度全对;改倒角 2mm→3mm,agent 直接改 Python 源码参数重建,不用重画;80mm 法兰 6 孔均布于分布圆,结果正确。HN 用户用渲染反馈回路迭代出了医疗雾化器转接头,评价「incredibly powerful」但「仍需重度人工检查」。

负面也要如实说:

值不值得跟:对 Fusion 用户的工作流判断

把它放回你的工具箱里看,两条路线其实是互补而非替代:

Fusion MCP(你在用的)text-to-cad
agent 做什么远程操作运行中的 Fusion 会话(一次一操作)写自包含参数化 Python 脚本
模型真源Fusion 时间线 + .f3d可 git 的 .py + 钉版本的 cadgen
可复现性无承诺,重放依赖会话状态字节级确定性(design law + 测试)
事后编辑Fusion GUI 拖参数改特征,最强项回代码改;STEP 进 Fusion 是哑实体
打印链需另接切片/发送环节DfAM→切片→Bambu 起印全 skill 化

我的判断:3D 打印件、需要可固定复现的参数化零件,值得把这条路线用起来——模型进 git、版本钉死、任何时候 python model.py 就能重建,这正是「可控可复现」的机制性答案;改参重建比手工改 Fusion 模型快。而必须留在 Fusion 时间线里的正式设计(装配、工程图、钣金),继续走 Fusion MCP 或手工——Autodesk 官方也已把 Fusion MCP 列为官方方向,同时在押注未上市的 Neural CAD,你的 Fusion 资产不会作废。

上手建议:先在 Mac 装 skill,拿一个实际的打印小件(支架、外壳、法兰类)走通 $cad → $dfam-check → $gcode,把「多角度渲染视检」养成习惯——它是必要环节不是可选项;STEP 需要精修时再拖进 Fusion。配合公差、曲面、大装配的件,现在仍然手工建模更快。

参考阅读