AI 终于摸到 CAD 的硬骨头:GenCAD 不是“秒杀工程师”,但方向很关键
上周网上有条帖子跑得很快。
有网友爆料,MIT 开源了一个 AI 模型,可以把照片转换成完全可编辑的 CAD 程序,「“悄悄杀死 150 美元/小时的 CAD 建模行业”」。只要上传草图或照片,就能生成完整参数化 3D 模型,可导出 STL、可制造,不需要 SolidWorks 许可,不需要几周建模,也不需要 CAD 工程师。
这段话很适合传播,问题是太满了。
该网友把真相说出来了:这是两个 MIT 工程师发表的研究项目,没有 UI,需要 Docker、GPU 和命令行。技术方向很强,但它不是一个普通设计师今天打开网页就能用的产品。

我更愿意把 GenCAD 看成一个信号:「AI 在 3D 领域过去几年主要做“看起来像 3D 的东西”,而 GenCAD 开始碰 CAD 里最硬、也最有工程价值的部分——参数化建模历史。」
这比“生成一个漂亮模型”难得多,也重要得多。
先准确还原:官方仓库到底是什么
GenCAD 的 GitHub 仓库标题是:
❝Image-conditioned Computer-Aided Design Generation with Transformer-based Contrastive Representation and Diffusion Priors
❞
项目对应论文是 arXiv:2409.16294,后来被 TMLR 2025 接收。作者是 MIT 机械工程系的 Md Ferdous Alam 和 Faez Ahmed。
仓库里没有消费级界面。README 给出的路径很研究工程化:
下载 dataset,放进 data/;下载 pretrained models,放进 data/ckpt/;推荐用 Docker; 推理时在 headless server 上用 xvfb-run;示例命令是: python inference_gencad.py -image_path data/images -export_img;还提供 stl2img.py把 STL 转成 PNG;Evaluation 一栏写的是:Coming soon。
几个细节要先看清。它说明 GenCAD 当前更像一个可复现实验仓库,而不是“上传图片,自动交付可制造零件”的 SaaS。
但也别因为它不像产品就低估它。
过去很多 AI 3D 工具解决的是视觉资产问题:给游戏、美术、AR/VR 一个 mesh、point cloud 或 implicit shape。它们可以被看见、被渲染、被放进场景。到了工程师手里,经常还差一口气。
工程 CAD 要的是另一类东西:尺寸、约束、草图、挤出、布尔操作、设计历史、可回退、可编辑、可制造。
GenCAD 的重点恰好在这里。
CAD 不是“3 D 图片”,而是一段工程语言
论文里最核心的一句话是:GenCAD 最终输出的不止是 3D solid,还包括整个 CAD program,也就是一串参数化 CAD 命令。
这里要多说两句。
如果 AI 只生成 mesh,它给你的是一个表面。表面可以很好看,但你想把孔径从 5 mm 改成 6 mm,想把倒角从 1 mm 改成 2 mm,想让某个凸台跟随另一个面联动,事情就没那么简单。
CAD 软件里的模型不能只看成“形状”,它还是一段建模过程。工程师先画草图,再拉伸,再切除,再倒角,再镜像,每一步都带着参数和意图。这个历史链条就是工程模型的灵魂。
GenCAD 试图让 AI 生成这条链条。

论文把方法拆成四步:
用自回归 Transformer 学 CAD 命令序列的 latent representation; 用对比学习把 CAD latent 和图像 latent 对齐; 用条件 latent diffusion model,根据图像 latent 生成 CAD latent; 用预训练 decoder 把 CAD latent 解码回参数化 CAD 命令序列,再交给几何内核生成 3D solid。
这里最有意思的地方不在 Transformer / diffusion 这些名词,而在它把 CAD 当成一种语言。
在 GenCAD 的设定里,CAD 命令包括 line、arc、circle、extrude 等。每个命令带参数,例如圆心、半径、圆弧端点、扫掠角、拉伸方向、距离、布尔操作类型。模型没有直接猜一个三维外壳,它在学习“这个形状应该由哪些操作一步步构成”。
普通 3D 生成到这里就分流了。
官方视频里展示了什么
项目页有一个 63 秒的 teaser 视频。我按写文流程拆成了 4 段 GIF,方便看它实际想表达的能力边界。
第一段是从输入图像到 CAD 生成的总览:

第二段强调同一输入可以采样出不同 CAD 结果。这点来自扩散先验:它不把图片确定性地映射到唯一模型,也能在相近结构里给出变化。

