基于Open CASCADE的复杂曲面零件快速分割
2015-10-30马建伟贾振元
许 强,马建伟,贾振元
(大连理工大学 机械工程学院,大连 116024)
0 引言
复杂曲面零件作为高端设备的关键零件在航空航天、能源动力、汽车等行业有着广泛的应用。但是随着对高端装备性能需求的不断提高,关键零件的结构也愈加复杂,部分局部几何特征的加工精度也要求更高。而带有这些局部几何特征的曲面零件由于其特殊结构和难加工材料的应用加工效率较低,零件整体采用单一的加工参数很难适应高端装备的快速发展需求。以带分流小叶片的叶轮为代表,在数控加工过程中整体工艺参数受局部分流小叶片特征的限制。然而,分流小叶片加工面积占叶轮整体加工面积的比例过小,确定的整体加工工艺对分流小叶片外其他加工区域过于保守,因此严重制约了该叶轮整体的加工效率。
研究复杂曲面模型快速分割方法,将分流小叶片(局部特征)从叶轮整体(整体模型)中分离出来,并分别选取已分离的曲面和剩余加工区域上的最优加工参数,生成独立文件的加工代码,经整合最终实现数控装备上的高效加工。目前曲面分割技术还主要应用于生物医学立体图像识别[1]和逆向工程[2,3]等领域,针对提高数控加工效果的曲面分割技术很少。常用的三维曲面分割算法包括传统的分水岭算法[2,4~6]和k-means法[7]以及新兴的神经网络算法[8,9]等都是由点云驱动的复杂算法,且分割结果很难实现与数控加工后置处理器间直接有效的数据传递。
为实现具有局部特征的复杂曲面零件加工区域的快速分割,本文提出了一种算法简单但分割效果良好的特征尺寸驱动的曲面模型快速分割方法。基于Open CASCADE(OCC)应用程序框架[10],结合VC6.0编程环境,选取IGES格式作为数据接口,开发了复杂曲面加工区域快速分割系统,实现复杂曲面某些的快速分割,为具有局部特征的复杂曲面零件高效率加工奠定基础。
1 复杂曲面模型快速分割流程
将复杂曲面模型视为一组曲面片的集合,模型上的每个曲面片均可用一组特征长度线段表示,通过对特征长度线段组的排序和分类,最终实现曲面模型的快速分割。首先,将已有的待加工曲面模型转换成IGES格式并输入到OCC环境中。利用IGES文件中的裁剪曲面信息将曲面模型拆分成独立特征的曲面片。接着,利用曲面片的边界信息建立包含曲面片的特征长方体。然后,利用特征长方体包含的特征长度,对这曲面片进行排序和分组,并实现曲面模的快速分割。最后,根据分割结果将局部特征曲面提取并以IGES文件格式输出。提取出的特征与剩余加工区域可以分别在CAM环境中选取各自的最适加工参数生成加工代码,经整合后最终实现复杂曲面模型的快速加工。
2 IGES数据接口
IGES定义了一套用于CAD/CAM系统中常用的几何和非几何数据交换格式,以其独特和易于理解的文件结构被广泛的应用于各类CAD/CAM系统中。基于OCCVC实现IGES文件根代码的全部读取并转换为OCC内部可以识别的TopoDS_Shape的主要代码:
读取的IGES叶轮模型如图1所示。
图1 读入的IGES叶轮模型
在IGES文件读取过程中,文件中的曲面片裁剪曲线信息均被获取并存储在TopoDS_Shape中,结合TopExp_Explorer类提供的函数可以将一个完整的IGES模型在快速打散成一组离散曲面片集合,主要实现代码:同样,基于OCC-VC实现分割后结果的IGES输出的主要代码:
3 曲面片特征尺寸提取
为了方便特征尺寸的提取,本文定义恰好可以完全包含曲面片全部边界的长方体为该曲面片的特征长方体,并进而定义其体对角线为主特征尺寸、其长宽高为子特征尺寸,如图2所示。
图2 曲面片的特征长方体及特征尺寸组
利用存储在aFace中的曲面片的边界顶点及边界参数信息,采用NURBS曲线拟合出边界曲线方程,拟合误差即为CAD模型转换到IGES文件的误差。设边界曲线方程为,求取边界曲线长度,给定某一长度可以反求出指定长度点处的曲线参数。综合这些长度等分点及起止点的坐标信息,通过比较可以得出三个坐标轴方向的最大最小值。三个方向最大坐标值构成点P1,三个方向最小坐标值构成点P2,过此两点可以得到一个与坐标轴平行的长方体,即为本文定义的特征长方体。
边界曲线长度等分点插值主要代码:
将得到的特征长方体的长宽高和体对角线排序后存储至一个特征尺寸组中,并以此特征组作为该曲面片的唯一简易识别标识。
4 曲面模型的快速分割
4.1 快速分割结果显示
本文选取主特征尺寸作为曲面片特征的主要标志,针对主特征尺寸长度采用冒泡排序算法实现全部离散后的曲面片指针的排序。排序之后,第一个曲面片指针指向的曲面片的主特征尺寸最长,同时,排序将实现主特征尺寸相似的指针的聚集。设定相似容差,并对主特征尺寸相似的曲面片群添加相同标记。相同标记的曲面片以相同的颜色在OCC中显示,完成曲面模型的快速分割。叶轮模型的快速分割结果如图3所示。如果分割结果不满意可以适当调整容差值或增加子特征尺寸的介入以获得满意的分割结果。
图3 叶轮模型的快速分割结果
4.2 局部特征提取
在分割系统软件窗口中添加树结构,映射分割后的曲面标记值到树结构节点上,通过点选节点选显示分割后的局部特征曲面片,选中并以IGES格式输出,如4中所示的叶轮分流小叶片。
图4 提取出的分流小叶片结构
5 结束语
本文提出了一种算法相对简单但分割效果良好的基于特征尺寸的曲面模型快速分割方法。以IGES文件格式为数据接口,结合OCC-VC编程,实现了具有局部几何特征的复杂曲面零件的快速分割。通过模型分割实现各区域最适加工参数选择并输出对应的加工代码,为在数控装备上实现具有局部几何特征的复杂曲面零件的高效加工。同时,该分割系统具有的与CAD/CAM之间的数据交换能力为实现曲面零件设计、加工区分割、数控编程的闭环制造模式奠定基础。
[1] Chen X, Teoh E K.3D object segmentation using B-Surface[J].Image and Vision Computing,2005,23(14):1237-1249.
[2] Mangan A P, Whitaker R T.Partitioning 3D surface meshes using watershed segmentation[J].Visualization and Computer Graphics,IEEE Transactions on,1999,5(4):308-321.
[3] Dey T K,Giesen J,Goswami S. Shape segmentation and matching with flow discretization[M].Algorithms and Data Structures.Springer Berlin Heidelberg, 2003:25-36.
[4] Rettmann M E,Han X, Xu C, et al. Automated sulcal segmentation using watersheds on the cortical surface[J].NeuroImage, 2002,15(2):329-344.
[5] Pulla S.Curvature based segmentation of 3-dimensional meshes[D].Arizona State University,2001.
[6] Pulla S, Razdan A, Farin G. Improved curvature estimation for watershed segmentation of 3-dimensional meshes[J].IEEE Transactions on Visualization and Computer Graphics, 2001.
[7] Shlafman S,Tal A, Katz S. Metamorphosis of polyhedral surfaces using decomposition[A].Computer Graphics Forum. Blackwell Publishing, Inc[C].2002,21(3):219-228.
[8] Bhandarkar S M, Koh J,Suk M. Multiscale image segmentation using a hierarchical self-organizing map[J].Neurocomputing,1997,14(3): 241-272.
[9] Koh J, Suk M, Bhandarkar S M. A multilayer self-organizing feature map for range image segmentation[J].Neural Networks,1995,8(1):67-86.
[10] 丁伟,冯飞,吴维勇.基于Open CASCADE的点云数据的研究与实现[J].制造业自动化,2010(13):216-218.