湯志鴻, 鄭國磊, 鄭藝瑋
(北京航空航天大學機械工程及自動化學院, 北京 100083)
飛機框肋類零件是構成飛機蒙皮、長桁、翼肋、翼緣等部位的重要組件,在航空鈑金件中占有較大比例,其設計、加工質量以及交付效率對整個項目研制具有較為廣泛的影響。然而,在當前飛機框肋類零件制造過程中,相關的工藝流程,如零件模線樣板設計、展開圖樣設計等,均缺少相應的快速化或自動化軟件,導致零件制造、檢驗效率低下,零件質量無法保證。以飛機框肋類零件樣板設計為例,當前的設計方式仍大量依賴人工,設計中存在頻繁的特征測量和特征值手動輸入以及表達方式轉換,不僅導致零件制造周期偏長,更重要的是任何一個步驟的疏忽和失誤都可能導致制造、檢驗環節的錯誤,由此給后續工裝設計制造以及零件生產檢驗埋下質量風險。
由此可見,飛機框肋類零件制造的效率與質量已成為制約飛機研制效率的因素之一,設計與開發相關的制造系統已迫在眉睫。其中,特征識別作為相關系統設計的先決問題,其本質為對零件幾何、拓撲信息的有序整合,是實現CAD/CAPP/CAM集成的關鍵,其相關研究最早開始于20世紀70年代中期劍橋大學CAD中心[1]。經過了30多年的研究,特征識別技術的研究已經取得了一些顯著的成果,涌現出基于規則方法[2]、基于圖方法[3-4]、基于神經網絡方法[5]等多種特征識別方法。近些年,為實現特征的個性化定義,部分學者對通用的特征識別方法展開了一些探索。Niu等[6]提出了基于數據庫優化的特征識別方法,將分析系統所需特征的定義轉換為對應的數據庫查詢語句,經數據庫檢索與過濾后輸出識別結果。Wang和Yu[7]提出了一種基于實體模型的特征識別框架,其中框架由將零件STEP數據轉換為邊界表示的編譯器和特征庫構成,特征表示由集體屬性、個體屬性和關系構成。然而,該技術仍存在以下問題:①由于實際工程中特征形狀的多樣性,特征的準確描述與定義對技術人員有著很高的要求;②在特征相交的情況下,特征幾何信息存在不同程度的丟失,剩下的幾何信息構成可能難以滿足所定義的特征表達式。雖然相交特征的識別研究已取得了一些成果[8-9],但通用的特征識別技術距離成熟化和工業應用仍有一段距離,當前制造領域仍采用針對某一零件設計專門識別算法的方式來解決實際生產問題。在鈑金件特征識別領域,特征的定義根據所面向的生產流程也有所區別。Gutpa和Gurumoorthy[10]將零件特征總結為切削特征與變形特征,并給出了一種零件變形特征的自動識別算法。劉志堅等[11]在零件結構分析的基礎上提出單元特征與組合特征概念,將組合特征視為多個單元特征的疊加。Shunmugam[12-13]介紹了一種特征識別系統,并制造角度出發,將零件特征分為裁剪、拉伸、拉深、彎曲,并給出對應的特征推理算法。在航空產業中,由于頻繁的格式轉換、設計操作不規范等,飛機框肋類零件數模中或多或少存在碎面等模型缺陷,使特征面的識別過程出現遺漏。當前對零件模型缺陷修正方面的研究仍較少。張天陽[14]和張聰聰[15]等根據飛機結構件三維模型中常見的質量缺陷提出了模型質量檢測技術及部分缺陷的識別與重構算法。在有關框肋類零件特征識別的文獻中,所提出的識別方法未考慮對缺陷模型的處理方法,因而在此類零件的特征識別中,識別結果準確率或許難以保證。
對此,本文對飛機框肋類零件結構展開研究,提出零件基礎特征的定義和表示模型,研究和建立一種基于同側面的基礎特征識別算法。其中,針對零件數模中可能存在的碎面缺陷,給出其定義和識別方法,以保證特征識別過程中特征面識別的完整性。結合實例測試,驗證了本文算法的有效性與可行性。
飛機框肋類零件從結構角度可視為腹板、彎邊及相關要素的組合,各彎邊以腹板為中心沿各側分布。其中,腹板面可能為普通或帶有下陷的平面、曲面;彎邊以外彎邊或彎邊孔的形式分布于腹板周圍,經常帶有下陷。從加工成形角度將彎邊進一步拆分,可視為受彎部分和旋轉部分的規律性組合。通過對國內某航空制造企業的實地調研,收集航空制造工程中常見的飛機框肋類零件模型,歸納零件間共有的形狀和結構,初步將飛機框肋類零件基礎結構分為腹板、彎曲和墻體三類(見圖1)。各類結構具有以下特點:
1) 兩側對應。因飛機框肋類零件的薄壁性質,各結構均由零件兩側表面構成。從面的角度看,兩側表面均由一個或多個相鄰的面構成,但兩側表面互不相鄰,其距離處處相等且等于零件壁厚。
2) 相互獨立。各結構間同側表面相互獨立,亦即各結構間不存在公共面。
3) 相互鄰接。相鄰的結構在同一側表面之間存在公共邊。

