国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

3D打印中STL模型常見的錯誤及修復方法

2017-04-12 03:59李倩兮
課程教育研究·新教師教學 2016年15期
關鍵詞:面片孔洞頂點

李倩兮

摘要:3D打印技術是信息技術與機械工程、材料科學相結合的一項熱門新技術,已輻射滲透到當今的各個領域。在 3D 打印技術的整個過程里面,建模起著主導作用,可以繪制3D 圖形的軟件有很多,關鍵要看是否能輸出或者轉換成STL 格式的文件。本文主要介紹STL文件的幾種常見錯誤和修復方法。

關鍵詞:3D打??; 建模; STL文件;修復

TP391.41;TP391.73

引言:

STL(Stereo Lithography)文件是CAD系統(tǒng)和3D打印系統(tǒng)之間常用的數(shù)據(jù)交換文件。CAD實體模型一般是由多張曲面片剪切拼接組合而成,由于操作的不精確性,造型生成的CAD實體可能存在一些缺陷,這會影響后續(xù)的三角化過程,生成不正確的STL文件。而對于正確的CAD實體模型,由于系統(tǒng)精度差異和大曲率曲面三角化算法的不合理,也可能使生成的STL文件產(chǎn)生缺陷,使得STL文件無法進行進一步的切片處理,從而不能生成3D打印過程需要的路徑文件[1]。為了保證正確的分層切片,一般要在切片處理之前對STL文件進行缺陷的檢測和修復。

一、轉換成STL模型后常見的錯誤類型

在CAD模型轉換成STL模型的過程中可能會出現(xiàn)很多錯誤,直接影響到后續(xù)的切片和數(shù)據(jù)處理工作,所以需要對轉換的結果進行錯誤檢查,深究其原因并針對性的修復。

1。逆向法向量。也就是三角形面片三條邊的轉向發(fā)生逆轉,即違反了STL文件的右手規(guī)則。產(chǎn)生的原因主要是在生成STL文件時,三角形面片的頂點記錄順序錯誤。

2??锥础?锥词荢TL文件中最常見的錯誤,它是因丟失三角形面片而造成的,特別是一些大曲率曲面組成的模型在進行三角化處理時,如果拼接該模型的三角形非常小或者數(shù)目非常多,就很容易丟失小三角形,導致孔洞錯誤。

3。裂縫。裂縫主要是在轉換中數(shù)據(jù)不準確或取舍的誤差而導致的,孔洞和裂縫都是違反了STL文件的充滿規(guī)則。

4。面片重疊。在三維空間中,三角網(wǎng)格模型中頂點的數(shù)值是以浮點數(shù)表示的。由于軟件的轉換精度太低,三角化算法中需要四舍五入對頂點數(shù)值進行調整而產(chǎn)生誤差,導致頂點的漂移。

5。多邊共線。3個以上的邊共線,并且每一條邊只有一個鄰接三角形。這是一種拓撲結構錯誤,是由于不合理的三角化算法造成的。

二、STL模型常見錯誤的修復方法

1.錯誤檢查方法

要修復STL文件,首先要檢查出STL文件的錯誤,確定錯誤的類型、分布和數(shù)量。STL文件是三角形面片的無序集合,沒有反應三角形之間的關系,所以必須在這群無序的三角形面片中建立其鄰接關系,即拓撲信息,拓撲關系不僅可以用于檢測修復錯誤,也可用于后續(xù)的處理。拓撲信息的建立是為了滿足三個條件:對任意一個三角形面片,都可以查找到其相鄰的三角形面片;對任意一條邊,都可以找出包含它的相鄰三角形面片;對任意一個頂點,都可以找出所有共用這個頂點的三角形面片。

根據(jù)建立的拓撲關系,即可對STL文件中的錯誤進行檢查,首先可以檢查出逆向法向量的錯誤。而孔洞、裂縫、不共頂點的錯誤都是由于出錯位置上的邊被一個三角形面片引用。因此以邊的檢查作為模型錯誤檢查的基礎,正確的邊是應當滿足條件:該邊有且僅有兩個相鄰面片,并且在這兩個面片中該邊所對應的方向相反。該邊有且僅有兩個相鄰面片,并且在這兩個面片中該邊所對應的方向相反。檢查逆向法向量錯誤的方法:根據(jù)三角形面片的三個頂點計算出法向量N,,將結果與文件中的法向量N對比,若N與N,,的夾角大于90。,則記錄為錯誤。檢查錯誤邊的方法:依次取出模型的每一條邊,獲得這兩個頂點各自的鄰接的集合,找到這兩個面集合中的相同的面片。如果相同的面片的數(shù)目不等于2;或該邊在這兩個面片中的順序相同;如果該邊為錯誤邊,則其所有的相鄰三角形面片錯誤,同時,該邊的兩個頂點也錯誤。

