对CAE工程师而言,几何修复清理是一个比较头疼的工作。因为这项工作不确定性因素很多,不仅要求工程师对几何数据和修复工具比较熟悉,对经验也有较高的要求。
相对于三维几何其它内容,几何修复清理是一门操作性和实践性较强的工作。
下面说明几种常见的几何修复清理场景:
1. 从外部导入的三维模型数据,在导入的过程中,因为转换问题比如精度,单位,数据不兼容等出现数据丢失,转换误差,模型损坏等。
2. 模型本身有问题,比如画线的时候没有使用捕捉,导致线线不连接;模型里几何应该对齐,但是因为容差导致出现细缝和小边;曲线处理不当导致模型几何之间出现干涉;模型数据不完整,导致出现实体面丢失,拓扑不完整和几何数据出错,出现自由边,自由面,重复对象等。
3. 仿真中不需要或者对网格划分影响较大几何特征,比如倒角圆角,logo等,细小边,面,体都需要在保证拓扑几何完整正确的前提下移除。
4. 无用几何数据。比如做飞机外流场仿真,只需要模型的外表面几何数据。而内部的诸如发动机零部件等都可以省去。可以直接删除内部几何,对于局部完整数据可以直接用其它模型替代。
5. 模型对象之间位置偏差,之前提到的模型之间的干涉,细缝等,对于复合材料,多物理场以及装配体,接触碰撞分析都是必须要修复的内容。
6. 深入剖析三维几何内核(4)--曲面的艺术一文中介绍了曲面相关知识,曲线的信息在转换,导入的时候更容易出问题,比如方程转换出错,连续性出错,阶次降低,在进行计算后出现容差精度问题。
一般的三维CAD软件中都会提供几何修复功能,专业的几何修复软件比如
CADDOCTOR,CADFIX 也都专门针对几何清理,还有一些专业的前处理软件比如HyperMesh,ANSA等几何修复清理也是必备功能,有些仿真软件也会提供基本的几何修复清理。但是这些软件的侧重点不太一样,CAD软件的主要目的是将几何拓扑修复干净,保证没有错误;而前处理器和仿真软件则是需要保证网格划分所需的输入几何正确。
在笔者看来,几何清理修复分为两种,分别是技术上和工程上的。
技术上是指把错误的对象修复正确,无用的对象清理干净,解决容差问题等,这个很好理解。
而工程上是指不一定要把错误的对象修复正确,而是采用一切手段将模型清理修复到一定目标即可。
举几个简单例子:
从第三方导入的模型有问题,首先想到的是将模型导入到模型创建软件中,在软件中进行编辑,这样的好处是可以无损编辑,最大可能的保留原始模型信息,比如历史信息,参数信息。也可以解决因为软件版本不同,设置不同以及机器环境等造成的问题,有点类似于常说的第一性原理,把问题解决在最开始的地方。
如果做不到的话,在导入模型后,首先进行分析,分析出错的地方,能不能删?用简单模型替代?只做部分修复?用已有的网格替代?通过简单的平移,旋转,缩放等操作解决?通过修改容差解决?设置一些异常属性,比如结构分析中当做刚体使用,对称阵列结构能不能使复 制正确的对象粘贴?等等。这些操作并不是一定要修复错误,而是保证整体模型可供后续仿真使用即可。
从研发的角度看:
拓扑相对容易修复,即按照原始定义的拓扑结构重新组织结构即可
几何是比较难修复的,尤其是转换过程中出现的错误,通常没有太好的办法,即使修复了,也仍然会有很多警告信息
需要提供模型检查工具,对于有错误或警告的内容,要尽可能给出详细的信息;即使不能修复,用户也可以根据检查报告信息给出相应的对策。
特征识别和模式识别是三维几何里比较有挑战性的工作。目前少有全自动的识别功能,依赖于一定的输入参数和人工干预。
容差系统是三维几何内核一个重要的底层系统,很多修复内容和容差系统相关。通常说的多尺度仿真在几何方面直接依赖容差系统。
总的来说,几何修复清理功能是三维几何内核一个可选模块,也是CAE/CFD前处理软件中的一个重要功能,前处理软件主要是导入几何,修复几何和生成网格,少有直接在前处理器中建模。由于该工作很大程度上依赖于业务,因此三维几何内核一般只提供比较基础的检查,修复功能,更多的是在内核的基础上建立适用业务的功能。