1. 从四张照片到一个能上机打印的零件这次事件到底在做什么我刷到“MIT教授扔4张照片3个Grok一小时造出零件”这条消息时第一反应不是“AI又刷屏了”而是赶紧把这套流程拆开看了一遍。这件事说白了就一句话一个人拿着手机拍四张零件的照片丢给三个Grok会话轮流处理约一小时后拿到了一份可以切片、直接送进3D打印机的工程文件。对搞过机械设计和3D打印的人来说这句话的分量比那些“AI一键生成视频”重得多因为它把“从实物到图纸”这条老路从半天以上的工作量压缩到了一小时以内。要理解这件事的价值得先知道传统的实物测绘有多痛。我这些年帮朋友复制过不少坏掉的塑料件、金属支架流程永远是拿游标卡尺量长宽高、量孔径、量孔距画草图再打开建模软件一点一点画特征。熟悉CAD的人搞一个简单支架也得30分钟到一小时遇到曲面或者异形结构基本就是半天起步。三维扫描仪倒是快但一台入门设备也要几千上万扫出来的网格数据还得专门后处理大多数个人玩家根本不会去碰。所以当看到这种“AI科学家冲出屏幕”式的工作流出现时我觉得它真正打中的是一个很实际的场景你手上有一个零件想复刻、想改成自己的尺寸、想打印出来装配但你没有图纸也不会三维建模。这时候AI能看着照片直接把工程文件给你那就把“建模能力”这个门槛拆掉了。这套流程适合谁创客、维修师傅、产品设计打样的人、机械专业学生还有所有“只想尽快拿到一个能用的打印件”的普通人。1.1 事件还原三个Grok会话组成的“虚拟工程师小组”网上流传的描述比较夸张但拆开来看核心工作流并不神秘。研究者大概率是把同一个零件的正面、背面、侧面、顶部四张照片传给了三个独立的Grok会话每个会话领一个岗位第一个会话负责“看图说话”输出零部件的结构描述和尺寸估算第二个会话负责“建模”把第一个会话的描述变成OpenSCAD或者Python代码生成参数化三维模型第三个会话负责“质检”检查代码能不能跑、尺寸有没有矛盾、模型有没有会导致打印失败的硬伤。三个会话语义接力最后导出一个STL文件。这个“三岗制”设计很有意思它本质上就是AI Agent里的多智能体分工。如果让一个Grok会话从头干到尾模型很容易在中间环节“偷懒”——比如视觉分析不细致或者写代码时漏掉某个孔。拆成三个会话之后每个会话的上下文更短、任务更单一幻觉和遗漏的概率会低不少。实测下来这种把复杂任务切成多个Agent协作的方式比单纯堆提示词要可靠得多。1.2 解决的历史难题从实物到图纸的逆向鸿沟制造业里有一句大实话没有图纸再简单的零件也是天价。一台老设备坏了个塑料卡扣你想单独买一个人家不单卖想自己做一个就得先解决“图纸从哪来”。以前只有两个选择要么找会建模的人帮你看图测绘要么买三维扫描仪。前者看人脸色后者看钱包。AI大模型出现后第三种选择变得现实了用多模态理解能力直接“读懂”照片里的几何信息再通过代码生成能力“写”出一个CAD模型。当然这套流程现在还没到“全自动无人工”的程度。复杂曲面、齿轮齿形、需要配合公差的装配结构AI目前很容易翻车。但如果是支架、壳子、法兰、底座这类以平面、圆柱孔、矩形槽为主的标准机械特征AI的完成度已经很高。换句话说它把“逆向工程”这个专业活变成了“普通人多拍几张照片、多检查几遍代码”就能干的事。2. 少了三个工程师多了三个Grok技术原理拆解要真正上手这套流程不理解里面的原理是不行的。哪怕你只是照抄提示词也至少要明白为什么是四张照片为什么Grok能干这个事为什么生成的模型和传统扫描不一样这三个问题搞懂了你才知道在什么场景下该指望AI什么时候该老老实实换工具。2.1 为什么是四张照片不是一张也不是四十张传统三维重建走的是摄影测量路线从几十个角度拍一堆照片靠算法寻找共同特征点算相机姿态生成稀疏点云再稠密化、建网格。这个流程对照片数量要求很高几十上百张是常事而且极其吃算力。但大模型不走这条路它更像是“看懂了再画”先认出这是一个什么样的零件再根据几个关键视角补全细节。四张照片正面、背面、两个侧面或加顶面基本覆盖了一个简单零件的大部分几何信息。拍一张容易出错——比如你只拍了正面模型不知道背后有没有凸台也不知道这个件有多厚拍太多反而会引入透视畸变和视角冗余让模型在“该信哪张图”上犯迷糊。实际操作中我建议在四张正交视角的基础上再补一张45°立体视角五张图一起喂给模型识别准确率会更高。照片里一定要有参照物最好是尺子实在没有就放一枚硬币否则AI很难判断真实尺寸。还要注意一个细节Grok这代多模态模型对图片分辨率和遮挡很敏感。拍侧面的时候如果手挡住了零件轮廓模型可能把轮廓线延伸到手指上。我一般会把零件放在一块纯色桌面上用手机支架固定拍摄高度保证每张照片的视角尽量“正”不要仰拍、不要俯拍太多。2.2 Grok的三个分身视觉分析、建模、质检的角色分工Grok能胜任这个任务靠的是两件事一是多模态视觉理解能看图分析几何特征二是代码生成能力能把描述转成可执行的建模代码。单纯的视觉模型看不到代码单纯的代码模型看不懂图Grok这类多模态模型刚好把二者串了起来。实际操作时三个Grok会话的角色可以这么安排。会话A视觉分析上传四张照片要求它输出结构描述和尺寸表。这一步的关键是让AI把话说全不要只给一句话概述。我会在提示词里写“请用列表输出整体外形、最大外形尺寸、所有孔位的直径和位置、壁厚、倒角/圆角、是否有凸台或凹槽。”AI一旦用列表回答遗漏特征的概率会明显下降。会话B建模工程师把会话A的描述原文粘给它要求转换成OpenSCAD代码。为什么不直接让Grok生成STEP或者STL因为Grok不能直接输出二进制网格文件但代码是文本它能写。OpenSCAD是最适合AI生成的建模语言它的语法简单、全是布尔运算和基本体而且源码能直接编译成STL。如果用CadQueryPython库生成STEP文件也可以但代码量更大AI出错的概率更高。会话C质检员把会话B的代码发给它让它以“第三方审图工程师”的角色检查。重点检查变量值是否与会话A的尺寸表一致有没有单位缺少mm模型的孔是否贯穿有没有悬空几何。如果发现代码编译错误我还会直接把错误信息贴给它让它修。这三个角色扔给同一个Grok模型没问题但分会话执行更稳。因为大模型在同一段长对话里切换多个身份时很容易“角色混淆”——上一秒还在审计尺寸下一秒就在幻想造型。分群聊、分任务等于给每个Agent限定了上下文边界幻觉率会低很多。2.3 这不是摄影测量也不是NeRF一份“活”的工程文件很多人看到“从照片生成3D”就会想到NeRF、高斯泼溅、摄影测量以为AI是在重建一个外观模型。其实这次事件的价值不在“重建外观”而在“生成可编辑的工程文件”。传统重建得到的是三角网格mesh好看但是“死”的你想把一个直径5mm的孔改成6mm就得重新建模你要导进SolidWorks做装配网格还得转格式。而Grok生成的是OpenSCAD代码是“活”的参数化模型改一个变量零件尺寸就变了重新编译一下又导出新的STL。这个区别在工程上非常关键。逆向复刻一个零件时几乎没有只想要“一模一样”的你往往要改长度、改孔径、改安装位置。网格数据做不了这种事参数化代码可以。我把两种路径的区别整理成了表格方便大家理解。维度摄影测量/三维扫描大模型生成式建模输入几十到上百张照片/激光扫描点云3到5张照片文字描述输出三角网格mesh/点云参数化CAD代码OpenSCAD/Python是否可编辑差修改特征需要重新建模好改变量即可同步变更设备要求扫描仪、高性能工作站手机/相机能访问大模型的平台上手门槛高要懂点云后处理低会拍照和复制粘贴即可典型场景文物数字化、复杂曲面复制支架/壳体/法兰等机械件快速改型AI生成式建模当然有短板它对复杂自由曲面几乎无能为力你让它生成一个鼠标外壳的CAD代码大概率会得到一个无法打印的抽象派作品。但对付标准机械特征它确实是目前效率最高的方式。这也是这次事件能在一个小时内完成的原因——零件本身的复杂度恰好落在大模型擅长的区间里。3. 一小时从照片到打印可复现的实操流程既然原理清楚了下面就是把整套流程跑一遍。我以最常见的“复制一个损坏的电机支架”为例从拍照到打印完整走一遍。你不需要和我用同一个零件只要按这个流程走基础流程是通用的。3.1 拍照四张照片的正确打开方式不要小看拍照这一步很多AI生成失败都是图拍坏了。我的拍照检查清单是这样的把零件放在纯色背景上最好A4白纸或浅色亚克力板避免杂乱纹理干扰AI识别。用手机支架固定手机镜头与零件中心尽量在同一高度。拍四张正面、背面、左侧、俯视。正面和背面要让主光轴垂直于零件最大平面尽量消除透视变形。每张照片都在零件旁边放一把尺子刻度面朝上、朝向相机。比例参考是整个尺寸判断的关键。光线要均匀不要在正午强光下逆光拍也不要用闪光灯直射。孔位和边缘的阴影会误导AI。对焦点选在零件边缘或孔位保证轮廓清晰。如果有条件补一张45°角度照片帮助AI理解立体结构。拍完之后我会快速检查一遍能不能在照片里清晰看到所有孔位尺子刻度是否清楚零件边缘是否被手指或阴影遮挡如果有一张不合格补拍比寄希望于提示词更靠谱。3.2 提示词让Grok听懂你要的是工程文件接下来是提示词这段可以直接抄。重点是角色设定、输入说明、输出格式、质量要求一次性说清楚。把四张照片上传后我习惯这么写你是一位资深机械工程师擅长零件测绘和CAD建模。我会给你同一个零件的正面、背面、侧面、俯视四张照片照片中有尺子作为比例参考。 请依次完成 1. 用列表分析零件结构整体形状、外形尺寸、壁厚、孔位及孔径、凸台/凹槽、圆角等特征。 2. 根据照片中的尺子推算出所有关键尺寸单位mm给出尺寸表。 3. 用OpenSCAD代码重建这个零件。要求$fn64所有尺寸用变量定义用difference/union描述特征单位必须是mm。 4. 生成代码后检查是否有会导致无法渲染或3D打印失败的问题并同步给出修改后的最终代码。这里有几个容易被忽略的点。第一“单位必须是mm”尽量写在提示词里否则AI可能默认按英寸生成。第二“所有尺寸用变量定义”是为了后续改尺寸方便也让AI自己更容易审查。第三要求它“生成代码后自检并给出最终代码”等于逼它走一遍质检流程比只给一版代码强。3.3 三个Grok会话的流水线从描述到代码再到审查我的实际操作习惯是分三个浏览器标签页或者三个会话来做避免上下文污染。第一个会话视觉分析岗只做一件事上传照片让它“列出结构特征并估算尺寸表”我复制它的输出。第二个会话建模岗把上面的输出粘进对话框追加一句“严格按照上述尺寸不要增加照片中不存在的特征生成OpenSCAD代码”。第三个会话质检岗再把代码粘进去追加“你是质检员请编译检查代码找出所有可能导致打印失败的问题并给出修正后的完整代码”。如果使用的是带代码执行能力的新版Grok还能在对话里直接运行OpenSCAD脚本或用Python辅助检查如果没有这个能力就把代码复制到本地OpenSCAD里编译。这个细节无所谓重点是“生成-审查-修正”的循环要走完不要拿到第一版代码就急着打印。我实际拿到的一个简单支架代码长这样示意具体尺寸以你的零件为准$fn 64; base_w 60; base_d 40; base_h 5; wall_t 5; wall_h 30; hole_d 5; hole_dist 50; module base() { difference() { cube([base_w, base_d, base_h]); for (x [-hole_dist/2, hole_dist/2]) { translate([x, base_d/2, -0.1]) cylinder(d hole_d, h base_h 0.2); } } } module wall() { translate([0, base_d - wall_t, base_h]) cube([base_w, wall_t, wall_h]); } base(); wall();别急着吐槽它丑重点在于所有关键尺寸都是变量孔的位置、壁厚、高度一眼就能看懂。想改成60mm孔距改hole_dist这一个变量就行。这种结构就是AI生成模型最适合的形态——简单、参数化、可修改。3.4 从STL到打印件最后一步的坑也不少代码确定后在OpenSCAD里按F5预览、F6编译确认没问题后导出STL。接下来的坑主要集中在三处。一是检查非流形边和破面。STL文件如果存在非流形边切片软件会报错或者打印出烂面。我用Windows自带的3D Builder直接打开STL它会提示“检测到问题”点一键修复就行Mac用户可以用Meshmixer。二是切片参数。层高我一般用0.2mm填充率30%壁厚2到3层。如果模型里有悬空的水平孔或凸台必须开支撑不想加支撑的话可以在生成代码阶段就避免悬空结构比如把孔轴方向改成竖直。三是实物装配。3D打印件有收缩和公差孔径5mm的孔实际打出来可能只有4.8mm。所以设计孔位时如果预期要装M5螺丝AI建模时孔径通常要留到5.2甚至5.4mm。这个经验值只能靠材料和时间积累AI目前不会替你考虑。4. 最容易翻车的五个环节问题排查与避坑实录这套流程我试了很多次翻车率不低。但绝大多数问题都集中在固定的几个环节上提前知道就能避开。我把最典型的五个问题列出来附上排查思路和解决办法。4.1 没放参照物模型尺寸全靠猜有一次我图省事直接拍了几张零件照片没有放尺子结果AI生成的支架宽度是600mm而不是60mm整个模型大得像一张桌面。排查方法很简单先在OpenSCAD里看尺寸变量如果和实物经验值差一个数量级基本就是缺参照物。解决办法是重新拍一张带尺子的照片或者在提示词里直接写“整体高度35mm其余尺寸按比例”给AI一个锚点。4.2 视觉分析把通孔识别成盲孔这个坑我踩过两次。零件侧面照片里孔看不太清楚视觉分析岗只写出了“有一个圆孔”但没说穿没穿。建模岗就顺着做了一个很深但没贯穿的孔。打印出来螺丝根本装不进去。现在我的提示词里明确要求“所有安装孔必须完全贯穿”并且质检岗要专门检查孔深是否等于壁厚。如果零件有台阶孔、沉头孔还要明确标出大小径深度否则AI很容易简化成一个直孔。4.3 单位错乱毫米和英寸的混乱大模型在单位换算上偶尔会犯迷糊。同一个零件如果照片里的尺子是英寸刻度AI就可能把所有尺寸换算成mm后搞错比例。更隐蔽的是它在代码里默认了inch导致STL网格尺寸直接缩水到1/25甚至25倍。我的解决办法是在提示词里反复强调“单位是mm”同时在OpenSCAD里加一个断言assert(base_w 50 base_w 100, base_w out of expected range, check unit);如果编译报错说明尺寸变量超出合理范围马上就能发现问题。这一招在单位校验上非常管用。4.4 AI幻觉给零件加了一个不存在的法兰大模型有时候会“脑补”。照片里明明没有法兰它觉得这种支架“应该有”就顺手加了一圈。这类问题最隐蔽因为模型看起来非常合理不看实物完全发现不了。我的对策是让视觉分析岗输出结构化清单每项都对应到照片里的具体位置建模岗严格执行清单提示词里写上“只按清单建模不要增加任何清单外的特征”。最后人工核对一遍清单和模型基本能堵住大部分幻觉。4.5 三个Grok会话信息不同步分会话协作最大的风险是信息在传递中丢失。视觉岗报告孔距50mm我在复制粘贴时漏了一个“0”建模岗就做成了5mm或者视觉岗说“壁厚5mm”建模岗忘了写默认成了2mm。解决这个问题的土办法是把视觉分析岗的输出当成“需求规格书”原样复制不要自己缩写质检岗拿到代码后第一件事就是挨个核对尺寸表变量值。如果用的平台支持Agent流程编排也可以让总控Agent自动传递消息省去人工复制这一步。问题典型现象排查思路解决办法缺少参照物尺寸大得离谱看STL尺寸是否合理重拍带尺子的照片通孔变盲孔螺丝装不进去检查孔深与壁厚提示词明确“贯穿”单位错乱缩水或放大25倍断言变量范围加assert并反复强调mmAI幻觉特征多出零件原本没有的结构对照照片逐项核验清单用结构化清单约束建模信息不同步孔距/壁厚与预期不符检查各会话传递文本原样传递规格质检核对5. 我的几点实操体会整套流程跑到现在我最大的体会是AI不会替你做工程判断但它能把你从重复劳动里解放出来。以前测绘一个零件最花时间的不是量尺寸而是把尺寸落实到三维模型里现在这部分被Grok这类模型接走了剩下的是“拍照、审图、调参数”这些更靠近人该干的事。这个转变很像当年从手绘图纸到CAD软件工具变了但“多测量、多检查、别偷懒”的工程习惯一点都没变。最后分享一个小技巧如果零件不大你可以把四张照片拼成一张2×2的大图再上传。我自己试过多次把四个视角放进同一张图模型更容易把不同视角对应到同一个零件上尺寸推断反而比四张独立图更稳。还有就是不要贪心一次只让AI做一个零件一张图片里堆了五六个零件它会把特征张冠李戴。工程上的事慢就是快AI帮你省出的时间值得花在检查上。
