鄭萍 張安安
【摘 要】三維快速成型軟件系統(tǒng)是連接三維設(shè)計軟件系統(tǒng)與三維打印硬件系統(tǒng)橋梁,是3D打印質(zhì)量保證的關(guān)鍵之一。本文研發(fā)的3D快速成型系統(tǒng)利用三維層分片技術(shù),可以按編程序?qū)⒁话愕哪P娃D(zhuǎn)換成為可打印的三維模型,從三維模型自動生成相應(yīng)的三維打印代碼,從而驅(qū)動三維打印硬件系統(tǒng)工作,最終實現(xiàn)減少打印材料耗費,降低三維打印成本,提升三維打印效率。
【關(guān)鍵詞】3D打?。豢焖俪尚?;系統(tǒng)開發(fā)
【Abstract】Three dimensional rapid prototyping software system is a bridge connecting the 3D design software system and the 3D printing hardware system,is one of the keys to ensure the quality of 3D printing.The development of 3D rapid prototyping software system using 3D slicing technique,can automatically convert the ordinary three-dimensional model into a three-dimensional model can be printed.Automatically generate the corresponding 3D printing code from the 3D model,so as to drive the work of 3D printing hardware system.The final realization of reducing the cost of printing materials,reduce the cost of three-dimensional printing,improve the efficiency of three-dimensional printing.
【Key words】3D Printing;Rapid prototyping;System development
0 引言
三維打印技術(shù)因其近年來的爆炸式增長成為被大眾了解的一種快速成型技術(shù)。“3D打印”是我們?nèi)粘5恼f法,其正式的名稱應(yīng)為“快速成型制造技術(shù)”。3D打印技術(shù)就是根據(jù)所需或者現(xiàn)實物體的立體模型數(shù)據(jù),利用成型制造機器通過組成原料疊加的方式,最終完成所需零件或?qū)嵨锬>叩闹圃?,達到縮短周期和縮減成本的功效。該技術(shù)基于數(shù)字化的三維模型,通過切片仿真和路徑規(guī)劃工藝及數(shù)控加工技術(shù),能夠快速制造出三維實體,在科學(xué)研究、原型驗證、文物保護、建筑設(shè)計、制造、醫(yī)療、食品、藝術(shù)等諸多行業(yè)應(yīng)用廣泛[1]。
三維快速成型軟件系統(tǒng)是3D打印的關(guān)鍵系統(tǒng)之一,是連接三維設(shè)計軟件系統(tǒng)和三維打印硬件系統(tǒng)(3D打印機)的橋梁,是三維打印質(zhì)量保證的關(guān)鍵之一。現(xiàn)有的各種三維打印機基本上都缺乏強有力的成型軟件系統(tǒng),從而導(dǎo)致大量的三維模型無法成功打印出來,也常常使得三維打印非常耗費材料,打印周期也比較長。這嚴重阻礙三維打印機的普及。
本項目研發(fā)的三維快速成型軟件系統(tǒng)能夠?qū)⒃O(shè)計好的三維模型轉(zhuǎn)換成為可打印的三維模型,從三維模型自動生成相應(yīng)的三維打印代碼,從而驅(qū)動三維打印硬件系統(tǒng)工作,最終實現(xiàn)減少打印材料耗費,降低三維打印成本,提升三維打印效率。
1 三維打印快速成型技術(shù)的工作原理及特點
三維打印快速成型系統(tǒng)是基于離散或堆積制造靈感的快速成型技術(shù),其所可以采用的原材料包括陶瓷、石膏、金屬和塑料的粉末等,而其成型重點是配備符合要求的粘接劑和原材料粉末。
三維打印快速成型技術(shù)的工作原理是:工作時,鋪粉機器在制作臺上平鋪一層粉末材料,打印噴頭按照成型工件的截面信息,在水平面上沿橫軸和豎軸方面運動,同時控制粘接劑的噴射量,粘接劑進入粉材的微孔中使其粘合,形成工件的截面輪廓。第一層成型完成后,成型電機牽動工作臺下降一層高度,進行下一層的鋪粉和粘接,循環(huán)往復(fù),直到最后一層的鋪粉和粘接的完成,最終形成三維制件。
三維打印快速成型采用噴頭噴射粘劑逐層成型,是最具工業(yè)先進性的技術(shù)之一,具有以下特點[2]:(1)體現(xiàn)了三維打印快速成型技術(shù)的一大優(yōu)勢即一定程度上融合了設(shè)計和制造;(2)使復(fù)雜模型的直接制造成為可能,不受工件的形狀與結(jié)構(gòu)的約束即高度柔性的體現(xiàn);(3)三維打印技術(shù)充分體現(xiàn)快速,自動,精確,直接地將設(shè)計轉(zhuǎn)換成真實的產(chǎn)品模型,縮短新產(chǎn)品的開發(fā)周期,降低研發(fā)成本。
2 系統(tǒng)開發(fā)技術(shù)基礎(chǔ)
2.1 圖形應(yīng)用軟件系統(tǒng)
本三維快速成型軟件系統(tǒng)利用OpenGL重構(gòu)模型,利用VisualBasic2012實現(xiàn)人機交互工作,利用軌跡球算法實現(xiàn)OpenGL模型在鼠標(biāo)移動時模型隨之旋轉(zhuǎn)[3]。軌跡球的實現(xiàn)方法中最根本的技術(shù)就是利用一個四階矩陣與模型矩陣進行相乘,產(chǎn)生模型新數(shù)即為經(jīng)過軌跡球操作后的模型坐標(biāo)位置。
本軟件系統(tǒng)利用Pro/E的二次開發(fā)工具Pro/ToolKit,針對VC的編程環(huán)境下通過對3D模型切片鏈接庫的研發(fā),利用在Pro/E的整體軟件集成下驗證運行,得到3D模型的切片分布數(shù)據(jù),同時也獲得了每一層切片的二維邊界精確數(shù)據(jù)和相關(guān)拓撲結(jié)構(gòu)。另外,按照要求通用化數(shù)據(jù)的實現(xiàn),我們規(guī)劃設(shè)計了標(biāo)準(zhǔn)化的數(shù)據(jù)文件來記錄所獲取的分層數(shù)據(jù)和對應(yīng)的拓撲結(jié)構(gòu)的數(shù)據(jù)接口,方便使用者自行開發(fā)相應(yīng)的渲染軟件及其他控制程序。
整體利用Pro/ToolKit和VC++6.0程序來編程分層切片動態(tài)鏈接庫程序。在Pro/E2001的環(huán)境中,授權(quán)加載該應(yīng)用程序完成后,即可對已獲得的3D實物幾何模型分層切片時,可以使用鼠標(biāo)來點擊程序框中菜單欄中的ChooseData項,然后打開該目錄下的導(dǎo)航式子菜單Choice,選中它并進行切片方式和渲染方式設(shè)置完成后,再點擊Finish按鈕即可完成對所選3D模型的分層切片,最終呈現(xiàn)的切片圖形如圖1所示。
2.2 基于仿真分析的支撐材料規(guī)劃方法
三維打印制造過程中形成下小上大的形狀的一般方法是在下層提供上層形體的支撐。支撐結(jié)構(gòu)要求能夠承擔(dān)上層結(jié)構(gòu)的重力影響,且在打印完成后,能夠容易進行除去。目前尚未有一款切片器能夠比較完美地處理支撐問題,而支撐問題是目前普通用戶可有效使用的三維打印領(lǐng)域面臨的最大的軟件技術(shù)問題之一[4]。
支撐問題的科學(xué)本質(zhì)在于預(yù)測上方結(jié)構(gòu)的塌陷可能性,并在可能塌陷的部分打印形成支撐材料,以阻止塌陷或懸空的形成。然而,真實打印過程中的情況是非常復(fù)雜的,材料和打印環(huán)境的溫度、濕度、工作狀態(tài)和歷史誤差累計都可能對塌陷存在影響。目前,所有的預(yù)測都基于單向或單指標(biāo)(例如傾斜角)的非反饋預(yù)測,即對物體的幾何進行分析,對傾角過大的部分進行支撐。由于指標(biāo)的單一化,可能形成過度支撐(預(yù)測算法“不自信”)和欠支撐(預(yù)測算法“過度自信”)的情況。而衡量是否需要支撐的因素事實上是多種多樣的,是需要進行進一步的仿真得到的?,F(xiàn)基于打印仿真,在數(shù)字空間分析打印當(dāng)時的各部分的物理狀態(tài),更真實地還原塌陷和懸空情況,考慮更多因素地預(yù)測和計算支撐方向和支撐單元尺寸,從而更精準(zhǔn)地完成支撐材料的規(guī)劃。
3 關(guān)鍵技術(shù)的設(shè)計和實現(xiàn)
三維快速成型軟件系統(tǒng)是將存在于計算機當(dāng)中的“虛擬物體”轉(zhuǎn)變成為現(xiàn)實世界當(dāng)中“真實物體”,是將用戶設(shè)計的三維模型轉(zhuǎn)換為三維打印機硬件控制指令的關(guān)鍵軟件,是檢驗產(chǎn)品可生成性、提高生成效率和穩(wěn)定性的核心技術(shù)。三維切片工藝軟件的科學(xué)本質(zhì)是對數(shù)字空間中的三維模型利用若干水平面進行切割(類似于CT切片),然后對每一個切面進行輪廓提取和加工路徑進行規(guī)劃。因此,解決三維切片問題實際上是對若干復(fù)雜的幾何問題進行研究。
整體分析基于連續(xù)性和基于拓撲機構(gòu)的優(yōu)缺點,考慮切片進行的過程,我們提出一種基于Z坐標(biāo)的分層切片算法。該算法的基本思路:因為生成和讀取全部三角形面片的拓撲信息耗時巨大,考慮將STL文件數(shù)據(jù)中各三角形面片中的Z坐標(biāo)標(biāo)注并按要求排序。當(dāng)開始切片時根據(jù)所切平面的高度Zh確定對應(yīng)分層所有面片計算,對于同一分層三角形建立相應(yīng)的拓撲關(guān)系庫,建立對應(yīng)的層面、層線、層點的關(guān)系鏈結(jié)構(gòu)。根據(jù)讀取STL文件數(shù)據(jù),分析本身的連續(xù)性特點,通過每一分層三角形面片之間的拓撲關(guān)系獲得交線。
3.1 三角形的連續(xù)性
據(jù)幾何學(xué)知識所知,三角形是一個平面凸多邊形的特例,其自身具有三種連續(xù)性特征,包括區(qū)域連續(xù)性,掃描線連續(xù)性和邊的連續(xù)性。三角形自身是平面單連通凸域,區(qū)域連續(xù)性是顯而易見的。掃描線的連續(xù)性是指一條掃描線與一個三角形相交,其交線必然由掃描線和三角形的兩邊交點的連線構(gòu)成。另邊的連續(xù)性則可通過與三角形相交的兩層面間的線段的遞推關(guān)系演繹所得。
3.2 基于Z坐標(biāo)分層算法
基于Z坐標(biāo)算法是為標(biāo)注三角形面片間的拓撲關(guān)系而建立一種鏈表數(shù)據(jù)結(jié)構(gòu),當(dāng)讀入STL文件所有三角形面片各頂點的Z坐標(biāo),標(biāo)記ID后按由小到大排序,分層切片時由分層高度Zh=Zmin開始分層求得所需目標(biāo)三角形分層。在求交線計算中利用面片之間的連續(xù)性分次求得,最終把求交依次得到的交線連接形成一個閉合的輪廓線。基于Z坐標(biāo)分層算法的流程描述如圖2所示。
整體流程步驟簡述:
(1)所有三角形層數(shù)據(jù)由STL文件讀取,其頂點Z坐標(biāo)記錄并標(biāo)記ID號。
(2)按標(biāo)注的Z坐標(biāo)所屬三角形分層按從小到大進行排序。
(3)以Z軸為方向從小到大開始切片,按切片的Zh高度來確定求交線的三角形面片集合。
(4)以分層高度增加單位△Z,任選一三角形面片求交,再依照連續(xù)性找到下一個集合中的三角形,循環(huán)切片并最終得到一個閉合輪廓線。
(5)三角形分層結(jié)束的限制條件為循環(huán)步驟(3)和(4)直到Zh高度超過所有三角形Z坐標(biāo)的Zmax。切片算法單元三角形拓撲信息定義數(shù)據(jù)結(jié)構(gòu)如圖3:
假設(shè)三角形STL切片文件內(nèi)共存儲有N個三角形面片,則在基于模型拓撲結(jié)構(gòu)的算法中存儲這N個三角形面片的拓撲信息需要的存儲空間為64N,按照基于Z坐標(biāo)的思想存儲所需的存儲空間為28N。兩種算法不同讀取結(jié)構(gòu)信息的存儲對比曲線如圖4所示。
如上圖所示可以看出只讀取Z坐標(biāo)及指針鏈表信息的數(shù)據(jù)結(jié)構(gòu)可大大降低內(nèi)存的占用。建立新的數(shù)據(jù)結(jié)構(gòu),在保證連續(xù)性分層思想的同時,既可節(jié)省分層時間也可節(jié)省分層時內(nèi)存的占用量。
4 結(jié)束語
本文分析探討了三維快速成型軟件系統(tǒng)的原理特點,從系統(tǒng)實用性推廣角度闡述如何自動將普通三維模型轉(zhuǎn)換成可打印的三維模型,提高轉(zhuǎn)換穩(wěn)定性,減少打印材料耗費,降低成本提升效率。另深層意義在于為廣大普通大眾用戶提供三維快速設(shè)計成型系統(tǒng),將高深的設(shè)計與制造技術(shù)帶給普通用戶,而且朝著將工業(yè)制造模式向普通用戶制造模式方向努力,進一步提高人類的自主能力,值得推廣。
【參考文獻】
[1]王運贛.快速成形技術(shù)[M].武漢:華中理工大學(xué)出版社,1999.
[2]劉道遠.快速成形中數(shù)據(jù)處理軟件的研究與實現(xiàn)[D].華僑大學(xué),2000.
[3]宮法明,李海生,楊欽,等.基于OpenGL的STL文件瀏覽器的設(shè)計與實現(xiàn)[J].計算機工程與應(yīng)用,2002,6(2).
[4]李占利,梁棟,李滌塵,等.基于信息繼承的快速分層處理算法研究[J].西安交通大學(xué)學(xué)報,2002,36(1)43-46.
[責(zé)任編輯:湯靜]