STL（STereoLithography，譯作：立體光刻）是由創立，原本用於立體光刻電腦輔助設計軟體的檔案格式。它有一些逆向首字母縮略詞如「標準三角語言」（Standard Triangle Language）、「標準曲面細分語言」（Standard Tessellation Language）、「立體光刻語言」（STereolithography Language）和「立體光刻曲面細分語言」 這格式有許多名字，如：Standard Triangle Language、STereolithography Language 和 Stereolithography Tesselation Language。第 55 頁陳述：「立體光刻和 3D Systems 軟體公司的創立人說：『這副檔名是因為 STereoLithography。』」。許多套裝軟體支援這種格式，它被廣泛用於快速成型、3D 列印和電腦輔助製造第 6 章，快速原型格式 Rapid Prototyping Formats。第 237 頁 62 節 STL 檔問題、64 節 STL 檔修復：「STL STeroLithography 檔，如事實上的標準，已被廣泛（即使不是全部）使用在快速原型系統。The STL STeroLithography file as the de facto standard has been used in many if not all rapid prototyping systems」。STL 檔案僅描述三維物體的表面幾何形狀，沒有顏色、材質貼圖或其它常見三維模型的屬性。STL 格式有文字和二進碼兩種型式。二進碼型式因較簡潔而較常見。 STL 檔描述原始非結構化由表面單位法線和由右手定則排序的頂點用三維三角形笛卡兒座標系。STL 座標必須是正數，沒有尺度資訊，且計量單位為任意的。Fabberscom The StL Format Standard Data Format for Fabbers reprinted from Marshall Burns Automated Fabrication httpwwwennexcomfabbersStLasp 描述：「所代表的物件必須位於全正的卦限。換言之，所有的頂點坐標必須是正數（非負且非零）。STL 檔不含任何尺度資訊；計量單位為任意的。The object represented must be located in the allpositive octant In other words all vertex coordinates must be positivedefinite nonnegative and nonzero numbers The StL file does not contain any scale information the coordinates are in arbitrary units 文字 ASCII STL 文字 STL 檔以下列來開始 solid name name 是個可有可無的字串。不過，即使省略了 name，solid 後的空白必須存在。這列之後跟著任意數量的以下列方式表示的三角形： facet normal ni nj nk outer loop vertex v1x v1y v1z vertex v2x v2y v2z vertex v3x v3y v3z endloop endfacet 當中，每個 n 或 v 都是正負 e 正負 冪數型式的浮點數，如 2648000e002（注意：每個 v 都必須不是負數）。檔案以 endsolid name 來結束。格式結構暗示其他可能的存在（如，不只一個 loop 定義同一個小面 ，或一個 loop 具有三個以上頂點）。然而在實踐中，所有小面都是簡單三角形。 除了數字或單詞內以外，檔案中任何地方都可使用空白字元 空格、tab、換列。facet 和 normal 以及 outer 和 loop 之間的空白是必要的。 二進碼 STL 由於文字 STL 檔會非常大，因此有二進碼版的 STL。二進碼 STL 檔有個 80 字元的檔頭（內容通常都被忽略但絕不可用 solid 來開始！這樣會使不少軟體認為這是文字 STL 檔）。接著是一個 4 位元組，它表示這檔案中的三角形數。再來是描述每個三角形的資訊。之後就結束。 每個三角形以 12 個 32 位元浮點數來描述：3 個描述法線，接著三頂點的 XYZ 座標正如文字 STL 一樣。之後是一個 2 位元組無號整數 unsigned short，它代表「屬性字元數」在標準格式中它該是 0，因為多數軟體不明白其它事項。 雖然檔案內沒有說明，浮點數以 littleendian 的 IEEE 754 表示。 UINT8 80 Header UINT32 Number of triangles foreach triangle REAL32 3 Normal vector REAL32 3 Vertex 1 REAL32 3 Vertex 2 REAL32 3 Vertex 3 UINT16 Attribute byte count end 二進碼 STL 的顏色 二進碼 STL 至少有兩種非標準方式來加上顏色資訊： VisCAM 和 SolidView 軟體用每個三角形後的 2 個「屬性字元數」存放 15 位元 RGB 色碼： 位元 0 到 4 是藍的強度 031。 位元 5 到 9 是綠的強度 031。 位元 10 到 14 是紅的強度 031。 位元 15 是 1 表顏色有效；0 表無效（同正常的 STL 檔）。 Materialise Magics 軟體用開頭的 80 位元檔頭表示模型整體顏色。若有使用顏色，檔頭某處會是文字字串 COLOR 接著 4 位元組的 RGBA 透明度，值域為 0255。這是整個模型的顏色，每個小面可以另外指定。這軟體還可以指定更詳細的表面特性，即。在 COLORRGBA 後可加上 ASCII 字串 MATERIAL，接著 3 顏色 34 位元： 先是漫反射的顏色，第二個是顏色，第三是環境光。物質設定優於顏色。每個小面的顏色是用三角形後的 2 個「屬性字元數」以下列方式來存放： 位元 0 到 4 是紅的強度 031。 位元 5 到 9 是綠的強度 031。 位元 10 到 14 是藍的強度 031。 位元 15 是 0 表用小面顏色；1 表用模型顏色。 上述兩種小面顏色資訊中，2 位元裡的紅 綠 藍順序相反，因此，雖然這些格式容易相容，反序表示並非如此！更糟的是：通用的 STL 讀取器不能自動分別它們！也無法指定小面有透明度！因為沒有 α 值！雖然對目前的快速原型機而言，這不重要。 小面法線 文字 ASCII 和二進碼版的 STL，小面法線必項是指向模型外部的單位向量。若設為 000，多數軟體會自動以三角形三頂點的順序根據右手定則計演算法線。一些 STL 讀取器（如：Art of Illusion 的 STL 外掛 會檢查小面的法線與它們用右手定則算出來的相符。若不同，會警告使用者。有的軟體會完算用自己根據右手定則算的。雖然可以不使用右手定則來計演算法線的情況罕見，為了完全相容，檔案都應提供小面法線及正確指定頂點順序。一個出名的例外是 SolidWorks，它用法線當濃淡處理。 歷史 立體光刻機是能用一系列切片來構建任何體積形狀的 3D 列印機。這些機器需要一系列用凝固材料填充在封閉的 2D 輪廓中，最後再與各層熔合在一起。對這樣的機器而言，自然的檔案格式是一系列對應不同 Z 值的封閉的多邊形。然而，因為改變層的厚度可能會得到更快（雖然不太精確）的構建，若能以可在必要水平切片的封閉多面體來定義模型，會更好。 STL 檔案格式看似能用多邊形來定義多面體，但在實用上它只被用過三角形。這表示 ASCII 協定的語法是多餘的。 要能正確組成 3D 體，STL 檔表示的表面必須是封閉同相連的，且每個邊都正好是二個三角形的一部份，且沒有交叉。 由於 STL 語法對此屬性不嚴緊，應用程式能忽視其封閉性。 作為切片的該軟體的封閉性僅事項只要三角形需要它以確保所得到的二維的多邊形是封閉的。對切片三角形後須確保所得到的 2D 多邊形是封關閉的軟體而言，封閉性才會重要。這類軟體有時會移動接近的頂點到同一位置，來清理小的差異。結果是不可預測的，但它往往足夠。 其它使用領域 STL 檔案格式簡單且容易輸出。因此，許多電腦輔助設計 CAD 系統能輸出 STL 檔案格式。雖然輸出簡單產生，一些聯結性資訊卻被丟棄！例如：A 和 B 在 CAD 系統是相異、但座標恰好相同的兩點。STL 只輸出點的座標，因此點 A 和 B 在 STL 就有同的表示。還存在其他的問題。 許多電腦輔助製造 CAM 系統必須是三角形化的模型。STL 檔案格式不是記憶體和計算上最有效轉換資料的方法，但 STL 常被 CAM 系統用於輸入三角化的幾何。這格式隨手可得，所以 CAM 系統用它。為了使用資料，CAM 系統可能要重建連線性。重建會導致誤差。 STL 也能在 CAD、CAM 和計算環境（如：Mathematica）間交換資料。 支援 STL 的軟體 Claraio 線上免費 STL 檔案輸入、編輯、輸出的 3D 編輯器。 CloudCompare 處理 STL 檔的開源應用軟體。 Maple software 和 Mathematica 支援 STL 檔的技術計算系統。 MeshLab 視覺化、處理、且轉換 3D 網模進 出 STL 的免費、開源且跨平臺的應用軟體。 FreeCAD 能輸入、輸出 STL 檔的 CAD 開源軟體。 OpenSCADE 構造實體幾何建模且支援專門領域用語言，能產生及輸入 STL 檔。 MountainsMap 能以 STL 輸出及細微 3D 表面的微測繪學軟體。 參見 AMF 一個自然支援顏色、多種物質和星座的較新標準。 PLY 一個比多數立體光刻規格提供更彈性的格式。 Wavefront obj 檔案，一個副檔名為obj 的 3D 幾何定義檔案格式。 X3D 免專利費的三維電腦圖形 ISO 標準。 參考資料 外部連結 The StL Format Fabbers 的標準資料格式。 File Extension STL 支援 STL 的軟體列表。 分類：檔案格式 分類：3D 列印 分類：CAD 檔案格式 分類：三維計算機圖形學 分類：圖形檔案格式