圖1 飛機框肋類零件基礎結構Fig.1 Basic structure of aircraft sheet metal parts
基于零件B-rep信息,給出飛機框肋類零件基礎特征的通用表示方法,構建零件幾何信息與后續零件制造的映射關系。
1.2.1 廣 義 面
基礎特征的一側表面一般由一個拓撲面或一組拓撲面構成,且當由一組拓撲面表示時,各拓撲面間將滿足一定的鄰接關系。因此,為更好地描述特征的單側組成面,本文提出廣義面概念并對相關術語展開介紹。廣義面用于描述一組具有特定特征或功能的面,其定義如下:
定義1廣義面是拓撲面和組合面的統稱,可進一步定義為
1) 拓撲面,指在一個獨立定義的幾何面上具有確定邊界的一個連通區域,簡稱面,用f表示。
2) 組合面,由一組相鄰(即具有公共邊)的拓撲面或其他組合面構成,用Fc表示。
拓撲面f是構成任意體的表面和表面特征的原子單元,且在數學和CAD中已有有效的定義和表達方法;組合面Fc本質上是由一組鄰接廣義面構成的無向圖,即
Fc=(V,E)

進一步給出對廣義面上邊、環等相關幾何屬性定義如下:
定義2設Fg為一廣義面,e為其上一條邊,若e為Fg內2個面的公共邊,則稱e為Fg的一條內邊;否則,稱e為Fg的一條外邊。
定義3設Fg為一廣義面,若l為由Fg上的一組外邊封閉輪廓,則稱l為Fg的一個環。l上各邊沿面環方向依次連接,即沿體外法矢站立于環上一點,Fg永遠位于左側,并將此連接順序稱為環的方向。
根據環方向向與法矢間關系,可將廣義面中的環(見圖3)分為
1) 外環:二者形成“右旋”關系,用lou表示。
2) 內環:二者形成“左旋”關系,用lin表示。
3) 端環:二者形成“交叉”關系,用len表示。

圖2 常見組合面Fig.2 Common composite faces

圖3 廣義面環Fig.3 Loops in generic faces
1.2.2 特征表示方法
基礎特征應由零件兩側相關幾何信息構成。為方便敘述,將零件任一側表面稱為正側,另一側稱為反側,設Fea為飛機框肋類零件基礎特征,將以巴科斯-諾爾范式(Backus-Naur Form,BNF)表示如下:
其中:type為特征類型,分為腹板Web、彎曲Bend和墻體Wall;F+和F-分別為構成特征的正、反兩側特征面。特征面的本質為由一個或多個拓撲面構成的廣義面,見圖4。
根據以上定義,可將整個零件數模分割為一系列基礎特征的組合。為描述特征間滿足的鄰接關系,構建以基礎特征為頂點,以特征鄰接屬性為邊的無向圖,見圖5。

圖4 基礎特征Fig.4 Basic feature

