三維CAD模型的建立
2013-05-16 by:廣州有限元分析、培訓中心-1CAE.COM 來源:仿真在線
張唏 孟立新 來源:萬方數據
關鍵字:三角網格模型 三維CAD 模型建立
三角網格模型是求取三維實體數據的一種有效方法,在快速成型技術應用中,基于三角網格模型形成的STL文件格式,是其形成CAD三維數字模型,進行數據處理的重要數字信息來源。
從快速成型的原理來看,技術實施的基礎是如何獲得三維實體模型的計算機信息(即三維CAD模型)。尤其是對一些不規則的自由曲面,其數據采集和處理質量直接關系著后續數據處理的質量,關系著三維實體造型的成敗?;谌切途W格模型的三維實體數據處理,便是一種應用廣泛的三維CAD模型建立和轉換方法,其文件格式簡單、實用,已成為一種快速成型領域的普遍應用的一種接口文件。
1 三角網格模型的建立
通常三維CAD曲面模型或實體模型,需要先轉化為三角網格模型,即STL文件格式模型,然后再分層得到加工路徑。STL(stereolithography)文件格式是由美國3D Systems公司于1988年開發的,目前各類商用CAD軟件均帶有STL文件的輸出功能,STL模型就是CAD模型進行三角網格化處理的結果。
三角網格模型就是用一系列的小三角形平面來逼近原來的模型,每一個小三角形用其三個頂點坐標和一個法向量來描述。根據描述模型精度的需要可以選擇三角形的大小。如圖1所示,用一個三角平面V1、V2、V3近某一曲面時,可以看到三角形逼近曲面的精度,通常由曲面到三角形平面的距離誤差,或曲面到三角形邊的弦高差來描述和控制。當誤差要求越小,曲面越不規則時,所需的三角形平面片數就越多,STL文件就越大。因此,誤差的設定應根據零件加工的需要來確定。
STL文件是由若干空間小三角形平面組成的集合,每個三角形平面用三角形的三個頂點坐標和指向模型外部的三角形平面的法向量組成,如圖2所示。STL文件有兩種數據格式,一種為ASCⅡ格式,另一種為二進制格式。二進制格式文件尺寸小、易于傳輸,所以應用較為廣泛。它的前84字節為頭記錄,其中80字節用來描述零件名、作者姓名和一些有關文件的評述;4個字節說明三角形平面的片數。接下來對每個三角形平面用50個字節來存儲三角形的法向量的石x、y、z值和三個頂點的x、y、z坐標值,每個坐標值占用4個字節,共48字節,最后2個字節沒有使用,以備特殊用途。二進制格式雖然小,僅占ASCⅡ格式的l/6,但ASCⅡ格式的文件可讀,便于測試,其組成格式如表l。
2 STL文件的數據結構
STL文件作為快速成型系統的輸人格式已經得到了廣泛的認可,但由于STL文件僅包含三角面片的頂點和其法向量的坐標,而缺少三角面片之間的拓撲信息,因而會給后續數據處理帶來困難。因而sTL文件必須有合適的數據結構,使其不但能反映三角形面片的幾何結構,而且能反映出相鄰關系,以利于STL文件的檢測和修復。STL文件的數據結構可以采用面向對象的程序設計方法進行設計,使用Visual C++在Windows NT環境下設計了三個類,即點、邊和三角面,由這三個類產生三個對象,并建立相應的對象鏈表。點類中數據成員分別是:頂點的X坐標、Y坐標、Z坐標。
邊類中的數據成員分別是:邊的第一個頂點號,該頂點號取其該點在點對象鏈表中的序號;第二端點號;擁有該邊的三角形面片號,此面片號取擁有該邊的三角形面片在三角形面對象鏈表中的序號;擁有該邊的另一三角形面片號;標志項。
面類中的數據成員分別是:三角形三條邊的邊號,邊號取該邊在邊對象鏈表中的序號;三角形面片的法向量的三個坐標值。
這樣用面類的成員函數可直接根據面鏈表提供的邊號在邊鏈表中找到相應的邊,同樣用邊類的成員函數可直接根據邊鏈表中提供的面號和端點號直接找到相應的面和邊的端點。這樣就構成了以點對象鏈表、邊對象鏈表、面對象鏈表為主線的網格型的數據結構形式,為數據的檢測與修復提供了有序可靠的數據信息。
3 三角網格模型(STL)的優點
快速成型領域中三角網格模型所形成的STL文件有著廣泛的應用,主要因為它有以下幾方面優點。
(1)STL文件生成簡單,目前使用的大多數CAD軟件均具有輸出STL文件的功能,同時還具有可以控制輸出STL文件格式模型精度的功能。
(2)STL文件格式應用廣泛,幾乎所有三維幾何模型都可以通過表面的三角網格化生成STL文件。
(3)STL文件數據較簡單,因而分層算法相對要簡單的多。
(4)當成型的零件較大很難在成型機上一次成型時,由于STL文件數據較簡單,模型易于分割,這時可以將模型很容易地分割為多個部分分別制造,再組裝成型。
4 三角網格模型(STL)的缺點
雖然STL文件格式具有這些有利于造型的因素,但使用三角形網格來描述三維幾何形體簡單易行的同時,也帶來了很多的缺點。
(1)模型的近似性STL模型只是三維曲面的一個近似描述,與原型之間會產生一定的誤差,造成成型精度損失。
(2)數據產生冗余由于三角網格模型的每個三角形的每個頂點都分屬于不同的三角形,所以同樣的一個頂點在STL文件中重復存儲多次,如圖3所示。同時,由于三角形平面的法向量可以通過頂點坐標得到,也是一個不必要的信息,因此造成了吼文件產生大量的冗余數據。
(3)三角平面之間的信息缺乏由于STL文件缺乏三角平面之間的拓撲信息,這經常造成信息處理和分層的低效。同時,經過cAD模型到STL模型的轉換之后,容易丟失公差、零件顏色和材料等信息。
(4)坐標精度的損失在STL文件中,頂點坐標都是單精度浮點型。而在CAD模型中,頂點坐標一般都是雙精度浮點型。同時汛文件中的頂點坐標必須為正值,這樣,當坐標值較大時,可能會造成較大的誤差。
(5)STL文件信息的錯誤和缺陷在吼文件中還經常會出現諸如重疊面、孔洞、法向量等這些信息轉換和傳遞中造成的錯誤。
5 建立STL文件的規范要求
STL文件在建立過程中,必須遵守一定的規范才能達到正確描述三維模型的目的。
(1)共頂點原則每相鄰的兩個三角形只能共享兩個頂點,如圖4所示,即一個三角形的頂點不能落在相鄰的任何一個三角形的邊上
(2)取向原則每個網格中三角形平面的法向量,必須由內部指向外部,三角形三個頂點排列的順序同法向量符合右手法則。每相鄰的兩個三角形所共有的兩個頂點,服從于它們各自三角形頂點的排列順序。
(3)充滿原則吼文件格式的三維模型中,其所有表面上都必須布滿小三角形面片。
(4)取值原則在STL文件中,每個三角形頂點的坐標值必須是非負值,即其坐標值必須落在坐標系的第一象限內。
6 在快速成型中的應用
快速成型技術就是利用分層技術直接從三維CAD實體數據生成實體零件,因而分層算法是快速成型制造中的一個關鍵環節。CAD造型軟件生成CAD模型后,必須經過分層處理才能將數據輸入到RP設備中。因此分層處理的效率、速度以及所得到的截面輪廓的精度對于快速成型制造來說是相當重要的??焖俪尚图夹g中的分層算法按照使用的數據格式可分為CAD模型的直接分層和基于STL模型的分層。
CAD模型的直接分層具有文件數據量較小、精度高、數據處理時間少,以及模型沒有錯誤等優點。但在分層中其難以對模型自動加支撐,同時需要復雜的CAD軟件環境,因而對其應用帶來了許多不利?;谌蔷W格模型建立的三維CAD模型的分層,盡管形成的sTL文件有很多缺陷,但在眾多的分層方法中,基于STL模型的分層方法仍是研究和應用的主流。
在實際應用三角網格模型對三維CAD模型進行分層計算時,形成的sTL文件是三角形面片信息的集合。對于這些信息集合可以通過基于拓撲信息的分層算法、基于三角面片的位置信息的分層算法或三角面片求交點算法等形式,將離散的三角面片信息組織成有序的形式,得到分層面上一條封閉的輪廓,從而得到三維CAD實體的分層切片信息。將此信息傳輸給RP設備中,就可實現三維實體的快速成型加工。
7 結語
基于三角網格模型建立的三維CAD模型,在具有較多的優越性以外,雖然會產生上述的一些信息缺陷,但可以通過一些較易實現的修復算法,進行數據的修復,使其形成正確的數據鏈接,確保建立的三維CAD模型數據處理的準確性和正確性。
相關標簽搜索:三維CAD模型的建立 AutoCAD培訓 AutoCAD培訓課程 AutoCAD圖紙設計 AutoCAD在線視頻 AutoCAD技術學習教程 AutoCAD軟件教程 AutoCAD資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 Autoform培訓