fbpx
维基百科

STL (檔案格式)

STL(STereoLithography,譯作:立體光刻)是由3D Systems軟體公司英语3D Systems創立,原本用於立體光刻電腦輔助設計軟體檔案格式[1][2][3]。它有一些逆向首字母缩略词如「標準三角語言」(Standard Triangle Language)、「標準曲面細分語言」(Standard Tessellation Language)、「立體光刻語言」(STereolithography Language)和「立體光刻曲面細分語言」[4]。許多套裝軟體支援這種格式,它被廣泛用於快速成型3D列印電腦輔助製造[5]。STL檔案僅描述三維物體的表面幾何形狀,沒有顏色材質貼圖或其它常見三維模型的屬性。STL格式有文字二進碼兩種型式。二進碼型式因較簡潔而較常見。[6]

STL
STL vs CAD 格式的例子。STL提供的是小面湊出來的近似面(黑實線),CAD要的是曲面(紅虛線)。CAD常用NURBS來達到近似的曲面。
扩展名
.stl
互联网媒体类型model/stl
开发者3D Systems軟體公司英语3D Systems
格式类型立體光刻

STL檔描述原始非結構化三角網格由表面單位法線和由右手定則排序的頂點用三維三角形笛卡兒座標系。STL座標必須是正數,沒有尺度資訊,且計量單位為任意的。[7]

