从有限元到Unity——有限元网格信息导出及分析

齿轮轴abaqus应力分析结果齿轮轴Unity应力云图渲染结果

有朋友问怎么从abaqus导出模型的网格信息并且与unity创作进行关联,借此机会写点自己学习工作过程中的一些经验跟大家分享,希望在提升自己的写作水平同时和各位朋友共同交流提升。

1 前言

在进入正题之前,首先说明下虽然此文章与有限元分析相关,但由于笔者并不是专门研究有限元的,只是对有限元导出的模型数据进行分析及应用。因此在此方面将会较为简略带过,但也欢迎各位进行考证与批评。
另外,由于此系列是对有限元模型在unity平台上进行三维立体化的扩展应用,因此有限元的单元类型限于体网格。

2 模型网格划分与有限元分析

为了简化演示,笔者在模型选取上使用圆杆悬臂梁一端施加固定载荷的静力学分析模型。在单元体选择方面选择体六面体进行网格生成。材料属性、载荷、边界条件等设置略过,分析后杆的应力分布如下图所示:
悬臂梁自由端受压分析结果

3 网格数据导出

接下来到了比较关键的环节——网格数据的提取导出了,在“工具”中找到“显示组”——“创建”,进入如下界面:
创建显示组选中装配体节点

将装配体的单元和节点信息保存为显示组。选择“节点”,在方法中选择“从视口中拾取”,拖拽选中所有节点后点击“另存为…”以保存节点信息;对于单元体信息,选择“单元”并用同样方法创建显示组。
保存对应的显示组

点击“工具”——“查询”,在查询对话框中“可视化”模块选择查询值,弹出界面如下。在查询值中选择“选择一个显示组”,选择对应的查询内容和显示组,查询完毕后,点击“写入文件…”导出为rpt文件。

通过查询导出网格数据

4 网格数据分析

导出的网格数据(节点、单元)均为rpt文件,本质为文本文件。打开节点信息文件内容如下,其中包括头部的模型相关信息、装配体名称、节点编号、节点坐标等信息,另外文件尾部存储相应节点分析值的信息。
导出节点数据文件内容解析 对于单元信息的rpt文件,主要内容如下,包括头部的模型相关信息、装配体实例名称、单元编号、单元类型以及组成每个单元的节点的编号。
[导出单元数据文件内容解析] 对于不同的单元类型,节点组成单元体的方式也有所不同,详细可参考:不同单元体的节点组成方式
例如,对于本文所述的圆杆模型使用的是C3D8R六面体单元,则相对的有一个单元有八个节点,对于上图编号为1的单元来说,节点1为装配体网格模型编号为57的节点,节点2对应编号为52的节点,依此类推构成单元1(可能有点不好理解,通过下图加以说明)。
单元体节点编号定义
一般地,对于四面体、楔形体或者二阶单元等单元类型,都可以通过不同单元体的节点组成方式了解其节点构成数量及形式,并对应到模型的网格节点上。后面也会写文章来阐述如何根据这两个文件转换为unity相应的模型数据,希望感兴趣的朋友能持续关注~

猜你喜欢

转载自blog.csdn.net/flatrrow/article/details/132549130