圖5 飛機框肋類零件基礎特征鄰接圖Fig.5 Adjacency graph of aircraft sheet metal part’s basic features
從基礎特征模型定義出發,在分析特征零件結構及特征屬性的基礎上,基于同側面識別方法對飛機框肋類零件基礎特征的自動識別方法展開研究,下面對其識別算法和關鍵技術進行闡述。
本文零件基礎特征的特征面均位于零件兩側。為避免在特征識別過程中不相關幾何信息的計算,減少零件數模中拓撲面的搜索范圍以提升特征識別效率,在識別過程中將零件模型分割為正、反兩側,分別計算兩側幾何信息后進行特征構造。由此,本文在廣義面概念的基礎上提出零件同側面模型以表示零件一側的幾何信息,并基于同側面構建方法實現飛機框肋類零件的基礎特征識別。首先給出同側面的定義如下:
定義4在零件三維模型中,將零件同一側所有鄰接廣義面構成的組合面稱為零件同側面。其中,各廣義面稱為同側面單元。根據各同側面單元的作用,將它們分為以下兩類:
1) 關鍵面,指零件腹板特征的特征面,對應腹板特征面。
2) 關聯面,為零件同側面中除關鍵面外的其他所有廣義面的統稱,各廣義面分別對應基礎特征的特征面。
為便于標識,將與關鍵面鄰接的關聯面稱為1級關聯面,與一級關聯面鄰接的關聯面稱為2級關聯面……以此類推,將以n-1級關聯面 鄰接的關聯面稱為n級關聯面。分析各子面可知,零件任一側同側面中關鍵面對應腹板特征面,奇數級關聯面對應彎曲特征面,偶數級關聯面對應墻體特征面(如表1所示)。
根據飛機框肋類零件特點,易知零件的兩側同側面存在以下性質:

由此,為兩同側面各單元添加對應關系并進行特征構造。將以輸入的腹板面構造的特征稱為關鍵特征,將以一特征級數n為同側面單元對構造的基礎特征稱為n級關聯特征。
表1 零件同側面
Table 1 Same-side faces of parts

基于以上原理建立基礎特征識別算法,其識別思路為:首先,以零件的STEP數據作為作為原始數據構建零件屬性鄰接圖,通過面、邊屬性的計算,對屬性鄰接圖中各元素進行屬性賦值;其次,以腹板兩側特征面為輸入,由正、反兩側逐級識別并構建同側面;最后,將兩側同側面單元進行逐級匹配,以此構造基礎特征并構建特征圖(見圖6)。
其中,屬性鄰接圖構建、有效鄰面識別、關聯面完整識別、同側面單元匹配構成該算法的關鍵技術,下面進行詳細闡述。
2.3.1 零件屬性鄰接圖構建
屬性鄰接圖(Attributed Adjacency Graph, AAG)由Joshi和Chang[3]首次提出,形成了基于圖的特征識別方法。該方法從零件中提取邊界表示信息,表示為以拓撲面為圖頂點,以公共邊為圖邊的圖結構,形式為

圖6 基礎特征識別算法流程圖Fig.6 Flowchart of basic feature recognition algorithm
G=(Vf,Ee)
其中:Vf和Ee分別為鄰接圖頂點的集合和邊的集合,鄰接圖任一頂點對應零件模型上的一個拓撲面,拓撲面間的鄰接關系由公共邊表示。
為滿足特征識別過程中幾何信息提取的實際需求,完整的屬性鄰接圖構建還需包含拓撲面鄰接圖中各頂點和邊的屬性信息,即面屬性和邊屬性,下面對其計算方法展開敘述。
1) 面屬性計算
面屬性計算即計算鄰接圖中各頂點的屬性。拓撲面共有的屬性一般有幾何類型、面積、輪廓周長等,其中幾何類型是基本屬性,也是特征識別過程中拓撲面間相互區分或合并的主要標志之一。
本文研究以CATIA V5為軟件平臺,該軟件將三維模型拓撲表面的幾何類型描述為平面(CATPlane)、二次曲面和Nurbs曲面(CATNurbsSurface),二次曲面包括圓柱面(CATCylinder)、圓環面(CATTorus)、圓錐面(CATCone)和球面(CATSphere)。零件表面由大量拓撲面構成,通過幾何方法計算各面的幾何類型將耗費大量時間,因此獲取軟件所描述的面幾何類型直接作為零件屬性鄰接圖的頂點屬性。
2) 邊屬性計算
邊屬性主要可分為邊的曲線類型、邊凹凸性、幾何連續性等。其中,邊凹凸性可作為劃分同側面單元間邊界的依據;幾何連續性可作為碎面識別和界定兩側幾何信息范圍的依據。下面對兩類屬性計算方法進行介紹。
如圖7所示,設面f1和f2為兩鄰接拓撲面,邊e為f1和f2的公共邊,點p為e上任一點。在點p處創建e的法平面,分別與f1、f2相交生成交線l1與l2,向量vt1、vt2為l1與l2在點p處切矢(方向默認為由l1指向l2),l1和l2在p點處的曲率為κ1、κ2,l1和l2在p點處的曲法向(指向曲率圓圓心)為vβ1、vβ2,向量vn1、vn2為f1和f2在點p處的體外法矢。vl1為f1上e在點p處的切矢,方向與f1環邊一致(即沿f1體外法矢方向站立并朝向vl1方向時,f1位于左側)。e在點p處的幾何連續性判定規則如下:

