3D模型文件之STL格式

STL文件

STL文件是在計算機圖形應用系統(tǒng)中,用于表示三角形網(wǎng)格的一種文件格式,是最多快速原型系統(tǒng)所應用的標準文件類型。

STL文件有兩種:一種是ASCII明碼格式,另一種是二進制格式。

ASCII格式

ASCII碼格式的STL文件逐行給出三角面片的幾何信息,每一行以1個或2個關鍵字開頭。

在STL文件中的三角面片的信息單元 facet 是一個帶矢量方向的三角面片,STL三維模型就是由一系列這樣的三角面片構成。

整個STL文件的首行給出了文件路徑及文件名。

在一個 STL文件中,每一個facet由7 行數(shù)據(jù)組成,

facet normal 是三角面片指向實體外部的法矢量坐標,

outer loop 說明隨后的3行數(shù)據(jù)分別是三角面片的3個頂點坐標,3頂點沿指向實體外部的法矢量方向逆時針排列。

ASCII格式的STL 文件結構如下:

//字符段意義
solidfilenamestl//文件路徑及文件名
facetnormalxyz//三角面片法向量的3個分量值
outerloop
vertexxyz//三角面片第一個頂點坐標
vertexxyz//三角面片第二個頂點坐標
vertexxyz//三角面片第三個頂點坐標
endloop
endfacet//完成一個三角面片定義
 
......//其他facet
 
endsolidfilenamestl//整個STL文件定義結束

二進制格式

二進制STL文件用固定的字節(jié)數(shù)來給出三角面片的幾何信息。

文件起始的80個字節(jié)是文件頭,用于存貯文件名;

緊接著用 4 個字節(jié)的整數(shù)來描述模型的三角面片個數(shù),

后面逐個給出每個三角面片的幾何信息。每個三角面片占用固定的50個字節(jié),依次是:

3個4字節(jié)浮點數(shù)(角面片的法矢量)

3個4字節(jié)浮點數(shù)(1個頂點的坐標)

3個4字節(jié)浮點數(shù)(2個頂點的坐標)

3個4字節(jié)浮點數(shù)(3個頂點的坐標)個

三角面片的最后2個字節(jié)用來描述三角面片的屬性信息。

一個完整二進制STL文件的大小為三角形面片數(shù)乘以 50再加上84個字節(jié)。

二進制格式的STL 文件結構如下:

UINT8//Header//文件頭
UINT32//Numberoftriangles//三角面片數(shù)量
//foreachtriangle(每個三角面片中)
REAL32[3]//Normalvector//法線矢量
REAL32[3]//Vertex1//頂點1坐標
REAL32[3]//Vertex2//頂點2坐標
REAL32[3]//Vertex3//頂點3坐標
UINT16//Attributebytecountend//文件屬性統(tǒng)計

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容