第三段更接近我认为短期最实用的方向:CAD retrieval。也就是用一张图或草图,从已有 CAD 数据库里找相似的 CAD program。

第四段回到完整流程:图像、草图、生成结果与多样性。

这几段视频没法证明“工程师不需要了”。它证明的是更具体的一层:AI 已经可以开始学习 CAD 操作序列与图像外观之间的对应关系。
长期价值在这里。
数据集决定了它现在能做什么,也限制了它不能做什么
GenCAD 使用的是 DeepCAD dataset。这个数据集来自 ABC dataset 和 Onshape public repository,通过解析 CAD 设计历史得到命令序列。
论文里给了比较清楚的数据口径:原 DeepCAD 有 178,238 个 CAD designs;作者用 Open Cascade 过滤能生成 3D solid 的样本,得到 168,674 个带命令序列的 CAD models。训练、验证、测试划分分别是 152,530、8,515、7,629。
为了得到图像输入,作者又对每个 CAD 模型做 x/y/z 方向缩放,生成多个灰度 CAD image,最终得到 845,105 张图像。草图版本则来自 Canny edge 加 Gaussian blur,也有 845,105 张。
这些数字看起来不小,但限制也很硬。
DeepCAD 为了让神经网络更容易学习,只保留了 sketch 和 extrude。论文明确写到,它不包含 fillets/chamfers、revolve、mirror 等 CAD 操作;草图也只限 line、circle、arc。
也就是说,GenCAD 学到的还不是完整工业 CAD 语言,只是一套被简化过的 CAD 子集。
这个限制不能轻描淡写。真实机械设计里,倒角、圆角、旋转、阵列、壳体、约束关系、装配关系、材料、公差、制造工艺都会进入设计判断。GenCAD 目前离这些还有距离。
所以主帖里“ready for manufacturing”“no CAD engineer needed”的说法,我会打一个很大的折扣。
论文结果:它强在哪里
GenCAD 的结果大致分三类:重建、检索、生成。
第一是 CAD 命令重建。
论文把 GenCAD 的 CSR 模型和 DeepCAD autoencoder 比。表 1 里,GenCAD 在四个指标上都略好:
命令准确率:99.51 vs 99.36; 参数准确率:97.78 vs 97.59; Chamfer distance:0.762 vs 0.783; invalid ratio:3.32 vs 3.44。
差距不是夸张级别,但论文强调,在更长 CAD 命令序列上,自回归训练更有优势。

第二是 image-based CAD retrieval。
我反而觉得,检索比“纯生成”更接近短期产品价值。给一张图,从 CAD 库里找对应或相似的 CAD program,这对企业内部零件库、供应链复用、逆向工程、设计检索都很有用。
论文的检索实验里,当候选 CAD 数量是 2048 时,预训练 ResNet-18 的 image-to-image search 准确率只有 3.91±0.64,而 GenCAD-image 是 60.77±0.99,GenCAD-sketch 也是 60.77 左右。作者因此说,CCIP 相比 image-to-image search 在检索正确 CAD program 上准确率超过 15 倍。
这个结果比“看图生成一个模型”更扎实。企业里很多时候并不需要 AI 从零发明一个零件。更常见的需求是:把“我想要的这个结构”从历史资产里找出来。
第三是条件生成。

论文用 COV、MMD、JSD 评价生成质量。GenCAD-image conditional 的 COV 是 81.37,MMD 是 1.38,JSD 是 3.49;GenCAD-sketch conditional 的 COV 是 82.59,MMD 是 1.33,JSD 是 3.53。
对比 DeepCAD、SkexGen、ContrastCAD,它的条件版本整体更强。Brepgen 在 MMD 和 JSD 上更好,但论文也指出它牺牲了 diversity。换句话说,GenCAD 更像是在多样性、保真度和统计距离之间取了一个平衡。
FID 指标上,GenCAD image conditional 是 0.13,优于 GenCAD unconditional 的 0.22、sketch conditional 的 0.32、DeepCAD unconditional 的 0.87,以及 deterministic-prior 的 0.99。
这些结果说明:把图像条件引入 CAD program 生成,确实比无条件生成更贴近输入,也更有用。
但它还不能替代 CAD 工程师
论文自己的 Limitations 写得很诚实。
当前 CAD programs 相比工业设计任务更简单;CAD vocabulary 需要扩展到 revolve、edge operations,比如 fillets/chamfers,以及更多 sketch operations。GenCAD 也不能保证每次生成 valid CAD,这一点和很多生成式 CAD 模型一样。
作者还提到,未来可以加入 CAD verification tool,也就是用几何内核做反馈。但这并不简单。CAD 命令对精度、拓扑和顺序都很敏感,一步错,后面可能全错。
OpenReview 的修改记录里还有一个有意思的小细节:作者试过移除 average pooling,但生成模型持续无法产出 valid CAD programs。他们认为原因可能是每个 CAD operation 对结构和精度要求很高,模型需要更稳定的表示。

