葛 嘯 史廷春 岳秀艷
(①杭州電子科技大學自動化學院,浙江 杭州 310018;②杭州電子科技大學圖書館,浙江 杭州 310018)
隨著工業4.0時代的到來,制造技術逐步向智能化轉變[1]。近年來,增材制造技術逐漸成熟,三維打印如何快速建造各類結構復雜的形體,提高系統效率、質量及降低成本成為了主要研究目標[2]。新形勢下,應該加快推動增材制造在我國的發展,推進我國由“制造大國”向“制造強國”的轉變[3]。熔融沉積制造(fused deposition modeling,FDM)是一種以數字模型文件STL(stereolithography)為基礎,運用熱塑性粘合材料,通過逐層打印的方式來制造產品的增材制造技術。FDM技術的一個主要特點是熔絲必須沉積在模型實體或支撐結構上,支撐結構在打印過程中起到支撐模型懸空部分的作用,支撐不足會影響成型穩定性,過多會增加模型打印時間和成本。模型制作完畢后,這些支撐必須被剝離。因此,如何在打印過程中減少支撐成為研究的重要內容之一[4]。
當前有許多關于3D打印支撐結構問題的研究。Hu R等人[5]將模型分解為多個小組件,運用少量支撐的打印方向將小組件組裝成完整的模型。基于立體光固化工藝,李衛等人[6]提出了齒形支撐結構的算法,以提高模型表面質量,減少形變;易于剝離支撐結構,提高精度。通過幾何方法[7],無導數優化方向的算法[8],拓撲優化算法[9],超卷積神經網絡檢測[10]及遺傳算法等均可簡化支撐設計,減少打印時間。此外,Fazzini Gianfranco[11],Barile Gianluca等人[12]提出的優化算法可以在熔融沉積過程中減少打印支撐結構。模型劃分算法可以將模型劃分為適應打印空間的錐體[13]。Jang S等人[14]將3D模型轉換為分層深度圖像的幾何表示,識別有效支撐點來減少支撐結構。在尋找支撐結構時,常規方法是選取模型中外法向量朝下且與水平面夾角較小的面作為待支撐部位。現有的許多切片引擎(Cura,MeshMixer)均采用這種方法[4]。在添加支撐結構時,Strano G等人[15]提出在所需表面下方擠出稀疏密度的網格支撐結構,該方法支撐穩定性好但浪費材料。而臨界角約束的樹形支撐結構可以有效減少支撐材料,縮短打印時間[16]。
本文提出一種八棱柱狀支撐結構,相比四棱柱狀支撐結構該截面更趨近于圓形,從而減少打印過程中電機啟停次數,節省時間和材料,降低成本。實驗結果表明,本文提出的算法在保證模型穩定成型的基礎上,能夠有效節省打印時間和耗材。
在設計FDM支撐結構時,為了提高支撐結構的合理性,需綜合考慮以下要素:(1)支撐要保證足夠的強度和穩定性:避免打印過程中發生變形。(2)支撐應盡可能少:多余的支撐需要額外的材料,加工時間和后處理任務。(3)支撐應易于剝離:若支撐與模型粘接過牢,后處理更加困難且降低模型表面質量[6]。
首先系統讀取STL文件;根據定義的臨界角進行待支撐區域檢測,檢測后的區域向二維區域投影;根據投影區域范圍進行等距采樣;計算采樣點在模型上的Z坐標,生成支撐結構;然后將支撐結構三角化并寫入STL文件;最后輸出包含支撐結構的STL文件。算法流程如圖1。
STL文件是由3D建模軟件導出的一種將模型表面三角化的文件。它包含80字節的模型名稱,4字節的三角面片數量,3×3×4字節的頂點和法向矢量信息,2字節的屬性信息。每個STL文件大小為:84字節+50字節×三角面片數量。STL文件有兩種格式:二進制格式和ASCⅡ格式。二進制格式文件尺寸較小,僅占ASCⅡ格式的1/6。本文選用的STL文件讀取方式為二進制。

基于STL文件,待支撐區域的三角面片分為懸吊面、懸吊邊和懸吊點3種類型。
4.1.1定義臨界角
模型在成型過程中是否需要添加支撐結構,取決于模型表面的傾斜角度。模型分層把模型在Z向上分成一系列具有一定厚度(0.05~0.30 mm)的薄層,分層破壞了模型的連續性,使之在側向產生了臺階[17]。由于成型材料從噴嘴擠出時有一定的線寬,熔融材料的粘結特性使新成型的外輪廓比上一層更大,從而產生了自支撐傾斜角,即臨界角。如圖2所示,根據公式(1),設置層厚h越小,θ值越大,自支撐能力越強,超出這個范圍的區域為待支撐區域。

(1)
4.1.2 提取懸吊面
根據模型中三角面片的外法向量與Z軸正向(重力的反方向)間的夾角關系來提取支撐區域[20]。其中Z軸正向向量為v(0,0,1),三角面片的外法向量為n,兩者滿足:
n·v=|n|·|v|cosθ
(2)
利用兩者關系來計算夾角θ,此時得到的θ值為弧度值,再將弧度轉化為角度。如圖3所示,若θ大于一定的閾值,則該三角面片為待支撐三角面片。

4.1.3 待支撐區域投影
生成一個三維空間的支撐結構,空間采樣需要大量的計算,會大大降低算法效率。所以將待支撐區域向工作平面投影,得到需要支撐的二維投影區域。將所有待支撐三角面片的頂點z坐標值設為0,如圖4所示,得到待支撐區域的二維投影區域[18]。

