飞机复杂构件加工特征识别方法

文档序号:6320815阅读:523来源:国知局
专利名称:飞机复杂构件加工特征识别方法
技术领域
本发明涉及飞机复杂构件加工特征识别方法。采用该方法可对飞机结构件数字化三维模型进行整体加工特征的识别与构造,从而提取出具体的加工特征信息,用于零件的智能数控加工编程、加工工艺方案分析与毛坯自动生成等系统的设计及开发,属于飞机数字化先进制造技术领域。

背景技术
随着数控编程技术的发展,CAM(计算机辅助制造)系统具有极强的复杂几何处理能力,但是单纯依靠工艺人员的经验采用交互方式指定加工区域设置加工参数已不满足实际需要,由零件和毛坯自动生成零件的数控加工程序是数控编程技术发展的必然趋势。这要求系统能够自动获取加工区域,因此实现加工特征自动识别是实现数控加工程序自动编制的基础和关键。
飞机结构件比一般机械零件复杂,特征类型多,数量大,为减轻重量及满足其它需求,很多飞机结构件上存在各种复杂型腔、下陷、曲面等,采用现有的特征识别方法对加工特征生成合理的解释比较困难,因此生成的加工特征并不能完全满足加工要求。


发明内容
为了解决上述存在的技术问题,本发明提供一种飞机复杂构件的加工特征识别方法,该识别方法创造性地应用了刀轨分层生成技术,有效地解决了飞机结构件加工自动编程中加工区域自动获取、刀具选择和刀轨计算等关键性问题,对于基于特征识别基础上的智能数控加工编程、加工工艺方案分析与毛坯自动生成等系统的开发具有极其重要的意义。
本发明提出的加工特征自动识别方法源自于飞机整体结构件类零件实际的分层铣削加工过程,从广义上说,结构件加工可视为分层槽加工。当水平面与零件和毛坯相交截切时会在平面上产生交线。由于分层面上的交线组合形成的封闭轮廓正好对应某槽的轮廓,其中最外围的轮廓称为导引轮廓,导引轮廓的内部轮廓为该槽中的非加工区域,称为岛屿轮廓。槽切除体即为相邻两层导引轮廓与岛屿轮廓间的区域。因此,将层切法应用于加工特征识别中为解决加工特征识别问题提供了一条新的思路。
正是基于上述分层识别这一思想,本发明在构建飞机整体结构件广义槽模型的基础上提出基于广义槽分层的加工特征自动识别方法。
本发明的目的是通过下述技术方案实现的一种飞机复杂构件加工特征识别方法,该方法实现的总流程为1)零件及毛坯模型载入;2)基本信息处理;3)广义槽轮廓环构建;4)广义槽特征关联树构建;5)广义槽特征合并及类型判别。
所述的步骤2)基本信息处理,包含(1)加工坐标系建立;(2)面类型识别;(3)孔预处理;其中 所述的(1)加工坐标系建立,即根据零件类型及结构特点,判断零件加工侧个数,并为每个加工侧设定一个对应的加工坐标系; 所述的(2)面类型识别,即参照每个加工侧的加工坐标系,对零件的所有拓扑面进行面类型识别,识别方法为首先确定CAD系统中拓扑面的类型,即平面(Plane)、柱面(Cylinder)或其他类型的面(TabulatedCylinder),而对柱面、锥面、回转面及倒角面首先根据轴线方向与Z轴夹角γ大小,用公式(For.1)判断加工面类型
其中,γ为面的轴线方向n2与刀轴方向n1的夹角, 而对于平面、拔模面、列表柱面及γ=其他角度等情况再根据面的法线方向与Z轴方向的夹角α大小判断加工面类型
其中,α为面的外法线方向n2与刀轴方向n1的夹角,且β为开/闭角的最大倾斜角度; 所述的(3)孔预处理,即进行横向孔和斜向孔的删除,用于简化零件模型,以避免因为局部孔结构影响后续的特征识别,其处理的具体方法是首先在某侧加工坐标系下,由加工面类型识别结果,将圆柱面和圆锥面按照不同种类孔进行组合以构成孔特征,其中不同种类孔包括沉头孔、埋头孔、盲孔、锥孔以及圆柱孔,然后计算孔轴线与坐标系Z轴方向的夹角θ,并作以下判断<1>如果θ=0°或180°,为竖直孔;<2>如果θ=90°,为横向孔;<3>如果0°<θ<90°或90°<θ<180°,为斜向孔;最后将横向孔和斜向孔从实体模型中删除。
所述的步骤3)广义槽轮廓环构建,包括以下内容(1)层面高度排序及优化;(2)分层面创建;(3)分层求交;(4)获取交面的拓扑面;(5)构建广义槽轮廓环;其中 所述的(1)层面高度排序及优化,具体方法为首先在当前侧加工坐标系下,获取零件模型中所有拓扑顶点的坐标值(Xi,Yi,Zi),i=1,2,...,n,其中n为拓扑顶点个数;其次取出这些顶点的Z向坐标值Z1,Z2,...,Zn,并对其按照由低到高进行排序;然后判断相邻的坐标值是否满足|Zi+1-Zi|<ε,ε为精度值,取1.0e-5,如果是则视为重复并删除Zi,否则保留;最后去除重复后的高度值为Z1,Z2,...,Zm,其中0<m≤n; 所述的(2)分层面创建,即在当前侧向加工坐标系下,以坐标系XY平面为基准,以顺序化后的高度值Z1,Z2,...,Zm为偏置量,创建分层平面P1,P2,...,Pm; 所述的(3)分层面求交,即将分层平面P1,P2,...,Pm与零件模型进行求交,获取求交结果为R1,R2,...,Rm; 所述的(4)获取交面的拓扑面,获取R1,R2,...,Rm中的拓扑面,即由交面获取其包含的所有拓扑面; 所述的(5)构建广义槽轮廓环,广义槽轮廓环包含导引轮廓和岛屿轮廓,导引轮廓和岛屿轮廓都是交面中拓扑面的边界环,其具体构建方法为 <1>将由上述步骤(4)获取的单个交面中的拓扑面构建成一个面链表; <2>获取链表中各个面的最小包围盒,并根据包围盒的大小建立面关系,并按照由大至小的顺序重新排列并存储面链表; <3>遍历排序后的面链表,依次取出面的内环与包含面的外环,判断环的包容关系,组建广义槽轮廓环。
所述的步骤4)广义槽特征关联树构建,包括以下内容(1)交线依赖源面获取;(2)广义槽构建;(3)构建广义槽特征关联树;其中 所述的(1)交线依赖源面获取,即获取广义槽轮廓中的导引轮廓和岛屿轮廓环中的边线,具体获取方法为 <1>获取交线的拓扑端点,分别为起点Ps与终点Pe,先分别计算这两点到零件所有拓扑点的最小距离Ds,De;如果满足Ds<ε,其中ε为精度值,取1.0e-5,则认为起点Ps依赖源为拓扑点Vertex_PsLyingOn,否则计算Ps到零件所有拓扑边线的最小距离,取出这些距离中为最小的零件边线为Ps依赖的拓扑边线Edge_PsLyingOn;同理获取终点Pe依赖的拓扑点Vertex_PeLyingOn或拓扑边线Edge_PeLyingOn; <2>具体获取依赖源面方法 第一步如果当前交线端点依赖源都为拓扑点,即分别为Vertex_PsLyingOn,Vertex_PeLyingOn,则当前交线依赖源为零件拓扑边线,再分别找到这两拓扑点所属的零件拓扑面ListOfFaces_VerPs,ListOfFaces_VerPe,取ListOfFaces_VerPs,ListOfFaces_VerPe的公共面为当前交线所依赖的零件拓扑面;否则进入第二步; 第二步如果当前交线端点依赖源都为拓扑边线Edge_PsLyingOn,Edge_PeLyingOn,则分别获取这两条拓扑边线所属的零件拓扑面ListOfFaces_EdgePs,ListOfFaces_EdgePe,取ListOfFaces_EdgePs,ListOfFaces_EdgePe的公共面为当前交线所依赖的零件拓扑面;否则进入第三步; 第三步如果当前交线的一个端点依赖源为拓扑点Ver_LyingOn,一个端点依赖源为拓扑边线Edge_LyingOn,则同样获取拓扑点Ver_LyingOn所属的零件拓扑面ListOfFaces_Ver,以及拓扑边线Edge_LyingOn所属的零件拓扑面ListOfFaces_Edge,取ListOfFaces_Ver,ListOfFaces_Edge的公共面为当前交线所依赖的零件拓扑面; 所述的(2)广义槽构建,即构建两个层面之间的广义槽加工区域,构建方法为取上层层面与当前层面广义槽轮廓环,由交线环边线依赖的源面以及两层广义槽轮廓环各子环在纵向上的对应关系,构建广义槽,其结构模型中各个节点的巴科斯-诺尔范式(BNFBackus-Naur Form)定义形式如下 <广义槽>::=(<槽>,<标识>,[内陷],[筋],[闭角],[开角]) <槽>::=(<中心坐标>,<底面>,<侧面>,{<约束顶面>,<约束 底面>,<导引轮廓>,[岛屿轮廓]}) <标识>::=(<槽标识>|<开口标识>|<外轮廓标识>) <导引轮廓>::=(<导引线>{,<导引线>},<导引线所在零件表面> {,<导引线所在零件表面>}) …… 所述的(3)构建广义槽特征关联树,即以飞机复杂构件零件模型为根节点,广义槽为叶节点和中间节点建立广义槽特征关联树模型,实现数据的关联存储,广义槽树状结构模型中,节点横向表示同一分层面上广义槽的并列关系即兄弟关系,纵向表达广义槽间的依赖关系,也即父子关系。
所述的步骤5)广义槽合并及类型判别,包括(1)广义槽合并; (2)特征类型判别;其中 所述的(1)广义槽合并,即将不完整的广义槽特征进行合并以构建完整的加工特征,广义槽合并的条件是两个广义槽上下相邻且具有相同的侧面,合并方法为根据在广义槽特征关联树节点中包含的父子依赖关系信息,遍历广义槽特征关联树,沿着树的分支依次查找节点的父子关系,当依赖关系为共侧面依赖时将父子节点所指的广义槽合并即可; 所述的(2)特征类型判别,为广义槽合并后得到完整的加工特征树,但还需对具体的特征类型作出判断,各种加工特征类型判别方法如下 <1>槽由底面和侧面组成的有底结构,分为封闭槽、开槽,其识别规则为

