库 / SDK
earthtojake/text-to-cad avatar
earthtojake/text-to-cad

text-to-cad:把自然语言变成 STEP 文件与机器人描述文件的技能包

CAD、机器人和硬件设计的代理技能集合。

15,875 个 Star1,650 个 ForkJavaScriptMIT

秒懂

它是什么?
text-to-cad 是一组面向 CAD、CAE 与 CAM 的 agent 技能库,覆盖从建模、切片到打印上传的完整链路。它把零散的 CLI 工具封装成 agent 可调用的技能,但安装方式和分支策略需要你留意。
适合谁用?
text-to-cad 适合已经在用 Codex、Claude Code 或 Grok Build 的工程师,尤其是那些需要把自然语言描述转成 STEP 模型或机器人描述文件的团队。它把 CAD 建模、切片、打印上传这些原本分散的工具链收拢成 agent 可直接调用的技能,省去来回切换的麻烦。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库在最近一天内有新的提交。
用什么语言写的?
主要是 JavaScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决的不是建模问题,而是工具链的碎片化问题

它解决的不是建模问题,而是工具链的碎片化问题。CAD 建模本身已有成熟工具,但让 agent 从自然语言生成模型、再导出 STEP、再切片成 G-code、再上传到打印机,这条链路在传统工具里是断开的。每个环节都有独立 CLI,参数各异,agent 很难自己串起来。text-to-cad 把这些步骤封装成技能,每个技能有明确的输入输出和调用方式。它面向的是已经在用 agent 编程的开发者,不是机械设计师。机械设计师会直接用 SolidWorks,不会绕道 agent。这个库的价值在于让 agent 能完成从设计到制造的准备工作的闭环。

技能清单:从 CAD 到 Bambu Lab 打印,覆盖制造前链路

仓库列出了 12 项技能,覆盖了设计、检查、切片、打印四个阶段。CAD 技能负责生成和编辑模型,主输出是 STEP,可选 STL、3MF 和 GLB。step.parts 用于查找标准件,比如螺丝、轴承、电机。DXF 技能生成 2D 图纸,适合轮廓、模板、垫片。URDF、SRDF、SDF 三项针对机器人,分别写结构文件、MoveIt 配置和仿真世界。SendCutSend 技能在上传前检查 DXF 和 STEP 文件。DfAM Check 测量网格的可打印性,包括壁厚、悬垂、支撑体积。G-code 技能调用真实切片器 CLI 生成 .gcode。Bambu Labs 技能则负责上传和启动打印。最后还有个实验性的 Implicit CAD,用 GLSL 符号距离场做浏览器内建模。这个清单的覆盖面很广,但要注意,每一项技能背后都依赖特定工具或服务,不是凭空生成。

安装方式:一条命令装全部,但更新策略有坑

安装很简单,官方推荐用 `npx skills add earthtojake/text-to-cad`。这条命令会安装所有技能,并且再次执行相同的命令就能更新。注意,README 明确说 `npx skills update` 只会刷新 lockfile 里已有的技能,不会安装新技能。因为每次发布都可能新增技能,所以用 `add` 才是正确的更新方式。另外,`npx skills install` 是 `add` 的未文档化别名,仍然可用。对于 Codex、Claude Code 和 Grok Build,还有插件安装方式。Codex 需要 0.142.0 以上,否则插件会被静默跳过,不会出现在 `codex plugin list` 里,这个坑很容易踩。Claude Code 用 `claude plugin marketplace add` 和 `claude plugin install cad@text-to-cad`。Grok Build 直接复用 `.claude-plugin/marketplace.json`,没有单独清单。安装后如果技能没出现,需要重启 agent。

CAD 技能的实际机制:从请求到 STEP 的路径

CAD 技能接受自然语言或图像请求,输出 STEP 文件。这里的核心是 agent 如何调用底层工具。README 提到 `skills/cad/SKILL.md` 是技能的说明文档,它定义了 agent 应该遵循的步骤。具体来说,agent 会根据请求生成参数化模型,然后调用某个 CAD 内核或脚本库来构建几何体,最后导出为 STEP。至于用的是哪个内核,README 没有明说,但从依赖看,很可能涉及 Python 库。因为仓库里有 `skills/cad/requirements.txt`。图像请求意味着 agent 需要先做视觉理解,再把图像内容转化为几何参数。这个过程的可靠性取决于 agent 的视觉能力和底层建模库的精度。对于复杂装配体,生成结果可能需要人工检查。

