1 引 言
數(shù)控編程是目前 CAD/CAPP/CAM 系統(tǒng)中最能發(fā)揮效益的環(huán)節(jié)之一,其在實現(xiàn)設計加工自動化、提高加工精度和加工質(zhì)量、縮短產(chǎn)品研制周期等方面發(fā)揮著重要作用。針對模具電極加工的數(shù)控自動編程系統(tǒng)的研究已取得不少成果,然而在半精加工的處理上效果不甚理想,大大制約了數(shù)控加工自動化程度的提高。
數(shù)控銑削中,為了提高加工效率、降低加工成本,首先用大刀快速粗加工。為了獲得零件準確形狀、精確的尺寸和良好的表面質(zhì)量,往往要用合適的刀具進行精加工。高效率的粗加工后要獲得高精度的精加工,合理地安排半精加工至關重要。研究半精加工的特征識別,減少自動編程系統(tǒng)的人機交互,對模具制造的效率提升具有重要意義。因此提出一種利用截面法獲得模型的截面線形狀并通過對截面線形狀的分析來識別半精加工特征的算法。
2 半精加工特征識別
在精加工之前,為了去除由于粗加工刀具直徑較大或轉(zhuǎn)角半徑大而遺留的材料,使精加工時零件的加工余量較小且較為均勻而進行的加工稱為半精加工。是否需要半精加工操作,取決于粗加工刀具尺寸和待加工零件(以下簡稱模型)的形狀。例如粗加工刀具為D10,是否需要半精加工要看待加工模型是否存在粗加工刀具D10加工不到的方,若存在8 mm寬的凹槽則需要半精加工。數(shù)控加工中半精加工特征的識別實質(zhì)上是識別刀具無法到達的內(nèi)R角、凹槽以及孔洞。綜上所述,半精加工特征識別轉(zhuǎn)化為模型的凹槽、孔洞最小尺寸Dmin以及內(nèi)R角的最小尺寸Rmin的識別。半精加工特征識別算法的具體流程如圖1所示,該算法主要由三部分組成:輪廓的獲取、輪廓的表達和參數(shù)的識別。下面具體介紹關鍵算法。
圖1 半精加工特征識別算法流程
2.1 截面輪廓的獲取
待加工模型的加工坐標系確定后,模型的凹槽或內(nèi)R角是以順著Z軸負方向的視線看到的模型輪廓內(nèi)凹的部分,因而截面方向選為Z軸正向。截面數(shù)量的選取如圖2所示。模型由2個臺階面組成(臺階面和基準面),在每個臺階頂面上抬0.01 mm的高度做截面(目的是避免截面位于臨界處,導致截面的形狀無法確定),截面數(shù)量取決于模型的平面的數(shù)量。采用該方法確定截面數(shù)量是保證獲得的截面輪廓能夠遍歷到模型所有的內(nèi)R角和凹槽的前提下的最少數(shù)目。
算法步驟:
?。?)統(tǒng)計模型在基準面以上(包含基準面)的電極頭部包含的所有水平面,沿Z軸正向從低到高作面的排序,用一個有序數(shù)組an記面的對應的Z軸坐標,同一高度面的高度值記一次。
?。?)將數(shù)組an的每一項值加0.01mm。分別以an的每一項數(shù)值為高度,Z軸正向為截面法向,對模型作截面,得到截平面與模型輪廓形成的交線。圖2所示模型包含2個臺階面:基準面和臺階面,獲得的截面輪廓如圖3所示。
2.2 截面線輪廓的表達
為了便于對截面線輪廓進行分析,需要設計合適的數(shù)據(jù)結(jié)構表達截面線輪廓。主要需要表達各元素的幾何信息,各幾何元素之間的相對位置關系,各個直(曲)線之間的連接關系等。
作截面獲得的構成輪廓的各曲線段tag(句柄)數(shù)組是隨機無序排列的,為了將二維輪廓用數(shù)據(jù)結(jié)構形式表達出來,需要對該曲線段數(shù)組進行處理,用封閉輪廓搜索算法將這些實體按照構成封閉環(huán)歸類,并且形成有向、順序排列tag數(shù)組。將組成輪廓的曲線段集進行封閉輪廓搜索分類后,再建立對應的鏈表數(shù)據(jù)結(jié)構來表達截面輪廓。表達截面輪廓的數(shù)據(jù)結(jié)構如圖4所示。
圖4 表達截面輪廓的數(shù)據(jù)結(jié)構
截面輪廓按圖4鏈表數(shù)據(jù)結(jié)構框架搭建完成后,需要計算其幾何屬性,如環(huán)的方向、內(nèi)外環(huán)判斷、輪廓節(jié)點凹凸性等,具體算法如下:
?。?)環(huán)方向判別。環(huán)方向的判斷是通過計算環(huán)的面積是正值還是負值來確定環(huán)的方向,簡稱求面積法。
?。?)內(nèi)外環(huán)的判斷。對于任意一個外環(huán)的所有內(nèi)環(huán)中,有可能是外環(huán)的一級內(nèi)嵌、二級內(nèi)嵌,甚至有幾個內(nèi)嵌的環(huán),在半精加工的特征識別時需要區(qū)分內(nèi)外環(huán)主要目的是判斷輪廓的凹凸性,為了便于分析,將輪廓按嵌套關系標上層號,即最外層的外
輪廓層號為0,其一級內(nèi)嵌層號為1,二級內(nèi)嵌環(huán)層號為2……,處于偶數(shù)層的環(huán)定義為外環(huán),位于奇數(shù)層的環(huán)則為內(nèi)環(huán),有了以上的定義后,則可介紹判斷內(nèi)外環(huán)的算法。以圖3中基準面處截面線輪廓為例,環(huán)L1沒有內(nèi)環(huán),環(huán)L2鑲嵌內(nèi)環(huán)L3和L4,同時環(huán)L4又鑲嵌環(huán)L5,關系較為復雜,如圖5所示。
圖5 輪廓的多環(huán)關系及其射線P
1~ P5的分布環(huán)關系樹建立過程為:①過環(huán)i的最左點作Y軸正向平行且同向的射線;②計算該射線和其他各環(huán)交點的Y坐標,并記錄交點所在的環(huán);③將所有交點按照Y坐標值的大?。◤男〉酱螅┻M行排序;④刪除與射線相交次數(shù)為偶數(shù)的環(huán)的全部交點;⑤若沒有一個交點,則環(huán)i沒有父環(huán);若有交點,則Y坐標值最小的交點所在的環(huán)即為環(huán)i的父環(huán)。在實現(xiàn)該步驟過程中,可能含有大量短直線和小曲線的環(huán)劃分為嚴格的單調(diào)鏈和平行單調(diào)鏈。在求射線與環(huán)交點過程中,當射線剛好通過兩條單調(diào)鏈的交點時,需要作特別設定:(a)兩條單調(diào)鏈同時位于射線左側(cè),按零交點處理;(b)兩條單調(diào)鏈位于射線兩側(cè),按照一個交點處理;(c)兩條單調(diào)鏈同時位于射線右側(cè),按照2個交點處理;⑥從左至右考察各環(huán),依據(jù)
環(huán)與其父環(huán)建立環(huán)關系樹,如圖6所示。環(huán)關系樹構建完成后,通過環(huán)所屬的層值可以判斷內(nèi)外環(huán),關系樹的層值設置如圖7所示。位于偶數(shù)層的環(huán)為外環(huán),位于奇數(shù)層的環(huán)為內(nèi)環(huán),圖7中L1、L2、L4為外環(huán),根據(jù)內(nèi)外環(huán)的幾何關系,圖7中的陰影部分即為模型的截面。
圖6 環(huán)關系樹的構建過程示意圖 圖7 環(huán)關系樹的層值設置以及截面
?。?)輪廓節(jié)點處的凹凸性判斷。在上述輪廓線中取一外輪廓(見圖8),要求確定節(jié)點A處的凹凸性,算法為:①在A點鄰域內(nèi),分別在構成點A的2個實體上取點B和C;②在A、B、C三點沿輪廓的方向排序,構成三角形△CAB;③計算三角形△CAB的面積;④判斷面積的符號,如為正,則節(jié)點A為凸節(jié)點,否則為凹節(jié)點。
對于順時針方向的輪廓,其結(jié)論與上述結(jié)果相反;對內(nèi)環(huán)輪廓,其結(jié)論又與外輪廓的情況相反。
圖8 輪廓的凹凸性判斷
利用上述算法分析輪廓數(shù)據(jù)結(jié)構中所有節(jié)點的凹凸性,若構成A點的2個實體為直線,則B、C取直線的另一個端點,若實體為非直線,將實體等弧長分割簡化成多段小直線,從而方便用直線的方式來處理,分析出其凹凸性。
至此表達截面線輪廓的數(shù)據(jù)結(jié)構構建全部完成。
2.3 特征參數(shù)的識別
截面線輪廓的特征參數(shù)包括側(cè)面最小內(nèi)R角半徑Rmin和最小槽間距值Dmin。識別出這些特征值便能確定使用何種尺寸刀具能夠完成加工,進而確定相應的加工工藝,具體識別算法如下。
2.3.1 側(cè)面最小內(nèi) R 角
截面輪廓被表達為由多個環(huán)按所處層號聯(lián)系在一起的數(shù)據(jù)結(jié)構,側(cè)面內(nèi)R角的分析針對單個環(huán)進行,由于環(huán)的幾何形狀變化較多,需要分如下3種情況討論。
?。?)內(nèi)環(huán)由整圓或者封閉圓錐曲線單個實體組成。整個內(nèi)環(huán)都為內(nèi)凹的,內(nèi)R角半徑值為圓的半徑或者橢圓的半短軸,如圖9(a)中R1和R2所示。
(2)構成環(huán)的實體中有樣條曲線時。樣條曲線的凹凸性并不一定是單調(diào)的,為了簡化分析,把樣條曲線按等弧長分成小段曲線并且將小段曲線的凹凸性近似看作單調(diào)的。這樣,樣條曲線的內(nèi)R角計算需分段進行,當小曲線段為內(nèi)凹時,獲取樣條曲線在該段范圍內(nèi)的最小曲率半徑作為此小曲線段的內(nèi)R半徑值,綜合比較組成樣條曲線的所有曲線段的內(nèi)R半徑,取最小值作為該樣條曲線的內(nèi)R半徑值。小段曲線的凹凸性采用選擇曲線段的中點,求其凹凸性代表曲線段整體的凹凸性的方法進行判斷。
圖9(b)所示的一個輪廓外環(huán),環(huán)的方向為順時針,曲線AD為樣條曲線,首先將樣條曲線按弧長等分為兩段,增加等分點E,經(jīng)過等分操作,此時構成輪廓環(huán)的各實體都是凹凸性單調(diào)的。直線的凹凸性用直線起點的凹凸性代替,判斷構成該輪廓環(huán)的所有實體的凹凸性,結(jié)果是曲線段ED為內(nèi)凹,其他實體為外凸的,最后求出曲線 ED 的最小半徑值Rmin,即為該輪廓環(huán)的最小內(nèi)R半徑值。
?。?)構成環(huán)的實體中的開放圓弧或者開放圓錐曲線。根據(jù)幾何特性圓弧與圓錐曲線凹凸性都是單調(diào)的,因而不需要像樣條曲線一樣作等分操作,取曲線段中點的凹凸性代替曲線段的凹凸性,其他判斷過程同樣條曲線的做法類似。圖9(c)所示圓弧EF為內(nèi)凹的,其他實體均為外凸的,則圓弧段的半徑R即為整個環(huán)的最小內(nèi)R半徑值Rmin。
2.3.2 最小槽間距 Dmin
在數(shù)控編程的方案中,是否需要半精加工以及操作所用刀具需要分析待加工模型的凹槽與間隙的尺寸,以保證選用的刀具可以深入到凹槽或間隙中進行加工。為分析方便,將凹槽與間隙的尺寸一并歸為槽間距。待加工電極的形狀較多,給槽間距做一個大致的分類便于后續(xù)分析。
2.3.2.1 凹槽的分類
?。?)位于環(huán)關系樹零層的外環(huán)之間形成的間隙。最外層環(huán)與其他最外層環(huán)之間兩兩求得最小距離,確切地說是間隙值,這是槽間距的第一種類型
?。?)內(nèi)環(huán)與其子環(huán)之間形成的間隙。在環(huán)關系樹中若位于奇數(shù)層的內(nèi)環(huán)存在子環(huán),則此內(nèi)環(huán)與子環(huán)共同構成一段環(huán)狀間隙,這是槽間距的第二種類型,如圖11所示。槽間距值為內(nèi)環(huán)與其子環(huán)的最小距離Dmin。
圖11 內(nèi)環(huán)與其下一級內(nèi)嵌外環(huán)構成的凹槽
(3)環(huán)關系樹最高層的內(nèi)環(huán)形成的凹槽。位于環(huán)關系樹最高層的內(nèi)環(huán)在模型中為凹槽或孔洞的截面形狀,因為內(nèi)環(huán)的形狀變化較多,綜合來說有3種典型的情況,如圖12所示。對于這3種情況的槽間距取值分別標志在圖12中,特別是圖12(c)所示的環(huán)形狀為三角形時,槽間距值取3條邊中最短邊對應的中位線的長度。
(a)圓形環(huán) (b)矩形環(huán) (c)三角形環(huán)圖12 環(huán)關系樹最高層內(nèi)環(huán)自身形成的凹槽
(4)外環(huán)自身有內(nèi)凹的部分。外環(huán)輪廓有內(nèi)凹部分時并不是所有情況都算作凹槽,如分別位于內(nèi)凹輪廓兩頭的實體所構成的角度大于45°即不能算作凹槽處理,因為這樣的內(nèi)凹部分刀具是否可以深入加工決定于最小內(nèi)R角半徑值不受內(nèi)凹部分的凹槽間距影響,圖13(a)所示輪廓的內(nèi)凹部分兩頭實體所構成角度為0,符合對凹槽的定義,槽間距取內(nèi)凹部分兩端點之間的絕對距離。圖13(b)中輪廓的內(nèi)凹部分兩頭的實體所構成角度a大于45°,不算作凹槽處理。
(a)作凹槽處理 (b)不作凹槽處理圖13 外環(huán)自身內(nèi)凹形成凹槽
2.3.2.2 凹槽的識別與槽間距的計算
依照凹槽的分類,不同類型的凹槽的識別方法也有差異的,下面針對不同類型的凹槽提出相應的識別方法。
(1)針對第一種環(huán)關系樹零層的外環(huán)互相之間形成凹槽的類型,搜索構成輪廓的所有環(huán),記錄層值為0的環(huán),兩兩求最小距離,綜合比較這些距離,取最小值作為第一種類型凹槽的最小槽間距值。
?。?)內(nèi)環(huán)與其子環(huán)之間形成的間隙這一類型的凹槽的識別。利用圖7所示的環(huán)關系樹來具體說明,從上至下搜索奇數(shù)層的環(huán),搜索到層數(shù)為1的環(huán)L3和L4,該環(huán)關系樹除了第一層沒有其他奇數(shù)層,環(huán)L3不存在子環(huán),而環(huán)L4存在子環(huán)L5,則環(huán)L4與L5構成凹槽,求環(huán)L4與L5之間的最小距離,即為此類型凹槽的最小槽間距值。
?。?)環(huán)關系樹最高層的內(nèi)環(huán)形成的凹槽。這種類型的凹槽識別需要借助環(huán)關系樹,從下到上搜索奇數(shù)層環(huán),并判斷位于奇數(shù)層的環(huán)是否存在子環(huán),若不存在則該環(huán)形成第三種類型的凹槽,由于內(nèi)環(huán)的形狀變化較多,難以歸納出一個精確確定槽間距的方法,因而作一些近似處理。圖12所示為內(nèi)環(huán)的3 種典型形狀,圖 12(a)內(nèi)環(huán)形狀為整圓或橢圓,槽間距為圓的直徑或橢圓的短軸長度;圖12(b)內(nèi)環(huán)為矩形,槽間距為矩形短邊的長度;圖12(c)內(nèi)環(huán)為三角形,槽間距為取3條邊中最短邊對應的中位線的長度。在分析第三種類型凹槽槽間距時將形成凹槽的內(nèi)環(huán)簡化成其如圖12中的一種,然后求其槽間距值。
?。?)外環(huán)自身內(nèi)凹的部分形成的凹槽,這種類型凹槽的識別算法為:圖14所示的輪廓方向為逆時針,其中ABCD這段輪廓構成整個環(huán)的內(nèi)凹部分,A、B、C、D 4 個節(jié)點的凹凸性分別為凸、凹、凹、凸,由此可以得出規(guī)律,輪廓節(jié)點的凹凸性按照順時針或者逆時針順序排列,若存在凸+n*凹+凸(n≥2)這樣的結(jié)構,則凸+n*凹+凸(n≥2)構成一個凹槽,識
別出組成凹槽的節(jié)點后,求2個凸節(jié)點之間的絕對距離,工程上將這個距離作為此類凹槽的槽間距,圖14所示輪廓的槽間距即為A、D之間的絕對距離Dmin。
圖14 外環(huán)自身內(nèi)凹的凹槽的判斷
3 應用實例
利用上述算法對圖15所示的待加工電極模型的最小內(nèi)R角和最小槽間距進行識別。
圖15 待加工電極模型
?。?)人工識別最小槽間距Dmin和最小內(nèi)R角半徑。經(jīng)觀察與手工測量,待加工電極最小槽間距Dmin=5.134 mm,最小內(nèi) R 角半徑 Rmin=3.200 mm。
?。?)使用上述介紹的算法編寫的程序自動分析。
由圖16(f)可以看到待加工零件共有5個臺階面,因而作5個截面,得到的截面輪廓見圖16(a)~圖16(e)。第 1 個截面輪廓圖 16(a)是一個矩形,不存在內(nèi)R角和槽間距;第2個截面輪廓如圖16(b)所示:最小內(nèi)R角半徑值為R3.200mm,最小槽間距為5.134 mm;第 3、4、5 個截面輪廓的最小內(nèi) R 角半徑值和槽間距值都在圖中表示,可以看到取值與第2個輪廓一樣。因而該零件的最小內(nèi)R角半徑值為R3.200 mm,最小槽間距值為 5.134 mm,對比人工識別的結(jié)果,完全一致。
圖16 半精加工特征識別實例
4 結(jié)束語
現(xiàn)有的數(shù)控加工自動編程系統(tǒng)往往需要工程師人為判斷出零件是否需要半精加工,并指出所需加工刀具,是依賴人機交互的半自動編程。提出的半精加工特征識別算法,可極大提高數(shù)控自動編程系統(tǒng)的自動化程度,減少人機交互。經(jīng)過某模具企業(yè)的大量實例驗證,該算法針對電極的分析結(jié)果準確性高達80%,滿足企業(yè)實際應用需求。
提出的算法先獲取截面輪廓,然后對截面輪廓作幾何分析從而獲取所需參數(shù)以達到特征識別的目的。然而對截面輪廓所做的幾何分析是一個復雜的過程,為了達到這個目的并簡化實現(xiàn)過程,算法實現(xiàn)在多處作了工程近似處理。例如在識別輪廓的內(nèi)R角半徑時,對于一般樣條曲線的凹凸性并不是單調(diào)的,最準確地獲取最小內(nèi)R角半徑值的方法是將樣條曲線分割成多條凹凸性單調(diào)的曲線,然后挑選出內(nèi)凹的曲線段,最后求取這些內(nèi)凹曲線段的最小半徑值。然而將樣條曲線分割成多條凹凸性單調(diào)的曲線的過程難度很大,暫時還沒有理想的算法能夠做到,因而作工程近似,所有樣條曲線都按照等弧長等分成多條曲線段,并將每一條曲線段近似看作凹凸性是單調(diào)的,這個等弧長值設置的越小結(jié)果越接近實際情況,但是它設置太小導致等分數(shù)過多會影響計算效率,為了在效率與準確率之間找到平衡,必然需要犧牲一定的識別準確率。另外作截面輪廓時的精度以及幾何分析時的精度設置都會影響識別準確率,由于研究時間有限,沒能找到最理想的2個精確值,后續(xù)研究可以在這個方面作深入分析,找到更理想的精確值從而提高識別準確率。
(審核編輯: 智匯張瑜)
分享