STL文件格式的規(guī)則
(1)共頂點規(guī)則。每一個三角形平面必須與每個相鄰的小三角形平面共用兩個頂點,也就是說,一個三角形平面的頂點不能落在相鄰的任何一個小三角形平面的邊上
2.jpg (10.73 KB, 下載次數(shù): 331)
下載附件
如何修復(fù)三維打印模型STL文件格式的規(guī)則和缺陷
2013-1-26 21:20 上傳
違反共頂點規(guī)則的錯誤
(2)取向規(guī)則。對于每一個小三角形平面,其法向量必須向外,3個頂點連成的矢量方向按照逆時針方向的順序確定(右手法則),而且,對于相鄰的小三角形平面,不能出現(xiàn)取向矛盾,如圖所示。
2.jpg (13.69 KB, 下載次數(shù): 330)
下載附件
如何修復(fù)三維打印模型STL文件格式的規(guī)則和缺陷
2013-1-26 21:21 上傳
(3)取值規(guī)則。每個小三角形平面的頂點坐標值必須是正值,零和負值是錯誤的。
(4)充滿規(guī)則。在三維模型的所有表面上,必須布滿小三角形面片,不得有任何遺漏
STL文件存在的問題
由于STL文件不包含其拓樸關(guān)系的數(shù)據(jù),加上STL文件格式本身以及從CAD軟件到STL文件格式轉(zhuǎn)換過程造成的問題,所產(chǎn)生的STL文件難免有少量的缺陷。其中,最常見的缺陷有:
(1)存在縫隙,即三角形面片的丟失。對于大曲率的曲面相交部分,三角化時就會產(chǎn)生這種錯誤,如圖3所示。在顯示的STL格式模型上,會有錯誤的裂縫或孔洞(其中無三角形),違反了充滿規(guī)則。此時,應(yīng)在這些裂縫或孔沿處增補若干小三角形面片,從而消除這種錯誤。
2.jpg (28.28 KB, 下載次數(shù): 305)
下載附件
如何修復(fù)三維打印模型STL文件格式的規(guī)則和缺陷
2013-1-26 21:23 上傳
三角形之間的縫隙示意圖
(2)畸變,即三角形面片的所有邊都共線。這種缺陷通常發(fā)生在從三維實體到STL文件的轉(zhuǎn)換算法上。由于采用在其相交線處向不同實體產(chǎn)生三角形面片,就會導致相交線處的三角形面片的畸變。
(3)三角形面片的重疊。面片的重疊主要是由于在三角化面片時數(shù)值的圓整誤差所產(chǎn)生的。由于三角形的頂點在3D空間中是以浮點數(shù)表示的,而不是整數(shù)。如果圓整誤差范圍較大,就會導致面片的重疊。
(4)歧義的拓樸關(guān)系。按照共頂點規(guī)則,在任一邊上,僅存在兩個三角形共邊。若存在兩個以上的三角形共此邊,就產(chǎn)生了歧義的拓樸關(guān)系。這些問題可能發(fā)生在三角化具有尖角的平面、不同實體的相交部分或生成STL文件
時控制參數(shù)的誤差上。由于STL文件的這種缺陷,必須事先對STL文件的模型數(shù)據(jù)的有效性進行檢查,以保證用于快速成形系統(tǒng)的STL文件的有效性。否則,具有缺陷的STL文件就會導致快速成形系統(tǒng)加工時的許多問題,如原型的幾何失真等,嚴重時會導致死機。
一般的解決方法
由于STL文件存在以上的缺陷與不足,就需要有一個軟件來修改STL文件,比如國內(nèi)的AFS公司和美國的3D System公司就有此類軟件。但要想找出STL文件中的問題并加以修改并非輕而易舉的,也不是所有的缺陷都能修復(fù)的。傳統(tǒng)的解決方法是使用(或開發(fā))一個STL糾錯程序,將STL文件中的錯誤排除,生成新的STL文件,再進行切片(有些系統(tǒng)將糾錯、切片做在一個模塊里,其原理仍是一樣的)。但由于三維信息的復(fù)雜性,多數(shù)算法目前并不能將STL文件所描述的三維拓樸信息還原出一個整體、全局意義上的實體信息模型,無法像人一樣對三維實體有一個空間上的認識,因而糾錯只能停留在糾正簡單的錯誤上,而無法對復(fù)雜錯誤進行自動修復(fù),只能標出錯誤點的位置,依賴人手工進行一個個三角形的添加、刪除工作,這通常需要一到數(shù)天的時間,不僅枯燥、麻煩,并且也失去了快速成形的意義。由于STL文件的缺陷會導致切片程序上的許多錯誤,有時會使切片過程很困難,于是許多學者針對STL文件的缺陷提出容錯的切片算法。如文獻[6]中提出這樣的切片算法:直接對STL文件切片,在其切片的二維層次上進行修復(fù),即在二維輪廓信息層次上發(fā)現(xiàn)錯誤,并作相應(yīng)地去除多余輪廓線段、在輪廓斷點處進行插補等操作,但由于輪廓上錯誤的千變?nèi)f化,不是所有的錯誤都能得到修正。
針對我們開發(fā)的激光燒結(jié)快速成形系統(tǒng)的特點,我們采用對STL文件的缺陷進行直接的修復(fù)工件。針對STL文件中的三角形面片丟失的缺陷,采取的基本算法如下:首先,把STL文件中所存在的縫隙的邊界線找出來,并標示它們。然后,在以上所得的邊界線內(nèi)用小三角形面片進行修復(fù)與填補。所產(chǎn)生的小三角形面片的尺寸大小必須以這縫隙的邊界線為限制,并且其法向要受相鄰的實體上三角形面片法向的控制,不能出現(xiàn)取向上的矛盾。這樣才能保證在生成縫隙處小三角形面片的過程中,所產(chǎn)生的小三角形面片取向上的正確性和一致性。實體上三角形面片的法向是可以從STL文件得到的。該算法就能保證對于非有效STL文件的修復(fù)后小三角形面片法向上的正確性。這種修復(fù)的算法能有效地修復(fù)常見STL文件中的縫隙缺陷問題,并且易于用Visual C++語言來實現(xiàn)。我們對此算法進
行了試驗。試驗條件為:激光功率P=40W,光斑直徑d =0.3 mm,掃描速度v =200mm/s,掃描間隙s =0.10mm,鋪粉厚度h =0.15mm,粉末配比為環(huán)氧聚脂:覆臘樹脂砂=10:1。燒結(jié)后的整體葉輪零件如圖所示,達到了一定的精度和表面質(zhì)量要求,具有較好的效果。
分析了用于快速成形系統(tǒng)的STL文件常見的錯誤,并針對其中的三角形面片丟失問題進行了討論,得出一個合理可行的修復(fù)算法。該算法能有效地修復(fù)常見的STL文件中縫隙缺陷問題。采用Visual C++語言將該算法實現(xiàn)提高打印表面精度。
|