文字(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 

當中,每個nv都是正負-假數英语Significand-"e"-正負-冪數型式的浮點數,如"2.648000e-002"(注意:每個v都必須不是負數)。檔案以

endsolid name 

來結束。格式結構暗示其他可能的存在(如,不只一個loop定義同一個小面(facet英语Face (geometry)),或一個loop具有三個以上頂點)。然而在實踐中,所有小面都是簡單三角形。

除了數字或單詞內以外,檔案中任何地方都可使用空白字元(空格、tab、換列)。"facet"和"normal"以及"outer"和"loop"之間的空白是必要的。[6]

二進碼 STL 编辑

由於文字STL檔會非常大,因此有二進碼版的STL。二進碼STL檔有個80字元檔頭(內容通常都被忽略但絕不可用"solid"來開始!這樣會使不少軟體認為這是文字STL檔)。接著是一個4字节無號整數英语Signedness,它表示這檔案中的三角形數。再來是描述每個三角形的資訊。之後就結束。

每個三角形以12個32位元浮點數來描述:3個描述法線,接著三頂點的X/Y/Z座標─正如文字STL一樣。之後是一個2字节無號整數(unsigned short),它代表「屬性字元數」─在標準格式中它該是0,因為多數軟體不明白其它事項。[6]

雖然文件內沒有說明,浮點數以little-endianIEEE 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是藍的強度(0~31)。
    • 位元 5到 9是綠的強度(0~31)。
    • 位元10到14是紅的強度(0~31)。
    • 位元15是1表顏色有效;0表無效(同正常的STL檔)。
  • Materialise Magics軟體用開頭的80位元檔頭表示模型整體顏色。若有使用顏色,檔頭某處會是文字字串"COLOR="接著4字节RGBA(透明度),值域為0–255。這是整個模型的顏色,每個小面可以另外指定。這軟體還可以指定更詳細的表面特性,即物質(電腦圖形)英语Material (computer graphics)。在"COLOR=RGBA"後可加上ASCII字串",MATERIAL=",接著3顏色(3×4位元):

先是漫反射的顏色,第二個是反射高光英语Specular highlight顏色,第三是環境光。物質設置優於顏色。每個小面的顏色是用三角形後的2個「屬性字元數」以下列方式來存放:

    • 位元 0到 4是紅的強度(0~31)。
    • 位元 5到 9是綠的強度(0~31)。
    • 位元10到14是藍的強度(0~31)。
    • 位元15是0表用小面顏色;1表用模型顏色。

上述兩種小面顏色資訊中,2位元裡的紅/綠/藍順序相反,因此,雖然這些格式容易相容,反序表示並非如此!更糟的是:通用的STL讀取器不能自動分別它們!也無法指定小面有透明度!因為沒有α值!雖然對目前的快速原型機而言,這不重要。

小面法線 编辑

文字(ASCII)和二進碼版的STL,小面法線必項是指向模型外部的單位向量。若設為(0,0,0),多數軟體會自動以三角形三頂點的順序根據右手定則計算法線。一些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的軟體 编辑

參見 编辑

  • Additive Manufacturing檔案格式英语Additive Manufacturing File Format (AMF), 一個自然支援顏色、多種物質和星座的較新標準。
  • PLY, 一個比多數立體光刻規格提供更彈性的格式。
  • Wavefront .obj文件, 一個副檔名為.obj的3D幾何定義檔案格式。
  • X3D, 免專利費的三維電腦圖形ISO標準。

參考資料 编辑

  1. ^ StereoLithography Interface Specification, 3D Systems, Inc., July 1988 
  2. ^ StereoLithography Interface Specification, 3D Systems, Inc., October 1989 
  3. ^ SLC File Specification, 3D Systems, Inc., 1994 
  4. ^ Grimm, Todd, User's Guide to Rapid Prototyping, Society of Manufacturing Engineers英语SME (society): 55, 2004 [2016-07-13], ISBN 0-87263-697-6, (原始内容于2016-04-08) . 這格式有許多名字,如:"Standard Triangle Language"、"STereolithography Language"和"Stereolithography Tesselation Language"。第55頁陳述:「立體光刻和3D Systems軟體公司的創立人Chuck Hull英语Chuck Hull說:『這副檔名是因為STereoLithography。』」
  5. ^ Chua, C. K; Leong, K. F.; Lim, C. S., Rapid Prototyping: Principles and Applications 2nd, World Scientific Publishing Co, 2003, ISBN 981-238-117-1 第6章,快速原型格式(Rapid Prototyping Formats)。第237頁6.2節STL檔問題、6.4節STL檔修復:「STL (STeroLithography)檔,如事實上的標準,已被廣泛(即使不是全部)使用在快速原型系統。("The STL (STeroLithography) file, as the de facto standard, has been used in many, if not all, rapid prototyping systems.")」
  6. ^ 6.0 6.1 6.2 Burns, Marshall. Automated Fabrication. Prentice Hall. 1993. ISBN 978-0-13-119462-5. 
  7. ^ Fabbers.com, The StL Format: Standard Data Format for Fabbers, reprinted from Marshall Burns, Automated Fabrication, http://www.ennex.com/~fabbers/StL.asp (页面存档备份,存于互联网档案馆) 描述:「所代表的對象必須位於全正的卦限。換言之,所有的頂點坐標必須是正數(非負且非零)。STL檔不含任何尺度信息;計量單位為任意的。(The object represented must be located in the all-positive octant. In other words, all vertex coordinates must be positive-definite (nonnegative and nonzero) numbers. The StL file does not contain any scale information; the coordinates are in arbitrary units.)

外部連結 编辑

  • The StL Format(页面存档备份,存于互联网档案馆): Fabbers的標準資料格式。
  • File Extension STL(页面存档备份,存于互联网档案馆): 支援STL的軟體列表。

檔案格式, 此條目需要編修, 以確保文法, 用詞, 语气, 格式, 標點等使用恰当, 2016年9月4日, 請按照校對指引, 幫助编辑這個條目, 幫助, 討論, stereolithography, 譯作, 立體光刻, 是由3d, systems軟體公司, 英语, systems, 創立, 原本用於立體光刻電腦輔助設計軟體的檔案格式, 它有一些逆向首字母缩略词如, 標準三角語言, standard, triangle, language, 標準曲面細分語言, standard, tessellation, lang. 此條目需要編修 以確保文法 用詞 语气 格式 標點等使用恰当 2016年9月4日 請按照校對指引 幫助编辑這個條目 幫助 討論 STL STereoLithography 譯作 立體光刻 是由3D Systems軟體公司 英语 3D Systems 創立 原本用於立體光刻電腦輔助設計軟體的檔案格式 1 2 3 它有一些逆向首字母缩略词如 標準三角語言 Standard Triangle Language 標準曲面細分語言 Standard Tessellation Language 立體光刻語言 STereolithography Language 和 立體光刻曲面細分語言 4 許多套裝軟體支援這種格式 它被廣泛用於快速成型 3D列印和電腦輔助製造 5 STL檔案僅描述三維物體的表面幾何形狀 沒有顏色 材質貼圖或其它常見三維模型的屬性 STL格式有文字和二進碼兩種型式 二進碼型式因較簡潔而較常見 6 STLSTL vs CAD 格式的例子 STL提供的是小面湊出來的近似面 黑實線 CAD要的是曲面 紅虛線 CAD常用NURBS來達到近似的曲面 扩展名 stl互联网 媒体类型model stl开发者3D Systems軟體公司 英语 3D Systems 格式类型立體光刻 STL檔描述原始非結構化三角網格 由表面單位法線和由右手定則排序的頂點用三維三角形笛卡兒座標系 STL座標必須是正數 沒有尺度資訊 且計量單位為任意的 7 目录 1 文字 ASCII STL 2 二進碼 STL 3 二進碼STL的顏色 4 小面法線 5 歷史 6 其它使用領域 7 支援STL的軟體 8 參見 9 參考資料 10 外部連結文字 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都是正負 假數 英语 Significand e 正負 冪數型式的浮點數 如 2 648000e 002 注意 每個v都必須不是負數 檔案以 endsolid name 來結束 格式結構暗示其他可能的存在 如 不只一個loop定義同一個小面 facet 英语 Face geometry 或一個loop具有三個以上頂點 然而在實踐中 所有小面都是簡單三角形 除了數字或單詞內以外 檔案中任何地方都可使用空白字元 空格 tab 換列 facet 和 normal 以及 outer 和 loop 之間的空白是必要的 6 二進碼 STL 编辑由於文字STL檔會非常大 因此有二進碼版的STL 二進碼STL檔有個80字元的檔頭 內容通常都被忽略但絕不可用 solid 來開始 這樣會使不少軟體認為這是文字STL檔 接著是一個4字节無號整數 英语 Signedness 它表示這檔案中的三角形數 再來是描述每個三角形的資訊 之後就結束 每個三角形以12個32位元浮點數來描述 3個描述法線 接著三頂點的X Y Z座標 正如文字STL一樣 之後是一個2字节無號整數 unsigned short 它代表 屬性字元數 在標準格式中它該是0 因為多數軟體不明白其它事項 6 雖然文件內沒有說明 浮點數以little endian的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是藍的強度 0 31 位元 5到 9是綠的強度 0 31 位元10到14是紅的強度 0 31 位元15是1表顏色有效 0表無效 同正常的STL檔 Materialise Magics軟體用開頭的80位元檔頭表示模型整體顏色 若有使用顏色 檔頭某處會是文字字串 COLOR 接著4字节的RGBA 透明度 值域為0 255 這是整個模型的顏色 每個小面可以另外指定 這軟體還可以指定更詳細的表面特性 即物質 電腦圖形 英语 Material computer graphics 在 COLOR RGBA 後可加上ASCII字串 MATERIAL 接著3顏色 3 4位元 先是漫反射的顏色 第二個是反射高光 英语 Specular highlight 顏色 第三是環境光 物質設置優於顏色 每個小面的顏色是用三角形後的2個 屬性字元數 以下列方式來存放 位元 0到 4是紅的強度 0 31 位元 5到 9是綠的強度 0 31 位元10到14是藍的強度 0 31 位元15是0表用小面顏色 1表用模型顏色 上述兩種小面顏色資訊中 2位元裡的紅 綠 藍順序相反 因此 雖然這些格式容易相容 反序表示並非如此 更糟的是 通用的STL讀取器不能自動分別它們 也無法指定小面有透明度 因為沒有a值 雖然對目前的快速原型機而言 這不重要 小面法線 编辑文字 ASCII 和二進碼版的STL 小面法線必項是指向模型外部的單位向量 若設為 0 0 0 多數軟體會自動以三角形三頂點的順序根據右手定則計算法線 一些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的軟體 编辑Clara io 線上免費STL檔案輸入 編輯 輸出的3D編輯器 CloudCompare 處理STL檔的開源應用軟體 Maple software 和Mathematica 支援STL檔的技術計算系統 MeshLab 視覺化 處理 且轉換3D網模進 出STL的免費 開源且跨平台的應用軟體 FreeCAD 能輸入 輸出STL檔的CAD開源軟體 OpenSCADE 構造實體幾何建模且支援專門領域用語言 能產生及輸入STL檔 MountainsMap 能以STL輸出輪廓 英语 profilometer 及細微3D表面的微測繪學軟體 參見 编辑Additive Manufacturing檔案格式 英语 Additive Manufacturing File Format AMF 一個自然支援顏色 多種物質和星座的較新標準 PLY 一個比多數立體光刻規格提供更彈性的格式 Wavefront obj文件 一個副檔名為 obj的3D幾何定義檔案格式 X3D 免專利費的三維電腦圖形ISO標準 參考資料 编辑 StereoLithography Interface Specification 3D Systems Inc July 1988 StereoLithography Interface Specification 3D Systems Inc October 1989 SLC File Specification 3D Systems Inc 1994 Grimm Todd User s Guide to Rapid Prototyping Society of Manufacturing Engineers 英语 SME society 55 2004 2016 07 13 ISBN 0 87263 697 6 原始内容存档于2016 04 08 這格式有許多名字 如 Standard Triangle Language STereolithography Language 和 Stereolithography Tesselation Language 第55頁陳述 立體光刻和3D Systems軟體公司的創立人Chuck Hull 英语 Chuck Hull 說 這副檔名是因為STereoLithography Chua C K Leong K F Lim C S Rapid Prototyping Principles and Applications 2nd World Scientific Publishing Co 2003 ISBN 981 238 117 1 第6章 快速原型格式 Rapid Prototyping Formats 第237頁6 2節STL檔問題 6 4節STL檔修復 STL STeroLithography 檔 如事實上的標準 已被廣泛 即使不是全部 使用在快速原型系統 The STL STeroLithography file as the de facto standard has been used in many if not all rapid prototyping systems 6 0 6 1 6 2 Burns Marshall Automated Fabrication Prentice Hall 1993 ISBN 978 0 13 119462 5 Fabbers com The StL Format Standard Data Format for Fabbers reprinted from Marshall Burns Automated Fabrication http www ennex com fabbers StL asp 页面存档备份 存于互联网档案馆 描述 所代表的對象必須位於全正的卦限 換言之 所有的頂點坐標必須是正數 非負且非零 STL檔不含任何尺度信息 計量單位為任意的 The object represented must be located in the all positive octant In other words all vertex coordinates must be positive definite nonnegative and nonzero numbers The StL file does not contain any scale information the coordinates are in arbitrary units 外部連結 编辑The StL Format 页面存档备份 存于互联网档案馆 Fabbers的標準資料格式 File Extension STL 页面存档备份 存于互联网档案馆 支援STL的軟體列表 取自 https zh wikipedia org w index php title STL 檔案格式 amp oldid 82191988, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。