有fvps(e)^frs(e)^fhs,若则f=ft,广义槽中添加岛屿槽标识;否则f=fp,广义槽中添加槽标识; <2>开口周边封闭且上下贯通的无底结构,可看成是无底的槽腔,其识别规则如下

有fvps(e)^~fhs,则f=fh,广义槽中添加开口标识; <3>内陷外轮廓或槽侧壁上凹进的槽结构,其识别规则如下有fvps(e)^frs(e)^fhps(co),则在广义槽中添加内陷,存储相应的指针; <4>外轮廓零件最大外形,其识别规则如下则f=fo,广义槽中添加外轮廓标识; <5>开/闭角与槽底面成锐角的槽侧壁为闭角,与槽底面成钝角的槽侧壁为开角,其识别规则为

有fns(e),则在广义槽中添加闭角,存储相应的指针;有fws(e),则在广义槽中添加开角,存储相应的指针; <6>筋槽顶部需加工的部分,分直顶筋、斜顶筋、曲顶筋,其识别规则为

有flos(e),且flos(e)↑fcos,则广义槽中添加筋,存储相应的面指针; 在上述规则中e表示交线,c表示交环;fvps(e)表示e所在面为竖直直纹平面;frs(e)表示e所在面为倒角面;fhs水平底面;cis岛屿轮廓;fhps(co)表示共边水平直纹平面;cgu表示导引轮廓;fns(e)表示e所在面为闭角;fws(e)表示e所在面为开角;面ftss(e)表示e所在面为斜向直纹曲面;flos(e)表示e所在面为横向直纹面;↑表示Z向高于;fcos表示共边的面;^逻辑与;~逻辑非。
本发明的有益效果在飞机复杂构件快速数控加工编程中,通过本发明中的特征识别方法有效地解决了结构件加工自动编程中加工区域获取、刀具选择和刀轨计算等基础性问题,可以实现自动设置加工区域的几何参数,规划零件的加工工艺方案等,从而明显地减少了用户交互的工作量,大大简化了数控程序的编制过程,显著地提高了数控程序编制的效率,缩短了飞机制造周期。



