
1. 项目概述一句话生成CADtext-to-cad到底在做什么先聊个我自己的实际体验。上个月我想定制一个传感器支架型号确认了但厂商只提供图纸不提供模型手头又没有现成的SolidWorks模板。以前遇到这种情况基本就是打开软件从草图重新画拉伸、打孔、倒角一套流程下来半小时起步。这次我直接对着text-to-cad输入了一句描述一个L形铝合金支架长边60mm短边40mm厚3mm长边上有两个直径4mm的安装孔孔间距30mm。十几秒后我拿到了一份可编辑的STEP文件导入FreeCAD检查尺寸竟然完全正确。text-to-cad简单理解就是用自然语言描述一个三维物体由模型把它转换成CAD文件、参数化模型或建模指令。它解决的核心问题很直白CAD建模门槛高、操作繁琐、从想法到模型之间的链路太长。传统流程里你得懂草图约束、特征树、基准面这些概念而text-to-cad把门槛压到了会说话就能建模的程度。对于机械设计、3D打印爱好者、产品原型验证、工业设计前期概念评估这些场景它都是个很有价值的加速器适合任何想快速拿到三维模型但不想被软件操作绑架的人参考。需要说明的是今天聊的text-to-cad并不是某个单一软件的名字而是这一类技术方案的总称。不同团队给出了完全不同的实现路径有人直接让大语言模型一步生成带拓扑关系的边界表示模型有人让模型输出参数化建模脚本然后由CAD内核执行还有人把文本转成OpenSCAD代码让你自己跑。方案各有优劣但目标一致把描述变成模型。这篇文章会站在项目实践的角度把这些技术路线拆开揉碎讲清楚附上我自己踩出来的操作细节、提示词写法、报错排查经验。另外如果你接触过OpenAI的text-to-CAD研究工作或者用过Zoo他们推出的Text-to-CAD API那下文讲的很多思路你会更有代入感——但即使你完全没用过也不影响理解。2. 技术路线拆解把文本变成三维CAD的几种主流玩法2.1 路线一大模型直接输出B-rep边界表示模型这条路最硬核也是最接近完整CAD建模本质的方案。B-repBoundary Representation边界表示是CAD软件内部最核心的几何数据组织方式三维实体由有限个面围成面由边围成边由顶点围成同时记录每个面的朝向、边与面的邻接关系、几何方程与拓扑结构。以OpenAI 2024年公开的text-to-CAD研究为例他们的思路是让大语言模型直接生成以STEP文件格式表示的B-rep模型。STEP是工业级CAD数据交换标准理论上任何主流CAD软件都能打开。模型端到端地从文本描述中推理出几何形状然后一次性输出一个具备完整拓扑的实体模型。这条路的优势非常明显不需要借助任何外部建模引擎模型即结果可编辑、可测量、符合工程标准。但难点也集中在此生成一个合法的STEP文件不只是写几个坐标点你得保证曲面闭合、边线相接、环方向一致任何拓扑错误都会让文件打不开或者在CAD里表现为破面。实际测试里这个方案对小尺寸、简单几何体效果最好一旦涉及复杂曲面和多实体装配失败率会明显上升。2.2 路线二大模型输出建模指令交给参数化内核执行这一条不是让模型直接产出几何文件而是让模型生成一段结构化的建模指令序列由下游参数化建模API逐条执行最终在CAD内核里把模型构筑出来。我印象最深的是Zoo家的Text-to-CAD API。它内部把任务拆解为两步先由一个推理模型理解用户的自然语言生成高层级建模规划例如先拉伸一个底板、再在指定位置打孔、然后倒角再由执行器把这套规划翻译成底层建模API调用——设置草图平面、绘制轮廓、执行拉伸/旋转/扫掠/放样、应用布尔运算和倒角特征等。这种方案的可控性极强。因为每一步建模操作都有明确语义后期修改参数也很方便——比如把孔的直径从5mm改成8mm只需要改对应的参数项再重新执行。它也更贴近工程师的建模习惯模型不是一步生成的而是像你在软件里手动建模一样一步步构建出来的。缺点是推理和执行的分离引入了额外的架构复杂度整个pipeline延迟更高而且遇到建模API覆盖不到的特征比如某些自由曲面指令翻译阶段就会直接卡住。2.3 路线三文本转代码脚本借OpenSCAD/FreeCAD二次加工第三种方案更像是曲线救国取代码化建模的巧劲儿。OpenSCAD本身就是一个脚本化建模工具它的模型完全由代码描述从立方体到差集、交集一切都用函数式语法表达。FreeCAD也有Python脚本接口可以逐行调用Part模块建出各种实体。text-to-cad在这种路线里的角色就是代码生成器你输入文本大模型输出一段OpenSCAD或FreeCAD Python脚本你在本地打开软件执行脚本模型就在屏幕里出现了。这条路的最大优点是对硬件和网络几乎没有特殊要求——你只需要一个能跑大模型的环境加一个免费开源软件成本极低。而且代码是透明的任何一步出了问题你都能看到具体是哪条指令、哪个参数不对可以直接改脚本而不是无从下手。缺点也很直接最终模型能否成功完全取决于脚本语法正确性大模型生成的代码很容易出现语法对但建不出想要的形状的情况你需要掌握一点代码调试能力。2.4 三种路线对比选型建议为了让你根据实际需求快速判断选哪种我给出一个自己的经验表格对比维度直接输出B-rep输出建模指令输出代码脚本代表案例OpenAI text-to-CAD研究Zoo Text-to-CAD API各类基于OpenSCAD/FreeCAD的LLM工具输出产物STEP文件API调用序列.scad / .py脚本可编辑性中导入CAD后可编辑高参数可调高脚本即参数工程兼容性最好直接对接主流CAD好取决于API中等依赖开源软件学习成本低只需文本描述低理解概念即可需要一点点代码基础复杂模型成功率低中高中我的个人建议是如果你追求最快路径拿模型选方案一如果要做可反复调整的产品级模型选方案二如果你喜欢折腾、想完全掌控过程且不想付费选方案三。实际项目里我通常是混合使用——先用方案一快速验证外形是否符合直觉再用方案二精调尺寸和特征方案三作为兜底手段处理前两者不支持的局部形状。3. 核心流程与关键参数从一句描述到真实CAD文件3.1 提示词设计是成败关键很多人以为text-to-cad就跟用聊天机器人一样随便说一句帮我建个零件就能得到模型。实际上提示词的质量直接决定模型质量的八成。我的经验是一段合格的建模描述需要包含四类信息物体类别、尺寸参数、几何特征、空间关系。拿我之前那个L形支架举例一个完整提示词应该是这样拆解的物体类别L形铝合金支架尺寸参数长边60mm、短边40mm、厚3mm几何特征两个直径4mm的安装孔、孔间距30mm、孔中心距离短边边缘10mm空间关系孔位于长边上L形的弯折处为直角如果一个维度缺失模型就会开始自由发挥。你只说了一个带孔的板子它可能给你打四个孔也可能打八个孔可能给你沉头孔也可能通孔。这不是模型笨是你给的约束不够。可以把提示词想象成给新来的实习生布置任务只说把这个东西做出来对方必然懵但你把尺寸、位置、螺丝规格都说清楚交付质量一下就上来了。我还建议在提示词里主动声明单位。很多模型默认混淆mm和inch你描述100的直径它可能生成一个实际只有2.54mm的圆。强制在文本里写明单位是毫米直径100mm公差±0.1mm这类表述能显著减少单位错乱问题。3.2 建模参数与CAD内核的默契无论技术路线如何模型最终都要落地到某个CAD内核上去构建实体。常见的商用内核有Parasolid和ACIS开源则有Open CASCADE。不同内核在容差处理、布尔运算细节、曲面拟合方式上都存在细微差异同样的参数在不同内核里可能出现不同的建模结果。几个关键参数你值得理解模型单位CAD文件内部一般以毫米为基准单位存储但导出/导入时可能发生单位转换错误我遇到过STEP文件在SolidWorks里显示尺寸直接变成原来的十分之一这种情况原因就是单位解释不一致。容差Tolerance指几何上的可接受误差范围一般CAD默认在0.001mm到0.01mm之间。text-to-cad生成的模型如果拓扑有细微间隙容差大一些能掩盖问题但会牺牲配合精度。精度Precision控制曲面被离散化为小平面时的细腻程度。STL导出时如果精度设得过低圆孔会变成多边形影响3D打印质量。一般建议把弦高误差控制在0.02mm以内。布尔运算并、交、差是CAD建模里的三大基本操作很多复杂零件本质是多个简单体反复做布尔运算的结果。text-to-cad的B-rep方案特别容易在布尔运算后产生非流形几何边上挂着多余曲面、面内部出现孤立边这类模型在CAM加工时会直接报警。3.3 文本到模型的完整数据链路站在全景视角看一个完整的text-to-cad系统大致包含五个处理阶段文本预处理、语义理解、几何构建、拓扑校验、格式输出。文本预处理负责清洗描述、识别尺寸单位和关键实体语义理解阶段把自然语言映射成结构化意图几何构建阶段按照建模规划逐步生成实体候选拓扑校验检查实体的闭合性、流形性、自交问题最后按用户要求的格式导出STEP、STL、BREP或OBJ。这五个阶段里几何构建和拓扑校验是当前技术最容易出错的环节。我实际测试时发现大模型生成的STEP文件里经常出现面朝向不一致的问题相邻两个面一个法向朝外一个法向朝内几何上模型看起来完整但一旦做切片或者渲染就会出现黑洞或者法线错乱。检查这类问题通常需要把文件导入CAD软件里做检查实体操作或者用Python的trimesh库读取网格做流形性验证发现非流形边时就要回到建模阶段重新修。4. 实操记录从零到STEP文件我用text-to-cad走完一整个法兰盘项目4.1 场景设定与提示词编写为了完整展示实操过程我特意选了一个工程上很典型的零件法兰盘。它既有圆柱特征又有圆周分布孔还涉及内外径、厚度、倒角多个参数复杂度刚好能暴露text-to-cad技术的优缺点。我编写的提示词如下创建一个法兰盘模型单位毫米。 外径100mm内径50mm厚度15mm。 法兰盘上均匀分布6个通孔通孔直径9mm孔中心位于直径80mm的螺栓圆上。 外边缘和内边缘各做45度倒角倒角宽度1mm。 所有尺寸均为最终成品尺寸公差±0.1mm。这其实是一个在CAD领域很标准的零件描述具备完整几何参数、分布信息和加工说明。我把提示词分别喂给B-rep直出方案和建模指令方案各一次然后用FreeCAD验证结果。4.2 B-rep直出方案的表现输入提示词后等待约20秒模型返回了一个STEP文件。导入FreeCAD后我做了几步检查先用测量工具确认了外径、内径、厚度三个关键尺寸——外径100.02mm、内径50.01mm、厚度14.98mm误差在可接受范围内再用截面功能切了一个剖面查看倒角特征是否完整——结果是内外倒角都正确生成了45度、1mm宽度没问题。但有个细节让我不放心螺栓孔的位置分布。提示词写的是均匀分布6个通孔模型也的确生成了6个孔但我实际量了一下相邻夹角出现了约0.8度的偏差。也就是说有一个孔的位置偏移了约0.3mm。对于非精密用途这不算什么但如果是流体法兰盘这种误差会导致密封面压紧力不均。所以我的结论是这类方案适合做方案评审和概念模型不能直接拿去做最终加工。4.3 建模指令方案的表现同样的提示词送到Zoo Text-to-CAD API返回的不是STEP文件而是一段可直接复现的建模流程描述和调用记录。API先是创建了一个外径100mm的圆柱体然后通过内径50mm的圆柱体做差集生成环形毛坯接着在80mm螺栓圆上等距阵列了6个直径9mm的圆柱体并执行差集最后在外边缘和内边缘分别添加1mm的倒角特征。这套流程非常像一个熟练工程师的操作习惯哪怕中途想改参数也容易。比如我后来想看看外径改成110mm会怎么样直接在参数表里改掉数值重新执行几秒钟就拿到了新版模型。相比B-rep直出方案这种方式生成的模型完全符合CAD特征树逻辑每一部建模流程都能单独编辑后续工程配合的友好度高很多。4.4 文件导出与3D打印验证两种方案生成的模型我都导出了STL格式用于3D打印验证。这里有一个很关键的参数设置导出STL时弦高公差我设定为0.01mm角度公差设为1度。弦高公差控制曲面的平滑程度角度公差控制小平面之间的转角上限。值设太小文件会巨大设太大则圆孔不圆。0.01mm/1度这个组合对于法兰盘这种中等精度零件打印效果很理想——六个通孔打印出来孔径实际测量为8.9mm考虑到热收缩和切片误差属于正常范围。打印过程中还验证了一点对于B-rep直出方案生成的STEP转STL路径偶尔会遇到臭名昭著的网格透水问题。切片软件会提示模型不是水密的这其实是网格文件里出现了裂缝或者重叠面。处理技巧是用网格修复工具跑一遍平面切割重缝合或者去除自交面基本都能解决。4.5 实操过程中的参数速查表把你的常用参数做成一个表参考价值最高参数项推荐设置说明模型单位mm避免输入in导致尺寸错乱弦高公差STL导出0.01~0.03mm越小曲面越精细文件越大角度公差STL导出1~3度控制平面细分程度STEP版本AP214或AP203AP214带颜色和图层信息AP203更通用CAD容差0.001~0.01mm配合精密件选0.001普通件0.01足够提示词单位声明明确写mm模型常见尺寸误解问题的最有效解5. 常见问题与排查实录那些不写在文档里的坑5.1 尺寸错乱为什么生成的模型大了十倍或小了十倍这是我遇到的最普遍的问题原因几乎都出在单位制上。text-to-cad模型训练数据里混用了毫米和英寸的标注生成时可能默认采用英寸来表达你想要的毫米数值。比如你输入厚度3mm模型内部可能理解为3英寸生成时再以毫米单位写进文件厚度就变成76.2mm了。排查方法很简单先看文件属性里的单位声明再看最基本的尺寸标注。如果整体比例是25.4倍数关系基本就是单位换算问题不需要重新生成模型直接在CAD软件里缩放0.03937倍1/25.4即可。省事的做法是回到提示词里强制标注全部尺寸以毫米为单位能减少大部分这类错误。5.2 提示词歧义模型怎么理解大一点的孔自然语言的模糊性在CAD面前显得特别扎眼。大一点差不多稍微厚一点这类口语化描述在人类工程师之间靠经验能猜个八九不离十但模型做不到——它必须拿到具体数值。我发现很多新手的第一版提示词都会写一个长方体的板子厚度适中这类描述结果模型给了一个厚度为27.3mm的板。这不是bug是描述方式的适配问题。解决办法是建立数值化表达习惯任何修饰性词汇都改为明确数值。厚度适中变成厚度10mm大一点的孔变成直径12mm尽量靠边缘变成孔中心距离边缘8mm。如果你只是想要一个概念外形不关心精确尺寸也可以接受模型输出任意合理值但要意识到这是随机的不是设计的。5.3 布尔运算失败导致模型不可用B-rep直出方案最容易出现这类问题。明明两个实体在视觉上明显相交布尔差集却执行失败或者生成了一个看似正确但检查实体时报错的结果。背后的原理是模型生成的几何实体之间存在拓扑缝隙两个曲面本该共边或共面时实际数据里却有微小间隙导致布尔运算无法确定正确的交线。遇到这种情况我有几个处理优先级第一回到生成模型阶段尝试重新生成一次有时候换一个模型版本就解决了第二在CAD软件里把间隙缝合起来工具通常在曲面处理菜单里有缝合功能第三直接跳过有问题的布尔运算把模型分成几个独立零件再装配。这类问题在工业级方案里也有所以我不建议把text-to-cad的产物直接当作最终交付文件它更适合作为设计探索的起点。5.4 复杂曲面与倒角组合模型能力边界在哪里当提示词里出现弧形过渡渐变曲面非均匀半径倒角这些特征时text-to-cad的生成质量会断崖式下跌。原因在于这些特征在B-rep表示中需要复杂的NURBS曲面定义而大模型的训练数据里这类精细曲面相对稀疏模型难以稳定复现。我的经验是识别能力边界提前拆分任务。把复杂曲面的零件拆成主体骨架曲面蒙皮两步走先用text-to-cad生成主体实体部分再把蒙皮曲线输出成样条数据导入CAD里做放样或扫掠。又或者换个思路改用论文里的多视图扩散模型先把参考外形渲染出来再人工描出曲面轮廓把轮廓线作为建模基准——这几条路我都试过各自都有用但没有一条是万能钥匙。5.5 模型生成了但看起来不对验证质量的标准方法很多刚开始尝试text-to-cad的朋友会问我同一个问题怎么判断生成的模型是不是对的我的回答是别在生成的界面里看导出来放进真CAD软件里检查才算数。具体检查清单如下你直接照着做就行单位检查文件属性里声明的单位是否毫米尺寸量测是否符合预期拓扑检查用CAD软件的检查实体功能确认实体的闭合性和流形性确保可进行后续操作干涉检查若有多个实体配合逐对进行干涉检测确保无重叠区域参数完整性螺栓孔的数量、分布圆直径、倒角半径逐一与提示词对比可制造性检查最小圆角半径、通孔直径是否满足常规CNC或3D打印的加工能力这个清单每次生成后过一遍大概五分钟但能避免把带着问题的模型直接投进生产环节。我早期吃过亏用text-to-cad生成的支架模型直接送去3D打印打印完拿卡尺一量孔距偏差0.5mm装不上设备白白浪费了一个下午。6. 能力边界与行业影响text-to-cad能取代CAD工程师吗聊到这儿很多人自然会想到一个问題既然文本就能生成CAD模型传统CAD工程师会不会被取代。我的看法很明确短期内不会长期看也只是改变了工作方式而不是消灭岗位。text-to-cad当前的能力边界大概是简单的板类件、轴类件、标准连接件、规则的外壳和支架这些生成效果已经很能打中等复杂度的零件比如带多特征组合的壳体可以生成出错率不高、需要人工微调的设计而复杂的自由曲面产品、大规模装配体、需要严格公差链和受力分析的零部件当前技术完全胜任不了。这里有一个很关键的原因CAD设计不只是把形状做出来还承载着功能语义——这个孔是用来装配M6螺栓还是M8螺栓这个面将来要和另一个零件贴平加工公差要求多少这类工程知识模型并不理解它只是在拼接几何形状。所以把text-to-cad定位成一个形状生成器更准确它擅长的是把工程师脑中的形状直觉快速翻译成可参考的几何模型。真正的应用价值在于设计流程的前端加速以前拿到一个需求从零建概念模型耗时两个钟头现在用text-to-cad十分钟拿到三到五个候选方案工程师直接从其中选一个往下深化。工业设计师也可以用它快速探索造型方向交互方式比传统参数调整更直觉。还有一类受益群体是3D打印爱好者和创客这些用户不需要深入掌握CAD技术他们只需要一个大概的模型再加一点点耐心调整就能把想法变成实物。7. 后续扩展方向与个人心得text-to-cad这类技术目前更新迭代的速度很快旧信息过期得也快。就我观察后续主要会往三个方向延伸一是从单一零件走向装配体生成后续可能直接输入一个底座上装了四个轮子轮子间距200mm这种描述输出一套包含多个部件的装配文件二是与拓扑优化、仿真分析集成生成模型之后直接接上有限元分析流程实现描述即仿真三是往行业垂直领域渗透出现专门的text-to-管线布置text-to-注塑模具这类细分工具因为通用模型在复杂专业规则面前还是太吃力了。最后分享一个我个人测试无数遍总结下来的技巧别指望一次成功要养成分代迭代的习惯。第一轮先给出大致形状描述拿到模型后不用在意尺寸细节只判断整体形态是否符合预期第二轮再往提示词里补尺寸和特征约束把模型往精确方向推第三轮才加入圆角、倒角、孔位等细节。这种由粗到精的节奏看起来多花了一两轮时间实际上比直接写一个巨复杂的提示词然后反复失败要省得多。我自己用这个节奏一个中等复杂度的零件通常两三轮就能拿到可用的初版以前手动建模那个速度根本做不到。text-to-cad目前解决得最好的是想法到初步模型这一段它让人从繁琐的软件操作里解放出来把更多精力放在设计思考和方案比较上。如果你也想试试找个简单的家用物件开始——一盏台灯底座、一个挂钩、一个手机支架——描述清楚尺寸和结构亲眼看一下它能否还原你的想法。这个过程本身就很能让人直观理解技术的优势与短板。