韓婧茹,王玉增,李廣亞,劉雙源
(濟南大學 機械工程學院,濟南 250022)
機械零件快速成型中STL模型優化方法研究*
韓婧茹,王玉增,李廣亞,劉雙源
(濟南大學 機械工程學院,濟南 250022)
針對同一機械零件的不同局部表面精度要求的不同,提出一種STL模型的局部優化方法。利用該方法一方面可以去除冗余的STL網格,另一方面可以對機械零件要求的關鍵部位進行STL模型的局部加密。實驗證明通過該方法,保證了機械零件的精度并在此前提下提高了機械零件快速成型制造的效率。
STL文件;局部加密;快速成型
隨著計算機技術的迅速普及和CAD/CAM技術的廣泛的應用,近年來快速成型技術得以迅速的發展。由于STL文件具有易轉換性、傳輸性和文件格式簡單等優點,并且STL文件可以作為CAD軟件和快速成型系統之間的數據轉換接口,在快速成型系統中得到了普遍的應用[1-2]。但是通過CAD軟件轉換而來的STL模型存在一些誤差,在快速成型過程中,STL模型的精度會直接影響到快速成型機械零件的精度,所以為了保證成型后機械零件的精度,在快速成型軟件系統中對STL模型進行優化是非常必要的[3]。目前,STL模型精度與STL文件尺寸之間的矛盾始終沒有得到很好解決[4]。STL模型是由一系列有連續性關系的的三角形面片組成[5],提高STL模型的精度會加密三角形網格,這樣會使得STL文件尺寸增大,從而導致快速成型效率明顯下降,若不加密STL模型三角面片,STL模型精度得不到很好的解決[6]。
基于上述問題,提出一種針對機械零件快速成型中STL模型的優化方法。利用該方法一方面可以去除冗余的STL三角網格,減小STL文件的大小,提高機械零件快速成型的效率;另一方面可以對機械零件要求的關鍵部位或機械零件表面具有凹凸輪廓的部位進行STL模型的局部加密,提高機械零件的成型精度。
1.1 STL模型優化重要性分析
初始的STL文件一般是由CAD系統轉換而來[7],在快速成型分層切片的過程中,是對STL模型直接切片,STL模型的精度直接影響到最終打印的機械零件的精度。如圖1框圖所示,可見在快速成型軟件系統中對STL模型的優化對于模型精度的提高和打印效率起到至關重要的作用。

圖1 快速成型軟件系統框圖
1.2 STL模型精度誤差分析
首先,STL模型精度受到CAD系統的束縛,表現在兩方面。①CAD系統對最高轉換精度有限制,如果有些CAD實體模型存在曲率半徑較小的局部,CAD系統就不允許以較高的精度STL格式化,可能導致局部精度要求高的地方無法滿足設計要求,從而造成STL模型誤差。②將CAD模型轉換成STL模型時,控制參數一旦設定,各表面精度就被統一確定,這時,為了照顧重要表面的精度要求就必須增加整個STL模型表面的三角形密度,從而導致STL文件尺寸過大,快速成型效率降低[8]。
其次,CAD模型轉換成STL模型時,STL模型的某些區域存在冗余的三角形,例如一些狹長的鈍角三角形,如圖2a所示, △ABE、△BEC與△ABC共平面,△AED、△ECD與△ACD共平面,顯然△ABE、△BEC、△AED、△ECD四個三角形是冗余三角形。雖然冗余三角形在有效三角形面內,但是無論其面積大小、形狀如何,它所占用的空間大小是一樣的。從而冗余三角形的存在也增加了STL文件尺寸。

