王 猛
(北京航空航天大學 機械工程及自動化學院,北京 100191)
增材制造(Additive Manufacturing,AM)技術(shù)是通過CAD設(shè)計數(shù)據(jù)采用材料逐層累加的方法制造實體零件的技術(shù),又被稱為“3D打印”(3D Printing)、“快速成型”(Rapid Prototyping)[1]。其制造過程中每一層的加工都是首先根據(jù)計算機輔助設(shè)計數(shù)據(jù)模型分層后得到截面輪廓數(shù)據(jù),進而生成路徑軌跡,并將路徑軌跡轉(zhuǎn)化為打印設(shè)備能夠執(zhí)行的控制代碼。目前商業(yè)化的3D打印設(shè)備普遍采用STL格式文件作為數(shù)據(jù)模型文件,STL模型通過對CAD實體或曲面模型表面三角化得到,有數(shù)據(jù)冗余、喪失拓撲信息等缺點,用來表達曲面模型時導致模型精度降低,因此人們提出對CAD模型直接分層[2-3]。此外,增材制造的層內(nèi)路徑規(guī)劃對制造效率、成型質(zhì)量等有重要影響[4-5]。本文利用SolidWorks二次開發(fā),實現(xiàn)對CAD模型的直接分層,并在Visual Studio開發(fā)平臺實現(xiàn)路徑規(guī)劃。
SolidWorks的三維實體采用B-rep表示,記錄了所有幾何元素的幾何信息和拓撲關(guān)系。SolidWorks是基于Windows平臺的三維設(shè)計軟件,含有豐富的應(yīng)用程序接口(API)。本文使用C#開發(fā)應(yīng)用程序,可以嵌入到SolidWorks內(nèi)部,加載成功后應(yīng)用程序直接出現(xiàn)在SolidWorks主菜單上。
分層切片的關(guān)鍵就是將實體表面與分層平面求交,利用SolidWorks API曲面-曲面截交函數(shù)可以免去復雜的曲面求交運算,進而得到輪廓草圖信息。具體步驟如下:
(1) 讀入CAD模型(默認分層方向為Z軸正向);
(2) 獲得零件分層方向坐標極值Zmin和Zmax;
(3) 遍歷CAD模型各個特征表面;
(4) 根據(jù)分層厚度h確定切片層數(shù)N=(Zmax-Zmin)/h;
(5) 置i=1,構(gòu)造切平面Z=Zmin+h;
(6) 通過Sketch 3D Intersections()函數(shù)將CAD模型表面與Z平面求交;
(7) 提取交線并首尾排序形成完整的輪廓曲線,導出輪廓數(shù)據(jù);
(8)i=i+1,如果i≤N,構(gòu)造新平面Z,并轉(zhuǎn)到步驟(6)、步驟(7);否則程序結(jié)束。
圖1是對葉輪CAD模型的直接分層效果顯示,此葉輪模型Zmin=0,Zmax=36 mm,遍歷CAD模型特征得到61個表面,設(shè)置切層厚度為2 mm,得到18個切層。
切平面和CAD模型表面求交后得到的是3D草圖。如圖2所示,葉輪CAD模型表面與第三個切平面相交得到輪廓線,切層草圖曲線是間斷式的,將其歸為直線、圓弧、樣條曲線三種類型,分別對應(yīng)SolidWorks API的ISketchLine、ISketchArc、ISketchSpline三種對象。對于直線和圓弧以后可被增材制造數(shù)控系統(tǒng)識別;對于樣條曲線進行離散插補,根據(jù)精度需求設(shè)置弓高誤差。同時,制定由直線段、圓弧和樣條曲線組成的2.5維輪廓數(shù)據(jù)存取樣式,將端點、控制頂點等信息導出,為層內(nèi)路徑規(guī)劃做準備。目前以STL為基礎(chǔ)的增材制造系統(tǒng)廣泛使用CLI、SLC等格式描述切片輪廓,采用線性近似,后續(xù)擴展應(yīng)用能力低。
模型分層切片得到的是輪廓曲線數(shù)據(jù),尚需要填充層內(nèi)區(qū)域,為3D打印設(shè)備生成路徑軌跡,這就是層內(nèi)路徑規(guī)劃。常見的路徑規(guī)劃方式是輪廓偏移式填充和光柵掃描式填充,其他還有分區(qū)掃描、分形掃描等方式。
圖1葉輪CAD模型的直接分層效果圖2葉輪第3切層輪廓曲線
輪廓偏移式掃描是將實體輪廓從外向內(nèi)或從內(nèi)向外偏移生成路徑軌跡,不易出現(xiàn)階梯效應(yīng),表面質(zhì)量較高,但計算復雜。本文依賴二維圖形庫Clipper對葉輪輪廓生成偏移路徑,如圖3所示。
光柵掃描式填充是用平行線段對輪廓內(nèi)部填充,它是通過平行掃描線與輪廓曲線求交,將交點按照一定規(guī)則進行連接生成路徑軌跡。每一條掃描線與輪廓曲線如果有交點,數(shù)目必然為偶數(shù),把這些交點從1到k順次編號,通過“奇-偶”相連的方式,就可以生成位于實體內(nèi)部的掃描路徑。結(jié)合兩種方式的優(yōu)點,對實體零件可以生成外部為輪廓偏移、內(nèi)部為光柵掃描的混合式路徑,可使零件表面成形質(zhì)量較好且內(nèi)部路徑生成簡單高效,如圖4所示。
圖3一次偏移路徑的生成圖4葉輪的混合式路徑規(guī)劃
為了改善增材制造工藝,應(yīng)考慮路徑軌跡的優(yōu)化,在電弧焊絲增材制造中,將焊槍作為3D打印的執(zhí)行部件,在路徑的起點引弧、終點熄弧,容易出現(xiàn)焊體的堆積或者坍塌。而不同傾斜方向的路徑規(guī)劃方式會導致不同數(shù)目的路徑轉(zhuǎn)折點,較少的轉(zhuǎn)折點代表著較少的焊絲回抽和較長的平均路徑長度,因此減少路徑轉(zhuǎn)折點數(shù)目對工藝改善會起到良好作用。
某傾斜方向的路徑轉(zhuǎn)折點數(shù)目最少,意味著該方向掃描線平均長度最長,也意味著截面圖形質(zhì)點在該方向的質(zhì)量分布較集中,本文考慮引入主成分分析(Principal Component Analysis,PCA)的方法,提取截面圖形并細化得到能代表該截面的一系列二維數(shù)據(jù)點,并將二維特征映射到一維,以該維(即主元)方向作為層內(nèi)路徑規(guī)劃的傾斜方向。
為了提取某分層平面上零件實體的質(zhì)點信息,不能簡單地直接使用分層截面的輪廓數(shù)據(jù)。均勻地提取數(shù)據(jù)對于提取截面圖形的主元至關(guān)重要,考慮將水平填充掃描線段細分,得到一個二維點陣,作為數(shù)據(jù)分析對象。設(shè)點陣中點的數(shù)量為n,第i個數(shù)據(jù)點的坐標為pi(xi,yi),則截面區(qū)域的中心為:
協(xié)方差矩陣元素為:
計算協(xié)方差矩陣[Cjk]的特征值和特征向量,其中特征值較大者對應(yīng)的特征向量就是所求主元方向。為了驗證該優(yōu)化算法的可靠性,考察掃描線在0°~180°不同傾斜方向的路徑規(guī)劃,以2°為均勻間隔,用90組掃描線與輪廓曲線求交,通過枚舉測試得到不同傾斜方向的交點數(shù)目?,F(xiàn)對圖5所示零件1和零件2進行測試。
圖5 零件1和零件2
用本文的主成分分析方法得到零件1的主元方向向量為(0,1),即Y軸正向,交點數(shù)量為74個;而枚舉測試顯示掃描線與X軸正向夾角為90°時交點最少為74個,交點最多會有194個。通過主成分分析得到零件2的主元方向向量為(0.350 1,0.936 7),與X軸正向夾角為69.5°,交點數(shù)量為266;而枚舉測試顯示掃描線與X軸正向夾角為72°時交點最少為254個,交點最多會有386個。圖6為轉(zhuǎn)折點最少時的路徑規(guī)劃??梢?,主元方向雖然會與枚舉所得的傾斜方向有所偏差,但使得通過較少的計算和時間復雜度得到一個接近最優(yōu)解的解,對于路徑轉(zhuǎn)折點的減少快捷有效。
圖6 最少轉(zhuǎn)折點的路徑
本文在SolidWorks二次開發(fā)平臺上實現(xiàn)了增材制造的直接切片,避免了復雜的曲面求交計算和以STL格式文件為基礎(chǔ)的增材制造中誤差較大的問題;同時開發(fā)了層內(nèi)路徑規(guī)劃功能模塊,可以實現(xiàn)輪廓偏移式和光柵掃描式填充,基本滿足復雜外形零件路徑規(guī)劃的要求;提出的基于主成分分析的路徑優(yōu)化算法用少量的計算可以得到較優(yōu)的路徑規(guī)劃方向,改善了增材制造工藝。