资源描述
第5章
3D网格划分
5.1 实体创建编辑划分
5. 1.1 实例:创建、编辑实体并划分3D网格
本实例描述使用HyperMesh分割实体,并利用Solid Map功能创建六面体网格的过程。模型如图5-1所示。
图5-1 模型结构
本实例包括以下内容。
l 导入模型。
l 通过面生成实体。
l 分割实体成若干个简单、可映射的部分。
l 使用Solid Map功能创建六面体网格。
STEP
01
打开模型文件。
(1)启动HyperMesh。
(2)在User Profiles对话框中选择Default(HyperMesh)并单击OK按钮。
(3)单击工具栏()按钮,在弹出的Open file… 对话框中选择solid_geom.hm文件。
(4)单击Open按钮,solid_geom.hm文件将被载入到当前HyperMesh进程中,取代进程中已有数据。
STEP
02
使用闭合曲面(bounding surfaces)功能创建实体。
(1)在主面板中选择Geom页,进入solids面板。
(2)单击()按钮,进入bounding surfs子面板。
(3)勾选auto select solid surfaces复选框。
(4)选择图形区任意一个曲面。此时模型所有面均被选中。
(5)单击Create按钮创建实体。状态栏提示已经创建一个实体。注意:实体与闭合曲面的区别是实体边线线型比曲面边线粗。
(6)单击return按钮返回主面板。
STEP
03
使用边界线(bounding lines)分割实体。
(1)进入solid edit面板。
(2)选择trim with lines子面板。
(3)在with bounding lines栏下激活solids选择器。单击模型任意位置,此时整个模型被选中。
(4)激活lines选择器,在图形区选择如图5-2所示线。
(5)单击trim按钮产生一个分割面,模型被分割成两个部分,如图5-3所示。
图5-2 选择边线 图5-3 分割实体
STEP
04
使用切割线(cut line)分割实体。
(1)在with cut line栏下激活solids选择器,选择STEP 3创建的较小的四面体,如图5-4所示。
(2)单击drag a cut line按钮。
(3)在图形区选择两点,将四面体分为大致相等的两部分,如图5-5所示。
图5-4 (1)中所选实体 图5-5 定义切割线
(4)单击鼠标中键,分割实体。
(5)选择分割后实体的下半部分,如图5-6所示。
图5-6 选择实体1
(6)使用with cut line工具按图5-7所示分割实体。
图5-7 分割实体1
(7)选择如图5-8所示实体。
(8)使用with cut line工具按图5-9所示分割实体。
图5-8 选择实体2 图5-9 分割实体2
STEP
05
合并实体。
(1)进入merge面板。
(2)在to be merged下的solids选择器激活的状态下选择如图5-10所示3个实体。
(3)单击merge按钮合并这3个实体。合并后的结果如图5-11所示。
图5-10 选择3个实体 图5-11 合并实体结果
STEP
06
使用自定义的平面(user-defined plane)分割实体。
(1)进入trim with plane>surf子面板。
(2)在with plane下的solids选择器激活的状态下选择如图5-12所示的较大的实体。
图5-12 选择实体3
图5-13 选择边线位置
(3)将平面选择器设置为N1、N2、N3。
(4)激活N1选择器,按住鼠标左键不放,移动鼠标到下图两边线中靠上的一条,此时边线高亮显示,如图5-13所示。
(5)释放鼠标左键,在此边中点处再单击左键,一个绿色的临时节点将出现在边的中点处,同时平面选择器节点N2被激活。
(6)以同样的方法激活靠下的边线,然后在边线上选择两个节点,如图5-14所示。
(7)单击trim按钮分割所选实体,模型分割后如图5-15所示。
图5-14 选择节点 图5-15 分割实体
STEP
07
使用扫略线(sweep line)分割实体。
(1)进入trim with lines子面板。
(2)激活with sweep lines栏下的solids选择器,选择如图5-16所示实体。
图5-16 选择边线和实体位置
(3)激活line list选择器,选择STEP 6中定义N1、N2和N3点所用到的边线。
(4)在sweep to下将平面选择器设置为x-axis。
(5)将plane选择器设置为sweep all。
(6)单击trim按钮分割实体。
STEP
08
使用主平面分割实体。
(1)进入trim with plane>surf子面板。
(2)在with plane下激活solids选择器,选择如图5-17所示实体。
(3)将平面选择器从N1、N2和N3转为z-axis。
(4)按住鼠标左键不放,移动鼠标至图示边线,此时被选中边线将高亮显示。
图5-17 选择边线和实体位置
(5)释放鼠标左键并在边上任意位置单击。
(6)一个紫色临时节点出现在边上,它表示基点。
(7)单击trim按钮分割实体。
(8)单击return按钮返回主面板。
STEP
09
在实体内部创建面并使用此面分割实体。
(1)通过以下任一种方式进入surfaces面板。
l 从主菜单选择Geometry > Create > Surfaces > Spline/Filler命令。
l 在Geom页面中选择surface
(2)单击按钮进入spline/filler子面板。
(3)取消选择auto create(free edge only)复选框,激活keep tangency复选框。
(4)选择如图5-18所示5条线。
(5)单击create按钮创建曲面。
(6)单击ruturn按钮返回主面板(main menu)。
(7)在Geom页面中,进入solid edit面板。
(8)进入trim with plane>surf 子面板。
(9)在with surfs下solid选择器激活状态下,在图形区选择要分割的实体。
(10)在with surfs下surfs选择器激活状态下,在图形区选择第(5)步创建的曲面。
(11)取消选择extend trimmer。
(12)单击trim按钮分割实体。
(13)单击return按钮。
(14)在Geom页面选择surfaces面板。
(15)进入spline>filler子面板。
(16)选择如图5-19所示4条线。
(17)单击create按钮。
(18)单击return按钮。
(19)从主菜单选择Geometry > Edit > Solids > Trim with Plane/Surfaces命令,进入trim with plane>surf子面板。
图5-18 选择5条边线 图5-19 选择 4条边线
(20)在with surfs栏下激活solids,单击图形区中包含此面的实体。
(21)在with surfs栏下surfs选择器激活的状态下,选择刚创建的面。
(22)取消选择extend trimmer复选框。
(23)单击trim按钮。
(24)单击return按钮返回主面板。
STEP
10
压缩模型上部分边线,以便进行网格划分。
(1)进入edge edit面板。
(2)选择(un)suppress子面板。
(3)选择lines>by geoms。
(4)激活solids选择器,选择如图5-20所示4个实体。
图5-20 选择4个实体
(5)单击add to selection。
(6)在breakangle=栏中输入45。
(7)单击suppress按钮压缩这些边。
(8)单击return按钮返回主面板(main menu)。
STEP
11
对1/8半球区进行网格划分。
(1)在工具栏单击Shaded Geometry and Surface Edges()按钮。
(2)通过以下任一种方式进入solid map面板。
l 从主菜单选择Mesh > Create > Solid Map Mesh命令,进入solid map面板。
l 在3D页面中选择solid map。
(3)选择one volume子面板。
(4)在along parameters栏下的elem size=栏中输入1。
(5)在volume to mesh栏下激活solid选择器,选择如图5-21所示小立方体。
(6)单击mesh按钮。
(7)在工具栏中单击Shaded Elements and Meshlines()按钮。
(8)选择如图5-22所示实体。
图5-21 选择小立方体 图5-22 选择实体
(9)单击mesh按钮。
(10)单击return按钮返回主面板(main menu)。
STEP
12
图5-23 选择面
利用automesh面板创建壳单元网格,控
制网格模式。
(1)通过以下任一种方式进入solid map面板。
l 从主菜单选择Mesh > Create > 2D AutoMesh命令,进入automesh面板。
l 按〈F12〉键。
(2)选择如图5-23所示的面。
(3)确认选择size and bias和Interactive。
(4)在element size=栏中输入1.0。
(5)确认mesh type设置为mixed。
(6)单击mesh按钮。
(7)在elem density栏中输入4。
(8)单击set all to,此时所有密度都设置为4。
(9)单击mesh按钮。
(10)单击return按钮返回主面板。
STEP
13
对已创建面网格的实体划分体网格。
(1)进入solid map面板。
(2)选择one volume子面板。
(3)选择如图5-24所示实体。
(4)在along parameters栏下将elem size转换为density并输入10。
(5)单击mesh按钮。
(6)旋转模型,注意观察使用automesh创建的网格模式如何控制生成实体单元,如图5-25所示。
图5-24 选择实体 图5-25 生成三维网格
STEP
14
对剩余的实体划分网格。
(1)在solid map面板选择one volume子面板。
(2)选择一个未划分网格的实体。所选实体要求与已划分网格的实体相连,以保证网格连续性。
(3)切换source shells到mixed。
(4)在along parameters栏下将density切换成elem size,输入1.5。
(5)单击mesh按钮。
(6)重复划分其余实体。
(7)单击return按钮返回主面板。
使用solid map功能可实现多个实体一次划分网格。
通过映射视图模式(mappable visualization mode)检查模型是否可以进行映射划分,如果模型可以进行映射划分,则可通过multi-solids工具对模型多个实体一次划分。下面将介绍删除模型上已划分的网格,使用solid map功能一次划分多个实体。
删除模型内所有单元。
STEP
15
(1)按〈F2〉键进入delete面板。
(2)激活elems选择器,选择all。
(3)单击delete entity按钮。
(4)单击return按钮返回主面板。
STEP
16
使用映射视图模式。
(1)在工具栏单击Shaded Geometry and Surface Edges()按钮。
(2)在geometry visualization下拉菜单中选择Mappable选项。
图5-26 映射状态图例
此时,模型中每个实体都将被渲染,实体上渲染的颜色代表其映射状态,本步的目的是检验每个实体是否具有一个或多个方向的映射性。
(3)在工具栏单击visualization options()按钮,在图形区左侧可以看到如图5-26所示映射状态图例。
各种颜色代表的映射状态解释如下。
l 1-direction:表示实体可以在一个方向映射划分网格。
l 3-direction:表示实体可以在三个方向映射划分网格。
l Ignored:表示实体需要进行分割以实现映射性。
l Not mappable:表示实体已被分割,但还需进一步分割才能达到映射状态。
(4)如图5-27所示将模型切换到映射视图模式,可以看到有一个实体具有三个方向的映射性,其余实体均具有一个方向映射性。
图5-27 模型映射状态图
STEP
17
使用multi-solid功能划分实体。
(1)进入solid map面板。
(2)选择所有实体。
(3)将source shells设置为mixed,在elem size=栏中输入1。
(4)单击mesh按钮,此时模型将被顺序划分网格。分网后的模型如图5-28所示。
图5-28 分网后的模型
5.4 四面体网格划分实例
通过以上章节的学习,已经对使用TetraMesh Process Manager进行几何清理和实体网格剖分的基本原理、方法与技巧进行了一定深度的探讨。本节将通过一个实例学习使用Tetramesh Process Manager进行零部件几何清理和四面体网格剖分的具体步骤。
本实例包含的内容有:
l 导入已有的.hm格式几何文件。
l 几何清理。
l 模型组织(小孔及其他用户自定义特征辨识)。
l 网格剖分参数设置。
l 二维网格剖分。
l 二维网格质量检查。
l 零部件四面体网格剖分。
STEP
01
启动流程。
(1)在下拉式菜单栏(Manu Bar)中选择Mesh>Creat,接着在弹出菜单中选择Tetramesh Process>Creat New命令,新建一个作业(session)。
(2)在弹出页面中,为该作业指定一个名称。如果默认为默认值,Tetramesh Process Manager会自动将该作业命名为my_session。
(3)选择一个工作文件夹(Work Folder)。
(4)单击Creat按钮。
这样就打开了Tetramesh Process,如图5-122所示。接下来将按照图中步骤完成四面体网格划分。
STEP
02
Geometry Import。
图5-122 Tetramesh Process Flow
(1)通过以下的操作,Tetramesh Process将在HyperMesh用户界面左侧的标签域(Tab Area)展开四面体网格剖分工作流(Tetramesh Process Flow)。(见图5-122)。该工作流的第一步即为几何导入(Geometry Import)左侧的复选框将自动被选中,HyperMesh用户界面下方的主菜单区域也将自动切换至与几何导入环节相关的参数。
(2)将Import Type切换至HM Model。
(3)在下方的工具栏中,单击Open .hm File()按钮打开文件,在路径<installation_directory\tutorials\hm>中选择文件tetmesh_pm.hm。
(4)单击Import按钮。此时在视图区域中,tetmesh_ pm.hm被打开,TetraMesh Process左侧的Geometry Import表示该环节已完成。
STEP
03
Geometry Cleanup。
(1)在几何模型渲染模式(Geometry Color Mode)中选择()选项,在下拉式菜单中选择By Topo,并勾选实体渲染(Shaded Geometry)()复选框。
(2)选择Edge Tools面板。
(3)单击Isolate按钮。HyperMesh将对模型中的自由边进行辨别,如图5-123所示。
(4)选择Free Edges面板,并单击Equivalence按钮。通过自由边操作,HyperMesh将一次性的合并模型中所有的自由边对。如果通过本步操作后,模型中依然有未合并的自由边对,尝试适当增加清理容差(Tolerance)的大小,并再次执行合并操作。
(5)切换回Edges Tools面板,重新单击Isolate按钮。用户界面中将弹出窗口“No Edges Found…”,表明所有的自由边都已被修复完毕。
图5-123 Edge Tools Isolate
(6)单击Display All按钮。
(7)单击ACCEPT按钮。Geometry Cleanup环节结束,其左侧的复选框中出现标识环节完成的绿色对勾。
STEP
04
Organize & Cleanup Holes。
本环节中包括小孔特征的辨识与组织,与小孔特征网格剖分相关参数的设置,包括小孔直径选择、沿孔深方向单元尺寸、孔周单元数量等。
(1)单击()按钮,将新建一个分组。
(2)在第一行D<一栏中,输入3.3。
(3)在第二行中,输入5。
(4)在第三行中,输入10。
通过预置分组的方式,在接下来将要进行的辨识和分组中,HyperMesh会把模型中所有的小孔特征按0~3.3、3.3~5以及5~10的直径范围进行分组。
(5)单击Auto Organize按钮。
如图5-124所示,模型中所有的小孔特征依照其直径的不同,完成了辨识和归类。
图5-124 小孔特征辨识及分组
(6)将HyperMesh用户界面左侧的浏览器区域由Tetramesh Process切换至原始的Model Borwser状态,可以注意到,模型中新建了3个以solidholes命名的部件(component),并分别被赋予了不同的颜色。
(7)切换回Tetramesh Process工作流界面。
(8)在Num Cirumference Elems一列,均输入12。
该参数设定了所有3组小孔特征在进入网格剖分阶段,沿孔周会剖分为12个单元。
(9)在Longitudinal Elem Size一列,均输入1。
该参数设定了所有3组小孔特征在进入网格剖分阶段,沿孔深方向单元尺寸设置为1。
(10)单击ACCEPT按钮。
小孔特征辨识及归类环节结束,其左侧的复选框中会出现标识环节完成的绿色对勾。
图5-125 小孔特征网格剖分结果
STEP
05
Mesh Holes。
进入小孔特征网格剖分环节后, Mesh Type下拉式菜单将被激活并提供R-Tria Regular和R-Trial Union Jack两种网格形态选择。
单击ACCEPT按钮。小孔特征网格剖分环节结束,如图5-125所示,其左侧的复选框中出现标识环节完成的绿色对勾。
STEP
06
Organize & Cleanup Features。
模型中除小孔特征外,往往还有某些其他特征,由于分析的需要,在几何清理和网格剖分环节需要执行独立的标准。Tetramesh Process向用户提供了用户自定义特征辨识及几何清理功能,如图5-126所示,以帮助用户处理此类问题。
图5-126 Feature Parameters Table
(1)单击()按钮。
(2)在弹出的Define New窗口中,输入faces,然后单击OK按钮。
(3)选择如图5-127所示的5个面。
(4)单击Proceed按钮。
此时,菜单将切换至Organize面板,并准备将刚才选定的5个平面移动至名为grp_Faces的部件(component)中。
(5)单击move按钮,然后单击return按钮。
(6)单击()按钮。
(7)在弹出的Define New窗口中输入TopHole,然后单击OK按钮。
(8)选择模型顶部大型圆孔结构中的曲面,如图5-128所示。
图5-127 用户自定义特征feature 图5-128 用户自定义特征TopHole
(9)单击Proceed按钮。
(10)在Organize面板中单击move按钮,然后单击return按钮。
此时,HyperMesh用户界面中的模型视图应处于图5-129的状态,包括三组小孔以及两组用户自定义特征都被归类至新建部件中,并分别被赋予了不同的颜色。
图5-129 三组小孔特征及两组用户自定义特征辨识及归类结果
(11)单击ACCEPT按钮。
STEP
07
Organize & Cleanup Fillets。步
模型中不可避免的会出现圆倒角。分析人员通常采用的手段是对圆倒角进行中心线切割,以获得更高质量的网格剖分结果。Tetramesh Process的圆倒角特征辨识及几何清理(Organize and cleanup feillets)功能向用户提供了大批量自动化进行圆倒角中心线切割的解决方案。
(1)单击components按钮。
(2)选择模型中除去三组小孔特征及两组用户自定义特征外的剩余部分(紫色)。
(3)单击Proceed按钮。
(4)将Min Radius设置为0,将Max Radius设置为5,并激活Suppress Fillet Tangent Edges选项。
(5)单击Cleanup按钮。可以注意到,模型中紫色部件中所有的圆倒角都完成了中心线切割的工作。
(6)单击ACCEPT按钮。
STEP
08
Mesh Features。步
本环节将对此前定义的两组用户自定义特征进行网格剖分。
(1)针对名为Feature的用户自定义特征,在Mesh Type下拉式菜单中选择trias选项。
(2)在Elem Size一栏中填入0.5。
(3)针对名为TopHole的用户自定义特征,在Mesh Type下拉式菜单中选择R-Trial Union Jack。
(4)在Elem Size一栏中填入0.5。
(5)单击Mesh All按钮。
(6)查看网格剖分结果。此时视图区域中的模型应与图5-130一致。
图5-130 Mesh Features结果
请注意使用R-Tria Union Jack方式和普通直角三角形模式的单元形态区别。
(7)单击ACCEPT按钮。
Organize & Cleanup。步
STEP
09
本环节将对模型中剩余部分的曲面进行归类和几何清理。几何清理的标准文件来自BatchMesher Parameter以及Element Quality Criteria Files中的清理标准。
单击ACCEPT按钮即可。
STEP
10
Mesh/Remesh步
本环节将对模型中剩余部分的曲面进行网格剖分。同样提供了包括网格形态设置(Mesh Type)以及单元尺寸设置(Element Size)设置的选项。
(1)在Element Size一栏中输入1。
(2)将Mesh Type设置为trias。
(3)单击Mesh按钮。
(4)单击ACCEPT按钮。
Elements STEP
11
Cleanup。
在完成了此前10个环节的工作后,模型中的各类曲面,包括小孔、用户自定义特征以及其他非特征化曲面都已完成了基本的几何清理和网格剖分工作。本环节需要对已有的二维网格的质量和连接性进行检查,为最终的四面体网格剖分工作做好准备。
(1)单击Components按钮。
(2)选择所有的部件,并单击Proceed按钮。
(3)保持其他参数设置不变(Min Size – 0.25, Max FeatureAngle – 60.0, Normals Angle – 150.0),单击AutoCleanup按钮。
如果用户界面中弹出如图5-131所示的界面,则表示单元质量检查及清理工作顺利结束。
图5-131 单元质量检查及清理提示
(4)如果用户对HyperMesh单元质量检查与单元编辑的功能很熟悉,也可以使用手工调整的方式完成Element Cleanup的工作。此步操作可选择进行。
(5)单击ACCEPT按钮。
TretraMesh Process Manager会在此环节中自动保存那些无法通过质量检查及最终未能完成Element Cleanup处理的低质量单元。用户任何时候都可以通过retrieve功能调出这些单元,并通过手工方式调整其形态,以保证最终TetraMesh 的顺利完成。
STEP
12
Tetra Meshing。步
作为TetraMesh Process Manager流程自动化工具的最后一个环节,TetraMesh能够帮助用户最终生成实体网格。
(1)在select trias/quads to tetra mesh下选择elems。
(2)在fixed trias/quads下选择elems。
(3)单击mesh按钮。
实体网格的剖分持续时间视硬件性能的高低和模型规模的大小,可能从数分钟至数小时不等。
(4)在HyperMesh用户界面的左侧,从Tetramesh Process Manager切换至Model Browser。
(5)在名为tetmesh的部件上右键单击,选择Isolate Only选项。
此时可以在HyperMesh视图区域中观察到网格的全貌。
(6)单击Mask()按钮。
(7)通过鼠标左键+〈Shift〉键的方式,任意选取模型中的部分单元,并将其隐藏。
(8)观察模型内部的单元形态,如图5-132所示。
图5-132 Tetramesh结果
(9)保存文件并退出。此操作可选择执行。
121
121
展开阅读全文