2。錯誤數(shù)據(jù)的修復步驟

其一,建立描述錯誤的圖。該圖應由多個錯誤連通區(qū)域組成,每個區(qū)域包括錯誤的三角形面片、錯誤的邊以及錯誤的頂點,每個連通區(qū)域是相互獨立的。在每一個連通區(qū)域里,錯誤頂點都可以通過錯誤邊遍歷到該區(qū)域的任意一個其他頂點。建立連通錯誤區(qū)的方法為:從某一條錯誤邊開始,獲取該邊的兩個頂點,然后再通過這兩個頂點找到相應的錯誤邊,并加入到連通區(qū)域重新獲取新的錯誤頂點,直至沒有新的錯誤頂點,重復以上步驟直至遍歷完全部錯誤邊。

其二,合并頂點。一是要遍歷所有連通錯誤區(qū)域,在每一個連通錯誤區(qū)域遍歷所有錯誤頂點;二是計算該頂點到其它頂點的距離,若該距離小于應合并頂點的距離,加入臨時頂點鏈表;三是合并臨時頂點鏈表中不屬于同一條邊的頂點;四是合并頂點的相鄰關系;五是重復步驟一到四,直至遍歷結束。

其三,修復孔洞。在孔洞中構造三角形,順序遍歷孔洞的環(huán),每三條邊構建成為一個三角形面片,然后在起始頂點和第三條邊的末頂點增加一條新邊,以此形成一個新的三角面片,同時在錯誤連通區(qū)刪除己修復的錯誤頂點和錯誤邊,繼續(xù)遍歷孔洞的環(huán),重復修復過程直至沒有大于3的多邊形。

其四,修復裂縫。修復裂縫可以通過合并頂點和修復孔洞的結合來完成。

最后,修復其他錯誤。以上步驟只能修復STL文件常見的錯誤,對于其他未知和不易識別的錯誤,可以借助工具或手動添加的方法來修復。

3.修復工具

很多工具可以用于STL文件的檢查,如Materialise公司的Magics、Netfabb、3DSystem公司的Rapidform XOM。其中,Netfabb是一款專門用于編輯、修復和分析3D打印模型數(shù)據(jù)的工具,其主界面的右下角顯示了3D模型的基本信息,包括Length(長)、Width(寬)、Height(高)、Volume(體積)、Area(總面積)和Triangles(三角面片數(shù)目)。該工具還可以對3D模型進行Move(平移)、Rotate(旋轉)、Scale(縮放)、Analyze(分析)、Heal(修復)、Measuring(測量)等操作。若在模型的右下角出現(xiàn)“!”圖標,則表示模型出錯。

通過“分析”工具可以檢查模型中的錯誤。首先確認具體的錯誤情況,被標志成紅色的區(qū)域是該軟件認為這里是法線指向錯誤,這會讓3D打印機無法識別是模型內部還是外部。點擊“修復”(紅十字)按鈕,可以看到當前模型的錯誤統(tǒng)計信息,一般正確的可直接用于切片的STL模型應滿足:零孔洞、零邊緣邊、零無效方向,如果是簡單模型,殼的數(shù)目一般為l。對于錯誤較多的模型可以采用“Automaticrepair(自動修復)”的功能,修復之后會顯示修復后的統(tǒng)計信息。

小結:本文從錯誤數(shù)據(jù)的檢查方法、錯誤數(shù)據(jù)的修復步驟及修復工具等三方面對模型缺陷進行檢測和修復。以期能較高效率的查找和修復STL文件的缺陷,提高3D打印過程中模型的成型質量。

參考文獻:

[1]、鄭少京,呂志強.主導 3D 打印技術的關鍵 -3D 建模[J].科技教育,2015(07)

猜你喜歡
面片孔洞頂點
提線木偶
基于MATLAB的STL模型切片分層算法
懸崖上有字
走路時,我們會踩死細菌嗎
河沿面片
河沿面片
甜面片里的人生
“圖形的認識”復習專題
刪繁就簡三秋樹
數(shù)學問答
唐河县| 迁安市| 兴安盟| 五寨县| 基隆市| 长宁县| 连云港市| 澄江县| 盱眙县| 焦作市| 砚山县| 丰城市| 贡嘎县| 塔城市| 准格尔旗| 罗江县| 武川县| 邵武市| 安远县| 广德县| 白城市| 五寨县| 贵南县| 昭觉县| 安远县| 历史| 阳春市| 沈阳市| 马龙县| 时尚| 仙桃市| 锡林郭勒盟| 乐平市| 邵东县| 互助| 花莲市| 交城县| 建湖县| 沙洋县| 东山县| 哈尔滨市|