BatchMesher 顾名思义就是批量地对零件进行划分网格,在2D网格划分方面有很明显的速度和质量优势,其实质是根据Criteria文件里面的单元质量要求和Parameters文件中的特征处理/网格划分等控制参数进行自动迭代处理。
第一部分:BatchMesher的使用流程
目前有两种方法可以打开BatchMesher。一种是从automesh面板中调用,对当前hm中的曲面进行网格划分,划分后还可以结合HyperMesh的其它工具对零件进行处理,比较灵活,适用于曲面相对较少或者网格质量要求较高的场合。
另外一种方法是从windows开始菜单下打开单独的BatchMesher,可以一次划分多个文件中的模型,适合大量零件的网格划分。划分完后也可以通过HyperMesh打开查看网格是否需要修改。
打开单独的BatchMesher后,界面上有4个标签页,简要说明如下:
1、Run Setup标签页
主要用于选择要进行网格划分的零件以及相应的输出文件和目录,并为每个文件选择配置文件。此外,可以对每个文件进行tcl脚本的选择。
2、Run Status标签页
用于查看当前网格划分的进度等信息。可以看到队列中还有多少个文件等待划分。对于已经划分好的文件可以直接点击左下方的HyperMesh按钮可以在HyperMesh中打开查看(同时也会载入对应的配置文件)。
3、Configurations标签页
用于加载和编辑用户自定义配置文件,然后可以在Run Setup选择使用这些配置文件。该标签页是发挥BatchMesher巨大威力的根本所在。
4、User Procedures标签页
主要用于加载和设置用户子程序。用户子程序也是普通的tcl脚本,不过编写的时候需要使用BatchMesher特有的一些约定。关于如何编写tcl脚本的知识可以参考【HyperMesh宝典】前面的内容或者参加澳汰尔公司的培训。
第二部分:Criteria文件介绍
Criteria文件不仅仅用于BatchMesher,还可以在QualityIndex或者element cleanup等面板中看到它的身影。
通常用户不需要设置Advanced Criteria Table,里面的加权系数和各个参数值是已经调试好的值。
单元质量只是实际单元偏离理想形状程度的一种度量,不同的求解器会有不同的定义。HyperMesh的单元质量计算方法尽可能与主流的求解器保持一致,用户也可以在上图中为不同的质量检查项目选择不同的计算方法。
2D单元部分质量检查项目的hm计算方法如下表(某些指标有多种计算方法,只列出其中一种):
• Aspect Ratio纵横比:最长边与最短边或者顶点到对边最短距离(最小标准化高度)的比值。
• Chordal Deviation弦差:近似直线段与实际曲线的最短垂向距离
• Interior Angles内角:三角形和四边形的内角
• Jacobian雅可比:雅可比反映了单元偏离其理想形状的程度。雅可比的取值范围为0.0到1.0, 雅可比矩阵的行列式关系到单元从参数空间到全局坐标空间的转换。
HyperMesh在单元的每个高斯积分点或者单元的顶点计算雅可比矩阵,并报告每个单元最小值和最大值之比。
雅可比在0.7以上时单元质量较高。可以在Check Element Settings中设定使用哪种计算方法(高斯积分点或顶点)。
• Length (min.)最小边长:
最小边长有以下两种计算方法:
1、单元最短边长:适用于四面体单元之外的所有单元;
2、顶点到对边(对于四面体单元而言是对面)的最短距离。
可以在Check Element Settings中设定使用哪种计算方法,如下图
注意:该设置同时会影响纵横比的计算方法
Skew扭曲度:扭曲度=90-MIN(a, b),其中a,b为中线与底边平行线的夹角
• Taper锥形度:表征组成四边形的两个三角形的大小关系
对于三角形单元,taper值定义为0
• Warpage翘曲角:将四边形沿着对角线分为两个三角形,这两个三角形的法向夹角就是翘曲角。该项只对四边形进行检查。
注意:将四边形沿着对角线分为两个三角形有两种分法,取较大值为单元翘曲角。
第三部分:parameters配置文件。
• 单元尺寸,导入容差和导入过程自动几何清理设置,这里的目标单元尺寸和parameters文件中的值必须相等
• 中面抽取设置
目前有中面抽取和直接中面网格两种方法都可以得到中面网格。第二种方法主要应用于注塑件等复杂结构。如果几何文件已经是中面了,这里就不要再重新抽取中面。对于钣金件推荐使用skin offset方法进行中面的抽取。
• 曲面孔处理
• 钣金件通常都有一些孔,孔的处理是一件费时费力的工作,所以BatchMesher对平面孔的处理方面有很强的自动识别-几何处理-网格划分能力。只要配置文件设置合适,孔附近就可以得到不错的网格。
可以通过半径范围把孔分成不同的范围,可以填充孔或者调整孔的半径或者在孔的周边增加washer。创建washer时还可以指定孔边的单元数以及washer的优先级。
用户需要确保按照规则得到的washer的最小单元尺寸不小于单元质量要求的最小值,最小单元尺寸的计算公式如下:
Element size = 2.radius.sin(180/#elements)
例如:半径为2.5mm的孔,如果孔边放6个单元,结果网格的最小单元尺寸为2.5mm。
可以在Compose简单验证如下:
• 输入: r=2*2.5*sin(pi/6)
• 输出: r = 2.5
孔边的单元数通常应该是大于6的偶数
Elems mode推荐使用“minimal”, 如果外径超过目标单元尺寸的140%或者小于60%,可以考虑“exact” 模式
Washer宽度推荐使用auto,因为1*radius模式可能导致单元尺寸过小或者雅可比太小。
如果两个孔的距离过近,那么系统就无法同时满足两个孔的washer要求,这时可以通过最后一列来设置哪个半径的孔具有高优先级。下图所示的是小孔优先,因而大孔的washer要求被忽略了。
如果你有哪一项设置没有理解清楚,不妨拿一个简单的零件试一试。
首先在Evolve中创建一个具有各种不同半径的孔的平面。
接下来设置相应的控制文件
然后在automesh或者在BatchMesher中进行测试,结果如下:
局部放大后
1、成功填孔并创建圆心tag
2、半径为4的孔,3层washer
3、半径30的孔,2层washer
4、两个washer设置有冲突的孔的处理结果
另外,在右上角的位置的几个孔的washer数量大于要求的层数(当然,买一送一在这里并没有什么害处),原因可能是因为孔的附近没有其它特征约束,但是这些帮助文档是没有解释的。可以自己动手验证一下,比如,在孔的附近加一个特征。重新划分后的结果如下:
再看一个logo remove的控制项,parameters文件的控制项目如下
• Logo remove
各参数的几何意义:
contour_accumulated_turn_angle:等高累积转角,帮助文件中有一段话解释
The contour_accumulated_turn_angle is the sum of angles between a letters contour straight parts. Curved parts of a contour letter are approximated by a segmented line composed of short straight segments. For completely concave contour (such as circles, quads, and hexagons) concavity factor contour_accumulated_turn_angle = 360 degrees and concavity factor = 0.
To extend the recognition and removal of a logo, the Concavity factor should be reduced.
翻译如下:等高累积转角是一个字符中等高且平直的面间的夹角的总和。弯曲部分会先用一系列直线段进行近似。对于完整的凹等高面(比如圆形,四边形或正六边形凹台),总角度的和为360,根据公式可以计算得到凹度为0。具体计算的公式恐怕只有看到源代码才能明白了。
通常你只需要知道:降低凹度可以增强logo面的识别。
选项并不难理解,但是没有实际测试一下总还是不大放心的。
直接在HyperMesh中打开一个零件,一个X字符的高度大约0.8mm,长度大约8mm
设置好参数(这次我们只处理几何,不划网格试试)
然后到automesh面板下点击mesh
得到的结果如下图所示
说明通过设置正确的参数可以找到logo曲面。
从上面的介绍不难发现,BatchMesher的设置参数的好坏和几何中的特征以及特征间的关系是密切相关的。所以针对不同的零件可能需要调整配置文件才能得到比较好的网格。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删