圖2 冗余三角形優化示意圖
因此,根據對STL模型精度誤差分析,STL模型的優化可分為兩部分,一部分是去除STL模型中冗余三角形;另一部分是對三維實體要求的關鍵部位和具有凹凸輪廓的部位進行局部加密。
2.1 模型數據的預處理
STL模型是有一系列無序的三角面片組成,所以在對STL模型進行優化之前,需要對STL模型上的三角面片排序。STL文件有兩種存儲格式:ASCII格式和二進制格式[9]。STL模型的每個面片均由其頂點和由里指向外的單位法矢定義構成,且頂點的存儲順序與單位法矢符合右手規則[10]。
因此,優化前首先應對文件進行格式檢測,并計算出模型的三角形面片總數。若格式正確,根據STL文件數據的存儲格式,定義ReadData類,用于保存讀取的三角形面片信息。完成數據讀取后,調用Directx11的相關函數進行顯示。
2.2 去除冗余三角形
首先應判定三角面片是否為冗余三角形。當一個三角形的最長邊和最短邊確定后,該三角形的最大內角值θ也就確定。隨著θ值的變大,鈍角三角形會逐漸逼近為直線,相對于銳角三角形而言,鈍角三角形面片對STL模型的影響不大,可視為冗余三角形,并可以根據模型需要定義最大角θ值,來限定判定條件。然后對符合約束條件的面片進行優化。
如圖2所示,圖2a為優化前的STL模型,圖2b為優化后的STL模型。顯然,優化后的模型減少了STL模型三角面片量。
在△ECD中,短邊EC中E的坐標點為(xe,ye,ze)C的坐標點為(xc,yc,zc),在優化的過程中,將C點的坐標值賦值給E點,這樣原E點與C點重合,即去除冗余的三角形。去除后,若形成空洞,擴展空洞周圍的三角形使其空洞充滿即可。
如圖3所示為去除冗余三角形的算法的流程圖。

圖3 去除冗余三角形流程圖
根據三維實體精度的要求,一般對于包含自由曲面的模型而言,曲面部分應比平面部分的轉換精度要求高;曲率較小的曲面應比曲率較大的曲面轉換精度要求高;法向矢量與成型方向夾角較大的曲面部分應比夾角較小的曲面部分的轉換精度要求高。在這樣的情形下,有必要根據STL模型的不同位置的精度問題進行局部的三角面片加密。
若擬合的是平面,則STL模型相對精確,只需要去除冗余三角形即可,若擬合的表面是非平面,STL模型就會產生逼近誤差。
首先,判斷模型哪一部分需要加密。用D表示某一三角形面片法向矢量ξ與規定三角面排序方向矢量Z之積,如果D=0,Z軸上的截面交點剛好落在理想輪廓線上;如果D≠0則會產生誤差。該局部表面需要加密。
下面以半徑為R的圓形面,分析影響STL模型精度的主要參數。

圖4 STL模型加密
如圖4a所示,若該半圓用N個三角形逼近,則:
(1)
所以,
(2)
由上式可得,
(3)
根據式(3)可得,當圓的半徑已知時,N越大,三角形與擬合圓之間的弦高越小,逼近誤差越小。因此,可在非平面的局部輪廓,加密STL三角面片。
如圖4b所示,對STL模型進行局部加密,邊AB為優化前三角形一邊,然后由每條邊衍生出一個新的三角形,衍生出的三角形頂點位于曲面輪廓,為便于生成新的STL模型,除位于原三角形一邊上的兩個頂點外的生成的新的三角形的另一個頂點重合,這樣即為一個四面體,用新生形成的三角形來逼近三維實體。如圖4b所示,e表示優化后的弦高。
由幾何關系可知:
ζ=η/2
(4)
(5)
根據前面推倒的有關原弦高的關系,和上述關系式可得出下式:
e=R/4
(6)
由上式可得理論上優化后的STL模型精度比優化前會提高4倍。
圖5是STL模型局部優化流程圖。

圖5 STL模型算法流程圖
為驗證上述方法,首先選定一實驗零件,約定其圓弧處的精度為0.02mm。
將此機械零件的CAD模型轉換成STL模型,然后對STL模型做除去冗余三角形處理,接著對模型具有凹凸輪廓的部位進行局部加密,最后生成的STL模型參數如表1。

