基于图和体分解的异型零件加工特征识别方法
2023-11-10李旺刘厚才康辉民欧阳智海曹正周岳蒋冠段良辉
李旺, 刘厚才, 康辉民, 欧阳智海, 曹正, 周岳, 蒋冠, 段良辉
(1. 湖南科技大学 机电工程学院, 湖南 湘潭 411201;2. 江南工业集团有限公司 数控加工分厂, 湖南 湘潭 411207)
随着新一代信息技术与制造技术的持续融合,智能制造成为我国制造业转型升级和创新发展的突破口[1]。其中,异型零件加工工艺的自动化编程设计是实现智能制造的重要环节。异型零件是一种结构形状多样、特征复杂且不规则的机械零件。在对异型零件进行编程设计时,往往需要人工完成对其加工特征的选取,存在工作量大、加工工艺设计效率低和编程质量不稳定等问题。而特征识别是实现计算机辅助工艺规划和计算机辅助制造集成的关键,是对零件几何与拓扑信息的整合。因此,如何实现对异型零件加工特征的快速、准确识别是智能制造需要解决的关键问题。
目前,加工特征识别方法主要分为基于图分解和基于体分解两类。其中,基于图分解的方法以属性邻接图(attributed adjacency graph, AAG)和属性邻接矩阵(attributed adjacency matrix, AAM)作为特征识别的基础,可表征零件模型中面与面之间的邻接关系。如Joshi等[2]在识别零件的加工特征时,将边界表示的描述转换为AAG,其中AAG在计算机中以AAM的形式表示。在实际应用中,学者们通常会对AAG和AAM进行二次分解,以实现零件加工特征的快速识别[3-4]。周亚平等[5]采用构建三层次特殊关系邻接矩阵的特征识别方法,解决了壁板零件多特征复合的复杂相交特征识别问题。华顺刚等[6]提出通过检索和改变零件属性面邻接矩阵中的元素来识别铸件毛坯的平面和曲面特征。张生芳等[7]采用获取模型栅格高度点云数据的方法,实现了对角盒类零件模型底板和壁面特征的分离与识别。吴晓东等[8]采用AAM完成了特征子图的匹配,实现了STEP-NC的制造特征识别。此外,还有一些学者通过简化AAG或加权AAG的方法来实现对零件毛坯加工特征的快速识别[9-10]。但需要指出的是,这些方法虽然可以很好地识别零件独立的加工特征,但AAG的识别难度会随着特征面数量的增加而增大,难以有效识别零件的相交特征。
为了解决基于图分解的方法难以识别复杂加工特征的问题,基于体分解的方法通过有效减少特征体中识别面的数量,大大地降低了对加工特征表示的复杂性,同时体积分解法不存在拓扑结构变化所导致的相交特征识别困难的问题。如刘长毅[11]以基于图的布尔运算为基础,完成了体积特征的生成,从而实现了2.5维加工特征的识别。针对多重相交特征识别慢的问题,一些学者提出了识别最大加工特征的体分解方法,有效地减少了对零件的分割次数和单元体数量[12-13]。张贺等[14-15]针对轴类和盘套类零件的加工特征识别,通过选择分割面和生成加工方法链的方法,优化了传统体分解方法中分割算法复杂、分割效率低等问题。Zubair等[16]针对圆柱体零件提出了一种体分解方法,完成了对称和非对称圆柱体零件的加工特征识别。Rameshbabu等[17-18]基于体分解方法,通过优化特征的体积元素组合,实现了对零件相交特征的快速识别。但是,这类体分解方法局限于一定形状的零件,在描述复杂零件特征时会造成组合爆炸。
综上所述,尽管学者们在利用基于图分解和基于体分解的方法识别零件加工特征方面取得了一定的研究成果,但由于缺乏对特征创建的统一规范,使得几何形状不同的特征会出现相同的AAM,无法准确地表达特征信息。其次,随着零件形状的复杂化,特征体的面数量增加,使得其几何、拓扑关系变得更加复杂,从而导致零件相交特征的识别效率大大降低。
基于此,针对异型零件的加工特征识别,笔者提出了一种基于图和体分解的加工特征识别方法。首先,根据异型零件的加工特征和加工工艺,构建其加工特征库。然后,运用基于图和体分解的方法,从异型零件被加工部分的体积着手,结合布尔减运算对其相交特征进行单一化处理并建立相应的AAG;同时,构建单一特征的几何特征矩阵(geometric feature matrix, GFM)和拓扑特征矩阵(topological feature matrix, TFM)。最后,通过与加工特征库匹配来完成异型零件复杂加工特征的精确识别。
1 异型零件加工特征的分类
加工特征是指用刀具去除零件毛坯上多余材料后得到的工程所需的几何形状。为了实现加工特征的准确识别,应根据零件的实际结构和加工工艺特点,对其加工信息进行分类和规范化表达。在异型零件的制造过程中,其表面经过多次加工处理,形成了复杂的加工特征,须将复杂特征拆分为具有可加工性的单一特征,以确保加工特征识别的准确性。如图1所示,将异型零件的加工特征分为面特征、槽特征和孔特征等后再进一步细分:将面特征细分为平面、曲面、台阶面等;槽特征细分为封闭槽、半封闭槽、通槽等;孔特征细分为通孔、盲孔等。
图1 异型零件加工特征分类Fig.1 Classification of machining features of specialshaped part
2 异型零件加工特征的识别流程
为了实现异型零件加工特征的准确识别,设计了基于图和体分解的加工特征识别方法,其流程如图2所示。该识别方法主要包括三部分:特征的搜索与提取、特征矩阵的构建和特征的匹配与识别。
图2 基于图和体分解的异型零件加工特征识别流程Fig.2 Machining feature recognition flow of special-shaped part based on graph and volume decomposition
1)特征的搜索与提取。以异型零件的STEP中性文件作为系统数据输入,获取零件的点、线、面等几何和拓扑信息。
2)特征矩阵的构建。采用基于图和体分解的方法,先将异型零件中所有含凹边关系的特征转换成只有凸边关系的单一特征,以完成特征提取;然后,定义特征面的属性、位置关系和凹凸性对应的元素值,构建所有单一特征的AAG并建立相应的GFM和TFM。
3)特征的匹配与识别。将异型零件的所有单一特征的GFM和TFM与加工特征库进行匹配。若匹配成功,则输出零件加工特征的几何、拓扑信息,完成加工特征的识别。若匹配失败,则通过人工设计补充所需的特征矩阵,进而扩充加工特征库,直到实现所有加工特征的成功识别。
3 异型零件加工特征的识别算法
3.1 AAG的构造
本文采用存储异型零件三维模型几何、拓扑信息的STEP AP203文件作为数据输入。通过对STEP AP203文件进行数据提取,构建相应的AAG。AAG定义为:G=(N,E,T)。其中:N代表图节点集,E代表图连接边集,T代表图连接边的属性集。某异型零件的三维模型及其AAG(实线代表凸面,虚线代表凹面)分别如图3(a)和图3(b)所示。采用2个相邻面和相交边的矢量计算公共边的凹凸性[9,19-20]:当2个相交面的公共边为凸边时,属性值为1;当2个相交面的公共边为凹边时,属性值为0。
图3 某异型零件的三维模型和AAGFig.3 Three-dimensional model and AAG of a certain special-shaped part
3.2 基于图与体分解的处理
异型零件具有多特征复杂相交的几何结构特点。为了准确识别异型零件的复杂相交特征,采用基于图和体分解的方法将复杂特征转换成只含凸边关系的单一特征。
以封闭槽特征为例,采用获取坐标点的方式对封闭槽进行体分解。封闭槽的毛坯模型如图4(a)所示,其中每2个平面都与XOY、XOZ和YOZ平面平行。对于平行于YOZ平面的2个面,X正方向的面为F4,X负方向的面为F1。同理,可得其他4个平面。毛坯加工后形成的封闭槽如图4(b)所示,槽面依次为F7、F8、F9、F10。经布尔减运算获得封闭槽的加工体积特征,如图4(c)所示。在基于图的布尔运算中,不仅可以呈现零件模型中相邻面之间的凹凸关系,而且可将零件模型中所有含凹边关系的复杂特征分解为只含凸边关系的单一特征。
图4 封闭槽特征分解示意Fig.4 Schematic diagram of feature decomposition for enclosed slot
根据图4,封闭槽加工体积特征的提取步骤具体如下。首先,从STEP AP203文件中获取封闭槽三维模型上各顶点的坐标,并根据XOY、XOZ、YOZ平面上的最大和最小坐标值,构建封闭槽毛坯模型。然后,通过毛坯模型的顶点坐标,得到F1至F6这6个平面的方程:Ax+By+Cz=D。接着,将其余体积特征对应的顶点坐标代入上述平面方程,若顶点坐标满足平面方程,则这些顶点属于同一平面,即具有共面性,可连接形成加工体积特征面;若不满足平面方程,则这些顶点属于移除平面。构建经过体积特征面F11上的顶点且平行于毛坯模型表面F3的平面方程A(x+x0)+B(y+y0)+C(z+z0)=D,其中(x0,y0,z0)为体积特征面F11上某顶点的坐标。最后,再次将顶点坐标代入新构建的平面方程,若满足该平面方程,则这些顶点具有共面性,可连接形成加工体积特征面。
若所获得的加工体积特征仍存在凹边关系,则还须对其进行二次分解。如图5所示的由台阶面和盲孔组合而成的加工体积特征,先通过获取台阶面和盲孔面的几何、拓扑信息,计算加工体积特征面中存在的凹边关系,再对其凹边相交特征进行分割,完成加工体积特征的二次分解,即将其转换成只含凸边关系的单一特征。
图5 含相交特征的加工体积特征分解示意Fig.5 Schematic diagram of decomposition for machining volume feature containing intersecting features
综上,基于图和体分解的异型零件复杂特征处理流程如图6所示。
图6 基于图和体分解的异型零件复杂特征处理流程Fig.6 Complex feature processing process for special-shaped part based on graph and volume decomposition
3.3 GFM和TFM的构建
传统的AAM是以AAG中面与面之间的邻接关系和角度关系作为基础来构建的,但其仅对相邻2个面的凹凸性进行了描述,无法准确描述异型零件模型的细节特征。
对于图7所示的2个相似的封闭槽模型,若采用传统的AAM进行描述,这2个相似的封闭槽模型的AAG和AAM完全相同(图中“/”表示2个面为同一个面)。但是,封闭槽模型1和封闭槽模型2中的特征面F1(f1)和F2(f2)存在细微差别,而这些差别在传统AAM中无法呈现,故无法得知特征面的具体属性。为了弥补传统AAM无法精准表达零件细微加工特征的不足,本文提出了一种基于特征面关系的GFM和TFM构建方法,其中GFM侧重描述零件模型中面与面之间的位置关系,TFM侧重描述零件模型中面与面之间相邻的凹凸性。若面与面不相交,赋元素值为0。针对由n个特征面组成的只含凸边关系的单一特征,基于其特征面关系构建相应的GFM和TFM,如图8所示。其中:MG表示GFM,MT表示TFM。
图7 封闭槽的传统AAG和AAM构建Fig.7 Construction of traditional AAG and AAM for enclosed slots
图8 异型零件特征矩阵构建Fig.8 Construction of feature matrix for special-shaped part
由图8可知,GFM和TFM中的每个元素均由3个数值组成,用于定义面与面之间的关系和面的类型,其具体含义和对应数值如表1所示。表中:N1、N2表示相邻2个面的类型,包含平面和曲面两种类型,共有平面与平面、平面与曲面以及曲面与曲面三种组合;N3表示相邻面之间的关系,包含平行、相交和异向三种关系;N4表示相邻面之间的凹凸性,包含凸边和凹边两种关系。
表1 GFM和TFM中元素值的定义Table 1 Definition of element value in GFM and TFM
以图7所示的2个相似的封闭槽特征(2个封闭槽的特征面数相同)为例,基于上述GFM和TFM的构建方法,通过获取模型中面的类型和面与面之间的拓扑关系,并分析面与面之间的凹凸关系,得到封闭槽的GFM和TFM,结果如图9所示。在图9所示的特征矩阵中,虚线框内的特征矩阵表示封闭槽特征面,如特征面f6;虚线外的特征矩阵表示非封闭槽特征面,仅表达非封闭槽特征面与其他特征面的几何或拓扑关系。与传统AAM相比,GFM和TFM可以更准确地描述面与面之间的几何和拓扑关系,解决了AAM易出现无法准确表达加工特征的问题,可为异型零件加工特征的准确匹配与识别奠定基础。
图9 不同封闭槽的GFM和TFM对比Fig.9 Comparison of GFM and TFM for different enclosed slots
3.4 加工特征的匹配与识别
为了实现异型零件加工特征的自动匹配与识别,需人工设计对应的加工特征库。表2所示为人工设计的异型零件加工特征库中部分加工特征的GFM和TFM。加工特征库具有扩容性,可根据实际的加工需求人工设计补充。
表2 异型零件的加工特征库(部分)Table 2 Machining feature database of special-shaped parts (part)
异型零件加工特征的匹配与识别流程如图10所示。首先,根据得到的异型零件单一特征,构建相应的GFM和TFM,并获取其主对角元素的个数a;同时,读取加工特征库中对应加工特征的GFM和TFM中主对角元素个数b并进行对比,若a=b,则完成特征矩阵的初步筛选。然后,以与加工特征库中GFM和TFM中每行元素的数值为准,与初步筛选得到的GFM和TFM逐行进行匹配,若匹配成功,则完成对单一特征的识别。上述任一环节未成功,则须先通过人工设计补充所需的特征矩阵,进而扩充加工特征库,再进行特征矩阵的匹配,直到完成所有特征的识别。
图10 异型零件加工特征的匹配与识别流程Fig.10 Matching and recognition flow of machining features for special-shaped part
4 算法验证
根据上文所提出的方法,以Microsoft Visual Studio 2019平台为开发环境,利用SolidWorks 2019软件进行二次开发,建立基于图和体分解的异型零件加工特征识别系统,其用户界面如图11所示。以图3所示的异型零件对所设计的识别系统进行可行性验证。首先,将表2所示的加工特征的GFM和TFM添加至识别系统的加工特征库中。然后,输入图3所示异型零件的STEP中性文件,通过文件解析获取该零件的几何、拓扑信息,并基于图和体分解的方法对零件进行特征分解并建立相应的AAG,同时基于AAG构建GFM和TFM。最后,将构建的GFM和TFM与加工特征库中的GFM和TFM进行对比匹配,实现对零件加工特征的识别。
图11 异型零件加工特征识别系统运行界面Fig.11 Operation interface of machining feature recognition system for special-shaped part
系统运行结果显示,该异型零件的加工特征可分解为3个单一特征,如图12(a)所示,由上至下依次为台阶面、半封闭槽和盲孔,其对应的GFM和TFM如图12(b)所示。通过匹配发现,特征矩阵MG1和MT1与加工特征库中台阶面的GFM和TFM一一对应,即识别到台阶面特征;特征矩阵MG2和MT2与加工特征库中半封闭槽的GFM和TFM一一对应,即识别到半封闭槽特征;特征矩阵MG3和MT3与加工特征库中盲孔的GFM和TFM一一对应,即识别到盲孔特征。
图12 某异型零件的加工特征分解及其GFM和TFM构建Fig.12 Machining feature decomposition and its GFM and TFM construction of a certain special-shaped part
结果表明,基于图和体分解的异型零件加工特征识别方法能够将复杂的加工特征分解成单一特征,可有效减少特征面的数量,进而减少工作量。对于图3所示的某异型零件,利用本文识别方法可在2 s内准确识别出其所有的加工特征,验证了该方法能够快速准确地识别异型零件的加工特征。
5 结 论
1)提出了基于图和体分解的异型零件加工特征识别方法,实现了对异型零件复杂加工特征的准确、快速识别,可为智能化生产的实现提供理论依据。
2)基于体分解的方法,运用布尔减运算将异型零件的特征分解为只含凸边关系的单一特征,有效地减少了特征面的数量,大大降低了对加工特征表示的复杂性。
3)提出了用GFM和TFM来描述异型零件加工特征的方法,并定义了GFM和TFM中元素值的编码规则,解决了传统AAM易出现无法准确表示加工特征的问题。同时,采用与加工特征库匹配的方式进行加工特征的快速识别,可为后续异型零件加工工艺的自动编制提供理论基础。