②若vt1∥vt2∧κ1≠κ2,則稱面f1與f2在點p處為G1連續點。
③若vt1∥vt2∧κ1=κ2,則稱面f1與f2在點p處為G2連續點。
基于鄰接邊上點的幾何連續性關系,進一步給出鄰接邊的幾何連續性規則:
①若?p,p∈e,p為G0連續點,則稱邊e為面f1與面f2的G0連續邊。
②若?p,p∈e,p為G1連續點,則稱邊e為面f1與面f2的G1連續邊。
③若?p,p∈e,p為G2連續點,則稱邊e為面f1與面f2的G2連續邊。
④否則,若邊e上至少存在兩點p、q屬于不同的幾何連續點,則稱邊e為面f1與面f2的復雜連續邊。
邊e上點p的凹凸性判定方法如下:



圖7 邊凹凸性計算Fig.7 Calculation of edge’s concavity-convexity
③若滿足:vt1∥vt2∧|κ1-0|<δ∧(κ2>0∧vn2·vβ2>0),則稱面f1與f2在點p處為平凹切點,δ為計算精度。
④若滿足:vt1∥vt2∧|κ1-0|<δ∧(κ2>0∧vn2·vβ2<0),則稱面f1與f2在點p處為平凸切點。
⑤若vt1∥vt2∧|κ1-0|<δ∧|κ2-0|<δ,則稱面f1與f2在點p處為平平切點。
⑥若滿足:vt1∥vt2∧(κ1>0∧vn1·vβ1>0)∧(κ2>0∧vn2·vβ2>0),則稱面f1與f2在點p處為雙凹切點。
⑦若滿足:vt1∥vt2∧(κ1>0∧vn1·vβ1<0)∧(κ2>0∧vn2·vβ2<0),則稱面f1與f2在點p處為雙凸切點。
⑧若滿足:vt1∥vt2∧(κ1>0∧vn1·vβ1>0)∧(κ2>0∧vn2·vβ2<0),則稱面f1與f2在點p處為凹凸切點。
基于鄰接邊上點的凹凸關系,進一步給出鄰接邊的凹凸關系判定規則,對于邊e,其上點p處的凹凸性判斷如下:
①若?p,p∈e,p為凹點,則稱邊e為面f1與面f2的凹邊。
②若?p,p∈e,p為凸點,則稱邊e為面f1與面f2的凸邊。
③若?p,p∈e,p為平凹切點,則稱邊e為面f1與面f2的平凹切邊。
④若?p,p∈e,p為平凸切點,則稱邊e為面f1與面f2的平凸切邊。
⑤若?p,p∈e,p為平平切點,則稱邊e為面f1與面f2的平平切邊。
⑥若?p,p∈e,p為雙凹切點,則稱邊e為面f1與面f2的雙凹切邊。
⑦若?p,p∈e,p為雙凸切點,則稱邊e為面f1與面f2的雙凸切邊。
⑧若?p,p∈e,p為凹凸切點,則稱邊e為面f1與面f2的凹凸切邊。
⑨若邊e上至少存在兩點p、q屬于不同的凹凸類型,則稱邊e為面f1與面f2的復雜凹凸邊。
由以上判定方法可知,邊凹凸性和幾何連續性的判定需計算公共邊處無數個點處的屬性。為減少計算量,本文采用預設的參數對公共邊曲線進行等參數采樣,計算各個采樣點處的邊屬性后公共邊的屬性進行綜合判斷。
2.3.2 有效鄰面識別
為方便描述,在通過某已知同側面單元擴展識別鄰接新同側面單元的過程中,將已知同側面單元稱為主面,新同側面單元稱為側位面。
有效鄰面是同側面識別過程中,屬于側位面且與主面存在公共邊的拓撲面。因此,基于已確定的主面,通過邊屬性分析對構成側位面的拓撲面進行關聯查找,即為有效鄰面。其關鍵步驟為
步驟1提取主面內、外環邊,以邊凹凸性為依據,對環邊進行分組。該步驟的目的為將屬于同一關聯面的環邊置為一組。分組規則如下:
規則1非切線邊分組。設零件模型屬性鄰接圖為G=(Vf,Ee),e1、e2分別為主面Fg上兩條鄰接邊,若e1和e2同為G0連續邊且凹凸性相同,將其置為一組。
規則2切線邊分組。設零件模型屬性鄰接圖為G=(Vf,Ee),e1、e2分別為主面Fg上2條鄰接邊,若e1和e2同為G1連續邊且凹凸性相同,將其置為一組。
步驟2以各組邊為單位從主面的所有鄰接拓撲面中識別有效鄰面,識別規則如下:
規則3有效鄰面識別。設零件模型屬性鄰接圖為G=(Vf,Ee),{ei|i=1,2,…,m}為主面Fg上的一組邊,{fi|i=1,2,…,m}為Fg的一組鄰接面且分別以{ei|i=1,2,…,m}為公共邊,若{ei|i=1,2,…,m}為切邊組,則{fi|i=1,2,…,m}為Fg的一組有效鄰面。
2.3.3 關聯面完整識別
同側面識別中,將組成關聯面的拓撲面稱為該關聯面的子面。有效鄰面識別的結果僅構成目標關聯面的子集。欲保證同側面單元識別的完整性,需通過一定規則對關聯面進行完整識別。缺失的子面主要分為過渡面和碎面兩類,下面進行詳細闡述。
1) 過渡面
零件數模中,描述彎邊中彎曲部分的關聯面一般由一組圓柱面構成。由于主面相鄰邊不一定相切,相鄰圓柱面間一般存在一張曲面作為過渡,本文將其稱為過渡面。過渡面與兩圓柱面間分別存在公共邊,且與主面存在公共點,其拓撲結構如圖8所示。由此,在有效鄰面識別結果基礎上,利用過渡面判斷方法計算缺失的過渡面。其中,過渡面的判斷方法如下:
規則4過渡面判斷。設拓撲面集F={fi|i=1,2,…,n}為廣義面Fg的一組有效鄰面,若存在拓撲面f使得:①f與Fg存在公共點;②存在fm、fn屬于F,且f與fm、fn間均存在公共邊,則f為過渡面。
2) 碎面
飛機框肋類零件數模表面經常出現若干組呈“細碎狀”的曲面片,各面片間存在直接或間接的拓撲鄰接關系,單個面片的面積一般比較小,且形狀大多不規則,技術人員一般形象地將其稱為“碎面”。各曲面片原本可由一張完整曲面表示,因CAD系統間模型格式轉換、不規范的建模順序、過多的曲面裁剪等操作導致碎面缺陷的產生。在光順曲面中,曲面內部通常滿足G2以上連續性。由此易知,碎面缺陷中各面片具有一致的幾何類型,且于面內部和公共邊界處均滿足G2以上連續性。結合1.2.1節廣義面相關定義,對飛機框肋類零件數模碎面缺陷做出如下定義:
定義5對飛機框肋類零件數模表面由一組面組成的組合面Fc,若其子面fi(i=1,2,…,n)理論上屬于同一張完整曲面,且同時滿足:①各子面具有相同幾何類型;②各子面在公共邊界處具有G2及以上連續性,則稱fi(i=1,2,…,n)構成一個碎面缺陷,且單個面fi稱為碎面,見圖9。
基于以上分析,提出碎面的識別方法,其思路與同側面構建算法大致相同,計算原理如下:
利用碎面判斷方法,以一級子面為基準,計算出二級子面……以k級子面為基準,計算k+1級子面,依次逐步計算出所有子面,最后實現關聯面完整識別。其中,碎面的判斷規則如下:
規則5碎面判斷。設F={fi|i=1,2,…,n}為一組子面,若存在一拓撲面f使得f與F中某子面相鄰且滿足G2以上連續性,則f為碎面。
拓撲面間連續性的判斷依據可直接由零件的屬性鄰接圖獲取。將有效鄰面與過渡面組成的集 合稱為所求關聯面的一級子面,以一級子面為基礎計算出的所有子面,稱為二級子面……以n-1級子面為基礎計算所得的所有子面,稱為n級子面。