图1飞机复杂构件加工特征识别算法流程; 图2(a)拉伸面示意图; 图2(b)开闭角识别示意图; 图3(a)横向孔示意图; 图3(b)斜向孔示意图; 图4(a)平面与实体求交实例图; 图4(b)平面与实体求交后产生的交面图; 图5毛坯与零件的交面和交环; 图6内外交环; 图7(a)环1与环2相分离的交环关系图; 图7(b)环1直接包含环2的交环关系图; 图7(c)环1间接包含环2的交环关系图; 图8图5所示交面中拓扑面之间的关系; 图9广义槽结构模型; 图10广义槽树状结构模型; 图11广义槽基本关系示例; 图12广义槽特征关联树; 图13槽特征示意图,F1、F2、F3及F4为槽侧壁面,F5为槽底面; 图14开口特征示意图,F6、F7、F8及F9为开口侧壁面,无底面; 图15内陷特征示意图,F10、F11、F12为内陷侧壁面,F13为内陷底部面,F14为内陷顶部面; 图16外轮廓特征示意图,F15、F16、F17及F18为外轮廓侧壁面; 图17闭角特征示意图,F19为闭角面; 图18开角特征示意图,F20为开角面; 图19筋特征示意图,F21及F23为水平筋顶面,F22为斜筋顶面,F24为筋侧壁面;
具体实施例方式 下面结合附图对本发明的实施实例进行详细说明。本实施实例是在以发明技术方案为前提下进行的,本文给出了详细的实施方式和具体的实现过程,但是本发明的保护范围不限于下述实施实例。
图1所示为本发明提出的加工特征识别方法实现的具体流程,其实现步骤为1)零件及毛坯模型载入;2)基本信息处理;3)广义槽轮廓环构建;4)广义槽特征关联树构建;5)广义槽特征合并及类型判别;其中 步骤1)零件及毛坯模型载入,即载入零件及毛坯模型到现有CAD/CAM系统中; 步骤2)基本信息处理,包含以下内容(1)加工坐标系建立(S1);(2)面类型识别(S2);(3)孔预处理(S3);其中 所述的加工坐标系建立(S1),即根据零件类型及结构特点,判断零件加工侧个数,并为每个加工侧设定一个对应的加工坐标系; 所述的面类型识别(S2),即参照每个加工侧的加工坐标系,对零件的所有拓扑面进行面类型识别;根据分析总结,飞机复杂构件零件模型中的面类型如表1所示 表1面类型及所处加工特征位置

