`MESH > Grids > Thickness > Convert` 这个功能藏在第三层菜单下面,找了半天。节点厚度转属性厚度,核心操作路径就这一条。
节点厚度一般来自Casting抽中面。`TOPO > Faces > Mid.Surface > Casting` 跑完之后,壳单元每个节点上自动带了厚度值,厚度是连续的,网格跟原几何贴合得很好。检查单元定义的时候能看到N1到N4四个节点上各有一个厚度值,这就是节点厚度。手动改的话走 `MESH > Grids > Thickness`,选节点,输厚度值,确认。
转属性厚度就是把这个逐节点的厚度值按区间归并到不同的PID下面,每个PID给一个统一的厚度值。`MESH > Grids > Thickness > Convert` 进去之后,ANSA会弹一个窗口让你设分组数量和厚度容差。分组数量决定分出来几个PID,设5就是按厚度范围均分成5档,每档对应一个新PID。厚度容差控制归并的精度,容差设太小PID数量会爆炸,设太大会把本该分开的厚度区间合并到一起,一般给0.05到0.1mm。跑完之后节点厚度全部清掉,模型里多出来几个新PID,每个PID的厚度是那一档的平均值,原来同一个PID下面的单元被重新分配到不同PID。

转换完之后要检查PID的厚度分布。在Property Manager里逐个看新建的PID,厚度值是不是跟原来节点厚度的区间对得上。漏掉的区域通常是节点厚度为零或者异常值的位置,Casting出来的模型偶尔会有几个节点厚度没算上,这些节点在Convert的时候会被跳过,对应单元留在原来的PID下面,厚度可能还是旧的默认值。检查的办法是在Property Manager里按厚度排序,厚度异常的PID单独拎出来看是哪些单元。
ANSA安装目录下面有几个现成的脚本可以配合用。`BETA_CAE_Systems\ansa_v版本号\scripts\Properties` 下面,`CreatePropsFromElThick.py` 是按单元厚度建PID,`GeometricSetThicknessToPIDThickness.py` 是把几何集的厚度赋到PID上,`PropertyThicknessDecimals.py` 是改PID厚度的小数位数。`CreatePropsFromElThick.py` 跟 Convert 功能有重叠,区别是脚本按单元逐个厚度建PID,PID数量可能非常多,Convert是按区间归并,PID数量可控。日常用Convert就够了,脚本适合需要精确控制每个单元厚度归属的场景。
之前做一个塑料件的变厚度中面,Casting跑完节点厚度从2.0到3.2连续变化,Convert设了6个分组,容差0.08。跑完之后多出来6个PID,厚度分别是2.1、2.3、2.5、2.8、3.0、3.2。Property Manager里看了一眼,3.0那个PID只有十几个单元,明显是过渡区域的,但删不掉,删了那些单元就没PID了。留着没管,导出的时候多写几个PID不影响计算。后来发现2.1那个PID的厚度跟原始几何在边缘区域差了0.15mm,原因是Convert是按节点厚度的平均值算的PID厚度,边缘区域节点厚度本身偏差就大。这个没办法,区间归并本身就是有损的,要精确就得手动调每个PID的厚度值。
路径汇总:节点厚度来源 `TOPO > Faces > Mid.Surface > Casting`,手动改 `MESH > Grids > Thickness`,转换 `MESH > Grids > Thickness > Convert`,参数设分组数量和厚度容差,检查在Property Manager里按厚度排序。脚本辅助 `BETA_CAE_Systems\ansa_v版本号\scripts\Properties` 目录下的 `CreatePropsFromElThick.py`。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删