4.1.4 投影區域采樣
如果所有的待支撐三角面片都添加支撐,會造成支撐過多和移除困難。因此,對待支撐區域進行采樣十分必要。待支撐區域投影到XOY平面,根據設定的x、y間距參數均勻分布支撐點,間距參數直接影響支撐密度、質量,并且x、y間距參數應大于設定的支撐體外接圓直徑,這兩個參數適當搭配,保證合理的支撐密度。
(1)等距采樣法
對待支撐區域進行采樣,若采樣點太稀疏,不能保證模型成型;反之,支撐結構不易去除和浪費材料。所以采樣點的數量應在合理范圍內,既保證模型正常成型、又節省材料[19]。這里采用等距采樣法,如圖5所示。采樣距離為d,X向間距Nx,Y向間距Ny分別為:
Nx=(Xmax-Xmin)/d
(3)
Ny=(Ymax-Ymin)/d
(4)

(2)重心法
若待支撐區域的二維投影區域非矩形,則進行采樣后,需要判斷采樣點是否在投影區域內。本文采用重心法來判斷一個點是否在三角形內,三角形的3個點在同一平面上,若選中其中1個點,其余兩個點是相對該點的位移。如選擇點A為起點,則點B相當于在AB方向移動一段距離得到,點C相當于在AC方向移動一段距離得到[20],如圖6所示。

依次遍歷待支撐區域,找到包含該二維點的三角面片,否則去掉該采樣點,如圖5中黑色點。然后建立三角形平面方程計算二維點在平面內的z值,得到支撐頂點的三維坐標(x,y,z)。
如圖7所示,作平面使其經過線段AB的中點E,并與線段AB在XOY面的投影正交,該平面與兩個面片的交線為GE和EH。懸吊邊的特征如下:

(1)懸吊邊與XOY平面夾角小于設定值。
(2)包含懸吊邊的2個三角面片均為非待支撐面。
(3)包含懸吊邊的2個三角面片的單位法矢量和向下。
懸吊點的特征如圖8所示,圖8a中的A為懸吊點,圖8a中的A非懸吊點。懸吊點的特征如下:
(1)z坐標低于與其共線的其他點z坐標。
(2)包含該點的邊不是懸吊邊。
(3)包含該點的面不是懸吊面。
(4)懸吊點向下延伸,與其相交的首個三角面片的法矢量向上,或與模型表面交點個數為偶數[21]。

用Matlab生成八棱柱狀支撐結構,根據XOY平面的采樣點矩陣和支撐頂點三維坐標矩陣,分別以這兩個矩陣中的點作為支撐結構的上下表面中點,每個點距中點的長度為a,構成八棱柱狀支撐結構。
支撐結構三角化,根據公式(5)計算三角面片的法向量n;v1、v2是三角形兩條邊的基向量;上下表面頂點分別和中心點構造成三角形;側面劃分為2個三角形(ADB,BDC),根據右手定則,每個面的法向量需指向實體的外側。如圖9所示,八棱柱支撐的上方8個頂點可以依次確定為:
(x,y+a,z),(x+a×sin(π/4),y+a×sin(π/4),z),(x+a,y,z),(x+a×sin(π/4),y-a×sin(π/4),z),(x,y-a,z),(x-a×sin(π/4),y-a×sin(π/4),z),(x-a,y,z),(x-a×sin(π/4),y+a×sin(π/4),z)。同理下方8個頂點將上述坐標中z換成0。將得到的所有頂點坐標,法向量坐標寫入STL文件中。

本文用SolidWorks制圖并生成STL文件,Matlab開發待支撐區域的自動生成系統,可以快速找到三維模型的待支撐面,添加支撐結構。
(1)圖10為懸吊邊、懸吊點的模型圖,對應檢測結果和生成支撐后的模型。
(2)STL文件載入Inspire-S250型打印機進行實驗。在相同的打印參數下,將3D打印機自帶切片軟件生成的支撐結構與本文算法生成的支撐結構進行對比,如圖11所示。


(3)STL文件轉成G代碼后,載入Prusa-i3型打印機中進行實驗。在相同的打印參數下,將Cura切片軟件生成的支撐結構與本文算法生成的支撐結構進行對比,如圖12所示。實驗結果如圖13所示。
實驗結果分析:表1表明,本文支撐結構相比于Inspire-S250型打印機支撐結構,打印時間縮短了26.98%,材料節省了22.09%;表2表明,本文支撐結構相比于Cura切片軟件的支撐結構,打印時間縮短了14.85%,材料節省了27.23%。

表1 打印結果對比

表2 打印結果對比


(1)本文提出的八棱柱狀支撐結構的設計方法,能夠快速準確地生成支撐結構,節約模型打印時間和材料,為模型三維打印支撐結構提供了優化方案。
(2)本文提出的八棱柱狀支撐結構是在四棱柱狀支撐結構上的一種改進方法。支撐結構越趨近于圓形,越節省打印時間和耗材,但是支撐結構三角化更加復雜,寫入STL文件數據量更加龐大;另外圓柱狀支撐結構經過Cura切片后,會出現不兼容等情況。如圖14所示。

(3)本文算法在采樣時懸吊球采樣了2行8列,斜面采樣了2行3列,對于采樣點采樣情況,采樣點越多,打印越穩定,打印時間越長,支撐結構越難拆除;采樣點越少,穩定性下降,打印時間越短,支撐結構越容易拆除。下一步研究將進一步考慮采樣點個數,采樣間距問題,增強算法的適用性,使之適用于大多數模型。