飞机复杂构件组成面的类型包括竖直直纹面、开闭角直纹面、直纹底面、圆角面及其它曲面,其中直纹面最为常见。鉴于组成飞机结构件的面以直纹面为主,异形面及复杂曲面极少,本发明主要针对直纹面进行识别。现有CAD系统所创建的模型中的面主要有柱面(CATCylinder)、球面(CATSphere)、圆环面(CATTorus)、锥面(CATCone)、非均匀B样条曲面(CATNurbsSurface)、平面(CATPlane)、回转面(CATRevolutionSurface)、列表柱面(CATTabulatedCylinder)、偏置曲面(CATOffsetSurface)、倒圆角面(CATFilletSurface)、倒角面(CATChamferSurface)、拔模面(CATDraftSurface)和扫描面(CATSweepSurface)等,这些面均是CATSurface类的派生类,通过IsATypeOf函数可以查询面的类型,进而获取该面的信息。面类型判断方法是首先确定CAD系统中面的类型,即平面(Plane)、柱面(Cylinder)或其他类型的面(TabulatedCylinder,图2(a)表示列表柱面),而对柱面、锥面、回转面及倒角面首先根据轴线方向与Z轴夹角γ大小,用公式(For.1)判断加工面类型
其中,γ为面的轴线方向n2与刀轴方向n1的夹角,而对于平面、拔模面、列表柱面及γ=其他角度等情况再根据面的法线方向与Z轴方向的夹角α大小判断加工面类型
其中,α为面的外法线方向n2与刀轴方向n1的夹角,且β为开/闭角的最大倾斜角度; 所述的孔预处理(S3),即进行横向孔和斜向孔的删除(S3),用于简化零件模型,以避免因为局部孔结构影响后续的特征识别,图3(a)所示为横向孔示意图;图3(b)为斜向孔示意图,其处理的具体方法是首先在某侧加工坐标系下,由加工面类型识别结果,将圆柱面和圆锥面按照不同种类孔进行组合以构成孔特征,其中不同种类孔包括沉头孔、埋头孔、盲孔、锥孔以及圆柱孔,然后计算孔轴线与坐标系Z轴方向的夹角θ,并作以下判断<1>如果θ=0°或180°,为竖直孔;<2>如果θ=90°,为横向孔;<3>如果0°<θ<90°或90°<θ<180°,为斜向孔;最后将横向孔和斜向孔从实体模型中删除。
步骤3)广义槽轮廓环构建,包括以下内容(1)层面高度排序及优化;(2)分层面创建;(3)分层求交;(4)获取交面的拓扑面;(5)构建广义槽轮廓环;其中 所述的层面高度排序及优化(S4),具体方法为首先在当前侧加工坐标系下,获取零件模型中所有拓扑顶点的坐标值(Xi,Yi,Zi),i=1,2,...,n,其中n为拓扑顶点个数;其次取出这些顶点的Z向坐标值Z1,Z2,...,Zn,并对其按照由低到高进行排序;然后判断相邻的坐标值是否满足|Zi+1-Zi|<ε,ε为精度值,取1.0e-5,如果是则视为重复并删除Zi,否则保留;最后去除重复后的高度值为Z1,Z2,...,Zm,其中0<m≤n; 所述的分层面创建(S5),即在当前侧向加工坐标系下,以坐标系XY平面为基准,以顺序化后的高度值Z1,Z2,...,Zm为偏置量,创建分层平面P1,P2,...,Pm; 所述的分层面求交(S6),即将分层平面P1,P2,...,Pm与零件模型进行求交,获取求交结果为R1,R2,...,Rm; 所述的获取交面的拓扑面(S7),获取R1,R2,...,Rm中的拓扑面,即由交面获取其包含的所有拓扑面; 图4为某分层面与零件相交生成的交面示例,图4(a)虚线是分层面与零件组成面的交线,图4(b)所示,零件掩藏虚线所包围的区域即为交面,交面是CAD系统的一个求交结果对象,对于一个交面,它可能同时由一个或几个拓扑面CATFace构成,如图4(b)所示的交面就包含有两个拓扑面; 所述的广义槽轮廓环构建(S8),具体如下 图5所示,图中最外层虚线包围的区域表示分层面与毛坯相交生成的交面,称之为毛坯交面;内部的网格区域是分层面与零件相交生成的交面,称为零件交面。为方便阐述和阅读,将构成毛坯交面的交环称为毛坯交环,构成零件交面的交环称为零件交环。根据交面和交环,结合实际加工情况,把最外层的交环定为导引轮廓,如图5中最外层的毛坯交环作为导引轮廓,其内一层的交环定为岛屿轮廓,如图5中的环A作为岛屿轮廓,导引轮廓与岛屿轮廓构成广义槽轮廓环,两者间的联通区域即为加工区域;然后往内一层的交环为导引轮廓,再往内一层的交环为岛屿轮廓,依此类推即可得到各个槽的轮廓,图5中的环与环形成的毛坯交环-交环A、交环B-交环D、交环C-交环H、交环E-交环F与交环G、交环I等5个空白区域,亦即该零件的加工区域,它们分别定义了5个广义槽轮廓环; <1>内外交线环若交环为组成零件交面的某拓扑面的内环,则称该交环为内交环;否则,当交环为组成零件交面的某拓扑面的外环时,则将其称为外交环;将图5中的交环用内、外交环表示,结果如图6所示; <2>交线环关系交环与交环的关系分为三种,即分离、直接包含和间接包含,如图7(a)、图7(b)、图7(c)所示; 按照上述说明,广义槽轮廓环具体构建方法为 第一步将S7获取的单个交面中的拓扑面构建成一个面链表; 第二步获取链表中各个面的最小包围盒,然后根据包围盒的大小建立面关系,并按照由大至小的顺序重新排列并存储面链表;由包围盒大小判断得出面的关系,如图8所示; 第三步遍历排序后的面链表,依次取出面的内环与包含面的外环,判断环的包容关系,组建广义槽轮廓环。
步骤4)广义槽特征关联树构建,包括以下内容(1)交线依赖源面获取;(2)广义槽构建;(3)构建广义槽特征关联树;其中 所述的交线依赖源面获取(S9),即获取广义槽轮廓中的导引轮廓和岛屿轮廓环中的边线,具体获取方法为 <1>获取交线的拓扑端点,分别为起点Ps与终点Pe,先分别计算这两点到零件所有拓扑点的最小距离Ds,De。如果满足Ds<ε,其中ε为精度值,取1.0e-5,则认为起点Ps依赖源为拓扑点Vertex_PsLyingOn,否则计算Ps到零件所有拓扑边线的最小距离,取出这些距离中为最小的零件边线为Ps依赖的拓扑边线Edge_PsLyingOn;同理获取终点Pe依赖的拓扑点Vertex_PeLyingOn或拓扑边线Edge_PeLyingOn; <2>具体获取依赖源面方法 第一步如果当前交线端点依赖源都为拓扑点,即分别为Vertex_PsLyingOn,Vertex_PeLyingOn,则当前交线依赖源为零件拓扑边线,再分别找到这两拓扑点所属的零件拓扑面ListOfFaces_VerPs,ListOfFaces_VerPe,取ListOfFaces_VerPs,ListOfFaces_VerPe的公共面为当前交线所依赖的零件拓扑面;否则进入第二步; 第二步如果当前交线端点依赖源都为拓扑边线Edge_PsLyingOn,Edge_PeLyingOn,则分别获取这两条拓扑边线所属的零件拓扑面ListOfFaces_EdgePs,ListOfFaces_EdgePe,取ListOfFaces_EdgePs,ListOfFaces_EdgePe的公共面为当前交线所依赖的零件拓扑面;否则进入第三步; 第三步如果当前交线的一个端点依赖源为拓扑点Ver_LyingOn,一个端点依赖源为拓扑边线Edge_LyingOn,则同样获取拓扑点Ver_LyingOn所属的零件拓扑面ListOfFaces_Ver,以及拓扑边线Edge_LyingOn所属的零件拓扑面ListOfFaces_Edge,取ListOfFaces_Ver,ListOfFaces_Edge的公共面为当前交线所依赖的零件拓扑面。
所述的广义槽构建(S11),即构建两个层面之间的广义槽加工区域。飞机复杂构件可看成是由主体槽腔和依附于其上的若干其它形状特征组成,其他形状特征包括筋、内陷、开角、闭角,槽腔的作用是支撑和包容其它形状特征。依据这种关系,取上层层面(S10)与当前层面广义槽轮廓环,由S9获取的拓扑面以及两层广义槽轮廓环各子环在纵向上的对应关系,构建广义槽(S11),图9是建立的广义槽结构模型,各个节点的巴科斯-诺尔范式(BNFBackus-Naur Form)定义形式如下 <广义槽>::=(<槽>,<标识>,[内陷],[筋],[闭角],[开角]) <槽>::=(<中心坐标>,<底面>,<侧面>,{<约束顶面>,<约束 底面>,<导引轮廓>,[岛屿轮廓]}) <标识>::=(<槽标识>|<开口标识>|<外轮廓标识>) <导引轮廓>::=(<导引线>{,<导引线>},<导引线所在零件表面> {,<导引线所在零件表面>}) …… 所述的构建广义槽特征关联树,即以飞机复杂构件零件模型为根节点,广义槽为叶节点和中间节点建立广义槽特征树模型,实现数据的关联存储。广义槽树状结构模型中,节点横向表示同一分层面上广义槽的并列关系即兄弟关系,纵向表达广义槽间的依赖关系,也即父子关系,图10所示的即为广义槽特征树结构模型。广义槽关联树生成步骤如下 <1>将飞机复杂构件作为根节点加入到树状结构中,将其深度值赋为0,指向父节点的指针置为NULL; <2>建第一层节点,因为采用分层识别方法,在每两个相邻的分层面上就生成一个广义槽链表(S11),同一层链表中的广义槽均为并列关系,相邻两层链表中的广义槽纵向存在依赖关系(S12),因此依次将第一层链表中的广义槽加入到树状结构中,并将其深度值赋为1,指向父节点的指针指向父槽,访问标识置为1;同时将该子槽指针添加到父槽中指向子槽节点链表的指针中; <3>从第二层广义槽链表开始,依次遍历每层广义槽链表,建立与上层节点的父子关系,并将其深度、指向父节点的指针以及与父节点的关系和访问标识置为相应的值;同时将该子环指针添加到父环中指向子环节点链表的指针中(S13)。按照此方法执行直到无层面为止(S14),最后生成广义槽特征关联树(S15),如图12所示为图11零件的广义槽特征关联树; 步骤5)广义槽合并及类型判别,包括(1)广义槽合并;(2)特征类型判别;其中 所述的广义槽合并(S16),即将不完整的广义槽特征进行合并。按照上述分层识别方法,对某些加工特征而言分层面在很多地方实际上是不需要的,导致获取不到完整的加工特征,图11所示的分层面就将左上位置的槽分成了广义槽11和广义槽21。然而对加工工艺流程设计而言,获得完整的加工特征信息是必需的,因此需要在完成上述工作的基础上进行信息组合。加工特征组合的条件是两个广义槽上下相邻且具有相同的侧面。因为在广义槽特征关联树节点中包含着父子依赖关系信息,为此只需遍历广义槽特征关联树,沿着树的分支依次查找节点的父子关系,当依赖关系为共侧面依赖时将父子节点所指的广义槽合并即可; 所述的特征类型判别(S17),广义槽合并后得到完整的加工特征树,但还需对具体的特征类型作出判断,各种加工特征类型判断方法如下 <1>槽图13所示结构,由底面和侧面组成的有底结构,分为封闭槽、开槽,其识别规则为

