㈠ stl是什麼格式
.stl 文件是在計算機圖形應用系統中,用於表示三角形網格的一種文件格式。 它的文件格式非常簡單, 應用很廣泛。
1、STL格式簡介:
STL只能用來表示封閉的面或者體,stl文件有兩種:一種是ASCII明碼格式,另一種是二進制格式。
2、STL的文件格式
【ASCII格式】
ASCII碼格式的STL文件逐行給出三角面片的幾何信息,每一行以1個或2個關鍵字開頭。
在STL文件中的三角面片的信息單元 facet 是一個帶矢量方向的三角面片,STL三維模型就是由一系列這樣的三角面片構成。
整個STL文件的首行給出了文件路徑及文件名。
在一個 STL文件中,每一個facet由7 行數據組成,
facet normal 是三角面片指向實體外部的法矢量坐標,
outer loop 說明隨後的3行數據分別是三角面片的3個頂點坐標,3頂點沿指向實體外部的法矢量方向逆時針排列。
明碼: // 字元段意義
solid filename stl //文件路徑及文件名
facet normal x y z //三角面片法向量的3個分量值
outer loop
vertex x y z //三角面片第一個頂點坐標
vertex x y z //三角面片第二個頂點坐標
vertex x y z //三角面片第三個頂點坐標
endloop
end facet //完成一個三角面片定義
...... // 其他 facet
end solid filename stl //整個STL文件定義結束
【二進制格式】
二進制STL文件用固定的位元組數來給出三角面片的幾何信息。
文件起始的80個位元組是文件頭,用於存貯零件名;
緊接著用 4 個位元組的整數來描述模型的三角面片個數,
後面逐個給出每個三角面片的幾何信息。每個三角面片佔用固定的50個位元組,依次是:
3個4位元組浮點數(角面片的法矢量)
3個4位元組浮點數(1個頂點的坐標)
3個4位元組浮點數(2個頂點的坐標)
3個4位元組浮點數(3個頂點的坐標)個
三角面片的最後2個位元組用來描述三角面片的屬性信息。
一個完整二進制STL文件的大小為三角形面片數乘以 50再加上84個位元組,總共134個位元組。
二進制:
UINT8 // Header // 文件頭
UINT32 // Number of triangles // 三角面片數量
//foreach triangle(每個三角面片中)
REAL32[3] // Normal vector // 法線矢量
REAL32[3] // Vertex 1 // 頂點 1 坐標
REAL32[3] // Vertex 2 // 頂點 2 坐標
REAL32[3] // Vertex 3 // 頂點 3 坐標
UINT16 // Attribute byte countend // 文件屬性統計