《基于CAD模型的特征识别算法.pdf》由会员分享,可在线阅读,更多相关《基于CAD模型的特征识别算法.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103093011 A(43)申请公布日 2013.05.08CN103093011A*CN103093011A*(21)申请号 201110340827.3(22)申请日 2011.11.02G06F 17/50(2006.01)(71)申请人同济大学地址 200092 上海市杨浦区四平路1239号(72)发明人郝泳涛 楼狄明 王力生(74)专利代理机构上海光华专利事务所 31219代理人余明伟(54) 发明名称基于CAD模型的特征识别算法(57) 摘要本发明公开了一种基于CAD模型的特征识别算法,属于模型特征识别技术。该基于CAD模型的特征识别算法,包括以下步骤:。
2、(1)对模型进行预处理;(2)通过定义基面来判断模型中相交面的公共边的凹凸性;(3)通过图匹配方法识别特征。本发明有效地实现了对模型的预处理,以及边的凹凸性判断,进而达到了利用基面来实现特征识别的目的,有效提高了特征识别的效率,提高了CAD建模的应用价值。(51)Int.Cl.权利要求书1页 说明书7页 附图5页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书7页 附图5页(10)申请公布号 CN 103093011 ACN 103093011 A1/1页21.基于CAD模型的特征识别算法,其特征在于,包括以下步骤:(1)对模型进行预处理;(2)通过定义基面来判断。
3、模型中相交面的公共边的凹凸性;(3)通过图匹配方法识别特征。2.根据权利要求1所述的基于CAD模型的特征识别算法,其特征在于,所述步骤(1)包括对模型独立的表面B-rep信息进行同质化共用边;从模型的面集中去除毛坯面。3.根据权利要求2所述的基于CAD模型的特征识别算法,其特征在于,所述对模型独立的表面B-rep信息进行同质化共用边是指从模型独立的边界表示法中计算出CSG。4.根据权利要求1或3所述的基于CAD模型的特征识别算法,其特征在于,所述步骤(2)具体包括a.定义一个可以被所有其他在其法向量方向的面完全接触到的面作为基面;b.根据模型中基面的数量,将具有基面不同数量这一特征分为SBF、。
4、NBF和MBF;c.找出模型中的SBF并消除。5.根据权利要求4所述的基于CAD模型的特征识别算法,其特征在于,所述找出模型中的SBF并消除的步骤如下:首先,生成模型的曲面集,并通过连接性在曲面集中生成面片组合;其次,对每个面片组合验证CSG规则;接着,基面检测;然后,通过侧面在基面上形成的链或环的形状,识别具体的特征类型;最后,从曲面集消除SBF。6.根据权利要求5所述的基于CAD模型的特征识别算法,其特征在于,对每个面片组合验证CSG规则的方法为设边、点、面分别为E、V、F,判断F+V-1E是否成立;若成立,则进行基面检测,反之,则通过图匹配方法识别特征。7.根据权利要求5或6所述的基于C。
5、AD模型的特征识别算法,其特征在于,所述基面检测包括下列步骤:首先,定义SEiM,i1,2.n为曲面M的第i条边的属性;然后,通过公式来表示拥有i条边的面A和拥有j条面B的交互关系;最后,通过公式来判断面A是否为基面,其中,k为可获得的实体-边关系的数目;如果检测到基面,则根据其基面法向量来排序;反之,则通过图匹配方法识别特征。8.根据权利要求7所述的基于CAD模型的特征识别算法,其特征在于,所述步骤(3)具体包括先将NBF和MBF转换为EAAG图,再通过图匹配方法识别特征。权 利 要 求 书CN 103093011 A1/7页3基于 CAD 模型的特征识别算法技术领域0001 本发明涉及一种。
6、特征识别算法,具体地说,是涉及一种基于CAD模型的特征识别算法。背景技术0002 CAD模型的应用是建立在其准确无误地处理基础上的,但是,在实际建模过程中,却存在很多难以解决或者解决效果难以尽如人意的问题:0003 (1)在模型中,两个相邻的表面(Si,Sj,i1,2,3.n,j1,2,3.n,且ij)可能在软件间模型转换后不能彼此缝合,例如错误!未找到引用源。所示。Si和Sj的是交互的,但每个都有独立的边和顶点,这将导致后续处理的模糊性;0004 (2)输入模型的面并非用于加工的生成的面,它还存在许多毛坯面,必须对其进行处理,才能对模型的特征进行识别;0005 (3)处理后的模型,其特征面之。
7、间存在凹凸不定的连接关系,要识别模型的特征,必须准确判断特征面的连接关系。发明内容0006 本发明的目的在于提供一种基于CAD模型的特征识别算法,解决现有技术中存在的上述问题,达到准确识别特征的目的。0007 为了实现上述目的,本发明采用的技术方案如下:0008 基于CAD模型的特征识别算法,包括以下步骤;0009 (1)对模型进行预处理;0010 (2)通过定义基面来判断模型中相交面的公共边的凹凸性;0011 (3)通过图匹配方法识别特征。0012 进一步地,所述步骤(1)包括:对模型独立的表面B-rep信息进行同质化共用边;从模型的面集中去除毛坯面。其中,所述对模型独立的表面B-rep信息。
8、进行同质化共用边是指从模型独立的边界表示法中计算出CSG。0013 再进一步地,所述步骤(2)具体包括:a.定义一个可以被所有其他在其法向量方向的面完全接触到的面作为基面;b.根据模型中基面的数量,将具有基面不同数量这一特征分为SBF、NBF和MBF;c.找出模型中的SBF并消除。0014 其中,所述找出模型中的SBF并消除的步骤如下:首先,生成模型的曲面集,并通过连接性在曲面集中生成面片组合;其次,对每个面片组合验证CSG规则;接着,基面检测;然后,通过侧面在基面上形成的链或环的形状,识别具体的特征类型;最后,从曲面集消除SBF。0015 上述步骤中,对每个面片组合验证CSG规则的方法为:设。
9、边、点、面分别为E、V、F,判断F+V-1E是否成立;若成立,则进行基面检测,反之,则通过图匹配方法识别特征。基面检测包括下列步骤:首先,定义SEiM,i1,2.n为曲面M的第i条边的属性;说 明 书CN 103093011 A2/7页4然后,通过公式来表示拥有i条边的面A和拥有j条面B的交互关系;最后,通过公式来判断面A是否为基面,其中,k为可获得的实体-边关系的数目;如果检测到基面,则根据其基面法向量来排序;反之,则通过图匹配方法识别特征。0016 更进一步地,所述步骤(3)具体包括先将NBF和MBF转换为EAAG图,再通过图匹配方法识别特征。0017 与现有技术相比,本发明的有益效果在于。
10、:通过对模型的同质化共用边、去毛坯面、边的凹凸性判断等处理方法,有效地提供了CAD模型中特征的识别效率和准确率,为模型的应用奠定了坚实的基础,保证了CAD建模的实际应用价值。附图说明0018 图1为模型转换后不能彼此缝合的两个面的示意图。0019 图2为模型中成一定角度的两个面的示意图。0020 图3为拥有一个基面的模型示意图。0021 图4为无基面的模型示意图。0022 图5为拥有多个基面的模型示意图。0023 图6为两条边合并的模型示意图。0024 图7为基面被分成两个凸多边形的模型示意图。0025 图8为模型中面与边的扩展属性示意图。0026 图9为处理MFAG时交互实体为线的模型示意图。
11、。0027 图10为处理MFAG时交互实体为面的模型示意图。0028 图11为拥有同向基面法向量的MBF。0029 图12为MBF识别流程图。0030 图13为本发明的整体流程示意图。具体实施方式0031 下面结合附图与实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。0032 实施例0033 如图13所示,本发明所述的特征识别算法,首先是对模型的B-rep信息进行预处理,包括同质化共用边和去毛皮面处理。0034 在进行具体的特征识别之前,目标曲面模型应该实体造型工具中间缝合,以避免额外的操作。在实际操作中,设计,分析和制造所使用的模型总是简单的曲面模型,而不是实体模型。根据。
12、目前的讨论,同质化意味着由独立的表面B-rep信息计算CSG(面-边-点)。0035 同质化一般应用在一组曲面中,服务于特征识别的曲面模型在固体模型中正确的缝合,以避免在进行特征识别之前多余的缝合操作。一个同质化后的CAD曲面集可以在预处理中保存计算,生成特征数据可以为这样的活动减少循环时间,所以,同质化意味着从独立的边界表示法中计算出CSG。0036 毛坯面是输入模型的面,它们并非用于加工的生成面,可以从曲面集里面消除。这说 明 书CN 103093011 A3/7页5些毛坯面,常见的处理方式有位置比较、配合零件信息输入和交汇检测,可从表面设置消除它们,等待后续处理。0037 在完成预处理之。
13、后,即可将特征识别算法应用到B-rep模型中,将B-rep模型转化为属性链接图AAG或扩展属性链接图EAAG,然后通过图匹配识别特征。在这个过程中,判断边的凹凸性是必须的,正如错误!未找到引用源。所示的面,公式(1)显示了该两个面所成的角度。0038 0039 这个判断步骤非常耗时间,本发明提供了一种新的方法,来处理这个问题,具体方法如下:0040 定义一个可以被所有其他在其法向量方向的面完全接触到的面为基面。正如图3所示,型腔,直切槽,台阶,盲槽和盲阶,都是拥有基面(阴影部分)的特征;在图4中,通槽没有任何基面;而图5中的模型则拥有多个基面。0041 上述这些特征被分为以下三种类型:单基面特。
14、征(SBF)、无基面特征(NBF)和多基面特征(MBF),错误!未找到引用源。、图4和图5分别属于以上三种类型。0042 经分析,拥有N个面的单基面特征SBF,其边、顶点和面满足0043 F+V-1E (2)0044 该关系最初由欧拉提出,它是一个被广泛接受的3D特征中面、边和点的关系式,适用于开放式凸多面体。但是,并非所有的NBF和MBF都能够满足这个公式,而SBF是众多模型中最常见到的特征,因此,首先处理SBF是非常重要的。2.5D的几何特征是通过在第三个方向拉伸一个2D特征,即一个SBF对应一个2.5D的特征,它有一个基面。SBF的确切特征类型是未知的,需要识别。0045 我们的方法就是。
15、,首先找到SBF,从曲面集中消除他们,再处理剩下的NBF和MBF特征。0046 下面详细说明SBF处理。0047 基面检测在特征识别中非常重要,它可以在很大程度上降低了搜索空间。0048 设一个实体-边属性由SE表示的。如果曲面M有i个边,则关系到面M的实体-边的属性由SEiM,i1,2.n来表示。0049 同一个特征中,每两个交互的面有一条共用边。所以,如果分别拥有i个边的面A和拥有j个面B是交互的(拥有共用边),则他们满足如下关系0050 0051 这个等式在检测交互中非常有用,当边相同时,SEiA和SEjB之间的差会产生零值,转而将会使后续的连乘积产生零值。因此,这个关系式可以用于检查一。
16、个面是否基面。一个基面满足下列关系:0052 0053 其中,k为可获得的实体-边关系的数目。该关系式意味着面A于所有的其他面都相交互,根据定义,面A即为基面。使用SEiASEjW找出所有公共边,其中W表示任何除了面A以外的面。所有这样的边的集合即表示面A。每个相交操作计算出公共边,每个说 明 书CN 103093011 A4/7页6操作生成一个详细的共用边的集,以帮助表示特征基面。0054 在基面被检测出后,所有的侧面都可以根据其连接性找到。他们与基面的交互边有时候形成环,例如型腔的基面;有时候形成链,例如盲阶。0055 假设面B是基面,面K是侧面,交互边被定义为iEm,则存在0056 iE。
17、mSEiBSEjK(5)0057 iEm的并集将会形成一个环,一个或一个以上的链,因特征而异。基面可能拥有多于相交边的边数,这意味着,一些属于基面的边不属于任何一个侧面。将非交互边表述为nEn和将基面拥有的边表示为bEw,则下面等式有效。0058 bEwiEm+nEn (6)0059 非交互边和他们之间的关系如表1所示。根据nE的个数以及他们之间的关系,具体的特征类型可以被判断出来。这些特征都可以在基面的法向量方向被制造。0060 0061 如前所述,SBF中也被称为2.5D特征,是由在第三方像抽出基面形成的。因此,在确定了特征的确切类型后,下面的工作是通过处理基面来识别特征子分类。0062 。
18、对于一个标准特征,例如一个拥有长方形基面的型腔,将基面与先前预定义的矩形形状相比较是非常容易的。即使是非标准特征,例如一个拥有五角型基面的型腔,只要预先定义了五角形,特征也是容易被识别出来的。预定义的形状包括基面的几何信息,包括基面边的个数,交互边的夹角等。基面匹配规则可以是明确的,也可以是启发式的。但总有一些例外,特征可能并不是一个单一的标准特征,而是由一些标准特征交互形成的。比如:基面形状是一个拥有两个钝角(A1和A2)的凹多边形,这些钝角是由于特征交互造成的。本文提出一个方法来处理这些凹多边形。0063 首先,将原本属于一条边的边合并起来。如果两条边满足如下条件,就可以被合并:1)这些边。
19、有相同的直线方程;2)每条这样的边都可以延伸到另一个而不被其余边阻挡。图6给出了一个合并两条边的例子,例如边E1和E2可以合并形成新的边E12。然后用E12替换E1和E2。基面已被分成两个凸多边形,如图7所示。0064 其次,如果基面多边形在合并后仍然存在钝角,则将这些钝角划分为180 +锐角,这意味着延长一个角度的一边。0065 在处理完基面以后,预先定义的形状规则可以应用到每个划分中(每个划分现在都是凸多边形)。这些识别出来的SBF将会被从曲面集中取出,而留下NBF和MBF待处理。说 明 书CN 103093011 A5/7页70066 本文在提出了识别交互特征的同时,也给出CAPP序列的。
20、方法,来处理NBF和MBF。0067 一、建立MFAG0068 为了提取加工零件的几何形状,我们采用制造面邻接图(MFAG)来表示属性以及它们之间的关系,除了拓扑关系,我们还需要捕捉相邻面的几何关系。按照既定的几何特征拓扑模型,边和面的定义都是必要的。0069 属性邻接图(AAG)Joshi和Chang提出的。定义需要处理的面的AAG为G,其中Ffn|nN是加工表面集,表示所有的特征表面;Eem|mN是边集,对应的面集F中每两个相邻表面之间的关系;Aam|mN是边的属性集,am对应于em并显示em凹凸性。凹凸性的定义是:如果在公式1里定义德两个面之间的角,超过180度,边就是凸边,凹凹属性的值。
21、是1,否则边是凹边,属性值为0。0070 但对与识别交互特征而言,只有面和边的信息是不够的,我们将AAG图扩展为一个扩充版本扩展属性邻接图EAAG。扩展的属性根据不同的算法目标而有所不同。在本实施例中,我们的扩展属性为5位整数,如下图8所示。0071 在图8中,b1表示了两个表面之间的边的凹凸性,1是凹,0是凸;b2表示了该面是否有划分面,1是有划分面,0是无划分面;而b3、b4、b5显示面的向量,三个基本方向是X,Y,B。在本实施例中,用000表示+X,010表示-X,001表示+Y,011表示-Y,100表示+Z,110表示-Z。面向量的引入可以大大减少搜索空间,减少错误匹配。0072 因。
22、为我们以前的工作已经消除了毛坯面,剩下的EAAG也叫做制造面邻接图(MFAG),错误!未找到引用源。显示了一个MBF的MFAG。0073 二、处理MFAG0074 由于制造特征相交后形成的相交实体可能是线或者是面(桥接面),笔者将MFAG的分解分为两种情况进行处理。0075 情况一:交互实体是线0076 如图9所示,当交互实体是线,这样的交互可以通过截断MFAG的凸边来得到CAG。基面被定义为可以在其法相方向完全接触到其他侧面的平面,故基面可以通过对MFAG中的平面做一个面连接性测试来得到。在这里,面5、6和1、3都可以看到为基面,但因为有扩展属性b3、b4、b5表示面向量,我们可以由面向量得。
23、知,只有面5和1个拥有面向量B+,因此,面5和1是基面。0077 同时,基面的顺序也决定了加工制造顺序。处理特征交互最重要的方面不仅是要识别相交互的特征,也需要决定了他们之间的父子关系。父-子的关系对于有效的加工处理计划是非常重要的。父特征是首先加工的特征,子特征是随后加工的特征。换言之,只有当父特征被加工完成由,子特征才可以被加工。为了确定这两个特征之间的父子关系,首先检查两特征公共的边。如果有这两种特征之间没有共同的边界,那么这两个功能不是彼此交互的,因此它们之间不存在父子关系。要找出他们谁是父或子,要通过下面的处理步骤:0078 1)所有公共边所处在的面首先被检测到。0079 2)在这两。
24、个特征中,包含了步骤一所检测到的面的特征是父特征,另一个是子特征。0080 3)如果所有的公共边并不在两个特征的任何一个面上的情况,这种情况下,加工序列是由基面顺序决定的。比如,在错误!未找到引用源。中,基面5在B+的方向上比基说 明 书CN 103093011 A6/7页8面3要搞,所以,面5是父特征,需要先加工。0081 前面说明了如何识别SBF的具体特征类型,现在在基面被检测到的情况下,识别SBF的规则可以被用于这两个具体的CAG,即由基面来判断具体的特征类型。例如图9,一个盲槽和一个阶特征被识别到。0082 情况二:交互实体是面0083 当交互实体是面时,制造特征的交互是体现在特征之间。
25、共享面。因为特征交互造成了边界信息的丢失(包括几何和拓扑信息),因此合并,延伸和分裂融合面被应用到MFAG以恢复边界信息。然后对MFAG进行调整,断开凸边以形成代表了独立特征的独立的特征子图。0084 正如图10所示,两个特性的交互是通过共享面6和面2来体现的,同时由于交互作用,一些面之间的连接关系已经失去,造成了拓扑信息的变化。因此,为了识别特征,面之间由于交互失去的关系必须得到恢复。凸边就是由于特征交互形成的,所以连接着凸边的面,在图10中它是面4和5,都可被选为延伸面。0085 决定哪些面被选中来作为延伸,之前的文献并又给出明确的处理。事实上,由于没有处理这个问题,对于交互形成的一个特征。
26、可能存在许多种解释。0086 就这个问题,本发明提出了一种方法,选择特征加工方向的面作为延伸面,为交互特征提供了最少的解释,避免了组合爆炸问题。这个方法的流程图如图12,具体描述如下:0087 Step1:首先找到所有标注为B的面0088 例如图11中的面2,面4和面6都是法向量为B+的面,记为F2,F4和F6首先找到所有标注为B的面,不论方向,将这些面按照举例从近到远排序,最靠近底面的为B1,最远的为BN,则B面集为Bi|i(1,N),例在图10a中,存在B1F2,B2F6,B3F4。首先让j等于1。0089 Step2:若jN,结束处理,跳出循环。否则,找到第一个不与Bj共面的Bk,在图1。
27、2a中,是k3。这时候,判断Bk的类型同不与他平行的,且不存在邻接关系的面的关系。0090 Step3:根据Setp1判断结果,修复特征子图。特征子图修复主要通过添加虚连接来完成,该工作需要分为下面两种情况:0091 一种是BkBj0,即Bk与Bj同号;另一种是BkBj0,即Bk与Bj异号。0092 对于这两种情况,相同点是两者通过都延伸面Bk来与其他面相交从而得到分割面,并恢复由于相交造成边缺失。不同的是,对于第一种情况而言,延伸面Bk与分割面F的上半部分,记为+F构成原始特征,而对于第二种情况来说,由于延伸面与Bj逆向,故Bk与分割面的下半部分,记为-F共同构成原始特征。值得注意的是,分割。
28、面的上下方向是由Bj的法向量方向作为上方来判定的。0093 通过以上判定,对MFAG的处理如下:0094 将被分割面F分裂为+F和-F两个面。例如图10中的面2变为+2和-2,图11中面1分裂为+1,-1。0095 删除正半平面+F与Bj之间的边。0096 在负半平面-F上复制原来面F的所有邻接关系。例如图10中,面-2复制原来的边e,f,g为新的邻接关系e,f,g,图11中面-1复制边e为e。0097 判断BkBj的结果是否大于0,如果大于0,则应该在+F与Bk之间添加虚拟链接,说 明 书CN 103093011 A7/7页9如图11所示,在面+1和延伸面4之间添加虚拟链接。反之如果BkBj。
29、小于0,则应该在-F和与Bk之间添加虚拟链接,如图10所示,在面-2和延伸面5之间添加虚拟链接。0098 Step4:将通过以上处理得到的修复后子图(SG)与预定义的特征库和基于启发式规则的一般特征库进行匹配,以确定各个SG对应的特征类型。因为这些特征都是SBF或者NBF,所以可以用SBF的特征库进行匹配处理。这样,一些非标准的特征也能匹配成功。一旦成功搜索出特征,即将特征加入栈。同时,这些特征之间的先后顺序由基面顺序决定。从而为后续CAPP提供一个加工顺序。0099 Step5:处理下一组Bk与Bj。如果有与Bj共面的基面Bw,则jw。例如在图11中,在处理完B3和B1之后,下一步是处理B2(面6)和B3关系。如果没有与Bj共面的面,令jk,返回步骤2,处理下一组Bk与Bj。0100 通过上述方法,可有效识别MBF,此后,只需要采用图匹配方法进行对比,即可完成特征识别。0101 按照上述实施例,便可很好地实现本发明。说 明 书CN 103093011 A1/5页10图1图2图3图4图5图6图7说 明 书 附 图CN 103093011 A10。