`Failed to attach geometry` 弹出来的时候,网格划分已经跑到一半了。Revit导出来的SAT文件拖进Workbench,Geometry前面挂了个问号,点开全是曲面片,一根梁被拆成了六个面,圆柱面碎成四个半圆。这个问题在Revit模型转仿真的时候几乎每次都会遇到,区别只是严重程度。
导入格式的选择直接决定后面要花多少时间修模型。Revit的`导出 > CAD格式 > SAT`能直接出ACIS文件,ANSYS也认这个格式,但SAT导出来的是几何造型文件,不是实体拓扑,导进去之后模型是一个整体闭合的壳,没有Body,网格划不了。用STEP AP214格式代替,Revit 2024的`导出 > CAD格式 > STEP`,导出之前在视图设置里把`实体几何`勾上,导出来的文件ANSYS能识别成实体。Parasolid的.x_t格式也可以,但Revit本身不直接支持,得走中间软件转一道。
几何修复在SpaceClaim里做比DesignModeler顺手。Workbench里右键Geometry选`Edit Geometry in SpaceClaim`,进去之后先跑一遍`Repair > Analysis > Detailed`,所有问题面红色高亮。`Repair > Merge`合并碎面,把被拆成几个半圆的圆柱面合成一个完整面。`Repair > Spot`补小孔,直径小于1mm的孔在结构分析里对结果影响不大,但会让面缝合失败。`Repair > Split Edges`把T型连接的边断开,这种边在两个面之间夹着,不处理的话后面画网格会在连接处出畸形单元。SpaceClaim 2021到2023都支持直接打开Revit 2022到2024导出的STEP文件,版本对不上的话会报`No B-Rep data in input file`,换一个兼容的版本重新导。

Revit的族类别跟ANSYS的单元类型对应关系要提前想清楚。墙和板用壳单元,在SpaceClaim里抽中面,厚度方向可以简化掉。梁和柱用梁单元,抽取线体,截面在ANSYS里单独定义。Revit里默认这些构件都是实体,一个框架结构的楼板导进来是厚度200mm的实体,如果每块板都按实体画网格,单元数量会爆炸。在SpaceClaim里用`Prepare > Mid-Surface`把板抽成面,梁和柱用`Prepare > Beam`抽成线,这一步不做的话后面网格量至少翻三倍。
之前转一个三层的办公楼模型,Revit里看着挺规整,导出来之后柱和梁的连接处全是碎面。第一遍用SAT导入,Workbench里全是曲面片,没有实体,花了一下午在SpaceClaim里一个个合并面,合并到一半发现有些面根本合不了,是Revit导出的时候在梁柱接头处生成了重叠面。换STEP AP214重新导,情况好一些,但柱子的圆柱面还是被拆成两个半圆。用`Repair > Merge`把两个半圆合上,再跑`Analysis > Detailed`检查,重叠面还剩三处,在梁底和柱顶的交接位置,手动删掉多余的面,重新缝合,才勉强过关。那天下午在等结构那边确认荷载,手机静音放桌上,屏幕隔一会儿亮一下,我一边盯着SpaceClaim的红色高亮一边想荷载什么时候能发过来。
网格划分之前再跑一遍`Geometry > Check Geometry`,确认Body图标没有问号。有问号的体在Meshing里会被自动忽略,最后算出来的结果缺部件,求解器不报错,结果全是错的,比报错还麻烦。检查完确认没有问号,网格尺寸按板厚的一半给,壳单元用SHELL181,梁单元用BEAM188,实体部分用SOLID186。Revit模型里同一个构件有时被拆成好几个Body,导入之后在Model里手动`Form New Part`合并成一个,不然接触对会多出来一堆,每个碎面之间都要定义接触,画蛇添足。
路径汇总:Revit导出`导出 > CAD格式 > STEP AP214`,勾`实体几何`。SpaceClaim修复`Repair > Analysis > Detailed`,`Merge`合面,`Spot`补孔,`Split Edges`断T型边。抽中面`Prepare > Mid-Surface`,抽梁`Prepare > Beam`。网格前`Geometry > Check Geometry`确认无问号。同一个构件的碎Body在Model里`Form New Part`合并。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删