張 賀, 邵曉東, 仇原鷹, 何 東
(西安電子科技大學(xué) 電子裝備結(jié)構(gòu)設(shè)計教育部重點實驗室,陜西 西安 710071)
隨著基于模型的定義(Model Based Definition,MBD)[1]技術(shù)的普及應(yīng)用,機加工藝的設(shè)計模式也由二維轉(zhuǎn)向三維[2-3]。面向加工過程的三維工序模型是MBD必不可少的信息載體[4],為此需要將“加材料”形式的三維設(shè)計模型,轉(zhuǎn)換為“減材料”形式的三維工序模型[5]?,F(xiàn)有技術(shù)條件下,這個過程需要同時精通建模知識和工藝知識的設(shè)計人員人工完成[6],費時費力且容易出錯。如何自動地將三維設(shè)計模型轉(zhuǎn)換為三維工序模型,成為三維機加工藝設(shè)計中的瓶頸問題。
國內(nèi)外學(xué)者針對三維工序模型自動生成問題進(jìn)行了大量研究,主要集中在工藝知識復(fù)用和加工特征識別方向[4]。
在工藝知識復(fù)用領(lǐng)域,ZHANG等[7]以二維工藝卡片為輸入,通過構(gòu)建加工語義本體提取各工序中的加工語義,并將加工語義與二維工序圖建立映射關(guān)系,實現(xiàn)三維工序模型的重構(gòu)。但通過二維工序圖獲取加工特征信息具有較大的二義性;鑒于此,WAN等[8]、張輝等[9]采用MBD模型,通過工藝本體與建模本體的映射,將工藝知識轉(zhuǎn)化為三維建模知識,并在此基礎(chǔ)上進(jìn)行工序模型的正向或逆向生成,但此類方法只關(guān)注獨立特征,沒有考慮特征的加工環(huán)境;莫蓉等[10]通過分析局部特征之間的相關(guān)性,建立各特征的加工特征環(huán)境,并將其作為匹配單元,與工藝信息庫進(jìn)行匹配,實現(xiàn)三維工序模型的工藝知識復(fù)用。以上基于工藝知識復(fù)用的工序模型生成方法往往只關(guān)注知識的歸納與轉(zhuǎn)換利用,忽略了特征關(guān)系等幾何拓?fù)湫畔⒌睦煤徒5南嚓P(guān)操作,且知識庫的構(gòu)建是一個長期積累性的工作。
在加工特征識別領(lǐng)域,LI等[11]通過識別制造特征,獲取參數(shù)化的特征切削體,然后通過制造特征的相關(guān)參數(shù),實例化特征切削體,最終通過布爾運算獲得三維工序模型。但該方法對于相交特征的特征切削體獲取存在困難;劉金鋒等[4]通過人工交互與系統(tǒng)自動拾取相結(jié)合的方式獲取加工特征的組成面,然后通過半空間法獲取加工特征體,進(jìn)而得到三維工序模型。但人工交互獲取加工特征面的方法過于繁瑣且容易出錯,趙鳴等[12]采用體分解的方法,對切削體進(jìn)行分層簡化分割,然后對分割結(jié)果進(jìn)行組合操作得到最大加工特征,最后對加工特征進(jìn)行排序,逆序生成工序模型。但切削體的分割操作忽略了設(shè)計特征模型中包含的信息,使識別結(jié)果與設(shè)計模型的相關(guān)性難以保證,同時切削體組合算法對于復(fù)雜特征的解釋存在“組合爆炸”問題。
本文提出一種基于體分解的三維工序模型自動生成方法:首先對三維設(shè)計模型進(jìn)行預(yù)處理,生成分割面—截止面序列以及主加工面的加工方法鏈;然后通過布爾運算和分割操作獲得加工單元體;最后通過加工特征映射等操作,實現(xiàn)零件三維工序模型的生成。
與現(xiàn)有基于體分解的工序模型構(gòu)建方法[12-13]相比,本文提出的方法以設(shè)計特征面為對象進(jìn)行分割面選擇,從而充分利用三維設(shè)計模型中的信息,解決了現(xiàn)有方法中因分割操作與設(shè)計模型信息脫節(jié)導(dǎo)致的分割算法復(fù)雜、效率低下等問題;同時改變了現(xiàn)有方法中“先分割—后合并”的模式,直接將切削體分割為具有加工語義的加工單元體,避免了后續(xù)合并操作,解決了復(fù)雜特征合并時存在的“組合爆炸”問題。
定義1切削體(Vm)。是指將毛坯加工成零件產(chǎn)品過程中所切除的體積塊集合,即
(1)
式中:Mb為毛坯模型(blank model);Md為零件設(shè)計模型(design model);n為切削體中包含的體積塊數(shù)量;vmi為第i個體積塊。將毛坯模型與零件設(shè)計模型做布爾減,得到的實體即為切削體Vm。如圖1所示為切削體的獲取過程圖示。
定義2工序切削體(Vp)。是指一道工序中切除的體積塊集合。工序切削體與切削體的關(guān)系表示為:
(2)
式中:n為最大工序數(shù);Vpi表示第i道工序的工序切削體。
定義3工序模型(Mp)。是指能夠反映每一道工序狀態(tài)的三維模型。初始工序模型為毛坯模型,最終工序模型為成品模型,即Mp0=Mb,Mpn=Md。
綜上可得,工序切削體與工序模型之間的關(guān)系為:
Mpi=Mpi-1-Vpi。
(3)
式中:Mpi和Mpi-1分別為第i道和第i-1道工序的工序模型。工序模型序列與工序切削體序列能直觀地展現(xiàn)出毛坯到零件產(chǎn)品的完整變化過程。
定義4加工單元體(Vu)。是指一個工步中切除的體積塊集合。加工單元體是零件加工過程中具有語義的最小實體。一個工序切削體中包含至少1個加工單元體,其關(guān)系表示為:
(4)
綜上可得,正序生成第k道工序的工序模型數(shù)學(xué)求解表達(dá)式如下:
(5)
定義5分割面(sc)與截止面(sp)。分割面是用來分割切削體的構(gòu)造面;截止面用來限定分割面的分割范圍。截止面依賴于分割面,一個分割面可對應(yīng)0個或多個截止面。分割面-截止面表示為:sc(sp1,sp2,…,spn),其中:n為該分割面對應(yīng)的截止面數(shù)目。當(dāng)分割面類型為全局分割時,不需要截止面,記作:sc()。
為分割面設(shè)置截止面,還能避免因特征交互而導(dǎo)致的不必要分割。如圖2所示,在單獨分割退刀槽特征時,傳統(tǒng)方法會將切削體分為6個子切削體,需要在后續(xù)執(zhí)行合并操作,合并理想程度與算法復(fù)雜度成正比;通過本文方法為分割面添加截止面,則能直接分離出退刀槽特征的特征切削體。
定義6主加工面(sm)。是指零件加工過程中各特征的成型表面,以及工作面或基準(zhǔn)面等決定零件形狀、質(zhì)量的表面。
機加工藝設(shè)計通過選擇合適的加工方法與加工順序,從毛坯中依次切除掉多余體積塊,形成滿足設(shè)計要求的零件表面[14]。MBD模式下,三維工序模型構(gòu)建是機加工藝設(shè)計的關(guān)鍵,包括3方面的工作:各工序切除體積塊的獲取、切削順序的確定以及加工方法的選擇[15]。
本文提出的三維工序模型自動生成方法從上述3個方面入手,其基本研究思路如圖3所示:
(1)零件模型預(yù)處理 遍歷零件模型的設(shè)計特征,并用拓展特征關(guān)系圖對其進(jìn)行結(jié)構(gòu)化表達(dá);分別以各設(shè)計特征和特征面為對象,按照相應(yīng)規(guī)則,生成候選分割面—截止面序列和各主加工面的加工方法鏈。
(2)切削體生成 將毛坯模型與零件模型做布爾減運算,得到切削體。
(3)加工單元體生成 將候選分割面—截止面映射到切削體,去除無效分割面,得到切削體中的分割面—截止面序列;依次提取分割面分割切削體,然后檢查新生成的切削體,將不能再被分割的切削體存入加工單元體組,直至所有分割面提取完畢。
(4)工序模型生成 對各加工單元體的組成面進(jìn)行分析,按照特征接觸面與零件特征面的對應(yīng)關(guān)系,結(jié)合加工面信息完成加工特征映射;同時將主加工面優(yōu)先級相同的加工單元體合并到同一工序;最后通過毛坯逐次減材料,獲得三維工序模型。
在分割面選擇和加工方法鏈生成時,需要準(zhǔn)確獲取零件相關(guān)信息。為此,本文采用拓展特征關(guān)系圖描述零件各設(shè)計特征的屬性和其之間的拓?fù)潢P(guān)系,實現(xiàn)零件模型的結(jié)構(gòu)化表達(dá),進(jìn)而能夠快速、準(zhǔn)確地提取零件信息。
2.1.1 零件設(shè)計模型的層次化分解表示
為有效實現(xiàn)零件設(shè)計模型的結(jié)構(gòu)化表達(dá),本文以特征面為基本單元,從幾何層面將零件設(shè)計模型轉(zhuǎn)化為“零件、特征、特征面”的層次化模型,如圖4所示。其中:零件層按照零件整體幾何結(jié)構(gòu)劃分大類,按照零件具體結(jié)構(gòu)及功能劃分小類;特征層分為主特征和輔特征,主特征為決定零件基本結(jié)構(gòu)的特征,輔特征是主特征的依附特征;特征面層按照主加工面和次加工面進(jìn)行分類。
(1)特征抑制與簡化
為簡化工序模型生成步驟,可在不影響結(jié)果的情況下對相應(yīng)特征進(jìn)行簡化處理。如:在分割面選擇階段將螺紋特征抑制,在加工方法鏈選擇階段將孔特征的主加工面簡化為單個圓柱面等。
(2)特征面表達(dá)
常見的特征面包括平面、圓柱面、圓錐面、球面、倒角面、螺紋面等,因螺紋面通常不作為分割面,故將其排除。針對上述5種典型特征面,采用統(tǒng)一的結(jié)構(gòu)化表達(dá)形式對其進(jìn)行約束[16],數(shù)據(jù)結(jié)構(gòu)表達(dá)式如下:
S={T,p,l,θ,r}。
(6)
式中:T表示面的類型,p表示點,l表示線,θ表示角度,r表示半徑??梢杂帽?的形式直觀地展現(xiàn)出各類面的約束信息。
表1 軸類零件典型特征面約束信息
2.1.2 拓展特征關(guān)系圖
特征關(guān)系圖(FRG)[17-18]是一種用來描述零件模型設(shè)計特征關(guān)系的圖結(jié)構(gòu),表示為:
FRG=
(7)
式中:F為節(jié)點集,表示各特征;E為連接弧集,表示節(jié)點之間的拓?fù)潢P(guān)系。為更好地對零件模型進(jìn)行結(jié)構(gòu)化表達(dá),本文提出拓展特征關(guān)系圖結(jié)構(gòu)。
拓展特征關(guān)系圖(EFRG)在特征關(guān)系圖基礎(chǔ)上,為各節(jié)點和連接弧添加屬性信息,用來描述設(shè)計特征屬性和特征之間的拓?fù)潢P(guān)系。拓展特征關(guān)系圖表示為:
EFRG=
(8)
式中:F為節(jié)點集,F(xiàn)= {fi,i=1,2,…,n},n為特征數(shù)量,fi表示第i個特征對應(yīng)的節(jié)點;E為連接弧集,E={eij=(fi×fj),i,j=1,2,…,n},n為特征數(shù)量,eij為節(jié)點fi與fj之間的連接弧,表示兩特征之間的拓?fù)潢P(guān)系;R為描述特征屬性的s維向量函數(shù),表示為R:fi→ri=(r1(fi),r2(fi),…,rs(fi))T,ri為描述特征fi屬性的向量,如特征的名稱、類型、組成面、深度級等;G為描述特征之間拓?fù)潢P(guān)系的向量,零件中特征之間的關(guān)系[19]一般包含6類,如表2所示。
為了更好地描述在拓?fù)浣Y(jié)構(gòu)上具有關(guān)聯(lián)關(guān)系的特征之間的加工順序,為各節(jié)點添加深度級(depth rating)[20]屬性,其中,軸類零件各主特征對應(yīng)的節(jié)點稱作根節(jié)點,根節(jié)點的深度為0,其余特征節(jié)點的深度為其父特征節(jié)點的深度加1。如圖5所示為某零件模型(以下稱示例零件)的局部EFRG示例。
表2 特征拓?fù)潢P(guān)系表
2.2.1 候選分割面—截止面選取
遍歷EFRG節(jié)點,從各設(shè)計特征的組成面中選取候選分割面,選取原則是保證設(shè)計特征的主加工面和特征切削體的完整性,確??蓪⑶邢黧w分割為加工單元體。截止面應(yīng)能夠限定分割面的分割范圍,避免因分割面干涉導(dǎo)致主加工面和特征切削體被破壞。截止面法向由設(shè)計特征體一側(cè)指向切削體一側(cè),分割面在截止面的法線正方向進(jìn)行分割。
對于被選作零件基準(zhǔn)的分割面,需要全局分割,不設(shè)置截止面;對于因特征交互導(dǎo)致的特征面被破壞或者丟失的情況,可以通過添加虛鏈接[21-22]的方法補全特征面。表3列舉了軸類零件常用特征的分割面—截止面對選取規(guī)則。
候選分割面—截止面選取步驟如下:
步驟1設(shè)計特征提取與匹配。遍歷EFRG節(jié)點,依次提取各設(shè)計特征屬性信息,在設(shè)計特征庫的輔助下與分割面—截止面選取規(guī)則表中的設(shè)計特征進(jìn)行匹配。
表3 軸類零件常用特征分割面—截止面對選取規(guī)則表
續(xù)表3
步驟2分割面選擇。按照分割面—截止面選取規(guī)則,提取當(dāng)前設(shè)計特征中的分割面,若特征面被破壞,則添加虛面進(jìn)行補全。
步驟3截止面設(shè)置。遍歷當(dāng)前設(shè)計特征各分割面,判斷是否為全局分割,若是,則不設(shè)置截止面;否則按照規(guī)則為其選取截止面。處理完畢轉(zhuǎn)步驟1,繼續(xù)下一個設(shè)計特征。
按照上述步驟,為示例零件選擇候選分割面—截止面,結(jié)果如表4所示。
表4 示例零件各特征的候選分割面—截止面列表
續(xù)表4
2.2.2 候選分割面去冗余
在具有鄰接關(guān)系的特征之間,存在公共特征面作為不同特征的候選分割面而多次出現(xiàn)的情況,需要對其執(zhí)行去冗余操作。通常冗余的候選分割面在不同特征中有不同的截止面組,即分割范圍不同,因此需要合并各分割范圍。如圖6所示為候選分割面去冗余示例。
具體操作步驟如下:
步驟1冗余檢測。依次提取候選分割面—截止面列表中的候選分割面,檢查是否存在冗余,若存在則轉(zhuǎn)步驟2,不存在則提取下一個候選分割面,直至所有候選分割面檢查完畢。
步驟2分割范圍合并。合并分割范圍,更新當(dāng)前候選分割面截止面信息,刪除其他冗余候選分割面。轉(zhuǎn)步驟1,繼續(xù)下一個候選分割面。
2.2.3 候選分割面排序
候選分割面排序能夠使后續(xù)的分割操作按序進(jìn)行,提高分割效率,同時為工序切削體排序提供依據(jù)。其基本思路為:首先對設(shè)計特征排序,然后按照特征順序?qū)Ω魈卣髅孢M(jìn)行排序,最后按照特征面順序?qū)蜻x分割面排序。設(shè)計特征排序的優(yōu)先級規(guī)則根據(jù)零件類型及生產(chǎn)類型等預(yù)先設(shè)置,也可以由用戶交互配置。圖5示例零件為典型的階梯軸零件,其設(shè)計特征優(yōu)先級規(guī)則如表5所示。特征面的優(yōu)先級排列以設(shè)計特征優(yōu)先級序列作為參考。特征面優(yōu)先級規(guī)則如表6所示。
表5 示例零件設(shè)計特征優(yōu)先級規(guī)則表
表6 特征面優(yōu)先級規(guī)則表
基準(zhǔn)面由系統(tǒng)根據(jù)零件類型自動判斷生成,也可以由用戶交互指定或更改。針對圖5示例零件,以端面s1和s10為基準(zhǔn)面加工各圓柱段,按照上述規(guī)則,對其各特征及特征面進(jìn)行優(yōu)先級排序,結(jié)果如表7所示。
對表4中的候選分割面—截止面執(zhí)行去冗余操作和排序操作后,生成的候選分割面—截止面序列如表8所示。
表7 示例零件設(shè)計特征及特征面優(yōu)先級序列表
表8 示例零件候選分割面—截止面序列
2.3.1 加工方法鏈決定因素
加工方法鏈生成的主要工作是根據(jù)主加工面的加工要求,為其選擇合適的加工方法及加工順序,得到一組加工方法有向序列。加工方法鏈的決定因素表示為:
C={P(t,g,s,r),S(m,b)}。
(9)
式中:P(t,g,s,r)為表示零件信息的函數(shù),t為主加工面所屬特征的類型,g為特征幾何拓?fù)湫畔?,s為加工面信息,r為加工要求等相關(guān)信息;S(m,b)為表示企業(yè)實際生產(chǎn)狀況[23]的函數(shù),m為所能實現(xiàn)的加工方法,b為加工能力。加工方法鏈決定因素可用圖7所示模型表示。
在表示零件信息的函數(shù)P(t,g,s,r)中,因素t、g和s為幾何信息,可以從EFRG中直接讀取,因素r為非幾何信息,包含在產(chǎn)品制造信息(Product Manufacturing Information,PMI)中。PMI是指導(dǎo)工藝過程規(guī)劃的重要信息,MDB模式下,零件三維設(shè)計模型是PMI信息的載體。
在表示企業(yè)實際生產(chǎn)狀況的函數(shù)S(m,b)中,因素m和b表示能夠?qū)崿F(xiàn)的加工方法以及達(dá)到的加工要求,可以根據(jù)企業(yè)實際生產(chǎn)狀況預(yù)先制定。表9所示是以孔特征內(nèi)圓表面為例,某企業(yè)可實現(xiàn)的加工方法及加工精度表。
表9 孔特征內(nèi)圓面加工方法及精度
續(xù)表9
2.3.2 加工方法鏈模板
加工方法鏈模板是預(yù)先為每種類型的特征面制定的不同加工要求下的加工方法鏈,在保證加工質(zhì)量、提高加工效率的同時,還能固化工藝知識,有利于工藝知識的收集、利用和傳播。如圖8所示是為孔特征內(nèi)圓柱面制定的加工方法鏈模板示例[24]。
其中,加工方法鏈模板中的每個組成單元稱為加工元(Machining Unit,MU),通過各加工元所調(diào)取的加工資源計算出使用該加工元進(jìn)行加工時的加工成本[6],為下一步加工方法鏈尋優(yōu)提供支持。
2.3.3 加工方法鏈生成
綜合圖7加工方法鏈決定因素模型和圖8加工方法鏈模板,可將加工方法鏈生成過程簡化為主加工面PMI與加工元匹配以及加工成本尋優(yōu)的過程。主要步驟如下:
步驟1PMI提取。遍歷EFRG中各節(jié)點,獲取每個設(shè)計特征的主加工面,對于單個主加工面,從PMI中提取出與其相關(guān)的加工精度要求信息。
步驟2加工方法鏈生成。按照主加工面的類型和加工精度要求信息,與加工方法鏈模板中的加工元匹配,形成加工元序列。如果同時存在多條滿足要求的加工元序列,可根據(jù)每個加工元的加工成本計算出序列總成本,將最小成本序列作為最優(yōu)加工方法鏈。如表10所示為示例零件各主加工面的加工方法鏈列表。
表10 示例零件各特征主加工面的加工方法鏈列表
切削體分割是將完整的切削體分割為加工單元體的過程。其主要步驟為:
步驟1分割面映射。根據(jù)對應(yīng)關(guān)系,將候選分割面—截止面序列Sc中的面映射到切削體,形成切削體的分割面—截止面序列S′c。
步驟2去除無效分割面。由于截止面的限定作用,導(dǎo)致部分分割面在其分割范圍內(nèi)沒有產(chǎn)生有效分割,形成無效分割面。通過檢測各分割面在其限定范圍內(nèi)的干涉情況,可獲取無效分割面,并將其從序列S′c中去除。
步驟3依次分割。依次提取序列S′c中的有效分割面對切削體進(jìn)行分割,檢查新形成的切削體,如果其組成面中不包含未參與分割的分割面,則將其存入加工單元體組中,然后提取下一組分割面進(jìn)行分割,直至所有分割面提取完畢。映射分割操作流程如圖9所示。
加工特征[25]映射是指將加工單元體與加工工藝信息相關(guān)聯(lián),形成面向加工過程的工序模型特征。
加工特征映射過程將主加工面作為工藝信息傳遞的載體,最終實現(xiàn)加工單元體與加工方法鏈的匹配。具體步驟如下:
步驟1特征接觸面提取。將加工單元體的組成面分為毛坯面、特征接觸面和分割截面3種,從中提取出特征接觸面。
步驟2主加工面匹配。在零件設(shè)計模型中找出特征接觸面對應(yīng)的特征面,若該特征面為主加工面,則將兩者建立匹配關(guān)系。
步驟3加工方法鏈映射。對于具有匹配關(guān)系的主加工面和特征接觸面,將前者的加工方法鏈與后者所在的加工單元體建立映射。如圖10所示為圖9中分割結(jié)果中的加工單元體v2的加工特征映射過程,根據(jù)表11分析,將主加工面s2的加工方法鏈與加工單元體v2關(guān)聯(lián)。
表11 加工單元體v2加工特征映射時主加工面匹配表
完成加工特征映射的同時,即實現(xiàn)加工單元體與主加工面的匹配。按照主加工面在特征面序列中的優(yōu)先級順序,對加工單元體排序,將優(yōu)先級相同的加工單元體劃分到同一道工序中,即得到工序切削體序列。最終,將毛坯模型依次與各工序切削體進(jìn)行布爾減操作,實現(xiàn)工序模型的生成,如圖11所示。
基于上述方法,以Visual Studio 2015為開發(fā)環(huán)境,以NX10.0為研發(fā)平臺,采用UG/Open API進(jìn)行系統(tǒng)開發(fā),建立軸類零件三維工序模型快速構(gòu)建系統(tǒng),并采用某典型軸類零件進(jìn)行三維工序模型構(gòu)建驗證,系統(tǒng)用戶界面如圖12所示。
以圖12所示零件的設(shè)計特征模型為輸入,在預(yù)處理階段,提取相關(guān)信息,在系統(tǒng)內(nèi)部建立EFRG,然后以設(shè)計特征為對象進(jìn)行候選分割面—截止面序列的生成,同時將主加工面作為加工工藝信息傳遞的載體,為其生成加工方法鏈;經(jīng)過映射分割操作,將切削體分割為如圖13所示的19個加工單元體;通過加工特征映射操作,為每個加工單元體給出合理的加工解釋,然后經(jīng)過排序與布爾操作,最終生成三維工序模型,結(jié)果如圖14所示。
本文采用體分解的方法為軸類零件設(shè)計特征模型生成三維工序模型。分割面的選擇和加工方法鏈的生成從設(shè)計特征出發(fā),從而較好地解決了傳統(tǒng)體分解方法中因分割操作與設(shè)計模型之間的信息斷層而導(dǎo)致的分割算法復(fù)雜、分割效率低下等問題。同時,截止面和主加工面的設(shè)定,能夠保證將切削體分割為加工單元體,避免后續(xù)的組合操作,打破了“先分解—后合并”的模式,在降低算法復(fù)雜度的同時提升了準(zhǔn)確度和效率。
本文只針對軸類機加工零件設(shè)計特征模型的三維工序模型生成方法進(jìn)行了研究,下一步將研究此方法在其他類型零件中的有效性。同時,對工序模型的工步進(jìn)行優(yōu)化排序,也將是下一步研究的重點和方向。