HuaRenCa
返回论坛
日常交流

这个开源项目,让 AI 一句话生成可编辑 CAD 源码,还能导出 STEP、URDF

mgchaotian
mgchaotian

2个月前

机械设计又又又卡住了。

用 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 就可以看到生成出来的模型了。

ScreenShot_2026-07-02_220632_983.png

装好后想看效果的话,直接试试就知道了。

到这里边界也给大家提提

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 仓库看看源码和文档。

开源地址:

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

3
16

评论 (3)

Your avatar
点击登录后即可评论
Emma Tcherkezian
Emma Tcherkezian2个月前

好家伙,折腾半个月的AI参数化建模,都已经准备放弃了,又让我看见了希望。

mgchaotian
mgchaotian2个月前

很强

meisan
meisan2个月前

这个真的是一用一个不吱声,太强了