text-to-cad:用自然语言生成可编辑CAD源码和工程文件,7400 Star
机械设计经常卡住:用AI生成了CAD模型,拿到手里却是STL网格,改不了孔的位置;想导出STEP格式给工厂用,还得重新构建几何体;机器人描述文件需要手动添加大量XML标签,很容易出错。
text-to-cad 可以一键生成CAD源代码和工程文件,这些问题有了解决方案。它是面向Agent的CAD技能库,在GitHub上有7400多个Star。
一句话概括:用AI来写可编辑的CAD源代码,并导出为STEP、URDF等工程文件。
实际演示
要设计一个机器人底盘,打开Claude Code说一句"生成一个矩形底座,有四个安装孔和两个电机支架":
1. 自动写Build123d Python源码:每个几何特征都用代码定义——孔的位置、支架的大小、底座的厚度。
2. 自动导出STEP文件:STEP可以直接导入SolidWorks进行编辑。
3. 生成URDF机器人描述:把links、joints和坐标系写入XML,ROS MoveIt2可以直接加载。
整个过程只说了一句话,CAD建模、URDF生成、文件导出都是自动完成的。
核心功能
1. 参数化CAD源码生成:AI不是直接输出二进制模型,而是写Build123d Python源码,每个几何特征用@cad[feature_name]引用标记。修改一个孔的位置只需改源码中的参数,不需要重新绘制整个零件。生成的STEP文件可直接导入专业CAD软件进一步编辑。
2. 机器人描述文件自动生成:URDF中links、joints、limits等容易出错的地方自动写入XML,关节限位、坐标系、惯性参数都做合法性校验。配合CAD Viewer可在本地查看机器人结构,不需要手动输入复杂XML标签。
3. 标准件库内置:在step.parts catalog里挑选螺丝、轴承、电机等常见标准件,不会像一般AI那样胡乱编造一个不标准的螺钉。装配体中使用的是可以实际购买到的标准件,避免"设计好了但买不到螺丝"的问题。
4. 本地浏览器预览器:WebGL渲染器,浏览器原生运行,不需要安装专业CAD软件。支持STEP、STL、URDF等格式,可轨道旋转和组件树浏览,在手机上也能查看生成的零件。可以复制@cad[...]引用基于具体几何位置做后续编辑。支持正交投影和透视投影。
5. DXF工程图和G-code切片:用3D几何投影生成2D DXF文件,用于激光切割和钣金加工,激光切割服务商可直接接收DXF。钣金展开、垫片、切割布局都可以自动生成。支持真实切片器CLI生成打印机配置的G-code,Bambu Labs打印机可直接对接,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库的商业许可证需自行核实
项目基于 MIT 协议开放。
开源地址:https://github.com/earthtojake/text-to-cad