这个小插曲很能说明 CAD 和图像生成的差别。
图像生成可以容忍局部瑕疵。一个阴影错了,一根头发糊了,很多人未必在意。CAD 不一样。一个圆心偏了,一个拉伸方向错了,一个布尔操作失败了,模型就可能不可用。
更不用说真实制造还要考虑尺寸、公差、材料、装配、受力、加工方式和成本。
所以“AI 取代 CAD 工程师”不是现在应该得出的结论。更现实的判断是:「AI 会先接管 CAD 工作流里低意图、重复性、检索型、初稿型的部分。」
我真正看好的方向:CAD Copilot
如果只把 GenCAD 理解成“拍照生成模型”,反而容易低估它。
我认为更大的机会在 CAD Copilot:
看草图,生成一个可编辑初稿; 看图片,从历史 CAD 库里检索最接近的可编辑模型; 根据自然语言调整参数,比如“把这个孔扩大 2 mm”“把这个支架加厚 15%”; 在几何内核里验证每一步是否有效; 结合仿真、制造约束、材料库,给出可落地的设计建议。
GenCAD 现在还没有做到这些,但它提供了一个关键积木:让视觉输入和 CAD program latent 对齐。
这件事一旦继续发展,CAD 软件的交互方式会变。
传统 CAD 是人脑里有形状,然后用软件命令一点点表达出来。未来可能是人给意图、草图、参考图和约束,AI 生成可编辑方案,人再在关键工程判断上接管。
CAD 工程师不会因此消失,但工作重心会变:少画重复命令,多审方案、定约束、做验证。
行业价值也许不在省掉 150 美元/小时,而在把早期方案探索速度提高一个数量级。
为什么 CAD 这块一直没有被 AI 轻松攻破
AI 在图像、视频、文本上进展快,是因为这些对象虽然复杂,但容错空间很大,也更容易收集互联网级数据。
CAD 难在几个地方:
「第一,数据少」。大量工业 CAD 数据在企业内部,不公开,带设计历史的数据更少。
「第二,表示难」。B-rep 很适合工程软件,却不适合直接喂给神经网络。mesh、voxel、point cloud 更容易学,但损失了工程可编辑性。
「第三,正确性要求高」。CAD 不是“像不像”,而是能不能被几何内核解析,能不能被制造链路接受。
「第四,设计意图难标注」。两个外形相似的零件,建模历史可能完全不同;同一个形状,也可能有多种合理 CAD program。
GenCAD 的方法并没有一次性解决这些问题,但它抓住了正确对象:CAD command sequence。
这是我对它评价比较高的原因。
写在最后
GenCAD 不是一个“上传照片,替代 SolidWorks 工程师”的现成产品。官方仓库也没有这样包装自己。它是一个研究项目,需要 Docker、GPU、命令行、数据集和 checkpoint;它训练在简化 CAD 命令集上,主要覆盖 sketch + extrude;它不能保证每次生成有效 CAD,也还没处理真实世界复杂照片里的噪声、视角和工程约束。
但它值得关注。
因为它把 AI 3D 从“生成一个可看的形状”,往“生成一段可编辑的工程建模历史”推进了一步。
这一步很小,也很硬。
CAD 领域不会像文生图那样突然被消费级产品刷屏。更可能先落在一些缝隙里:检索、逆向工程、概念建模、企业零件库复用、设计初稿生成。真正的爆发,也许要等到 CAD program generation、几何内核验证、自然语言约束、仿真反馈和企业数据闭环接起来。
到那时,AI 在 CAD 里的价值才不会停留在“画得像”。真正有用的标准会变成:改得动、算得过、造得出。
「GenCAD 现在还早,但方向是对的。」
「更多 AI 前沿技术与设计灵感,欢迎关注「设计小站」公众号(ID:sjxz00),一起探索科技与设计的融合创新。」
夜雨聆风