怎么修復3d模型STL文件格式的規(guī)則和缺陷?

qianyuan   2016-12-13 16:12:34

stl格式的模型文件是普遍3D打印機都支持的,那么修復3d模型STL文件格式的規(guī)則和缺陷呢?


STL文件格式的規(guī)則

  

(1)共頂點規(guī)則。每一個三角形平面必須與每個相鄰的小三角形平面共用兩個頂點,也就是說,一個三角形平面的頂點不能落在相鄰的任何一個小三角形平面的邊上

如何修復三維打印模型STL文件格式的規(guī)則和缺陷

  

違反共頂點規(guī)則的錯誤

  

(2)取向規(guī)則。對于每一個小三角形平面,其法向量必須向外,3個頂點連成的矢量方向按照逆時針方向的順序確定(右手法則),而且,對于相鄰的小三角形平面,不能出現(xiàn)取向矛盾,如圖所示。

(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)畸變,即三角形面片的所有邊都共線。這種缺陷通常發(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文件中的問題并加以修改并非輕而易舉的,也不是所有的缺陷都能修復的。傳統(tǒng)的解決方法是使用(或開發(fā))一個STL糾錯程序,將STL文件中的錯誤排除,生成新的STL文件,再進行切片(有些系統(tǒng)將糾錯、切片做在一個模塊里,其原理仍是一樣的)。但由于三維信息的復雜性,多數(shù)算法目前并不能將STL文件所描述的三維拓樸信息還原出一個整體、全局意義上的實體信息模型,無法像人一樣對三維實體有一個空間上的認識,因而糾錯只能停留在糾正簡單的錯誤上,而無法對復雜錯誤進行自動修復,只能標出錯誤點的位置,依賴人手工進行一個個三角形的添加、刪除工作,這通常需要一到數(shù)天的時間,不僅枯燥、麻煩,并且也失去了快速成形的意義。由于STL文件的缺陷會導致切片程序上的許多錯誤,有時會使切片過程很困難,于是許多學者針對STL文件的缺陷提出容錯的切片算法。

0

2066 0

發(fā)表評論

登陸后參與評論