劉 恒
LIU Heng
(柳州職業(yè)技術(shù)學(xué)院,柳州 545006)
在機械加工領(lǐng)域中,對復(fù)雜曲面的自由加工是一個非常常見且重要的工作。目前常見的CAD加工過程,基本都是將復(fù)雜曲面進行細化,用B-spline曲面或NURBS曲面進行近似等價。然而在這種等價過程中,由于現(xiàn)實曲面的復(fù)雜性,難以選取到非常合適的參數(shù)化曲面進行近似等價。尤其是對于一些非常復(fù)雜的加工模型,其本身的曲面構(gòu)造過程就存在一定的間隙或者連通縫隙。如果通過調(diào)整加工刀頭進行加工修正,則又無法保證加工效率和加工產(chǎn)品質(zhì)量的一致性。由于CAD所生成的數(shù)控數(shù)據(jù)則通常會影響產(chǎn)品的質(zhì)量,所以本文選擇曲面切割模型來解決上述問題。
曲面切割的基本原理是通過反復(fù)劃分原始多體面(如三角網(wǎng)格)來生成一個平滑的曲面。曲面切割的優(yōu)點之一是它僅用單個曲面片就能夠表示復(fù)雜的形狀,因此對于復(fù)雜的形狀,曲面切割基本上不需要多曲面片進行構(gòu)造或者進行微調(diào)。除此之外,曲面切割還具有一定的連續(xù)性,如在曲面的任何位置幾乎都存在曲面的連續(xù)性。但是在CAD/CAM中,曲面切割的應(yīng)用卻不這么廣泛,為此,本文針對曲面切割設(shè)計一種有效的數(shù)控路徑生成算法,該算法應(yīng)該具備較高的自動性和快速性。本文曲面切割以Loop曲面為研究對象,它的域是三角網(wǎng)格。切割路徑的基本思想生成分兩個步驟:曲面粗切割階段和曲面精密切割階段。首先生成粗篩網(wǎng)進行粗切割,然后,再生成精密覆蓋網(wǎng)進行精細切割。最后進行干擾檢測和誤差修改加工,以使加工的產(chǎn)品質(zhì)量符合加工要求。
Loop根據(jù)Box-spline與平行四邊形網(wǎng)格的遞推關(guān)系,提出了建立在三向Box-spline的基礎(chǔ)上的曲面切割方案,該方案所劃分的曲面除非規(guī)則點外是C2連續(xù)的,非規(guī)則點是指那些鄰接頂點數(shù)量不是六的頂點,鄰接頂點達到六個稱為正規(guī)頂點。通過下面兩個步驟,Loop方案可以應(yīng)用于任意三角網(wǎng)格:
1)三角形的每個邊劃分成兩個邊;
2)三角形的每個角劃分成四個角。
通過上述兩個步驟,舊點(也稱為偶點)被移到新的位置,而新點則被嵌入三角網(wǎng)的邊中,這些新點稱為奇點,奇點和偶點的位置可通過Loop曲面切割規(guī)則計算獲得。對于網(wǎng)內(nèi)的奇偶點(內(nèi)頂點)和邊界的奇偶點,共有四種規(guī)則。通過無限劃分原始三角網(wǎng)(控制網(wǎng)或者控制多邊形),聚合成平滑曲面(極限曲面)。在此過程中,控制網(wǎng)的頂點接近其在極限曲面上的位置,而其在極限曲面上的位置通過簡單的計算就可以得到,而不需要使用類似劃分規(guī)則的方程式進行計算。除此之外,點極限位置處極限曲面的切向矢量和法向矢量也可以通過計算得到。
Z-map模型是離散非參數(shù)曲面的一種特殊表示形式,該模型柵格點的高度存儲在一個二維矩陣中,就如圖1所示。Z-map模型廣泛地應(yīng)用于數(shù)控切割路徑生成應(yīng)用中,柵格點坐標(biāo)的表示方法如下所示:
圖1 Z-map模型中柵格點表示形式
首先將曲面切割轉(zhuǎn)換成Z-map模型,其目的是生成數(shù)控切割路徑。在Z-map模型取樣過程中,將經(jīng)過柵格點且于z軸平行的直線與曲面相交獲得柵格點的z值,然后沿著平行于x(或y)軸的柵格線以便切刀與Z-map曲面接觸,這樣就生成了切割曲線。
為了消除大量的噪聲,可以用平頭銑刀層層切割工件,這稱作截面切削,這在之前的研究中已有所采用。截面切削沿著粗曲面進行,切割層的厚度由所選工具的參數(shù)決定。粗切割曲面應(yīng)使用一定數(shù)量的縫隙(切割容差)將曲面切割封閉,而且也應(yīng)盡可能簡單以便實現(xiàn)快速計算,一種直接的方法就是使用粗篩網(wǎng)作為粗切割曲面,但粗篩網(wǎng)通常不能滿足非過切條件,因此需要將粗篩網(wǎng)轉(zhuǎn)換成能夠近似滿足非過切條件的網(wǎng),將其稱為覆蓋網(wǎng)。
圖2 二維情況下粗篩網(wǎng)生成覆蓋網(wǎng)示意圖
圖2是說明了二維情況下粗篩網(wǎng)生成覆蓋網(wǎng)的基本原理。首先將位于曲面下的頂點移動到曲面之上(如圖2下半部分),其目的是解決過切問題。由于存在切割容差(cutting-allowance),曲面下頂點的新位置偏移了其極限位置。通過這種方法,就可以生成位于曲面之上的覆蓋網(wǎng)。
但在三維情況下,覆蓋網(wǎng)的生成過程就不是如此之簡單,盡管所有的頂點都位于曲面之上,但極限曲面的部分區(qū)域可能還會出現(xiàn)在網(wǎng)格上,曲面的網(wǎng)上部分可以通過確認控制網(wǎng)的凸出部分得以實現(xiàn)。為了解決這個問題,本文使用參數(shù)化方法計算極限曲面上的點,就和普通的參數(shù)化曲面一樣:首先計算圖3中兩個三角面間邊上的點,然后判斷采樣點是否位于兩個鄰接三角形的下面,當(dāng)部分點位于鄰接三角形之上時,找到其中的最高點,并計算到被計算邊的距離頂點的新位置通過方程1得到:
圖3 三維情況下粗篩網(wǎng)生成覆蓋網(wǎng)示意圖
δ是切割容差,N是頂點的方差。由于無法計算邊界曲線上的點,因此插入δ因子。盡管此方法對覆蓋網(wǎng)并不精確,但它依舊是一種可用的實現(xiàn)粗切割的方法。當(dāng)然,也可以在曲面切割和覆蓋網(wǎng)之間使用交點檢查。
通過Z-map取樣為覆蓋網(wǎng)生成一個Z-map模型,以作為粗切割曲面。在Z-map模型中,將粗切割曲面的柵格周期設(shè)置成切割容差ν的一半,這可以由使用者指定:
式中R是切割工具的半徑。
粗切割的最后一個步驟是計算每個薄片的CL(切割位置)數(shù)據(jù),用于加工控制器輸出。生成覆蓋網(wǎng)的Z-map模型之后,垂直于z軸進行層層切割。對x(或y)為常數(shù)的柵格線,取樣Z-map模型來定義折線,找到切面和折線之間的相交點,所有這些交點就是CC(切割觸點),然后通過R偏移計算CL點,最后將CL點連接起來,就計算出了數(shù)控切割路徑。對所有的柵格線和所有的切平面重復(fù)上述過程,以生成所有的粗切割數(shù)控切割路徑。
對于精密切割,首先曲面劃分控制網(wǎng)以最大程度地逼近極限曲面。劃分次數(shù)由給定的容差確定,該容差將在后面描述,然后計算精密切割的CL數(shù)據(jù),偏移CC數(shù)據(jù),連接CL數(shù)據(jù),最后生成CL路徑。
為了確定劃分?jǐn)?shù)量,將當(dāng)前曲面劃分網(wǎng)的頂點到極限位置的距離 和期望容差 進行比較,曲面切割直至滿足下述條件:
τ是曲面折線段的方差,ρ是近似曲率半徑。
Z-map柵格周期由切割容差最小值和步長周期中的最小值決定:
γ是精密切割中Z-map模型的柵格周期,ν是精密切割的切割容差,λmin是步長。在本文的具體實現(xiàn)中,將γ設(shè)置為x軸和y軸方向的柵格周期。
在通過Z-map取樣確定CC點之后,與該CC點相應(yīng)的CL點可以通過方程式5.4計算得到:
其中rCL是CL點的位置,rCC是CC點的位置, R是球頭銑刀的半徑,NCC是外向標(biāo)準(zhǔn)矢量/法向矢量,a是工具軸向的單位矢量,也即三軸向加工的(0,0,1)。為了計算NCC的數(shù)值,首先確定三角形三個頂點的標(biāo)準(zhǔn)矢量,然后NCC就可以被三角形三個頂點的標(biāo)準(zhǔn)矢量通過交叉點的重心坐標(biāo)確定。
選擇一組合適切割工具的時候,那些不能被所選工具中任何一個切刀加工的區(qū)域必須作為干擾區(qū)域檢測出來,本文在不進行過切割的情況下研究這些干擾區(qū)。干擾區(qū)可能會由于切刀尺寸過大而出現(xiàn),特別是凹陷區(qū)。
為了檢測到未切割區(qū)域,需要計算每個CC點的曲率,頂點的曲率半徑能夠通過G進行計算。如果CC點位于三角網(wǎng)的角的內(nèi)部,首先計算曲面切割三角頂點的曲率半徑,然后三角內(nèi)CC點曲率半徑可以依據(jù)重心坐標(biāo)確定。首先比較切割觸點處和工具庫中工具的曲率半徑,然后選擇那些工具半徑小于所有切割觸點處曲率半徑的工具,滿足工具只接觸到目標(biāo)曲面。如果工具庫中沒有滿足上述條件的工具,將其看作是清除路徑生成問題。
表1 粗切割參數(shù)
表2 精密切割參數(shù)
本文使用軟件開發(fā)平臺是WindowsXP操作系統(tǒng)和Vusual C++ 6.0,計算機配置為Intel 雙核2.2GHz,內(nèi)存為2GB。在測試中,假設(shè)曲面切割的最終容差是0.01mm。在粗切割中,使用M1網(wǎng)(劃分一次)生成覆蓋網(wǎng),相關(guān)參數(shù)在表1中。在實現(xiàn)中,粗切割產(chǎn)生12個切割薄片,精切割使用M3網(wǎng)(劃分三次)。使用上述數(shù)控數(shù)據(jù),本文進行了一次加工實驗,加工結(jié)果表明本文設(shè)計的粗加工和精細加工過程能夠得到比較精細的加工效果,即使是對一些自然景物等復(fù)雜造型也能較高質(zhì)量地完成加工效果。
本文引入了包含粗切割和精密切割在內(nèi)的路徑規(guī)劃算法,對Loop曲面切割的三軸數(shù)控切割路徑生成使用Z-map模型。在粗切割中,本文提出一種覆蓋網(wǎng)的生成方法,覆蓋網(wǎng)在一定容差允許范圍內(nèi)封閉了最終曲面。在精密切割過程中,使用一種更平滑的曲面生成精密切割路徑。在這兩個過程中,依據(jù)工具參數(shù)和切割容差決定Z-map柵格周期。另外本文還針對切割路徑提出一種檢測和修正方法,這主要是為了克服本地干擾(過切割和未切割)。最后的實驗結(jié)果表明本文提出的算法和方法是有效的,這些方法也可以應(yīng)用于除了Loop曲面切割之外的其它曲面切割。
[1]白杰,趙罡,姚福生.Loop細分曲面的加工等距面生成及誤差控制算法[J].工程圖學(xué)學(xué)報,2009,30(4):86-94.
[2]陳颯,施展.板金加工數(shù)控切割路徑的優(yōu)化計算[J].上海理工大學(xué)學(xué)報,2003,25(4):376-378.
[3]杜慧濱,于冬.自動切管機切割路徑的運動學(xué)分析[J].組合機床與自動化加工技術(shù),2004,12:42-44.
[4]劉會霞,王霄,蔡蘭.鈑金件數(shù)控激光切割割嘴路徑的優(yōu)化[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2004,16(5):660-665.
[5]朱燈林,陳俊偉,俞潔,董世昌.基于零件形心的數(shù)控火焰切割路徑的規(guī)劃[J].機械設(shè)計與制造,2006,(9):88-90.
[6]茅裕芳,尹磊.淺談數(shù)控火焰切割鋼板零件的尺寸保證[J].金屬加工:熱加工,2008,(8):59-60.
[7]楊旭靜,胡仲勛,鐘志華.面向刀具路徑生成的NURBS曲線擬合算法研究[J].中國機械工程,2009,(8):984-987,1007.
[8]楊東,李玉慶,張峰.基于UG軟件的芯盒內(nèi)表面拋光路徑生成方法[J].金屬加工:冷加工,2008,(15):65-67.
[9]王軍,譚景春,孫軍,馮嵩,趙小慶,面向STEP-NC的銑削知識庫建立及其刀軌規(guī)劃方法[J].沈陽建筑大學(xué)學(xué)報:自然科學(xué)版,2008,24(2):301-305.
[10]梁偉文.Loop細分曲面的數(shù)控粗加工刀具路徑生成方法[J].深圳職業(yè)技術(shù)學(xué)院學(xué)報,2007,6,(3):3-6.
[11]李建克,田錫天,杜娟,張振明.基于STEP-NC的自由曲面刀具路徑生成術(shù)的研究[J].制造業(yè)自動化2006,28,(4):32-35.
[12]劉偉中,宋根旺.Loop細分曲面上的交互切分算法[J].河北理工學(xué)院學(xué)報,2002,24,(2):42-45.