乐于分享
好东西不私藏

开源AI神器CADAM:用一句话生成可编辑3D模型,3D打印爱好者和工程师的福音

开源AI神器CADAM:用一句话生成可编辑3D模型,3D打印爱好者和工程师的福音

大家好,我是关注数字孪生领域的sky。

在3D设计领域,传统CAD软件往往门槛高、学习曲线陡峭。很多人有创意,却卡在建模步骤上。现在,一个开源项目正在改变这一切——CADAM。它能让你用自然语言描述想法,AI就帮你生成基于OpenSCAD的参数化3D模型,还支持实时预览和一键导出打印文件。

这个项目托管在GitHub(https://github.com/Adam-CAD/CADAM ),短短时间内就收获了数千星标。它不是简单的AI玩具,而是结合了大模型、WebAssembly和经典CAD引擎的实用工具。无论你是3D打印爱好者、产品设计师还是想快速验证想法的工程师,都值得一看。

CADAM到底是什么?核心能力一览

CADAM全称可以理解为一个“文本到CAD”的网页应用。它最大的亮点是AI驱动的参数化建模:你输入一段描述,比如“做一个带圆角的手机支架,底座10cm宽,高度15cm,支持无线充电器位置留空”,AI就会生成对应的OpenSCAD代码,然后在浏览器里实时渲染3D模型。

基本能力总结:

  • 自然语言生成
    直接用中文或英文描述模型,支持上传参考图片辅助理解形状或细节。
  • 参数化控制
    AI会自动从代码中提取可调整维度,生成交互式滑块。你拖动滑块,模型瞬间更新,不需要重新调用AI。
  • 实时预览
    基于Three.js + React Three Fiber,在浏览器中流畅旋转、缩放查看。
  • 多格式导出
    支持STL(用于3D打印)、SCAD(源代码,可继续在OpenSCAD中编辑)、DXF(2D工程图)。
  • 完全浏览器运行
    核心CAD引擎用OpenSCAD的WebAssembly版本,无需安装本地软件。
  • 库支持
    内置BOSL、BOSL2、MCAD等常用OpenSCAD库,能轻松实现复杂几何、螺纹、齿轮等。

相比纯网格生成的AI工具(如某些直接出OBJ的),CADAM输出的模型是参数化的,更适合工程应用和后续修改。这一点特别实用——很多AI生成的模型看着漂亮但没法精确调整尺寸或用于制造。

技术架构:开源社区智慧的结晶

CADAM的实现融合了多条前沿和成熟技术线,值得技术爱好者细品。

前端部分:使用React 18 + TypeScript + Vite构建,界面现代简洁。3D渲染靠Three.js生态,样式用Tailwind CSS + shadcn/ui,响应速度快,用户体验好。

CAD核心:OpenSCAD的WebAssembly编译版本。这是关键创新。OpenSCAD本身是脚本式CAD,用代码描述几何(如cube()、cylinder()、difference()布尔运算),非常适合参数化。WebAssembly让它在浏览器里直接运行,无需服务器渲染复杂模型。

AI部分:主要调用Anthropic的Claude模型(支持本地开发换其他如OpenRouter)。AI的任务不是直接生成网格,而是生成高质量的OpenSCAD代码。提示工程在这里很重要——项目会让AI提取参数、添加注释、利用库函数等。

后端与存储:Supabase(PostgreSQL + Edge Functions)负责用户历史、认证等。开发时用ngrok暴露本地服务,让AI能访问上传的图片URL。

其他亮点

  • 支持自定义字体(如Geist),可以在模型上添加文字。
  • 历史记录管理,方便迭代设计。
  • 智能参数提取和“聪明更新”机制:改尺寸时尽量只重新编译,不反复调用大模型,节省token和时间。

整个项目大量参考和集成了社区优秀开源工作:openscad-wasm、openscad-web-gui、dingcad等,体现了“站在巨人肩膀上”的精神。许可证是GPLv3,鼓励社区贡献。

实际用法:从零上手生成你的第一个模型

安装运行很简单,但在线版最方便:直接访问 https://adam.new/cadam 就能试用。

基本流程

  1. 在输入框描述你的想法。可以很模糊(如“一个咖啡杯”),也可以很精确(如“直径8cm、高12cm的圆柱杯身,壁厚2mm,带把手,底部加防滑纹理”)。
  2. 可选上传参考图片,帮助AI理解比例或细节。
  3. 点击生成,等待AI输出代码并编译(几秒到几十秒)。
  4. 在右侧查看3D预览,拖动参数滑块调整。
  5. 满意后导出STL直接打印,或SCAD继续编辑。

进阶用法

  • 迭代优化
    生成后在聊天界面继续说“把高度增加20%,把手改成弧形”,AI会基于现有代码改进。
  • 复杂零件
    结合库做齿轮、螺纹、装配体。例如“生成一个20齿模数2的直齿轮,带键槽”。
  • 工程应用
    设计安装板、支架、外壳等功能件。精确指定尺寸、公差提示等。
  • 创意设计
    文本+图片结合,做艺术品或个性化产品。
  • 本地部署
    适合不想依赖API密钥或想深度定制的用户。克隆仓库,npm install,配置Supabase和Anthropic key,就能本地跑。

我个人试想几个场景:

  • 3D打印玩家:快速做自定义支架、适配器、玩具零件。
  • 硬件开发者:原型验证外壳、机械结构。
  • 教育用途:学生用自然语言理解参数化设计概念。
  • 小批量生产:结合参数化,快速生成不同尺寸变体。

局限性也要说清楚:目前复杂装配体或高精度曲面还有挑战,AI生成的代码偶尔需要手动调试(但开源特性方便改)。大模型幻觉可能导致无效代码,项目有fallback机制缓解。

应用场景与未来潜力

在3D打印社区,CADAM降低了门槛。以前不会OpenSCAD的人,现在可以用AI起步,再逐步学习代码。Maker社区可以用它快速迭代产品。

对于专业工程师,它不是替代Fusion 360或SolidWorks的工具,而是 ideation和快速原型神器。花几分钟验证想法,比手动建模快太多。参数化输出也便于导入其他软件进一步细化。

开源优势明显:社区可以贡献提示模板、更多库集成、甚至新AI后端。已经有用户在讨论STL导入、更好UI等功能。项目活跃,更新频繁。

未来,随着大模型能力提升(更好几何理解、更长上下文),这类工具会越来越强。结合本地模型或专用fine-tune,隐私和速度问题也能解决。文本到CAD可能是CAD软件下一波革命的方向。

为什么值得关注和参与?

  1. 免费开源
    不用订阅费,自己部署就能用。
  2. 学习价值
    前端、WASM、AI Agent、CAD脚本,一站式接触多领域技术。
  3. 社区友好
    贡献指南清晰,欢迎PR和Issue。
  4. 实际产出
    生成的模型能直接用于制造,不是中看不中用的图片。

如果你是开发者,建议克隆下来研究src目录,特别是AI prompt部分和OpenSCAD集成。爱好者直接在线试用,玩出自己的创意。

结语:CADAM不是完美的终极工具,但它代表了一个方向——让创意和制造之间的距离更短。用一句话描述想法,就看到可打印的3D模型,这种体验很魔幻,也很实用。在AI快速发展的今天,这样的开源项目让普通人也能参与技术浪潮。