鄭萍 張安安



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