Stereolithography STL (.stl)

3D 標準

Standard Triangle Language(STL,也稱為 Stereolithography)是廣泛用於 3D 列印與快速原型的格式。它以三角形面描述表面幾何圖形;應用程式支援以及色彩或單位的處理方式則各不相同。

將 OBJ 轉換為 STL

免費的瀏覽器端 OBJ 轉 STL 轉換器。在您的裝置上即時轉換檔案。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 STL 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 STL 檔案:

十六進位簽章(偏移量 0):

73 6F 6C 69 64

ASCII 表示法: solid

標準化: 3D Systems Stereolithography Specification

技術規格

容器架構ASCII 格式(以「solid」開頭)或二進位格式(80 位元組標頭 + 32 位元三角形數量 + 50 位元組面記錄)
壓縮未壓縮的原始三角形面
位元組序適用於二進位 STL 的 Little-Endian (Intel x86)
色彩空間無(單色幾何圖形;存在專有的 VisCAM/Magics 色彩變通做法)
色版與結構三角形面:表面法向量 (I, J, K) 與三個頂點座標 (X, Y, Z)
最大尺寸無上限的 3D 實體座標(通常以公釐為單位)
透明度無(實體物件)
串流與漸進式循序面串流允許進行連續的逐層切片

技術比較矩陣:STL 對比競爭格式

技術屬性STL (目前)OBJ3MFSTEP
3D 列印切片軟體採用率廣受 3D 列印切片軟體使用;支援情形各異在許多應用程式中皆有廣泛支援現代後繼標準CAD 工程標準
色彩與紋理支援無(純表面幾何圖形)完整 UV 紋理對應全彩、材質與多重擠出機參數化實體顏色
面結構獨立三角形面相連的共用頂點網格共用頂點索引網格精確的參數化曲線(NURBS)
單位定義無單位(假設為 mm)無單位(假設為公尺/mm)明確單位(mm、cm、英吋)明確工程單位

常見損壞模式與十六進位修復指南

3D 切片軟體顯示「Model is not manifold / Contains non-manifold edges」。

根本原因: 三角形網格中有破洞、自我相交的三角形,或表面法向量反轉。

修復: 使用 File2File.app 3D 網格修復工具或 Netfabb 將網格修復為封閉狀態。

安全性分析與解析器攻擊向量

二進位 STL 解析器會評估 32 位元三角形數量,其中的整數溢位可能會導致小型堆積配置與越界寫入。

已知攻擊向量

  • 在進行 triangle_count * 50 位元組記憶體配置時發生整數溢位。
  • 當實體檔案大小小於宣告的三角形數量時,發生緩衝區過度讀取。
  • 透過多 GB 的三角形配置造成阻斷服務。

防禦最佳實務: 在讀取之前,請驗證宣告的三角形數量是否精確符合 (file_size - 84) / 50。

歷史起源與里程碑

2009隨著桌上型印表機切片軟體採用 STL,它成為常見的 3D 列印交換格式;該格式儲存的是三角形表面,而非色彩或材質指定。
19883D Systems 將精簡的 50 位元組二進位 STL 面格式標準化。
1987光固化成型(SLA)發明人 Chuck Hull 為全球第一台商用 3D 印表機建立了 STL。

主要優勢與優點

  • STL 廣受 3D 列印切片軟體與 CAM 工具支援,但支援的功能與工作流程各有不同。
  • 二進位格式簡單且精簡:剛好 84 位元組的標頭加上每個三角形面 50 位元組。
  • 直接呈現積層製造刀具路徑生成所需的封閉表面邊界。

技術限制與缺點

  • STL 標準沒有用於色彩、材質或紋理的可互通欄位;某些不相容的擴充功能會新增色彩資料。
  • 曲面必須使用數千個平坦的平面三角形來近似,這會導致多邊形數量偏高。
  • 未指定實體測量單位(切片軟體必須假設為公釐或英吋)。

有趣的技術冷知識

  • Chuck Hull 於 1986 年取得 3D 列印專利,並於 1987 年建立 STL 格式,以便將 3D 模型傳送至他的 SLA-1 印表機。
  • STL 檔案完全不含單位中繼資料:尺寸為「10」的立方體,依您的切片軟體設定,可能代表 10 公釐、10 公尺或 10 英吋。
  • 二進位 STL 檔案有一個 80 位元組的標頭,可包含任何文字,但不能以「solid」這個單字開頭,否則某些解碼器會將它誤認為 ASCII 檔案。

常見技術問題

什麼程式可以開啟 STL 檔案?

您可以在 3D 列印切片軟體(例如 Cura、PrusaSlicer 和 Bambu Studio)、CAD 程式(例如 Fusion 360 和 Blender)中開啟 STL 檔案,或者直接在 File2File.app 中線上即時檢視。

ASCII 與二進位 STL 有什麼區別?

二進位 STL 將每個三角形儲存為數值記錄,而 ASCII STL 則以文字形式寫入座標。二進位通常較小;ASCII 可以直接檢查,但這兩種變體都不包含標準的顏色或材質欄位。

如何將 STL 檔案轉換為 OBJ 或 GLB?

您可以使用 File2File.app 直接在您的瀏覽器中,將 STL 檔案轉換為具備紋理的 OBJ 模型或可供網頁使用的 GLB 檔案。