表1 STL模型優化前后參數對比
根據上述參數,經試驗可得圖6所示,模型,將STL模型實體填充,可得到如圖6a示為優化前三維STL模型,圖6b為優化后三維STL模型。
從表1可得到優化后的精度與實驗前約定的精度近似,優化后的STL模型雖然文件大小有所增加,但與優化前相比,增加的倍數降低。并且經過試驗,優化后的精度約為優化前的1/4。

圖6 優化前后的模型對比
從圖6可以明顯看出優化后的模型比優化前的模型更精確。
通過對經CAD系統轉換來的STL文件進行局部優化處理,經過試驗驗證,可以得到以下結論:
(1)通過去除STL模型中的冗余三角形,可以減小STL文件的尺寸,對提高3D打印的打印效率起到了明顯的作用。
(2)通過對機械零件有精度要求的部位或三維實體表面有凹凸輪廓的部位進行STL模型局部加密。可以細化該局部的STL三角面片,提高了STL模型的精度,從而使得快速成型機械零件精度得到改善。
[1] Mohammad T,Hayasi · Bahram Asiabanpour. A new adaptive slicing approach for the fully dense freeform fabrication (FDFF) process[J]. J Intell Manuf,2013(24):683-694.
[2] 王春香,李振華.STL 模型分層算法的優化及應用[J].機械設計與制造,2013(3):87-90.
[3] 李成,楊繼全,李超,等.基于NURBS曲線擬合的STL文件局部精度提高方法的研究[J].南京師范大學學報,2013,13(1):15-19.
[4] Hwa-Jen YAP, Zahari TAHA, Siti Zawiah Md DAWAL.A generic approach of integrating 3D models into virtual manufacturing[J].Comput & Electron,2012 13(1):20-28.
[5] 莊云良,趙東標,劉凱,等. 基于VC和OpenGL的STL文件的分層和顯示[J]. 機械與電子,2012(1):27-29.
[6] 黃祥.快速成型技術中精度控制的實現[J].熱加工工藝,2012,41(23):193-195.
[7]Chung-Shing Wang,Teng-Ruey Chang. Retriangulation in STL meshes for rapid prototyping and manufacture[J].Int J Adv Manuf Technol, 2008(37):770-781.
[8] 江本赤,陳祥敏,郭利.RP 技術中數據模型轉換誤差的補償策略研究[J]. 機械設計與制造,2011(11):227-228.
[9] Dr. Ian Gibson,Dr. David W. Rosen,Dr. Brent Stucker. Additive Manufacturing Technologies [M]. US: Springer US, 2010:341-361.
[10]Ian Anthony Stroud,Hildegarde Nagy.Solid Modelling and CAD Systems [M]. London:Springer London, 2011(37):383-421.
(編輯 趙蓉)
Study on The Optimization Method of STL Model in Rapid Prototyping Machine Parts
HAN Jing-ru,WANG Yu-zeng,LI Guang-ya,LIU Shuang-yuan
(School of Mechanical Engineering,University of Jinan,Jinan 250022,China)
For the same mechanical parts of the different requirements of different local surface accuracy, propose a local optimization method for STL model. Using this method, On the one hand can remove the redundant STL grid, On the other hand, STL model has a key position requirement of mechanical parts can be partial encryption. Experiments show that by this method, to ensure the accuracy of the mechanical parts and in this context to improve the mechanical efficiency of rapid prototyping parts.
STL file;local encryption;rapid prototyping
1001-2265(2014)04-0006-03
10.13462/j.cnki.mmtamt.2014.04.002
2013-09-06
國家自然科學基金(51275208);山東省自然科學基金(Y2008F53)
韓婧茹(1989—),女,山東章丘人,濟南大學碩士研究生,研究方向為機械裝備現代設計與分析,(E-mail)jrhan723@163.com;通訊作者:王玉增(1963—),男,山東聊城人,濟南大學教授,碩士生導師,研究方向為計算機圖形圖像處理、圖像識別、虛擬現實技術,(E-mail)me_wangyz@ujn.edu.cn。
TH166;TG65
A