面向仿真结果的三角网格模型缺陷修复技术
2022-01-15李子涵万睿喆郑国磊肖怡宁于谋雨郑祖杰
李子涵 万睿喆 郑国磊 肖怡宁 于谋雨 郑祖杰
面向仿真结果的三角网格模型缺陷修复技术
李子涵1万睿喆1郑国磊1肖怡宁1于谋雨2郑祖杰2
(1.北京航空航天大学机械工程与自动化学院,北京 100083;2. 上海航天精密机械研究所,上海 201600)
针对以三角网格模型重构为基础的工序模型自动构建模式,提出了一种面向仿真结果的三角网格模型缺陷修复方法,以实现网格模型质量升级。该方法将模型缺陷分为模型错误与切削残留缺陷,总结缺陷识别方法,并分别设计算法修复模型缺陷。以此开发了模型修复工具,通过实例验证了该算法可修复网格模型缺陷。
工序模型;三角网格模型;缺陷修复
1 引言
随着航天产品制造环节全三维数字化转型升级,贯穿制造全周期的工序模型越发受到重视[1]。尽管制造过程中利用仿真技术验证工艺质量、降低出错率的方法几乎全面应用[2],但由于三维实体模型在各平台间通用性差的问题,缺少由仿真结果构建工序模型的研究。该通用性问题可通过采用三角网格模型作为存储方式解决,但仿真结果的三角网格模型是否存在错误与缺陷还有待商榷。本文在这样背景下提出了一种面向仿真结果的三角网格模型缺陷修复方法,将模型缺陷分为模型错误与切削残留缺陷,归纳仿真结果模型的各类型缺陷特征,总结缺陷识别方法,并分别设计算法修复模型缺陷,以实现网格模型质量升级。
2 基于三角网格模型重构的工序模型构建
作为航天制造领域三维工艺设计的关键内容,工序件模型不仅反映了产品及其零部件的设计信息,表现出产品的几何形状;更能体现制造信息与工艺信息,其中的工序件模型尺寸、加工参数等数据可以在实际生产中作为纠正变形带来的过切或欠切问题的有效依据。为了得到产品的工序件模型,常采用仿真模拟加工的方法。在仿真模拟加工中,工序件三维模型以三角网格模型的形式出现才具有多平台通用性。三角网格模型是一种采用小三角形面片离散地近似表示实体模型表面的三维模型,常采用STL(STereo Lithographic)文件格式储存,在增材制造、逆向工程、有限元分析等方面有广泛的应用[3],UG、CATIA都支持加工仿真结果导出为STL文件。根据工序件三角网格模型重构出实体模型应运而生。
基于三角网格模型重构的工序件模型自动构建模式的技术路线图如图1所示。
图1 技术路线图
从图1可以看出,这种工序件模型自动构建的模式实现了工序件加工过程仿真模型的实体模型重构。该模式输入在工件加工过程几何仿真过程中得到的三角网格模型,并通过三角网格信息提取、网格模型优化处理、三角网格特征识别分割与实体模型重构等步骤,自动构建工序模型。这一模式的实现方法可以简要概括为四个主要处理方法,首先,在CAM平台上导出工件加工仿真后工序件的三角网格模型作为处理对象;其次,从工艺人员对加工程序仿真验证后得到的结果中提取三角网格模型几何元素信息;再次,对网格模型进行优化处理,以提高模型质量,便于实体模型的重构,处理的问题包括修复模型生成中产生的网格错误、改善仿真加工中刀具切削残留产生细碎网格等;最后,基于三角网格特征对网格模型聚类分割,并依据分割结果确定特征面边界,构建边、面及几何元素的拓扑关系,完成实体工序模型自动构建。
面向仿真结果的三角网格模型缺陷修复技术为网格模型优化处理提供一种具体的实现方法,通过对仿真模型缺陷的归纳与定义,设计各类缺陷的检测与修复方法,得到能正确描述三维实体模型的网格模型,保证基于三角网格模型重构的工序件模型自动构建中网格分割结果、重建实体模型的可靠性。
3 三角网格模型缺陷
面向仿真结果的三角网格模型缺陷可以根据其形成阶段分为两类。一类则是在实体模型转化至三角网格模型时产生的网格模型错误:实体模型转化时的网格模型错误常出现在以STL类型文件储存中,由于实体中曲面连接的复杂性与储存浮点精度的限制,大部分STL文件都带有裂缝、孔洞、重叠等错误,具有这种先天错误的STL文件给后续的计算带来了巨大的困难:另一类是由精度误差引起的带有切削残留的仿真实体模型缺陷:刀头形状与刀轨造成的切削残留使得仿真模型与理论工序模型存在差异,如在拔模凸台侧面产生层层凸起将侧面分割为多个细碎环面,使三角网格模型带有属性突变的细碎网格面,影响特征面的识别与分割。
3.1 模型错误
STL文件存储的三角网格模型需要满足共顶点规则、取向规则和充满规则三项规则[4]以保证网格模型表示实体模型的正确性。由于三角网格模型的灵活性较强等特点和浮点计算精度受限等问题,需要在使用前检查模型质量问题。由于STL文件错误复杂且多样,本文基于对工序件仿真结果模型的分析,经UG、Creo等多平台导出测试,将仿真模型的常见错误归为六类,分别展示图2中。
图2 模型错误类型示意图
不共顶点:一对相邻的三角形公用顶点少于两个,一般是由顶点不重合导致,违反了共顶点规则;
模型漏洞:漏洞也就是缺少三角面,是三角网格最容易出现的错误。存在漏洞时,必然有网格边一侧有三角面而另一侧没有;
面片退化:三角形的三个顶点共线,面片退化为边,此时面的法矢无意义;
面片多余:在正常的网格拓扑结构的基础上多出了一些面片;
面片重叠:两个三角形完全重合或部分重合;
面片相交:一个三角形与另一个三角形相交。
3.2 切削残留
在加工过程中,工件切削残留与刀尖几何形状、圆弧半径、切削进给量与切削深度有关。数控加工仿真利用计算机技术模拟实际的加工过程,因此也保留了实际切削后的残留,使得仿真模型与理论工序模型存在差异。基于这种带有缺陷的实体模型生成的三角网格模型本身带有属性突变的细碎网格面,影响网格面类型特征判断,给工序件实体模型重构带来困难。
切削残留由大量碎面组成,这种碎面在模型存储精度较高时,大大增加了文件体积,影响了模型光滑性;而模型存储精度偏低则会产生面片重叠、面片相交、模型漏洞等大量错误。工序模型不需要切削残留这些细节信息,所以需要对三角网格模型中的残留部分进行识别、分块、光顺处理。工序件典型切削残留类型主要包括两类:
阶梯残留:主要存在于分层粗加工生成的模型侧面上,由刀具切削深度设置不当导致的垂直侧壁与拔模侧壁接刀处与几何形状不符,如图3a所示;
波纹残留:主要存在于同一层面上,由带圆角刀具步距设置较大导致的接刀处有少量材料凸起,如图3b所示。
图3 切削残留类型示意图
图4 壁板槽腔
如图4所示,加工壁板零件上槽腔时,粗加工结束后槽腔底面出现了波纹残留。模型存为STL格式的三角网格模型时,这些波纹残留的保留产生了大量碎面,严重影响了槽底面的重建,需要光顺处理。
4 识别及修复方法
4.1 模型错误识别及修复方法
4.1.1 面片相交
面片相交错误的识别可以采用使用三角形的碰撞检测算法判断实现。为提高检测效率,可以先检测有至少一个顶点位于三角形包围盒内的其它三角形,缩小需要进行碰撞检测的范围,再依次判断包围盒确定的范围之内是否有三角形与此三角形相交。
面片相交错误的修复常采用删除相交区域的三角形及其若干级邻域,再修复模型漏洞的方法。该方法的效果极度依赖删除邻域级数的选择,很难以统一的标准正确高效地修复所有面片相交。经过对仿真结果的三角网格模型的分析测试得到,在发生面片相交错误时,该类网格模型具有保留基本形状趋势的特点,由此将修复相交错误修复方法改为依据网格面的交线进行修复,修复步骤如下:
a. 删除由相交错误产生的多余网格面。多余网格面具有法矢指向模型内部的特点。
b. 将网格边移动到交线上。删除多余网格面后,模型产生了一个漏洞,将漏洞处的网格边移动到交线上,使漏洞封闭。
c. 添加新网格边。可能会产生多边形面片或者发生不共顶点错误的面片,添加新网格边将发生错误的面片重新分割,得到正确的网格面。
图5 面片相交错误修复示意图
以如图5所示的一处面片相交为例,网格面0分别与网格面1和2相交,3网格面为由于发生了相交错误而产生的额外网格面。首先,将网格面3删去;之后,计算1、2与0交线为图中虚线,将1和2的边移动到交线处;最后,检查模型于图中网格点处存在错误,添加新边将网格面分割为两个新网格面,保持网格模型的正确性。
4.1.2 其他
除面片相交外的其他五类模型错误,根据错误定义与其数据结构,将识别方法归纳如表1所示。同时参照三角网格质量检测与修复的相关文献[5]和一些常用的软件如Geomagic Studio和meshlab等,可以总结得到各类网格质量问题常用的修复方法如表1所示。
使用上述方法对导出的数控仿真结果三角网格模型中的问题修复测试后发现,该方法可以较好地修复不共顶点、模型漏洞、面片退化、面片多余和面片重叠等网格质量问题。
4.2 切削残留缺陷识别及修复方法
模型切削残留缺陷的识别与修复的效果与三角网格模型后续处理要求息息相关。本文提供了一种基于Taubin平滑算法的识别修复方法,首先从三角网格模型中提取切削残留区域轮廓,然后对模型进行网格分区,针对有切削残留缺陷的模型局部,利用Taubin滤波器重建网格顶点,过滤掉阶梯残留和波纹残留对应的局部结构,通过二次误差度量算法对细碎网格面简化,逐个区域处理直到结束。
4.2.1 识别方法
切削残留缺陷的识别采用比较刀具扫过仿真模型区域的方法。首先导入该仿真件在前序加工过程中的刀具刀轨信息,以刀具尺寸条件求出刀轨的包络体;再计算与刀轨包络体存在相交关系的网格面,即加工过程刀轨经过的面,这些网格面所在区域即为带切削残留缺陷的网格区域;最后辅以交互修正,确定带切削残留的区域。切削残留缺陷的识别结果为带缺陷的网格区域,保留区域边界,对区域内部网格点进行优化,完成后再将边界不变的该区域连接到整体模型,保证模型完整度。
4.2.2 修复方法
得到有切削残留缺陷的模型局部后,利用Taubin滤波器重建网格顶点,达到局部光顺平滑的效果,再利用网格模型二次误差简化算法将细碎网格合并,以简化模型[6]。Taubin平滑算法是三角网格模型处理的常用方法,是对Laplacian平滑算法的改进,可以在保证光顺效果的同时保留模型特征。
图6 伞状结构
Laplacian平滑算法[7]是基于伞状结构的操作[8],伞状结构如图6a所示,以三角网格中某一个顶点为中心,取与该顶点直接有边相连的顶点集合为的一阶邻域集合,表示为:
整理后顶点变化可表示为:
由此迭代更新带有切削残留缺陷的模型局部顶点后,即可得到修复切削残留的工序件三角网格模型。该阶段的修复更改了网格顶点位置,三角网格数量没有发生变化,切削残留产生的大量细碎面片问题没有解决,故要对修正的网格模型局部进行面片简化。
面片简化选用Garland[7]等人研究的二次误差简化算法,该算法以二次误差作为度量代价,通过边收缩为点、也可称合并顶点的方法实现简化。二次误差即用二次型表示顶点到周围面的误差,以此作为收缩代价。首先将模型中的三角面片表示为:
有二次基本误差矩阵:
5 验证
利用本文提出的三角网格模型修复技术,对CATIA模拟仿真加工中的一个壁板网格模型进行修复,该壁板模型及缺陷情况如图7a、图7b所示,修复后效果及修复内容如图7c、图7d所示。修复内容如表2所示。
图7 修复前后壁板模型
表2 修复内容
6 结束语
a. 提高了工序件三角网格模型质量。提出的面片相交修复方法充分利用了工序件模型特点,相较于一般网格模型修复方法效率更高。关注到切削残留缺陷的修复,多维度提升了网格质量。
b. 为基于网格模型的工序件模型自动构建奠定基础。有利于提高工序模型构建效率和规范性,增强三维设计模型在工艺与制造等环节的综合利用率,促进航天产品数控加工工艺设计过程的信息化与工业化融合。
1 郑联语,汪叔淳. 产品全生命周期的工艺质量模型与并行制造方法研究[J]. 中国机械工程,2001(5):56~60, 6
2 宁汝新,刘检华,唐承统. 数字化制造中的建模和仿真技术[J]. 机械工程学报,2006(7):132~137
3 刘杰,莫健华,黄树槐. 金属板材无模成形加工轨迹生成的研究[J]. 计算机辅助设计与图形学学报,2003(12):1502~1505
4 李江峰,钟约先,李电生. 一种基于边界缺陷的STL文件修补算法[J].机械设计与制造工程,2002(3):45~47
5 周华民,成学文,刘芬,等. STL文件错误的修复算法研究[J]. 计算机辅助设计与图形学学报,2005(4):761~767
6 陆欣. 逆向工程中数据测量噪声与三角网格滤波技术研究[D]. 南京:南京航空航天大学,2004
7 Garland M, Heckbert P S. Surface simplification using quadric error metrics[C]. In Proceedings of the 24th annual conference on Computer graphics and interactive techniques: New York: ACM SIGGRAPH, 1997, 209~216
8 王卉,黄玉清. 基于拉普拉斯算子的三角网格模型的平滑与压缩算法[J]. 计算机系统应用,2015,24(12):191~195
9 Taubin G. A signal processing approach to fair surface design[C]. In Proceedings of the 22nd annual conference on Computer graphics and interactive techniques: Los Angeles: ACM SIGGRAPH, 1995, 351~358
Defect Repair Technology of Triangular Mesh Model Oriented to Simulation Results
Li Zihan1Wan Ruizhe1Zheng Guolei1Xiao Yining1Yu Mouyu2Zheng Zujie2
(1. School of Mechanical Engineering & Automation, Beihang University, Beijing 100083; 2. Shanghai Spacelight Precision Machinery Institute, Shanghai 201600)
This paper proposes a method to repair the defects of the triangular mesh model based on the reconstruction of the triangular mesh model to achieve the quality upgrade of the mesh model. This method divides the model defects into model errors and cutting residual defects, summarizes the defect identification methods, and designs algorithms to repair model defects respectively. Based on this, a model repair tool was developed, and an example was used to verify that the algorithm can repair mesh model defects.
process model;triangular mesh model;defect repair
TP391
A
李子涵(1998),在读硕士,航空宇航制造工程专业;研究方向:数字化设计与制造。
2021-09-30