有fvps(e)^frs(e)^fhs,若则f=ft,广义槽中添加岛屿槽标识;否则f=fp,广义槽中添加槽标识; <2>开口图14所示结构,周边封闭且上下贯通的无底结构,可看成是无底的槽腔,其识别规则如下

有fvps(e)^~fhs,则f=fh,广义槽中添加开口标识; <3>内陷图15所示结构,外轮廓或槽侧壁上凹进的槽结构,其识别规则如下

有fvps(e)^frs(e)^fhps(co),则在广义槽中添加内陷,存储相应的指针; <4>外轮廓图16所示零件的最大外形面,则f=fo,广义槽中添加外轮廓标识; <5>开/闭角图17所示与槽底面成锐角的槽侧壁为闭角,图18所示与槽底面成钝角的槽侧壁为开角,其识别规则为

有fns(e),则在广义槽中添加闭角,存储相应的指针;

有fws(e),则在广义槽中添加开角,存储相应的指针; <6>筋图19所示槽顶部需加工的部分,分直顶筋、斜顶筋、曲顶筋,其识别规则为

有flos(e),且flos(e)↑fcos,则广义槽中添加筋,存储相应的面指针; 在上述规则中e表示交线,c表示交环;fvps(e)表示e所在面为竖直直纹平面;frs(e)表示e所在面为倒角面;fhs水平底面;cis岛屿轮廓;fhps(co)表示共边水平直纹平面;cgu表示导引轮廓;fns(e)表示e所在面为闭角;fws(e)表示e所在面为开角;面ffss(e)表示e所在面为斜向直纹曲面;flos(e)表示e所在面为横向直纹面;↑表示Z向高于;fcos表示共边的面;^逻辑与;~逻辑非。
权利要求
1.一种飞机复杂构件加工特征识别方法,其特征在于该方法实现的总流程为1)零件及毛坯模型载入;2)基本信息处理;3)广义槽轮廓环构建;4)广义槽特征关联树构建;5)广义槽特征合并及类型判别。
2.根据权利要求1所述的飞机复杂构件加工特征识别方法,其特征在于所述的步骤2)基本信息处理,包含(1)加工坐标系建立;(2)面类型识别;(3)孔预处理;其中
所述的(1)加工坐标系建立,即根据零件类型及结构特点,判断零件加工侧个数,并为每个加工侧设定一个对应的加工坐标系;
所述的(2)面类型识别,即参照每个加工侧的加工坐标系,对零件的所有拓扑面进行面类型识别,识别方法为首先确定CAD系统中拓扑面的类型,即平面(Plane)、柱面(Cylinder)或其他类型的面(TabulatedCylinder),而对柱面、锥面、回转面及倒角面首先根据轴线方向与Z轴夹角γ大小,用公式(For.1)判断加工面类型
其中,γ为面的轴线方向n2与刀轴方向n1的夹角,而对于平面、拔模面、列表柱面及γ=其他角度等情况再根据面的法线方向与Z轴方向的夹角α大小判断加工面类型
其中,α为面的外法线方向n2与刀轴方向n1的夹角,且β为开/闭角的最大倾斜角度;
所述的(3)孔预处理,即进行横向孔和斜向孔的删除,用于简化零件模型,以避免因为局部孔结构影响后续的特征识别,其处理的具体方法是首先在某侧加工坐标系下,由加工面类型识别结果,将圆柱面和圆锥面按照不同种类孔进行组合以构成孔特征,其中不同种类孔包括沉头孔、埋头孔、盲孔、锥孔以及圆柱孔,然后计算孔轴线与坐标系Z轴方向的夹角θ,并作以下判断<1>如果θ=0°或180°,为竖直孔;<2>如果θ=90°,为横向孔;<3>如果0°<θ<90°或90°<θ<180°,为斜向孔;最后将横向孔和斜向孔从实体模型中删除。
3.根据权利要求1所述的飞机复杂构件加工特征识别方法,其特征在于所述的步骤3)广义槽轮廓环构建,包括以下内容(1)层面高度排序及优化;(2)分层面创建;(3)分层求交;(4)获取交面的拓扑面;(5)构建广义槽轮廓环;其中
所述的(1)层面高度排序及优化,具体方法为首先在当前侧加工坐标系下,获取零件模型中所有拓扑顶点的坐标值(Xi,Yi,Zi),i=1,2,…,n,其中n为拓扑顶点个数;其次取出这些顶点的Z向坐标值Z1,Z2,…,Zn,并对其按照由低到高进行排序;然后判断相邻的坐标值是否满足|Zi+1-Zi|<ε,ε为精度值,取1.0e-5,如果是则视为重复并删除Zi,否则保留;最后去除重复后的高度值为Z1,Z2,…,Zm,其中0<m≤n;
所述的(2)分层面创建,即在当前侧向加工坐标系下,以坐标系XY平面为基准,以顺序化后的高度值Z1,Z2,…,Zm为偏置量,创建分层平面P1,P2,…,Pm;
所述的(3)分层面求交,即将分层平面P1,P2,…,Pm与零件模型进行求交,获取求交结果为R1,R2,…,Rm;
所述的(4)获取交面的拓扑面,获取R1,R2,…,Rm中的拓扑面,即由交面获取其包含的所有拓扑面;
所述的(5)构建广义槽轮廓环,广义槽轮廓环包含导引轮廓和岛屿轮廓,导引轮廓和岛屿轮廓都是交面中拓扑面的边界环,其具体构建方法为
<1>将由上述步骤(4)获取的单个交面中的拓扑面构建成一个面链表;
<2>获取链表中各个面的最小包围盒,并根据包围盒的大小建立面关系,并按照由大至小的顺序重新排列并存储面链表;
<3>遍历排序后的面链表,依次取出面的内环与包含面的外环,判断环的包容关系,组建广义槽轮廓环。
4.根据权利要求1所述的飞机复杂构件加工特征识别方法,其特征在于所述的步骤4)广义槽特征关联树构建,包括以下内容(1)交线依赖源面获取;(2)广义槽构建;(3)构建广义槽特征关联树;其中
所述的(1)交线依赖源面获取,即获取广义槽轮廓中的导引轮廓和岛屿轮廓环中的边线,具体获取方法为
<1>获取交线的拓扑端点,分别为起点Ps与终点Pe,先分别计算这两点到零件所有拓扑点的最小距离Ds,De;如果满足Ds<ε,其中ε为精度值,取1.0e-5,则认为起点Ps依赖源为拓扑点Vertex_PsLyingOn,否则计算Ps到零件所有拓扑边线的最小距离,取出这些距离中为最小的零件边线为Ps依赖的拓扑边线Edge_PsLyingOn;同理获取终点Pe依赖的拓扑点Vertex_PeLyingOn或拓扑边线Edge_PeLyingOn;
<2>具体获取依赖源面方法
第一步如果当前交线端点依赖源都为拓扑点,即分别为Vertex_PsLyingOn,Vertex_PeLyingOn,则当前交线依赖源为零件拓扑边线,再分别找到这两拓扑点所属的零件拓扑面ListOfFaces_VerPs,ListOfFaces_VerPe,取ListOfFaces_VerPs,ListOfFaces_VerPe的公共面为当前交线所依赖的零件拓扑面;否则进入第二步;
第二步如果当前交线端点依赖源都为拓扑边线Edge_PsLyingOn,Edge_PeLyingOn,则分别获取这两条拓扑边线所属的零件拓扑面ListOfFaces_EdgePs,ListOfFaces_EdgePe,取ListOfFaces_EdgePs,ListOfFaces_EdgePe的公共面为当前交线所依赖的零件拓扑面;否则进入第三步;
第三步如果当前交线的一个端点依赖源为拓扑点Ver_LyingOn,一个端点依赖源为拓扑边线Edge_LyingOn,则同样获取拓扑点Ver_LyingOn所属的零件拓扑面ListOfFaces_Ver,以及拓扑边线Edge_LyingOn所属的零件拓扑面ListOfFaces_Edge,取ListOfFaces_Ver,ListOfFaces_Edge的公共面为当前交线所依赖的零件拓扑面;
所述的(2)广义槽构建,即构建两个层面之间的广义槽加工区域,构建方法为取上层层面与当前层面广义槽轮廓环,由交线环边线依赖的源面以及两层广义槽轮廓环各子环在纵向上的对应关系,构建广义槽,其结构模型中各个节点的巴科斯-诺尔范式(BNFBackus-Naur Form)定义形式如下
<广义槽>::=(<槽>,<标识>,[内陷],[筋],[闭角],[开角])
<槽>::=(<中心坐标>,<底面>,<侧面>,{<约束顶面>,<约束
底面>,<导引轮廓>,[岛屿轮廓]})
<标识>::=(<槽标识>|<开口标识>|<外轮廓标识>)
<导引轮廓>::=(<导引线>{,<导引线>},<导引线所在零件表面>
{,<导引线所在零件表面>})
……
所述的(3)构建广义槽特征关联树,即以飞机复杂构件零件模型为根节点,广义槽为叶节点和中间节点建立广义槽特征树模型,实现数据的关联存储,广义槽树状结构模型中,节点横向表示同一分层面上广义槽的并列关系即兄弟关系,纵向表达广义槽间的依赖关系,也即父子关系。
5.根据权利要求1所述的飞机复杂构件加工特征识别方法,其特征在于所述的步骤5)广义槽合并及类型判别,包括(1)广义槽合并;(2)特征类型判别;其中
所述的(1)广义槽合并,即将不完整的广义槽特征进行合并以构建完整的加工特征,广义槽合并的条件是两个广义槽上下相邻且具有相同的侧面,合并方法为根据在广义槽特征关联树节点中包含的父子依赖关系信息,遍历广义槽特征关联树,沿着树的分支依次查找节点的父子关系,当依赖关系为共侧面依赖时将父子节点所指的广义槽合并即可;
所述的(2)特征类型判别,为广义槽合并后得到完整的加工特征树,但还需对具体的特征类型作出判断,各种加工特征类型判别方法如下
<1>槽由底面和侧面组成的有底结构,分为封闭槽、开槽,其识别规则为有fvps(e)∧frs(e)∧fhs,若则f=ft,广义槽中添加岛屿槽标识;否则f=fp,广义槽中添加槽标识;
<2>开口周边封闭且上下贯通的无底结构,可看成是无底的槽腔,其识别规则如下有fvps(e)∧~fhs,则f=fh,广义槽中添加开口标识;
<3>内陷外轮廓或槽侧壁上凹进的槽结构,其识别规则如下有fvps(e)∧frs(e)∧fhps(co),则在广义槽中添加内陷,存储相应的指针;
<4>外轮廓零件最大外形,其识别规则如下则f=fo,广义槽中添加外轮廓标识;
<5>开/闭角与槽底面成锐角的槽侧壁为闭角,与槽底面成钝角的槽侧壁为开角,其识别规则为有fns(e),则在广义槽中添加闭角,存储相应的指针;有fws(e),则在广义槽中添加开角,存储相应的指针;
<6>筋槽顶部需加工的部分,分直顶筋、斜顶筋、曲顶筋,其识别规则为有flos(e),且flos(e)↑fcos,则广义槽中添加筋,存储相应的面指针;
在上述规则中e表示交线,c表示交环;fvps(e)表示e所在面为竖直直纹平面;frs(e)表示e所在面为倒角面;fhs水平底面;cis岛屿轮廓;fhps(co)表示共边水平直纹平面;cgu表示导引轮廓;fns(e)表示e所在面为闭角;fws(e)表示e所在面为开角;面ftss(e)表示e所在面为斜向直纹曲面;flos(e)表示e所在面为横向直纹面;↑表示z向高于;fcos表示共边的面;∧逻辑与;~逻辑非。
全文摘要
本发明提供一种飞机复杂构件加工特征识别方法,该方法首先进行加工坐标系设定、加工面识别以及孔预处理,完成基本信息处理;其次进行分层求交并获取出每层求交结果中的交线环以及交线环之间的关系,完成广义槽轮廓环的构建;然后根据广义槽轮廓及交线依赖的源面构建广义槽,再根据广义槽轮廓纵向关系完成广义槽特征关联树的构建;最后进行广义槽合并及特征类型判别,完成整个零件加工特征的识别;该方法具有识别准确率高、速度快、占用空间小等特点,可用于飞机复杂构件的智能数控加工编程、加工工艺方案分析和毛坯自动生成等系统的设计及开发,具有良好的应用前景。
文档编号G05B19/4097GK101763069SQ20091024849
公开日2010年6月30日 申请日期2009年12月17日 优先权日2009年12月17日
发明者杜宝瑞, 陈树林, 初宏震, 郑国磊, 任文杰, 曾德标, 冯子明 申请人:沈阳飞机工业(集团)有限公司, 北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1