圖8 過渡面及與相鄰面拓撲關系Fig.8 Transitional surface and its topological relation with adjacent surfaces

圖9 零件碎面Fig.9 Fragmentary faces of part
經提取構建后的兩側同側面應為兩張獨立的、結點和邊個數均相等的圖,采用圖的遍歷方式關聯正、反同側面中各結點,形成一張完整的零件基構特征圖。匹配規則如下:

利用專業開發工具對本文研究內容進行開發,形成“飛機框肋類零件基礎特征快速識別程序”。程序的運行方式為:輸入框肋類零件STEP文件,由用戶分別交互選擇零件兩側一個或多個拓撲面作為兩側同側面的關鍵面,再由程序對零件自動進行屬性鄰接圖構建、同側面構建、同側面單元匹配和特征構造后,最終輸出零件基礎特征圖。
本文首先以帶彎邊的零件作為測試對象進行基礎特征識別。如圖10(a)所示,框肋類零件尺寸為711 mm×240 mm×55 mm,主要包含彎邊、普通孔、切口、唇孔等特征。其基礎結構數量多,零件表面幾何數據較為豐富,因此具有典型性。經統計,該零件的基礎結構構成為:腹板1個、彎曲28個、墻體34個;兩側同側面構成為:關鍵面1個、1級關聯面14個、2級關聯面14個、3級關聯面11個、4級關聯面20個,且兩側同側面單元一一對應。運行本程序對零件正反兩側同側面進行識別,識別結果如圖10(b)所示,其中:橙色廣義面為關鍵面,綠色廣義面為奇數級關聯面,黃色廣義面為偶數級關聯面,識別結果數據統計如表2所示。
由圖10(b)和表2數據可知,該測試實例識別結果有效且正確。但由于零件中不存在過渡面和碎面缺陷,為驗證算法中關聯面完整識別部分的正確性和有效性,采用圖11(a)所示零件進行補充測試。經統計,該鈑金零件基礎結構構成為:腹板1個、彎曲3個、墻體3個;兩側同側面構成為:關鍵面1個、1級關聯面3個、2級關聯面3個。運行本程序對零件基礎特征進行識別,識別結果如圖11(b)所示,圖中各同側面單元著色方式與圖10相同,識別結果數據統計如表3所示。由數據可知,該測試實例對過渡面和碎面缺陷的識別結果有效且正確。值得指出的是,根據加工工藝過程,零件中原則上應有3個彎邊,即應對應3個彎曲結構,但其中2個彎曲結構在零件中具有連接部分,因此被視為同屬于一個彎曲結構,連接部分被視為過渡面。

圖10 測試對象1及運行結果Fig.10 Test part 1 and test result

識別結果關鍵特征1級關聯特征2級關聯特征3級關聯特征4級關聯特征正反正反正反正反正反總數111414141411112020正確1414141411112020錯誤00000000正確率/%100100100100100100100100

圖11 測試對象2及運行結果Fig.11 Test part 2 and test result

識別結果關鍵特征1級關聯特征2級關聯特征碎面缺陷過渡面正反正反正反正反正反總數1122333233正確22333233錯誤00000000正確率/%100100100100100100100100
本文為解決飛機框肋類零件基礎特征識別與提取問題,在總結零件結構特點的基礎上提出了基于同側面的基礎特征識別算法。研究取得的具體結果如下:
1) 研究和定義了飛機框肋類零件基礎特征,并將零件表示為一組基礎特征的組合。
2) 提出和建立了基于同側面的飛機框肋類零件基礎特征識別技術,為零件后續的制造及工裝設計等生產流程提供數據支撐。
3) 針對飛機框肋類零件中存在的碎面缺陷給出了其定義與識別方法,提升了特征識別準確性。
4) 經實例測試表明,該算法能較好地對零件基礎特征進行識別與提取,結果完整、合理。