朱 虎,張利芳
(沈陽(yáng)航空工業(yè)學(xué)院機(jī)械與汽車(chē)學(xué)院,遼寧沈陽(yáng) 110136)
ST L文件最早是作為快速成形技術(shù)領(lǐng)域的數(shù)據(jù)格式,現(xiàn)已廣泛應(yīng)用于反求工程、數(shù)控加工等領(lǐng)域.為適應(yīng)實(shí)際應(yīng)用的需求,針對(duì) ST L數(shù)據(jù)模型的數(shù)控加工刀具軌跡生成的研究[1-5]也普遍開(kāi)展起來(lái);但目前的相關(guān)研究都是針對(duì)球頭刀的精加工刀具軌跡生成方面的研究,而有關(guān)適用于環(huán)形刀的粗加工刀具軌跡生成的研究卻不多.曾曉華[4]等利用面偏置算法[5]構(gòu)建了 STL局部偏置模型,并用與水平截面求交的方法生成了適用于環(huán)形刀的粗加工刀具軌跡.該方法能夠完全避免干涉,加工工藝性也好,但存在著算法復(fù)雜、計(jì)算量大的缺點(diǎn).其原因是面偏置算法本身需要進(jìn)行大量的面與面之間的求交運(yùn)算而計(jì)算量較大[6].
針對(duì)上述問(wèn)題,本文提出了以頂點(diǎn)偏置算法和分階段偏置幾何體的方式來(lái)生成可適用于三軸數(shù)控銑削加工中基于環(huán)形刀的粗加工刀具軌跡的方法.
在粗加工時(shí),通常采用分層切削的方式去除多余的材料.為此,本文采用了用水平切平面切割 CAD模型,并在該切平面內(nèi)規(guī)劃粗加工刀具軌跡的方法,即在如圖 1所示的切平面內(nèi)先確定出加工區(qū)域的內(nèi)邊界和外邊界后,再采用填充的方法生成粗加工刀具軌跡.為生成無(wú)干涉的刀位點(diǎn),本文采取了用水平切平面切割被加工工件的偏置模型的方法,同時(shí)為簡(jiǎn)化計(jì)算過(guò)程,在生成偏置模型時(shí)采用了較比面偏置算法簡(jiǎn)單的頂點(diǎn)偏置算法[6,7],并根據(jù)環(huán)形刀的幾何結(jié)構(gòu)特點(diǎn),采取了模型偏置-切割-偏置的分階段偏置方式.本文提出的生成粗加工刀具軌跡的整個(gè)算法流程如圖 2所示.
圖1 刀具軌跡規(guī)劃Fig.1 Tool path planning
ST L文件相對(duì)于其它文件標(biāo)準(zhǔn)而言,具有數(shù)據(jù)格式簡(jiǎn)單以及卓越的跨平臺(tái)性等特點(diǎn);但也存在著冗余數(shù)據(jù)多,構(gòu)成 STL模型的幾何元素之間也缺乏必要的拓?fù)湫畔?數(shù)據(jù)搜索難等問(wèn)題[8].本文主要從ST L偏置模型生成的需求出發(fā),利用文獻(xiàn) [9]的方法對(duì) STL數(shù)據(jù)進(jìn)行預(yù)處理:①去除冗余的頂點(diǎn)數(shù)據(jù);②基于頂點(diǎn)偏置的偏置模型是利用點(diǎn)所在面的法向量進(jìn)行計(jì)算的,因此建立點(diǎn)與點(diǎn)所在面法向量之間的關(guān)系;③點(diǎn)所在面的法向量之中,不允許出現(xiàn)相同或相近的法向量.
刀具軌跡生成的一般方法是根據(jù)被加工面上刀觸點(diǎn)計(jì)算刀位點(diǎn).對(duì)于如圖 3所示的環(huán)形刀,刀位點(diǎn)可由式(1)計(jì)算得到
式中:PCL為刀位點(diǎn);PCC為刀觸點(diǎn);n為 STL模型三角面片的法向量;nH為 n在水平面上的分向量.
但上述方法容易發(fā)生干涉,而且每層刀位點(diǎn)均不在同一平面內(nèi),因而加工工藝性也不好.為生成無(wú)干涉的加工軌跡,本文采用頂點(diǎn)偏置算法生成 STL偏置模型后與切平面求交的方法直接計(jì)算刀位點(diǎn).在生成 STL偏置模型方面,頂點(diǎn)偏置算法較比面偏置算法具有算法簡(jiǎn)單、計(jì)算量少的特點(diǎn).在生成偏置模型時(shí),以往的研究都以刀具的半徑距離為偏置距離生成了偏置模型,但對(duì)于環(huán)形刀而言其算法較為復(fù)雜.所以在本研究中,根據(jù)環(huán)形刀的幾何結(jié)構(gòu)的特點(diǎn),采用了以環(huán)形刀圓角半徑為偏置距離的偏置模型,這種偏置模型也能起到防止刀具干涉的作用,而且算法比較簡(jiǎn)單.具體計(jì)算方法是,首先以文獻(xiàn) [6]的頂點(diǎn)偏置算法把ST L模型沿著三角面片的法線方向偏置環(huán)形刀圓角半徑 r,生成一個(gè)與原 STL模型等距的偏置模型,使偏置模型的三角面片與原模型的三角面片之間的距離保持一個(gè)圓角半徑 r,以避免干涉.然后用水平切平面按一定的間隔切割偏置模型,求出切平面與每個(gè)三角面片的交線,并對(duì)交線進(jìn)行排列、相交、連接等運(yùn)算,得到一個(gè)如圖 4所示的封閉的多邊形輪廓線.最后將該多邊形輪廓線在切平面內(nèi)偏置R-r距離就可得到刀位點(diǎn)連線,也就是加工區(qū)域的內(nèi)邊界.
圖3 無(wú)干涉刀位點(diǎn)生成Fig.3 Interference-free CL points g eneration
圖4 多邊形偏置Fig.4 Polygon offset
為了在偏置該多邊形輪廓線的過(guò)程中避免過(guò)多的求交運(yùn)算,本文把三維多面體的頂點(diǎn)偏置原理應(yīng)用于多邊形輪廓線的偏置,先把多邊形輪廓線上的各頂點(diǎn)按式(2)進(jìn)行偏置而獲得新點(diǎn)后,再把它們順次連接得到偏置的等距多邊形.
圖5 三角面片的法向量Fig.5 No rmal vector of triangle patch
式中:PO為偏置前輪廓線上的各頂點(diǎn);PN為偏置后的新頂點(diǎn);dOffset為偏置前后多邊形對(duì)應(yīng)邊之間的垂直距離,dOffset=R-r;VOffset為頂點(diǎn)的偏置向量,可按式(3)計(jì)算.
式中:Wj為多邊形輪廓線各頂點(diǎn)偏置向量的加權(quán)值;Ni,j為與某頂點(diǎn)相連的邊所對(duì)應(yīng)的三角面片的法向量 n在切平面上的分向量,如圖 5所示.
首先在 STL模型的各三角面片的頂點(diǎn)中,分別找出 x坐標(biāo)值最大的點(diǎn)、x坐標(biāo)值最小的點(diǎn)、y坐標(biāo)值最大的點(diǎn)和 y坐標(biāo)值最小的點(diǎn),并把這些點(diǎn)投影到水平面上;然后根據(jù)這些投影點(diǎn)做出兩個(gè)邊分別平行于 X軸和 Y軸的矩形,并把該矩形偏置 t距離,生成一個(gè)等距矩形;最后把這個(gè)等距矩形投影到各個(gè)切平面上作為加工區(qū)域的外邊界.這里t可由使用者決定,但其值不應(yīng)小于刀具半徑.
用間隔為 h的水平掃描線分別與各切平面上加工區(qū)域的內(nèi)、外邊界輪廓線求交,以交線段作為填充軌跡.如果掃描線過(guò)邊界輪廓線的頂點(diǎn),若兩邊界輪廓線在掃描線的同一側(cè),如圖 6中頂點(diǎn)a,則取消該交點(diǎn);若兩條邊界輪廓線在掃描線的異側(cè),如圖 6中頂點(diǎn) b,則計(jì)一個(gè)交點(diǎn);如果掃描線的一部分與邊界輪廓線重合,如圖 6中頂點(diǎn) c,d,則不計(jì)交點(diǎn);如果水平掃描線與每個(gè)內(nèi)邊界輪廓線的交點(diǎn)等于或多于兩個(gè),則選擇奇數(shù)交線段為填充線段.最后把交線段和內(nèi)外邊界輪廓線按 zig-zag方式連接生成一個(gè)切平面上的刀具軌跡.
圖6 加工區(qū)域刀具軌跡Fig.6 Tool path in machining area
本文在 Windows XP環(huán)境下,利用 Visual C++ 6.0和 OpenGL,以 ASCII格式的 ST L文件為輸入文件,完成了上述算法的系統(tǒng)實(shí)現(xiàn).為驗(yàn)證上述算法和軟件系統(tǒng)的可行性,以如圖 7所示的 STL數(shù)據(jù)模型為對(duì)象,進(jìn)行了三軸數(shù)控銑削加工中體積銑削方式的粗加工刀具軌跡生成實(shí)驗(yàn).圖 8顯示了所采用的刀具為直徑 12 mm,圓角半徑為 1 mm的環(huán)形刀,軸向切削深度為 5 mm時(shí)生成的粗加工刀具軌跡;圖 9顯示了刀具沿著加工路徑移動(dòng)的動(dòng)態(tài)過(guò)程.
本文提出以分階段偏置方式和頂點(diǎn)偏置算法生成適合于環(huán)形刀的粗加工刀具軌跡的方法,該方法能夠生成完全無(wú)干涉的 STL數(shù)據(jù)模型粗加工刀具軌跡,每層的刀位填充軌跡在同一平面內(nèi),加工工藝性好;與其他面偏置算法和一次性偏置方法相比,算法簡(jiǎn)單且計(jì)算量少,在實(shí)際應(yīng)用中具有良好的穩(wěn)定性與實(shí)用性.本方法只適用于三軸數(shù)控銑削加工,今后有待研究可用于五軸數(shù)控銑削加工的刀具軌跡生成算法.
[1]Kim S J,Yang M Y.Incomplete mesh offset for NC machining[J].Journal of Materials Processing Technology,2007,194(1-3):110-120.
[2]Kim D S,Jun C S,Park S Y.Tool path generation for clean-up machining by a curve-based approach[J].Computer-Aided Design,2005,37(9):967-973.
[3]Lee C S.Tool-path generation in NC machining of automobile panel die[J].Korea Society of Automotive Engineers,1994,2(5):74-84.
[4]曾曉華,劉靜華,閆光榮.基于 STL數(shù)據(jù)模型的刀具軌跡生成 [J].工程圖學(xué)學(xué)報(bào),2002,11(1):8-14.Zeng Xiaohua,Liu Jinghua,Yan Guangrong.Tool path generation based on STL data model[J].Journal of Engineering Graphics,2002,11(1):8-14.(in Chinese)
[5]Jun C S,Kim D S,Park S Y.A new curve-based approach to polyhedral machining[J].Computer-Aided Design,2002,34(5):379-389.
[6]Qu X Z,Brent S.A 3D surface offset method for STL-format models[J].Rapid Prototyping Journal,2003,9(3):133-141.
[7]Kim S J,Lee D Y,Yang M Y.Offset triangular mesh using the multiple normal vectors of a vertex[J].Computer-Aided Design and Application,2004,1(1-4):285-292.
[8]任乃飛,萬(wàn)俊,胡汝霞.基于拓?fù)潢P(guān)系的 STL文件格式研究 [J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2005,36(11):143-145.Ren Naifei,Wan Jun,Hu Ruxia.Study on STL file presentation based on topological triangle[J].Transactions of the Chinese Society of Agricultural Machinery,2005,36(11):143-145.(in Chinese)
[9]張利芳,朱虎.面向 ST L偏置模型的拓?fù)湫畔⑸?[J].沈陽(yáng)航空工業(yè)學(xué)院學(xué)報(bào) ,2008,24(4):42-43.Zhang Lifang,Zhu Hu.Topological information generation for STL offset model[J].Journal of Shenyang Institute of Aeronautical Engineering,2008,24(4):42-43.(in Chinese)