机器人描述文件技能:URDF、SRDF、SDF 的分工与协作

机器人相关的三项技能各有侧重。URDF 技能负责写结构文件,包括 link、joint、limit、inertial 和 mesh。SRDF 技能在 URDF 基础上添加 MoveIt 规划组、末端执行器、位姿和碰撞规则。SDF 技能则创建仿真模型和世界,包含 frame、physics、sensor 和 light。这三者构成一个递进关系:URDF 是基础,SRDF 是运动规划配置,SDF 是仿真环境。agent 可以先用 URDF 技能生成机器人本体,再用 SRDF 技能配置规划组,最后用 SDF 技能放到仿真世界里。这种分工让每个技能保持单一职责,但代价是 agent 需要理解这三个文件格式之间的关联。如果 agent 不熟悉 ROS 生态,可能会在配置参数时出错。

从 G-code 到打印:Bambu Labs 技能的谨慎设计

G-code 技能调用真实切片器的 CLI,生成经过验证的、符合打印机配置的 FDM .gcode。这里强调的是“真实”和“验证”,意味着不是模拟或简化输出。Bambu Labs 技能则负责 dry-run、上传,以及“谨慎地”启动本地打印任务。README 用了“cautiously”这个词,说明这个技能在启动打印前有额外的安全检查。这很重要,因为远程触发物理设备有风险。如果你用这个技能,需要确认它是否要求用户确认,或者是否有其他防护机制。文档没有细说,但可以推测,至少会检查 .gcode 文件的来源和完整性。这个设计思路值得肯定,因为一旦打印开始,错误可能造成材料浪费甚至设备损坏。

实验性技能与维护成本:Implicit CAD 与分支策略

Implicit CAD 技能被标记为实验性,它用 GLSL 符号距离场创建浏览器原生模型,并通过 CAD Viewer 的 raymarch 渲染。这意味着它不生成传统 B-rep 模型,而是用数学函数描述几何体。这种方法的优势是模型可以无限细分,但缺点是难以直接用于制造,因为 STEP 导出可能不适用。维护方面,项目从 `develop` 分支开发,PR 需要提交到 `develop` 而不是 `main`。`main` 分支包含生成好的技能输出,供安装器使用。这意味着如果你想用最新特性,需要跟踪 `develop` 分支。升级时用 `npx skills add` 会覆盖安装,但不会移除上游已废弃的技能,需要手动 `npx skills remove <skill>`。这个维护成本不算高,但需要养成习惯。

替代方案与适用边界:不是所有 CAD 需求都适合 agent

替代方案有两种。一是直接用传统 CAD 软件,比如 FreeCAD 或 OpenSCAD,它们有完整的 GUI 和脚本接口,但 agent 无法直接调用。二是用专门的程序化建模库,比如 CadQuery 或 build123d,它们提供 Python API,但需要你写代码,而不是自然语言。text-to-cad 的差异在于它把 agent 作为前端,你只需要描述需求。但这也带来限制:生成结果的精度和可靠性取决于 agent 的理解能力,以及底层工具的鲁棒性。对于简单的零件,比如垫片或支架,效果可能很好。但对于复杂的装配体或需要严格公差的设计,人工检查是必须的。另外,技能依赖外部服务,比如 SendCutSend 和 Bambu Lab,这些服务可能需要网络连接和账号。如果你的环境是隔离的,或者对数据安全有要求,这些技能可能不适用。

编辑结论

text-to-cad 适合已经在用 Codex、Claude Code 或 Grok Build 的工程师,尤其是那些需要把自然语言描述转成 STEP 模型或机器人描述文件的团队。它把 CAD 建模、切片、打印上传这些原本分散的工具链收拢成 agent 可直接调用的技能,省去来回切换的麻烦。不适合完全离线或对生成结果有严格几何精度要求的场合,因为技能依赖外部服务,且 CAD 生成本身就有不确定性。采用前先确认你的 agent 版本满足要求,比如 Codex 必须 0.142.0 以上,否则插件会被静默跳过。另外,升级时用 `npx skills add` 而不是 `npx skills update`,后者会漏掉新技能。最后,检查许可证,MIT 对商业使用友好,但具体到每个技能依赖的第三方工具,仍需自行核实。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记