机械设计又又又卡住了。
用 AI 生成了 CAD 模型,拿到手里却是STL网格,改不了孔的位置。
想要将数据导出为 STEP 格式给工厂使用,还需要重新构建几何体。
机器人描述文件需要手动添加大量的XML标签,很容易出现错误。
最近在 GitHub 上刷到了一个叫做 text-to-cad 的项目,它可以一键生成 CAD 源代码和工程文件,这些问题总算有了希望。
它是面向于Agent的CAD技能库,在GitHub上有7400多个star。

一句话概括就是:
用 AI 来写可出编辑的 CAD 源代码,并把它们导出为STEP、URDF等工程文件。
我给你演示一把,你就会知道这个东西有多么方便了
我要设计一个机器人底盘。
随手打开ClaudeCode,说了一句“生成一个矩形底座,有四个安装孔和两个电机支架”。

它就开始写 Build123d Python 源码。
每一个几何特征都是用代码来定义的:孔的位置、支架的大小、底座的厚度。


然后自动导出 STEP 文件。
STEP 可以直接导入到 SolidWorks 中进行编辑。

接着生成 URDF 机器人描述。
把links、joints和坐标系都写入XML中,这样 ROS MoveIt2就可以直接加载了。
在整个过程中我只说了那么一句话。
后面 CAD建模、URDF生成、文件导出的工作都是它自己完成的。
有人要好奇了,怎么做到的
01 参数化CAD源码生成。
AI 并不是直接输出一个神秘的二进制模型。
它写的是 Build123d Python 源码,并且每一个几何特征都用@cad[feature_name]来引用标记。
修改一个孔的位置,只需要修改源代码中的参数就可以了,并不需要重新绘制整个零件。
生成的STEP文件可以被直接导入到专业的CAD软件中进行进一步编辑。
02 机器人描述文件自动生成。
URDF中links、joints、limits等容易出错的地方,它会自动写入到XML里去。
关节限位、坐标系、惯性参数等都进行了合法性校验。
配合CAD Viewer可以实现在本地查看机器人结构,不需要手动输入复杂的XML标签。
03 标准件库内置。
在 step.parts catalog 里挑选螺丝、轴承、电机这些常见标准件。
不像一般的 AI 那样胡乱编造出一个不标准的螺钉。

在装配体中使用的是可以实际购买到的标准件,从而避免了“设计好了但是买不到螺丝”的问题。
04 本地浏览器预览器。
WebGL 渲染器,浏览器原生运行,不需要安装专业的 CAD 软件。
支持STEP、STL、URDF等格式,可以进行轨道旋转和组件树浏览等功能。

可以在手机上看到生成的零件,不需要打开SolidWorks就可以对模型进行检查。
可以复制 @cad[...] 引用,基于具体几何位置做后续编辑,而不是模糊的"左边那个孔"。
支持正交投影、透视投影两种方式,可以很方便从不同的角度进行观察。
GLSL光线步进渲染模式还处于试验阶段,不过浏览器原生预览已经足够方便。
05 DXF工程图和G-code切片。
用3D几何投影来产生2D DXF文件,用来做激光切割和钣金加工。
激光切割服务提供商可以接收生成的DXF文件,而不需要再打开AutoCAD来绘制二维图纸。
钣金展开、垫片、切割布局都可以自动生成功,可以节省手工绘图的麻烦。
模板、垫片、切割布局都可以自动生成功,不用手工画出2D轮廓。

支持真实的切片器CLI生成打印机配置的G-code,3D打印可以由G-code直接发起任务。
Bambu Labs打印机可以直接对接,从验证好的G-code发起打印任务。
SendCutSend钣金加工可以做下单前文件检查,防止出现格式错误、尺寸超标等问题。
整个制造流程从CAD建模到切割打印都能自动化完成,想看的话试试就知道了。
想试的话,装起来很简单
Skills CLI 安装:
npx skills install earthtojake/text-to-cad Claude Code 插件安装:
claude plugin marketplace add earthtojake/text-to-cad claude plugin install cad@text-to-cad Python CAD 环境:
python3.11 -m venv .venv ./.venv/bin/pip install -r requirements-cad.txt Viewer前端:
npm --prefix viewer install npm --prefix viewer run dev 打开http://localhost:4178就可以看到生成出来的模型了。 装好后想看效果的话,直接试试就知道了。
到这里边界也给大家提提
Implicit CAD 还是试验性的功能,并且不完善。
Viewer 开发需要 Node 环境,对于只用 Python 的人来说有一定的门槛。
Git LFS资产默认不拉取,需要手动 git lfs pull --include="benchmarks/**" 。
没有中文文档,README 和 SKILL.md 都是英文。
没有对复杂的装配体生成的效果进行验证,目前只做了单个零件的benchmark。
OpenCascade 和 step.parts 库的商业许可证要自己去查一查。
写在最后
我觉得 text-to-CAD 的思路是对的。
让 AI 直接生成 CAD 源码,再导出工程文件,而不是藏在黑盒模型里。
修改一个孔的时候,不需要重新画整个零件。
尺寸、基准、装配关系都在代码里,一目了然。
但是如果你只需要一张漂亮的3D图的话,就没必要用它。
它最大的价值,是把“自然语言 → CAD → 机器人描述 → 制造文件”这条链路打通了。
需要的朋友可以去试试看。
项目基于 MIT 协议开放,感兴趣的同学可以去 GitHub 仓库看看源码和文档。