资讯动态

text-to-cad实战:从自然语言到三维模型的完整链路与踩坑指南

发布时间:2026/10/8 23:32:40 来源:尧图企业网站定制
1. 从文字到模型text-to-cad 到底在解决什么问题第一次听到 text-to-cad 这个词很多人会下意识觉得它离自己很远——毕竟 CAD 在大多数人的印象里是工程师坐在电脑前用鼠标一个点一个点画出来的。但如果你最近关注过三维建模圈子会发现一个明显的趋势用自然语言描述一个零件然后让程序自动生成可用的三维模型文件这件事已经从论文里的概念变成了能跑起来的工具链。text-to-cad 的核心逻辑并不复杂输入一段文字描述比如“一个外径 60mm、内径 40mm、厚度 10mm 的圆环”系统经过解析、参数提取、几何构建最终输出一个标准格式的三维模型文件。这个文件可能是 STEP、GLB 或者 STL具体取决于你的下游用途。STEP 适合后续在专业 CAD 软件里继续编辑GLB 适合在网页或游戏引擎里展示STL 则是 3D 打印切片软件最常吃的格式。它解决的问题很实际。传统建模流程里一个简单的标准件从打开软件到画完导出熟手也要几分钟新手可能折腾半小时。而 text-to-cad 把“描述需求”和“得到模型”之间的路径压缩到了几秒钟。对于需要批量生成参数化零件的场景——比如做机械设计时反复调整法兰尺寸、做建筑可视化时快速摆放大批量的标准构件——这种效率提升是数量级的。适合关注这个方向的人其实比想象中多。机械工程师可以用它快速出概念模型3D 打印爱好者可以用它把脑子里的想法直接变成可打印文件做前端或游戏开发的人可以用它生成 GLB 资源甚至做数据可视化的同学也能用它把抽象参数变成直观的三维形状。你不需要精通任何一款 CAD 软件的操作只要能把需求说清楚剩下的交给程序。但这里有个关键点必须提前说清楚text-to-cad 目前的能力边界集中在参数化、规则明确、几何结构相对简单的模型上。你让它生成一个复杂的自由曲面汽车外壳它大概率会给你一个四不像。但你说“一个带 6 个 M4 通孔的 100x60x8 的矩形板”它能给你一个完全可用的结果。理解这个边界比盲目追求“全自动建模”要务实得多。2. 技术路线拆解从文字到几何的完整链路2.1 自然语言解析与参数提取整个 text-to-cad 流程的第一步是把人话翻译成机器能理解的参数。这一步的难点不在于“识别数字”而在于处理自然语言里的模糊性和隐含信息。举个例子“一个边长 50 的立方体”和“一个 50x50x50 的方块”对人类来说是一回事但对解析器来说前者需要理解“边长”对应三个维度的尺寸后者需要从三个数字里推断出形状类型。更麻烦的是“一个比刚才那个大一圈的圆柱”——这里的“大一圈”没有具体数值需要结合上下文或者给出默认的增量规则。目前主流的做法是两条路并行。一条是基于规则模板的解析提前定义好“形状关键词 尺寸参数 位置约束”的语法结构用户输入只要匹配模板就能提取出结构化数据。这条路稳定、可控但灵活性差用户必须按照某种约定俗成的说法来描述。另一条是基于大语言模型的语义理解把自然语言直接映射成参数化的几何描述语言比如用类似 OpenSCAD 的语法或者自定义的 JSON 结构来表示。这条路灵活能处理各种奇怪的说法但存在“幻觉”风险——模型可能编造出不存在的参数或者给出自相矛盾的尺寸。实际落地时比较稳妥的方案是两者结合先用大语言模型做意图识别和参数抽取输出一个结构化的中间表示然后用规则引擎做校验和补全。比如用户说“做一个法兰盘外径 120内径 80厚度 15均匀分布 8 个直径 10 的孔”大语言模型负责识别出“法兰盘”这个形状类别提取出外径、内径、厚度、孔数、孔径这些参数规则引擎则负责检查“8 个孔均匀分布”意味着每个孔之间的角度是 45 度并且根据外径和内径计算出孔的中心圆直径应该取中间值。注意参数提取阶段最容易出问题的地方是单位。用户说“直径 10”到底是毫米还是厘米如果系统没有明确的单位约定生成出来的模型可能差十倍。我的做法是在输入框旁边强制要求选择单位或者在解析阶段检测到数字后主动追问确认。2.2 几何内核的选择与建模逻辑参数提取出来之后下一步是把这些数字变成真正的三维几何。这里就涉及到几何内核的选择不同的内核决定了你能生成什么类型的模型以及生成的文件质量如何。目前 text-to-cad 场景下常用的几何内核主要有三类。第一类是OpenCASCADE这是工业级的三维建模内核支持 B-Rep 表示能生成精确的 STEP 文件后续可以在 SolidWorks、中望 CAD 等软件里直接打开编辑。它的优势是精度高、格式兼容性好缺点是体积大、学习曲线陡而且对复杂布尔运算的处理有时候会比较慢。第二类是CGAL偏学术和计算几何方向擅长处理网格和布尔运算但在工业标准格式的支持上不如 OpenCASCADE 全面。第三类是Three.js 自带的几何库或者JSCAD这类轻量级方案适合生成 GLB 或 STL 这种网格格式速度快、部署简单但生成的不是精确的 B-Rep 模型后续编辑能力有限。选择哪条路线取决于你的下游用途。如果你只是想把模型丢进 3D 打印机STL 网格格式就够了用 JSCAD 或者 Three.js 的 ExtrudeGeometry 就能搞定开发成本低运行速度快。如果你需要把生成的模型导入到专业 CAD 软件里继续做装配、出工程图那就必须用 OpenCASCADE 生成 STEP 文件否则后续流程会断掉。建模逻辑上text-to-cad 通常采用CSG构造实体几何的思路把复杂形状拆解成基本体素的组合。比如一个带孔的板就是“长方体”减去“多个圆柱体”。这种思路的好处是只要解析阶段能正确识别出基本体素和布尔运算关系几何生成就是确定性的不会出现“随机发挥”的情况。2.3 输出格式的差异与适用场景STEP、GLB、STL 这三种格式在 text-to-cad 的输出环节经常被混用但它们的底层逻辑和适用场景差别很大选错了会导致后续流程各种报错。STEP是工业标准交换格式基于 B-Rep 表示存储的是精确的几何定义——一个圆柱面就是数学意义上的圆柱面而不是用很多小三角面片去逼近。它的文件体积通常较小但打开和渲染需要专业的几何内核支持。适合的场景是生成的模型需要导入到 SolidWorks、中望 CAD、Fusion 360 等软件里继续编辑或者需要做精确的尺寸标注和工程图输出。GLB是 glTF 的二进制版本本质上是网格格式用三角面片来近似表示几何形状。它的优势是渲染效率高浏览器和游戏引擎原生支持适合做网页展示、AR/VR 预览、游戏资源。缺点是精度受网格密度影响一个圆柱面如果分段数不够看起来会有棱角。适合的场景是你需要把生成的模型直接嵌入网页让用户旋转查看或者导入到 Unity、Unreal 里做场景搭建。STL是最古老的 3D 打印格式只存储三角面片的顶点坐标和法向量没有颜色、材质、装配关系等信息。它的优点是几乎所有切片软件都支持缺点是文件体积大尤其是高精度模型而且无法区分内外表面。适合的场景是你只想把模型丢进 Cura、PrusaSlicer 或者 Bambu Studio 里切片打印。格式底层表示精度文件体积典型用途后续可编辑性STEPB-Rep精确小工业设计、工程图高可参数化编辑GLB三角网格近似中网页展示、游戏低只能做网格操作STL三角网格近似大3D 打印极低仅切片实操心得如果你的 text-to-cad 工具同时支持输出多种格式建议默认给 STEP然后提供一个“导出为 STL”的按钮。这样既保留了后续编辑的可能性又照顾了 3D 打印用户的需求。我见过不少项目一开始只输出 STL结果用户想改一个尺寸发现根本没法改只能重新生成体验很差。3. 动手实现从零搭建一个可用的 text-to-cad 流程3.1 环境准备与工具选型如果你打算自己搭一套 text-to-cad 的流程第一步不是写代码而是想清楚你的技术栈。这里我给出两条路线一条是 Python 为主的“重后端”路线适合需要生成 STEP 文件的场景另一条是 JavaScript 为主的“轻前端”路线适合只需要 GLB/STL 的场景。Python 路线需要安装Python 3.10核心依赖是cadquery或者build123d这两个库都封装了 OpenCASCADE可以用 Python 代码描述几何形状并导出 STEP。cadquery 的语法更接近链式调用build123d 则更偏向上下文管理器风格两者都能用。安装命令很简单pip install cadquery如果安装过程中遇到编译错误大概率是 OpenCASCADE 的依赖没装好。在 Ubuntu 上可以先装libocct-*系列包在 Windows 上建议直接用 conda 安装能省去很多麻烦conda install -c conda-forge cadqueryJavaScript 路线需要Node.js 18核心依赖是jscad或者three.js。jscad 专门做参数化建模API 设计得很直观导出 STL 只需要一行代码。three.js 则更适合需要实时预览的场景配合GLTFExporter可以导出 GLB。npm install jscad/modeling jscad/stl-serializer选哪条路线取决于你的输出格式需求。需要 STEP 就选 Python cadquery需要 GLB/STL 就选 JavaScript jscad/three.js。不要试图用一条路线解决所有格式那样只会让代码变得又臭又长。3.2 自然语言到参数的转换实现假设我们已经选定了 Python cadquery 的路线接下来要解决的是“把用户输入的文字变成 cadquery 能用的参数”。这里我用一个简化的例子来说明整个流程。用户输入“生成一个外径 80mm、内径 60mm、厚度 12mm 的圆环中间均匀分布 6 个直径 6mm 的通孔。”第一步用正则表达式或者大语言模型提取关键信息。正则的思路是提前定义好模式import re def parse_ring_description(text): patterns { outer_diameter: r外径\s*(\d(?:\.\d)?), inner_diameter: r内径\s*(\d(?:\.\d)?), thickness: r厚度\s*(\d(?:\.\d)?), hole_count: r(\d)\s*个, hole_diameter: r直径\s*(\d(?:\.\d)?)\s*mm?\s*的通孔 } result {} for key, pattern in patterns.items(): match re.search(pattern, text) if match: result[key] float(match.group(1)) return result这段代码能处理格式比较规范的输入但如果用户说“做一个环外面 80里面 60厚 12打 6 个 6 个的孔”正则就无能为力了。这时候就需要引入大语言模型做语义解析。我的做法是先用大语言模型把各种说法归一化成标准描述再用正则提取这样兼顾了灵活性和稳定性。第二步把提取出来的参数映射到 cadquery 的建模操作。圆环的本质是一个大圆柱减去一个小圆柱再减去若干个小孔圆柱import cadquery as cq import math def build_ring(params): outer_r params[outer_diameter] / 2 inner_r params[inner_diameter] / 2 thickness params[thickness] hole_count int(params.get(hole_count, 0)) hole_r params.get(hole_diameter, 0) / 2 # 主体大圆柱减小圆柱 ring ( cq.Workplane(XY) .circle(outer_r) .extrude(thickness) .faces(Z) .workplane() .circle(inner_r) .cutThruAll() ) # 打孔 if hole_count 0 and hole_r 0: hole_center_r (outer_r inner_r) / 2 for i in range(hole_count): angle 2 * math.pi * i / hole_count x hole_center_r * math.cos(angle) y hole_center_r * math.sin(angle) ring ( ring.faces(Z) .workplane() .center(x, y) .circle(hole_r) .cutThruAll() ) return ring这段代码里有个细节值得注意打孔时孔的中心圆直径取的是外径和内径的平均值这是一个常见的工程约定。如果用户有特殊要求比如孔要靠近外缘那就需要额外解析“孔的位置”这个参数。3.3 几何生成与格式导出模型构建完成之后导出就是一行代码的事。cadquery 支持直接导出 STEP 和 STL# 导出 STEP cq.exporters.export(ring, output.step) # 导出 STL需要指定公差 cq.exporters.export(ring, output.stl, tolerance0.01)这里的tolerance参数控制网格的精细程度值越小网格越密、文件越大、表面越光滑。对于 3D 打印0.01mm 的公差通常就够了如果模型尺寸很大可以适当放宽到 0.05mm否则 STL 文件会大到切片软件打不开。如果需要导出 GLBcadquery 本身不支持需要借助trimesh做格式转换import trimesh mesh trimesh.load(output.stl) mesh.export(output.glb)trimesh 会自动处理材质和法向量导出的 GLB 可以直接在浏览器里用 three.js 加载。注意从 STEP 转 STL 再转 GLB 的过程中网格会经历一次“三角化”如果原始模型的曲面比较复杂可能会出现法向量翻转或者面片丢失的问题。我的经验是在导出 STL 之前先用ring.val().isValid()检查一下几何有效性如果返回 False说明布尔运算出了问题需要回头检查参数是否合理。3.4 批量生成与参数化模板单次生成只是玩具text-to-cad 真正有价值的地方在于批量处理。比如你有一张 Excel 表格里面列了 50 个不同尺寸的法兰盘参数手动一个个建模显然不现实但用脚本批量跑就是几秒钟的事。import pandas as pd df pd.read_excel(flange_params.xlsx) for index, row in df.iterrows(): params { outer_diameter: row[外径], inner_diameter: row[内径], thickness: row[厚度], hole_count: row[孔数], hole_diameter: row[孔径] } model build_ring(params) cq.exporters.export(model, fflange_{index}.step)这段代码的关键在于build_ring函数是纯参数化的不依赖任何全局状态所以可以安全地在循环里反复调用。如果你用的是大语言模型做解析批量场景下建议先把所有描述一次性解析成结构化数据再统一建模避免反复调用模型接口造成延迟累积。4. 踩坑实录text-to-cad 常见问题与排查技巧4.1 解析阶段的典型错误问题一单位混乱导致模型尺寸差十倍。这是最常见的问题。用户说“直径 10”系统默认按毫米处理但用户心里想的是厘米。解决办法是在输入环节强制要求带单位或者在解析到纯数字时主动追问。如果做不到交互式追问至少要在输出模型时把尺寸标注出来让用户一眼能看出问题。问题二形状关键词识别错误。“圆柱”和“圆管”在中文里经常混用但几何上差别很大——圆柱是实心的圆管是空心的。如果解析器把“圆管”当成“圆柱”生成出来的模型就没有内孔。我的做法是维护一个同义词表把“圆管”“空心圆柱”“套筒”都映射到同一个形状类别然后根据是否有“内径”参数来决定是否挖空。问题三布尔运算顺序导致几何错误。比如“一个立方体上面挖一个圆孔再在圆孔里放一个小圆柱”这个描述里既有减法又有加法如果先做加法再做减法小圆柱会被挖掉如果先做减法再做加法小圆柱会保留。解析器需要正确识别操作的先后顺序通常可以通过“先”“再”“然后”这些连接词来判断。4.2 几何生成阶段的异常处理问题布尔运算失败生成的模型是空心的或者有破面。这种情况通常发生在两个几何体刚好相切或者共面的时候。比如一个圆柱的底面刚好和立方体的顶面重合布尔运算时就会出现“零厚度”的边界导致内核无法判断内外。解决办法是给相切的面加一个微小的偏移量比如 0.001mm让两个面明确分开。问题STL 导出后文件巨大切片软件卡死。这是因为公差设得太小网格密度过高。一个直径 100mm 的圆柱如果公差设成 0.001mm三角面片数量会爆炸。我的经验是对于 3D 打印用途公差设在 0.02mm 到 0.05mm 之间就够了肉眼根本看不出区别但文件体积能小一个数量级。问题STEP 文件在 SolidWorks 里打开后无法编辑。这通常是因为导出的 STEP 是“只读”模式或者几何体被识别成了“导入实体”而不是“原生实体”。cadquery 导出的 STEP 默认是 B-Rep 表示正常情况下是可以编辑的。如果遇到问题检查一下导出时有没有加brepTrue参数以及 SolidWorks 的导入设置里有没有勾选“启用特征识别”。4.3 格式转换的兼容性问题STEP 转 STL 时曲面丢失。有些复杂的曲面在三角化时会出现裂缝导致 STL 文件不是“水密”的3D 打印机无法正确切片。解决办法是在导出 STL 之前先用trimesh做一次修复mesh trimesh.load(output.stl) mesh.fill_holes() mesh.fix_normals() mesh.export(output_fixed.stl)GLB 在浏览器里显示全黑。这通常是因为法向量方向反了或者缺少光照。在 three.js 里加载 GLB 时确保场景里有环境光或者方向光并且材质的side属性设为THREE.DoubleSide。如果还是黑检查一下导出 GLB 时有没有把法向量写进去。STL 导入 3ds Max 后 UV 丢失。STL 格式本身不存储 UV 信息所以导入任何软件都不会有 UV。如果需要在 3ds Max 里做贴图需要先导入 STL然后用“UVW 展开”修改器手动展 UV或者用“UVW 贴图”做程序化映射。这个问题没有捷径只能手动处理。问题现象可能原因排查方法解决方案模型尺寸差十倍单位混淆检查输入是否带单位强制单位选择或追问圆管变成实心形状识别错误检查同义词表补充同义词映射布尔运算失败面相切或共面检查几何体位置加 0.001mm 偏移STL 文件过大公差太小查看面片数量放宽公差到 0.02-0.05mmSTEP 无法编辑导入模式问题检查导入设置启用特征识别GLB 显示全黑法向量或光照检查材质和光源设 DoubleSide 加光源实操心得我建议在 text-to-cad 的流程里加一个“预览”环节生成模型后先用低精度网格快速渲染一张图让用户确认形状和尺寸没问题再导出高精度文件。这样能避免用户下载了一个 50MB 的 STL 之后才发现孔的位置不对还得重新生成。5. 应用场景延展text-to-cad 还能怎么用5.1 机械设计中的快速概念验证做非标设备设计的人都有体会前期方案阶段需要反复调整尺寸今天客户说支架宽一点明天说孔位挪一下。传统流程是打开 SolidWorks 改参数、重建模型、导出工程图一套下来十几分钟。用 text-to-cad 的思路可以把常用零件做成参数化模板改尺寸只需要改一行文字描述几秒钟就能拿到新的 STEP 文件。更进一步可以把 text-to-cad 和 Excel 参数表结合起来。客户给一张尺寸表你直接批量生成所有零件的模型打包发给对方确认。这种效率提升在投标阶段特别明显——别人还在一个个建模你已经把整套方案的三维模型发过去了。5.2 3D 打印前的快速建模3D 打印玩家经常遇到的情况是想打一个简单的支架或者转接件但懒得学 CAD 软件。text-to-cad 正好切中这个需求。你只需要描述“一个 40x40mm 的方块中间有一个直径 8mm 的通孔四角有四个直径 3mm 的孔”就能直接拿到 STL 文件丢进切片软件。对于更复杂的形状比如“一个螺旋楼梯的扶手”text-to-cad 目前还搞不定但你可以把它拆解成基本体素的组合——先描述每一级台阶的尺寸和旋转角度再描述扶手的截面形状和路径分段生成后再在切片软件里合并。这种“分而治之”的思路能让你用简单的描述完成相对复杂的模型。5.3 网页端三维配置器的后端引擎如果你做过电商或者产品展示类的项目应该知道“在线配置器”这个概念——用户在一个网页上选择尺寸、颜色、配件实时看到三维模型的变化。传统的做法是提前建好所有可能的组合或者用复杂的参数化脚本在前端计算。text-to-cad 提供了一种新的可能用户输入文字描述后端实时生成 GLB 返回前端展示。这种方案的优势是灵活性极高用户不需要在预设的选项里挑而是可以直接描述自己想要的东西。当然前提是你的解析和生成速度足够快最好能在 2 秒内返回结果否则用户体验会很差。我的做法是先用大语言模型做解析这部分可以缓存再用轻量级几何库生成 GLB这部分在服务端跑整体延迟能控制在 1.5 秒左右。5.4 教育场景中的几何教学辅助教三维几何或者工程制图的老师经常需要给学生展示不同参数下的形状变化。text-to-cad 可以让这个过程变得很直观学生用文字描述一个几何体系统立刻生成三维模型旋转查看各个角度。这种“描述-生成-观察”的循环比单纯看课本上的三视图要有效得多。而且这个过程本身就在训练学生的空间想象能力和工程表达能力——你得把脑子里的形状用准确的语言描述出来才能得到正确的模型。这种能力在工程领域比会操作某个软件更重要。6. 几个容易被忽略的细节与个人体会6.1 关于“描述精度”的边界text-to-cad 的输入是自然语言但自然语言天生是模糊的。你说“一个大一点的圆环”这个“大一点”到底是多少系统只能猜。所以我在实际使用中总结出一条经验能用数字的地方绝不用形容词。不要说“厚一点”“孔多一点”直接说“厚度 15mm”“8 个孔”。描述越精确生成结果越可控。另外形状的命名尽量用标准术语。“圆环”比“甜甜圈形状”好“圆柱”比“管子”好“长方体”比“方块”好。虽然大语言模型能理解口语化的表达但标准术语能减少歧义提高一次生成的成功率。6.2 关于“一次成功”的预期管理很多人第一次用 text-to-cad 的时候期望值拉得很高觉得说一句话就能得到完美的模型。实际用下来会发现第一次生成的结果往往需要微调——可能是孔的位置偏了可能是厚度不对可能是某个圆角没加上。这很正常传统建模也是一遍遍改出来的。我的建议是把 text-to-cad 当成“快速出草稿”的工具而不是“一键出成品”的魔法。第一轮生成一个大致正确的模型然后在这个基础上手动调整或者修改描述重新生成。这样心态会好很多效率也确实比从零开始画要高。6.3 关于“格式选择”的务实建议如果你不确定最终要用什么格式我的建议是永远先导出 STEP。STEP 是信息最完整的格式保留了精确的几何定义后续想转 STL 或者 GLB 都是一行代码的事。反过来如果你先导出了 STL想再转回 STEP 就麻烦了——网格转 B-Rep 是一个逆向工程问题目前没有完美的自动化方案。所以我的工作流是text-to-cad 生成 STEP → 在 CAD 软件里检查确认 → 需要打印时导出 STL → 需要展示时导出 GLB。STEP 作为“母版”保存其他格式都是按需生成的副本。6.4 关于“批量处理”的实用技巧批量生成模型时最怕的是中间某个参数出错导致整个流程中断。我的做法是在循环里加异常捕获把出错的参数记录下来继续处理下一个最后统一查看哪些失败了。failed [] for index, row in df.iterrows(): try: model build_ring(row.to_dict()) cq.exporters.export(model, foutput_{index}.step) except Exception as e: failed.append((index, str(e))) continue if failed: print(f以下 {len(failed)} 个模型生成失败) for idx, err in failed: print(f 第 {idx} 行{err})这样即使有几十个模型也能一次性跑完不用守在电脑前盯着。失败的那几个单独排查通常都是参数缺失或者数值超出合理范围导致的。6.5 关于“几何有效性”的检查习惯生成模型之后不要急着导出先检查一下几何是否有效。cadquery 提供了isValid()方法返回 False 说明模型有破面或者自相交。这时候导出的 STL 大概率是坏的切片软件会报错。solid ring.val() if not solid.isValid(): print(警告几何无效请检查参数) else: cq.exporters.export(ring, output.step)这个检查只需要几毫秒但能帮你省下大量排查 STL 问题的时间。养成这个习惯之后你会发现很多问题在生成阶段就能发现不用等到切片或者导入其他软件时才暴露。6.6 关于“描述模板”的积累用久了之后你会发现自己经常重复描述类似的形状。这时候可以建一个“描述模板库”把常用的形状和参数格式固定下来。比如法兰盘的模板是“外径 X内径 Y厚度 ZN 个直径 D 的通孔”支架的模板是“长 X宽 Y高 Z底面四角有直径 D 的安装孔”。有了模板之后生成新模型只需要填空不用每次重新组织语言。而且模板本身也可以作为解析器的训练数据让系统越来越懂你的表达习惯。7. 从工具到工作流text-to-cad 的长期价值单独看 text-to-cad它只是一个“用文字生成模型”的小工具。但把它嵌入到完整的工作流里价值就放大了。比如在机械设计流程里它可以承担“概念建模”这一环把工程师从重复的尺寸调整中解放出来专注于更重要的结构设计和强度校核。在 3D 打印流程里它可以承担“快速原型”这一环让创意到实物的路径缩短到几分钟。我个人的体会是text-to-cad 不会取代传统 CAD 软件但它会改变你使用 CAD 的方式。以前是“打开软件 → 画草图 → 拉伸 → 打孔 → 导出”现在是“描述需求 → 生成草稿 → 导入 CAD 微调 → 导出”。前一步用自然语言快速迭代后一步用专业工具精细打磨两者配合起来效率比纯手动或者纯自动都要高。如果你还没试过 text-to-cad建议从一个最简单的形状开始——比如一个带孔的方块。感受一下从文字到模型的完整流程理解每个环节的输入输出然后再逐步增加复杂度。这个过程本身就是在建立你对“参数化思维”的理解而这种思维才是 text-to-cad 背后真正有价值的东西。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