文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.08.041
中文引用格式: 王彥云,陳鴻,謝明師,等. FDM快速成型支撐結(jié)構(gòu)自動(dòng)生成算法的研究[J].電子技術(shù)應(yīng)用,2015,41(8):146-148.
英文引用格式: Wang Yanyun,Chen Hong,Xie Mingshi,et al. Research on algorithm of the automatic support generation for FDM rapid prototyping[J].Application of Electronic Technique,2015,41(8):146-148.
0 引言
快速成型技術(shù)(RP)是20世紀(jì)80年代后期發(fā)展起來的,由三維CAD模型直接驅(qū)動(dòng)、快速生成任意復(fù)雜形狀三維實(shí)體的一種新型制造技術(shù),它高度集成了自動(dòng)控制、CAD/CAM技術(shù)、數(shù)字控制技術(shù)、計(jì)算機(jī)、激光技術(shù)、新型材料科學(xué)等學(xué)科最新成果[1]。目前,F(xiàn)DM快速成型設(shè)備因具有小巧、價(jià)格低廉、應(yīng)用材料范圍廣泛、可直接制成工業(yè)產(chǎn)品等優(yōu)點(diǎn),在企業(yè)設(shè)計(jì)之中有著廣泛的應(yīng)用[2]。
FDM系統(tǒng)在加工零件原形時(shí),當(dāng)前層都是在上一層上堆積而成的,前一層對(duì)當(dāng)前層起到定位和支撐的作用,隨著高度的增加,層片輪廓的面積和形狀都會(huì)發(fā)生變化,當(dāng)上層截面大于下層截面時(shí),使截面部分發(fā)生塌陷或變形,影響零件的成型精度,因此,支撐對(duì)零件原形的制作起著至關(guān)重要的作用[3]。支撐添加技術(shù)有兩種:一種是在繪制三維CAD模型時(shí)手動(dòng)添加支撐,另外一種是由軟件自動(dòng)生成支撐。支撐的手動(dòng)生成技術(shù)要求用戶對(duì)成型工藝很熟悉,支撐添加的質(zhì)量難以保證。所以支撐的自動(dòng)生成方法是人們研究的重點(diǎn),支撐自動(dòng)生成算法主要有兩種,分別基于多邊形布爾運(yùn)算和STL模型。前者算法較復(fù)雜,可能生成多余的支撐;后者識(shí)別局部支撐,節(jié)省支撐材料,能準(zhǔn)確添加支撐結(jié)構(gòu),是支撐自動(dòng)生成技術(shù)的重點(diǎn)研究方向[4]。
基于以上這些情況,本文采用了基于STL模型支撐自動(dòng)生成技術(shù),待支撐面使用了間隔型薄壁支撐;由于FDN工藝中要求加工路徑盡量連續(xù)和支撐穩(wěn)定性,因此本文采用中心線法來生成懸吊邊和懸吊點(diǎn)的支撐體;用投影法和干涉法確定支撐終點(diǎn)和起點(diǎn),減少了材料使用,節(jié)省了加工時(shí)間,提高了快速成形的效率。
1 待支撐區(qū)域的識(shí)別
對(duì)待支撐區(qū)域的零件CAD模型進(jìn)行分析,發(fā)現(xiàn)零件有3種特征時(shí)需要添加相應(yīng)的支撐,它們分別是待支撐面、懸吊邊、懸吊點(diǎn)。
1.1 待支撐面的識(shí)別
遍歷STL模型中所有的三角面片,對(duì)三角面片的法向量與Z軸正方向的夾角進(jìn)行判斷,如圖1所示,如果這個(gè)夾角θ大于一定的閾值,則該三角面片需要添加支撐。這些三角面片是獨(dú)立的,面積小且數(shù)量多,不宜單獨(dú)支撐,需要對(duì)這些三角面片進(jìn)行整合,連接成待支撐面。三角面片的連接方式與下面懸吊邊的連接方式類似,采用種子三角面片[5]。
1.2 懸吊邊的識(shí)別
如圖2所示,實(shí)體中存在的兩個(gè)傾斜面的共邊AB為懸吊邊。若判斷某條邊為懸吊邊,首先懸吊邊所在兩三角形面片都是非待支撐三角面片;其次懸吊邊兩端點(diǎn)的Z坐標(biāo)必須小于該三角面片的另一個(gè)點(diǎn)的Z坐標(biāo);最后懸吊邊的兩三角形面片的法向矢量之和,必須指向Z軸的負(fù)方向。懸吊邊是由零散的單個(gè)三角面片懸吊邊連接成的長的宏觀懸吊邊。
邊的連接不同于面片的合并,是必須按照點(diǎn)的先后順序來連接。首先找到懸吊邊中兩個(gè)端點(diǎn)的其中一個(gè)端點(diǎn),這個(gè)端點(diǎn)與其他的邊不共點(diǎn);然后通過端點(diǎn)所在線的另一點(diǎn),找出與其共點(diǎn)的邊,按照這種方法就可以得到所需要的懸吊邊[6]。算法流程圖3所示。
1.3 懸吊點(diǎn)的識(shí)別
懸吊點(diǎn)是指零件模型上出現(xiàn)的由一些面構(gòu)成的孤立點(diǎn),如圖4所示,該點(diǎn)的Z坐標(biāo)是構(gòu)成它的三角面片中最小的。但某一頂點(diǎn)被判別為懸吊點(diǎn),僅此一個(gè)條件是遠(yuǎn)遠(yuǎn)不夠的,首先構(gòu)成懸吊點(diǎn)的三角面片都是非懸吊三角面片;其次也是最重要的,包含懸吊點(diǎn)的三角形面片法矢之和不能朝上。
2 支撐結(jié)構(gòu)的生成
2.1 待支撐區(qū)域支撐結(jié)構(gòu)的設(shè)計(jì)
2.1.1 待支撐面支撐的添加
本文對(duì)待支撐面結(jié)構(gòu)的設(shè)計(jì)采用的是間隔型薄壁支撐[7],節(jié)省材料的同時(shí),又易于去除,支撐不容易發(fā)生坍塌,保證了它的穩(wěn)定性。該算法步驟為:首先對(duì)待支撐面在XOY平面內(nèi)進(jìn)行投影;然后求出這個(gè)投影多邊形的最小包絡(luò)矩形,在矩形內(nèi)設(shè)定垂直分層線,平行于X軸或Y軸,這些線之間的距離是相同的[8],沿支撐投影的輪廓邊界順序與垂直分層線連接,形成某個(gè)分層面中的支撐,如圖5所示,將這些分層面中的支撐堆疊而成間隔型薄壁支撐。當(dāng)這些薄壁支撐達(dá)到一定高度時(shí),容易發(fā)生塌陷,所以間隔型薄壁支撐應(yīng)該交錯(cuò)添加。
2.1.2 懸吊邊支撐的添加
懸吊邊一般添加單臂板支撐,但是如果懸吊邊的高度很高,單臂板往往不能夠保證支撐的穩(wěn)定性,于是就采用中心線法來生成懸吊邊的支撐體,即以懸吊邊為中心線生成包含中心線的矩形或多邊形,如圖6所示,d 為支撐寬度。
生成方法是:將懸吊線向垂直方向的上方和下方偏移,再將偏移后得到的多邊形連接起來,再向工作平面投影來建立支撐體[6]。
2.1.3 懸吊點(diǎn)支撐的添加
懸吊點(diǎn)通常采用十字形支撐來處理,當(dāng)懸吊點(diǎn)的高度大于某個(gè)臨界值時(shí),十字支撐就不能起到很好的支撐作用,此時(shí)需要對(duì)其作一些變化,如圖7所示。
生成方法是:以懸吊點(diǎn)為十字的中心,然后將十字投影到工作臺(tái)上,根據(jù)參數(shù)d來構(gòu)建上圖所示的多邊形,其中多邊形的中心線與 X 軸和 Y 軸平行。
2.2 支撐起點(diǎn)和終點(diǎn)的確定
當(dāng)一個(gè)支撐的二維位置確定后,還要確定支撐的最高點(diǎn)和最低點(diǎn),即終點(diǎn)和起點(diǎn)。終點(diǎn)由要待加支撐區(qū)域在該位置的高度確定,先將待支撐區(qū)域在XOY平面內(nèi)投影,在二維投影中,找出已經(jīng)確定的第一個(gè)點(diǎn)的坐標(biāo)(x1,y1),然后在該待加支撐面中找出包含該點(diǎn)坐標(biāo)位置的那個(gè)三角面片,設(shè)該三角面片的法向量為n(nx,ny,nz),其中一個(gè)頂點(diǎn)的坐標(biāo)為(x′,y′,z′),利用該三角面片的法向量和一頂點(diǎn)的坐標(biāo)得到該三角面片所在平面的方程,即:nx(x-x′)+ny(y-y′)+nz(z-z′)=0,再把(x1,y1)坐標(biāo)帶入上述方程中就可以得到一個(gè)z1坐標(biāo);然后再找到第二點(diǎn)坐標(biāo)(x2,y2),與第一個(gè)點(diǎn)的求法相同,將它帶入上述方程,可得到一個(gè)z2坐標(biāo)。最后比較z1和z2的大小,將其中大的Z坐標(biāo)作為支撐的終點(diǎn)[9-10]。
本文采用干涉法來確定支撐的起點(diǎn),干涉法是對(duì)待支撐區(qū)域在XOY平面內(nèi)投影與STL模型中上表面進(jìn)行的干涉,這里的上表面指的是法矢朝上(即沿 Z 軸正方向)的面以及向上傾斜的面。判斷投影區(qū)域是否會(huì)與上表面發(fā)生干涉,首先找出低于待支撐區(qū)域邊界中最低點(diǎn)的上表面,將它們投影在XOY平面內(nèi),若待支撐區(qū)域的投影∩上表面的投影=φ,則說明待支撐區(qū)域與上表面不發(fā)生干涉,即支撐起點(diǎn)從工作臺(tái)開始;若待支撐區(qū)域的投影∩上表面的投影≠φ,則說明待支撐區(qū)域和上表面發(fā)生了干涉。發(fā)生干涉的情況又可分為兩種,一種待支撐區(qū)域的投影全部落在上表面上,一種待支撐區(qū)域的投影與上表面投影有部分相交[6]。當(dāng)待支撐區(qū)域的投影落在上表面上時(shí),支撐的起點(diǎn)從該上表面開始,確定方法與終點(diǎn)的確定類似,取比較小的Z值作為支撐的起點(diǎn)。
3 實(shí)驗(yàn)
本文利用VC++6.0對(duì)支撐的自動(dòng)生成進(jìn)行了開發(fā)[11],為了驗(yàn)證支撐結(jié)構(gòu)的合理性和可靠性,把STL模型輸出到3D打印機(jī)上進(jìn)行加工,如圖8所示。
4 結(jié)論
本文通過對(duì)基于STL模型自動(dòng)生成算法的研究,對(duì)待支撐面采用了薄壁型結(jié)構(gòu),生成的支撐不僅穩(wěn)定,而且節(jié)省了材料;確定支撐的起點(diǎn)和終點(diǎn),使得快速成形支撐結(jié)構(gòu)簡單,同時(shí)提高了效率。實(shí)驗(yàn)的支撐添加效果表明,支撐填充合理,沒有待支撐特征遺漏,該算法保證了零件的順利成型。
參考文獻(xiàn)
[1] 馮俊麗.淺談快速成型技術(shù)的原理、應(yīng)用及發(fā)展趨勢(shì)[J].佳木斯教育學(xué)院學(xué)報(bào),2013(12):227-228.
[2] YANG Y,F(xiàn)UH J Y H.Multi-orientational deposition to minimize support in the layered manufacturing process[J].Journal of Manufacturing Systems,2003,22(2):116-129.
[3] 彭安華,張劍鋒.FDM工藝中支撐添加技術(shù)的研究[J].機(jī)床與液壓,2007,35(12):67-70.
[4] 洪軍.面向STL模型特征的支撐生成技術(shù)研究[D].西安:西安交通大學(xué),2000.
[5] 王占禮,盧凱,胡艷娟.熔融沉積快速成型支撐結(jié)構(gòu)技術(shù)研究[J].制造業(yè)自動(dòng)化,2014,36(11):13-17.
[6] 龔志海.熔絲沉積成型工藝支撐自動(dòng)生成技術(shù)研究[D].武漢:華中科技大學(xué),2006.
[7] 卞宏友,劉偉軍,王天然,等.基于STL模型垂直切片的支撐生成算法的研究[J].儀器儀表學(xué)報(bào),2007,28(2):211-216.
[8] 沈威,陶孟侖,李立杰,等.快速成型支撐結(jié)構(gòu)設(shè)計(jì)的算法[J].武漢理工大學(xué)學(xué)報(bào),2014,36(6):63-68.
[9] 洪軍,王威,張宇紅.光固化快速成形自動(dòng)支撐技術(shù)研究[J].機(jī)械工程學(xué)報(bào),2004,40(11):134-138.
[10] 魏群,洪軍,丁玉成,等.SL快速成型中支撐自動(dòng)生成技術(shù)研究[J].機(jī)械科學(xué)與技術(shù),2003,22(4):681-684.
[11] 王清輝,王彪.CAD應(yīng)用程序開發(fā)詳解[M].北京:機(jī)械工業(yè)出版社,2012.