3. AI辅助参数化建模与几何前处理
几何前处理是仿真流程中最耗时、也最容易出错的环节。一个中等复杂度的支架模型,从CAD导入到生成可用的六面体网格,工程师往往要花掉整个仿真周期的60%以上时间,而其中大部分工作并不是"思考物理问题",而是重复性的几何清理:补面、缝合、去小圆角、抽中面、识别特征。本节要解决的核心问题是:如何用脚本把参数化几何的生成过程固化下来,再让AI承担缺陷识别、特征分类和简化决策这三类"看起来需要经验"的判断工作。
参数化几何:把模型变成可复现的函数
参数化建模的本质,是把几何体的每一个关键尺寸都写成变量,让模型成为输入参数的函数。以常见的带孔连接板为例,其几何由板长L、板宽W、板厚T、孔径D、孔位坐标(x_i, y_i)、圆角半径R等参数完全确定。用Python脚本调用几何内核(如CadQuery、pythonOCC或ANSYS SpaceClaim的脚本接口)时,代码结构大致如下:
import cadquery as cq
def make_plate(L=200, W=80, T=6, D=10, holes=None, fillet=8):
if holes is None:
holes = [(30, 0), (100, 0), (170, 0)]
plate = cq.Workplane("XY").box(L, W, T)
plate = plate.edges("|Z").fillet(fillet)
plate = (plate.faces(">Z")
.workplane()
.pushPoints(holes)
.hole(D))
return plate
part = make_plate(L=240, W=90, T=8, D=12,
holes=[(40,0),(120,0),(200,0)], fillet=10)
part.val().exportStep("plate_v2.step")
这段代码的价值不在于"少点几次鼠标",而在于三点:第一,几何完全可复现,任何人拿到脚本和参数表都能生成一模一样的模型;第二,参数扫描变得廉价,把L从200改到400只需改一个数字,配合循环即可批量生成几十个变体;第三,几何与仿真设置可以绑定,网格尺寸、边界条件位置都能随参数联动,避免"改了模型忘了改载荷位置"这类低级错误。
AI在这一步的介入方式,是充当"参数化脚本的生成器与审查者"。工程师可以用自然语言描述几何意图,例如"生成一个带三个等间距通孔的矩形板,四角倒圆角,孔中心在板中面上",由大模型输出CadQuery或OpenSCAD代码草稿,再由工程师核对尺寸逻辑。更实用的是反向能力:把一段已有的建模脚本交给AI,让它指出哪些尺寸被硬编码、哪些约束存在过定义风险、哪些特征顺序会导致后续修改失败。这类审查在人工检查时极易遗漏,而AI对代码结构的敏感度恰好能补上这一环。
缺陷识别:让AI做几何的"体检医生"
CAD模型转入仿真环境后,常见的几何缺陷包括:面与面之间存在微小缝隙(gap)、面片重叠(overlap)、法向不一致、存在自由边或非流形边、微小面(sliver face)和退化边。这些缺陷在可视化时往往看不出来,但一旦开始划分网格就会报错,或者生成质量极差的单元。
传统做法是人工逐个检查,效率低且依赖经验。更系统的做法是先用脚本做几何拓扑体检,输出一份缺陷清单,再由AI对缺陷进行分类和优先级排序。体检脚本可以统计:自由边数量、非流形边数量、面片最小面积、最短边长度、相邻面法向夹角等指标。例如设定阈值——最短边小于0.01mm、面片面积小于0.001mm²、相邻面夹角小于1°的边视为可疑特征——脚本就能自动标出问题区域。
AI在这里的作用是把"数值指标"翻译成"修复建议"。同样是自由边,出现在圆角过渡处和出现在平面拼接处,修复策略完全不同:前者通常需要重新拟合曲面或调整圆角半径,后者往往只需缝合公差内的小缝隙。把缺陷的位置、类型、周边几何特征一起交给AI,它可以给出类似"该自由边位于两个拉伸面的交线处,间隙约0.008mm,建议将缝合公差从0.001mm提高到0.01mm后重新缝合"的具体建议,而不是笼统地说"存在几何缺陷"。
特征识别与简化:在精度和效率之间做取舍
几何简化是仿真前处理中最需要判断力的环节。一个真实的发动机支架CAD模型可能包含上千个特征,其中大量小圆角、小孔、倒角对整体刚度贡献极小,却会让网格数量翻倍。简化的原则是:对仿真目标影响小的特征可以抑制,影响大的必须保留。
判断"影响大小"需要结合仿真类型。做模态分析时,小圆角对低阶频率影响通常小于1%,可以抑制;做疲劳寿命分析时,孔边和圆角处的应力集中恰恰是关注重点,必须保留甚至加密网格。AI可以基于历史仿真数据和特征参数建立分类规则:例如"孔径小于板厚的1/3且不在载荷路径上"→建议忽略;"圆角半径小于网格目标尺寸的1/2"→建议抑制;"倒角位于接触面边缘"→建议保留。这些规则不是绝对的,但能给出一个可审查的起点,工程师只需确认或调整,而不是从零判断。
实际操作中,简化后的几何必须做验证。一个实用的验证方法是:对简化前后的模型分别做一次粗网格模态分析,比较前几阶频率的偏差。如果偏差在可接受范围内(例如<3%),说明简化没有改变结构的整体动力学特性。这个验证步骤可以脚本化,把"简化—验证—回退"做成自动循环,AI则负责根据偏差结果调整简化策略。
一个可复用的前处理检查清单
把上述流程固化成检查清单,可以在每次建模时快速过一遍,避免遗漏:
| 检查项 | 判定标准(示例) | 处理动作 |
|---|---|---|
| 自由边 | 数量 > 0 | 提高缝合公差或重新拟合曲面 |
| 最短边 | < 0.01 mm | 合并顶点或抑制该特征 |
| 最小面片面积 | < 0.001 mm² | 删除或与相邻面合并 |
| 小圆角 | R < 2 mm 且不在载荷路径 | 抑制 |
| 小孔 | D < 5 mm 且非连接孔 | 忽略或等效为质量点 |
| 简化后频率偏差 | 前3阶 > 3% | 回退简化,保留关键特征 |
需要强调的是,AI给出的修复建议和简化规则始终需要人工确认。几何前处理的错误往往不会立即暴露,而是等到网格质量变差、求解不收敛或结果异常时才被发现,届时排查成本远高于事前检查。因此,把AI的输出当作"待审查的提案"而非"最终结论",是使用这类工具时应当保持的基本态度。