⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Fight/text-to-cad-agent-skills/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

在 Codex 里装了个插件叫 text-to-cad,装完直接跟 Agent 说「给我画个带四个安装孔的矩形底座,顶部倒角两毫米」。三分钟后 STEP 文件躺在桌面上,孔位、倒角、厚度全对,源码也留在项目里,改参数直接改代码。

一句话变成能改的源码

text-to-cad 官方横幅

先把它的定位说清楚。text-to-cad 本身不是一个独立的 CAD 软件,也不是网页玩具。它的形态是一套技能插件,装到 Codex 或 Claude Code 这类 Agent 里,让 Agent 能听懂机械设计的需求并直接出图。

底层跑 build123d 与 OpenCASCADE,运行时通过 uv 管理,主输出是工业级的 STEP,另有 STL、3MF、GLB,2D 图纸走 DXF。对搞硬件、做机器人、玩 3D 打印的人来说,它能把大量重复性绘图丢给 Agent,人只负责定方案。

关键的一点是它交出来的不是一张图,是一份源码。Agent 用 build123d 写 Python,再执行生成 STEP,源码直接可见可改。这条性质决定了很多后续好处,下面会讲到。

十二个技能分别管什么

浏览器里的 CAD 查看器

它当前有十二个技能,可以按用途分成几类。

建模这一类是核心,也就是 CAD 技能本身,可以从自然语言建模,也能拿一张零件照片让它试着还原形状,后续改的时候可以直接指代具体的面、边、孔。

出图这一类有三项。DXF 负责从 Python 源码或 CAD 几何出 2D 图纸,比如轮廓、模板、垫片、排版;Engineering Drawing 从零件出带尺寸的工程图纸 PDF,包含视图、隐藏线、尺寸、孔标注和标题栏;step.parts 直接搜螺丝、轴承、电机、连接器这类现成的 STEP 件并下载,不用再去 McMaster-Carr 一个个翻。

机器人这一类有三项。URDF 写机器人结构文件,含连杆、关节、限位、惯性和网格;SRDF 给 URDF 加 MoveIt 的规划组、末端执行器、位姿与碰撞规则;SDF 生成仿真器用的模型与世界文件,含坐标系、物理、传感器和光源。手写 URDF 有多烦,做机器人的朋友应该知道。

加工与制造这一类最多。DfAM Check 按工艺测网格的可打印性,看壁厚、悬垂、支撑体积和摆放方向;DFM 面向钣金、CNC 加工和注塑评审零件,每条结论都带测量证据和所依据的规则,还会从网格测拔模、倒扣与投影面积;SendCutSend 在你上传 DXF 或 STEP 下单之前跑一遍预检,查单位、边界、图层、孔位、折弯线距离和材料规格匹配度。

最后是打印这条链。G-code 技能用 OrcaSlicer 配合你自己的打印机预设把模型切成可打印的 G-code,Bambu Labs 技能再把它发到拓竹打印机上启动任务。建模、切片、打印一条龙。

模型与参数面板同屏

从一句话到 STEP 文件

Agent 在编辑器里写 build123d 源码

作者用 Codex 实测了三轮,过程挺有代表性。

第一轮的需求是「画一个矩形校准块,100 x 60 x 20 mm,四个角各打一个 8 mm 的通孔,孔要垂直贯穿,顶部外圈倒角 2 mm」。它先调 build123d 写了一段 Python 源码,然后执行生成 STEP,全程大概两分钟。产出是 STEP、py 文件和预览图三样,四个孔位对称分布,倒角在顶部外圈,尺寸完全一致。

生成的矩形校准块

第二轮要求「把倒角改成 3 mm,再给我导出一份 STL」。这一步最能说明它的机制,它没有重新画图,而是直接在刚才那份 Python 源码里改了参数,重新跑了一遍,新的 STEP 和 STL 同时出现在项目文件夹里。

改参数后的第二轮

改动后的模型

第三轮换了个复杂点的,「画一个圆形法兰盘,直径 80 mm,厚度 10 mm,中心通孔 30 mm,在 60 mm 的螺栓圆上均匀分布六个 6 mm 的通孔,外圆边缘倒圆角」。这次多花了大约三十秒,因为孔位分布和圆角计算更麻烦,结果仍然是对的,六个孔均匀分布,中心通孔和圆角都在。

圆形法兰盘的结果

整个过程中 Agent 没有反问「你确定吗」,也没有要求补充细节,直接按描述去算,算完给文件。错了就改,改的时候可以直接指代具体特征,比如「把那个倒角改成圆角」或者「孔径加大到 10 mm」。

装起来分两步

最省事的方式是让 Agent 自己装,把这句话发给它就行。

Install text-to-cad from https://github.com/earthtojake/text-to-cad

自己装的话,先确认 uv 装好了,uv --version 能验证,没有就去装一个。然后按宿主选命令,Claude Code 是这两条。

claude plugin marketplace add earthtojake/text-to-cad#latest
claude plugin install text-to-cad@earthtojake

Codex、Claude Desktop、Cursor、Grok Build 和 Gemini 各自有对应的写法;没有插件的 Agent 可以只装技能。

npx skills add earthtojake/text-to-cad#latest -g -a <agent> -y

装完重启应用。首次启动会下载 CAD 的运行时,需要联网,这一步别在断网环境里做。

还有两个细节。插件和单独技能不要同时装,两份意味着每个技能都装两遍。命令里的 latest 是发布分支,main 是开发分支也能装,但可能含有还没发布的改动。

预览和后续修改都不出本地

预览不需要装 SolidWorks 或 Fusion 360。插件自带查看器和一条本地服务,在能显示应用视图的宿主里,模型会以查看器卡片的形式出现在对话里;否则它会给你一个链接,点开就是浏览器里的 CAD Viewer,可以旋转缩放,STEP、STL、G-code、URDF 这些格式都支持。

全部流程都在本地跑,模型数据不会传出去,涉密项目也能用。这也是它和云端 CAD 工具最直接的差别。

它省的是点鼠标的时间

earthtojake/text-to-cad 仓库首页

作者玩了两天的结论很实在。它省的是点鼠标的时间,设计本身还得自己做,仍然需要基础的 CAD 知识,AI 只能帮你手速快点,脑子还得自己带。

他最欣赏的是两点。一是每次生成的都是纯 Python 文件,git diff 一看就知道改了什么,这对需要版本管理的工程场景太合适了。二是全部在本地跑,数据不出门。

这个项目现在一万七千多 Star,四月建的库,最近还在提交,节奏很稳。十二个技能里,核心的建模、DXF、URDF、G-code 都已经能用了。搞硬件的、搞机器人的、玩 3D 打印的,可以试试,省下来的时间挺可观。

仓库在 https://github.com/earthtojake/text-to-cad

文章目录
  1. 1. 一句话变成能改的源码
  2. 2. 十二个技能分别管什么
  3. 3. 从一句话到 STEP 文件
  4. 4. 装起来分两步
  5. 5. 预览和后续修改都不出本地
  6. 6. 它省的是点鼠标的时间