郭 峰,杜 強(qiáng),朱廣躍
(1. 滕州市產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)所, 山東滕州 277500;2. 國(guó)家機(jī)床產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)中心(山東), 山東滕州 277500)
隨著國(guó)民經(jīng)濟(jì)水平的提高,木制工藝品越來越受到青睞,例如木制佛珠、木制羅馬柱、木制葫蘆掛件、根雕、木制浮雕擺件等[1-2],傳統(tǒng)的加工方式多為人工雕刻加工,效率低且加工質(zhì)量不易保證[3]。因佛珠、羅馬柱、葫蘆掛件等木制工藝品為外圓回轉(zhuǎn)體,采用數(shù)控車削加工可大大提高加工效率、保證加工質(zhì)量且能降低對(duì)從業(yè)工人的技藝要求。但傳統(tǒng)的數(shù)控車床程序編制步驟繁瑣,非專業(yè)人員難以勝任[4-8]。
張振宇、張大勇等[9-10]基于AUTO CAD開發(fā)了自動(dòng)車削編程系統(tǒng),但系統(tǒng)不具備獨(dú)立性,且操作者需具備AUTO CAD基礎(chǔ);冉旭等[11]基于QT開發(fā)了面向復(fù)雜回轉(zhuǎn)曲面的數(shù)控車削的自動(dòng)編程軟件,實(shí)現(xiàn)了復(fù)雜回轉(zhuǎn)曲面的截面線繪制、自動(dòng)編程等功能,但系統(tǒng)針對(duì)特殊數(shù)控系統(tǒng)開發(fā),不具備通用性;周智勇[12]研發(fā)了木工藝仿形車床數(shù)控系統(tǒng),實(shí)現(xiàn)了基于圖像信息的刀軌生產(chǎn)及車削加工,但需提前獲取所仿形產(chǎn)品的渲染圖片,且所生成刀軌數(shù)據(jù)和機(jī)床控制運(yùn)動(dòng)控制器內(nèi)部傳輸,不便于任意外圓輪廓的車削加工及任意數(shù)控車床的使用,局限性大。
鑒于此,本文研究車削圖形輸入及自動(dòng)編程算法,將所提算法在C++bulider 環(huán)境下實(shí)現(xiàn),開發(fā)出專用小型CAD/CAM軟件系統(tǒng),實(shí)現(xiàn)了車削零件截面線的快速輸入、毛坯定義、刀具定義、車削刀軌的自動(dòng)生成及NC程序輸出,大大提高了此類車削程序的編制效率,減低了對(duì)操作者的要求。通過使用軟件所生成的程序進(jìn)行加工實(shí)驗(yàn),驗(yàn)證了軟件的實(shí)用性、高效性。
本車削系統(tǒng)針對(duì)外圓零件開發(fā),所用刀具為圓弧車刀,車刀垂直于車床主軸安裝,刀具外形及安裝方式如圖1所示。本文車削編程系統(tǒng)通過鼠標(biāo)與繪圖界面進(jìn)行交互操作繪制零件外形截面線;將零件截面線向外偏置,獲取的偏置輪廓線既為車削精加工刀軌;依據(jù)毛坯尺寸規(guī)劃一系列截交線,求交截交線與零件截面線的偏置輪廓,對(duì)所獲交點(diǎn)進(jìn)行排序生成粗加工刀軌;最后以粗加工中工件截面線的Z向極值為Z軸零點(diǎn),將生成的刀軌按先粗后精的順序依一定的格式輸出,獲取零件車削的完整NC代碼。軟件系統(tǒng)總體框架及所依賴的算法如圖2所示。
圖1 車刀及刀具安裝方式
圖2 軟件系統(tǒng)框架及算法
工件截面用直線段或圓弧段表示,在繪制界面中建立如圖3 所示的坐標(biāo)系,繪制截面線時(shí)在第一象限自左到右依次繪制。
圖3 工件截面線繪制區(qū)域
直線段繪制時(shí)通過鼠標(biāo)拾取繪制區(qū)域中的兩個(gè)點(diǎn)依次作為起點(diǎn)和終點(diǎn)。圓弧段繪制時(shí)采取三點(diǎn)繪制法,如圖4所示,依次拾取圓弧的起點(diǎn)P0、終點(diǎn)P1及圓弧上一點(diǎn)P2,則圓心點(diǎn)O為P0P2中垂線與P1P2中垂線的交點(diǎn)。P0P2的中垂線線可由中垂線上一點(diǎn)P3及單位向量v0表示,P3及v0可通過式(1)求得,同理可求得P1P2的中垂線上一點(diǎn)P4及單位向量v1,則圓心點(diǎn)O可通過式(2)求得。連接P0P1,將向量表示為(x01y010) ,連接P0O,將向量表示為(x0Oy0O0) ,叉乘與得到向量v( 0 0k),如式(3)所示,若所得k<0則所繪制圓弧為逆圓,若式(3)所得k≥0,則所繪制圓弧為順圓。
圖4 圓弧的繪制
依次繪制完點(diǎn)擊完成時(shí),系統(tǒng)將自動(dòng)檢測(cè)最后一條截面線的終點(diǎn)X坐標(biāo)值是否為0,如不為0以該點(diǎn)為起點(diǎn)自動(dòng)添加終點(diǎn)坐標(biāo)值為0的平行于X軸的直線段。
對(duì)截面線偏置時(shí),先對(duì)組成截面線的各直線段或圓弧段進(jìn)行偏置,偏置量為車刀圓弧半徑,求交各相鄰偏置輪廓段,依據(jù)交點(diǎn)情況對(duì)偏置輪廓段進(jìn)行轉(zhuǎn)接處理,對(duì)轉(zhuǎn)接處理后的偏置輪廓段進(jìn)行自相交檢測(cè),刪除自相交輪廓斷后獲取偏置輪廓線,將偏置輪廓線逆序輸出獲取車削精加工刀軌。
截面線于第一象限自左到右依次繪制,組成截面線的直線段或圓弧段偏置時(shí)左偏。如圖5所示,如偏置量為δ,則截面線中直線段P0P1的偏置輪廓段可通過式(4)獲?。粓A弧段偏置時(shí)圓弧圓心不變,圓弧半徑值依據(jù)順逆關(guān)系加或減δ,順圓弧段P1P2的圓心為O0偏置后圓弧段起始點(diǎn)通過式(5)獲取,逆圓弧段P2P3偏置后的起始點(diǎn)計(jì)算公式參見式(5),但式中的加號(hào)改為減號(hào)。
圖5 直線段及圓弧段偏置
對(duì)相鄰偏置輪廓段進(jìn)行求交,如圖5中P0P1的偏置輪廓段P00P10與P1P2的偏置輪廓段P11P20相交,且交點(diǎn)P12存在且落在P00P10、P11P20內(nèi),則以交點(diǎn)P12代替P00P10的原終點(diǎn)P10及P11P20的原起點(diǎn)P11;如圖5 中P2P3的偏置輪廓段P20P30與P3P4的偏置輪廓段P31P40相交,交點(diǎn)不存在或未落在P2P3、P31P40內(nèi),則在P20P30、P31P40之間添加過渡圓弧,過渡圓弧圓心為P3,半徑為偏置量δ。
相鄰輪廓段求交時(shí)有三種情況,直線與直線求交、直線于圓弧求交、圓弧與圓弧求交。兩直線不平行時(shí)存在交點(diǎn),交點(diǎn)計(jì)算可參見式(2)。直線與圓弧、圓弧與圓弧交點(diǎn)的計(jì)算及交點(diǎn)是否落在輪廓段內(nèi)的判斷算法參見文獻(xiàn)[13]。
如圖5中截面線P0-P1-P2-P3-P4經(jīng)輪廓段偏置、轉(zhuǎn)接處理后獲取的偏置輪廓線為P00-P12-P20-P30-P31-P40。
如截面線偏置后共有n條輪廓段,自左邊開始自第i段輪廓開始依次與后續(xù)第i+2 段輪廓至第n段輪廓求交, 其中(i=1,2,…,n-2),如存在交點(diǎn),則偏置輪廓存在自相交,須在交點(diǎn)處對(duì)輪廓段進(jìn)行打斷、刪除自相交環(huán)后生成無(wú)干涉輪廓。如圖6所示,偏置輪廓P00-P10-P20-P30中P00P10與P20P30相較于點(diǎn)P,則存在自相交,將P00P10與P20P30在P點(diǎn)打斷并連接,同時(shí)刪除輪廓段P-P10-P20-P,處理后的無(wú)干涉偏置輪廓為P00-P-P30。
圖6 自相交偏置輪廓段處理
輪廓段逆序輸出為精加工刀軌段時(shí),原有偏置輪廓段的起點(diǎn)、終點(diǎn)交換,且如偏置輪廓為圓弧時(shí)圓弧方向改變,順圓變?yōu)槟鎴A,逆圓變?yōu)轫槇A。如圖5中對(duì)應(yīng)輸出的精加工刀軌段依次為P40P31、P31P30(逆圓)、P30P20(順圓)、P20P12(逆圓)、P12P00。
輸入毛坯直徑為D,粗車吃刀量為a,精加工余量為Δ,刀 具 半 徑 為r, 工 件 截 面 線 的Z向 極 值 為Ze, 令Zq=Ze+Δ+r,依次規(guī)劃起點(diǎn)為(Zq,D-n×a)、終點(diǎn)為( 0,D-n×a)、n=(1, 2, …)且n×a 獲取單行交點(diǎn)后,將交點(diǎn)連同截面線的起點(diǎn)、終點(diǎn)按Z向坐標(biāo)由大到小排序,如第一點(diǎn)的序號(hào)標(biāo)記為0,檢測(cè)第2n個(gè)點(diǎn)到2n+1個(gè)點(diǎn)的距離l,其中n=( 0,1, …),如l大于預(yù)設(shè)的最小刀軌長(zhǎng)度(本文中設(shè)置為精加工余量Δ的1/2),則當(dāng)前兩點(diǎn)構(gòu)成的刀軌段為有效刀軌段。如圖7所示,截面線J0J1與粗加工邊界相較于P0、P1,J0P0、P1J1長(zhǎng)度均大于Δ /2 ,則J0P0、P1J1為當(dāng)前行的有效刀軌段;截面線J2J3與粗加工邊界相較于P2、P3、P4、P5,其中J2P2長(zhǎng)度小于Δ /2 ,則P3P4、P5J3為當(dāng)前行的有效刀軌段。 圖7 有效粗加工刀軌段獲取 為保證車削過程中毛坯的強(qiáng)度,粗加工采用單向行切刀軌。從第一條截面線開始上的有效刀軌段開始,開始切削時(shí)刀具先沿X軸快速定位到最小安全距離處XS,XS為工件最大半徑加安全閾值,本文中毛坯直徑為D,粗車吃刀量為a,XS=D/2+a;然后快速定位刀具到第一條有效刀軌段L0起點(diǎn)的正上方,工進(jìn)至L0起點(diǎn),完成進(jìn)刀。每一條刀軌段切削完后沿X軸快速定位至XS,完成退刀。本行處理完后,進(jìn)行下一行處理。 如圖6 所示第一行刀軌經(jīng)處理后的軌跡為S0-J0-P0-K0-K1-P1-J1-E0,其中實(shí)線為工進(jìn),虛線為快進(jìn)。為保證精加工余量均勻,在行切粗加工刀軌處理完畢后,將粗加工邊界逆序處理,完成粗加工刀軌的處理。 工件車削對(duì)刀時(shí)以工件右端中點(diǎn)為坐標(biāo)原點(diǎn),因此刀軌輸出時(shí),對(duì)生成的刀軌沿Z軸進(jìn)行坐標(biāo)變化,以粗加工中工件截面線的Z向極值為Z軸零進(jìn)行刀軌輸出。 將本文算法在C++builder6.0 中實(shí)現(xiàn),生成可獨(dú)立運(yùn)行的可執(zhí)行文件,執(zhí)行程序通過鼠標(biāo)交互在界面中繪制如圖8(a)所示的圖形,點(diǎn)擊完成,系統(tǒng)自動(dòng)補(bǔ)全輪廓并鏡像顯示工件完整的截面線,輸入邊界等參數(shù)后生成如圖8(b)所示的刀軌及如圖8(c)所示NC代碼,經(jīng)實(shí)際切削后獲得如圖8(d)所示的零件。 圖8 驗(yàn)證實(shí)例 本文提出了完善車削圖形輸入及自動(dòng)編程算法,實(shí)現(xiàn)了獨(dú)立的車削CAD/CAM 系統(tǒng)的研發(fā),所研發(fā)車削系統(tǒng)可簡(jiǎn)單、方便地實(shí)現(xiàn)車削工件截面線的輸入、粗精加工刀軌的生成等,并在實(shí)際應(yīng)用中驗(yàn)證了系統(tǒng)的正確,降低了對(duì)木制工藝品的加工從業(yè)人員的要求,使車削編程變得簡(jiǎn)單、易學(xué)。4.1 有效刀軌段獲取
4.2 進(jìn)退刀處理及粗加工刀軌生成
5 應(yīng)用實(shí)例
6 結(jié)束語(yǔ)