基本3D格式
BIM文件格式
CAD文件格式
GIS文件格式

stl文件

文件结构

STL(Stereolithography或Standard Tessellation Language)文件是一种二进制或文本格式的3D模型文件,由三角形组成。STL文件被广泛应用于各种3D打印机、CAD软件、计算机辅助设计等3D领域。

STL文件格式没有独立的单位系统,因此在读取和导入STL文件时需要指定使用的单位。STL文件由三个部分组成:固定格式的文件头、一个32位无符号整数表示三角形数量和每个三角形的顶点描述。具体结构如下:

Binary STL:

        +--------------------------+
        |     80-byte header       |
        +--------------------------+
        |     4-byte vertex count  |
        +--------------------------+
        |      vertex data         |
        +------------+-------------+
        | 12-byte    |  12-byte    |
        |  float     |   float     |
        |  normal    |   coords    |
        | (4-byte)   |  (4-byte)   |
        +------------+-------------+

ASCII STL:

        solid NAME
        facet normal X Y Z
        outer loop
        vertex X Y Z
        vertex X Y Z
        vertex X Y Z
        endloop
        endfacet
        endsolid NAME

规范链接

STL文件格式没有一个正式的规范,但是有一些常用的约定。例如,固定格式的80字节文件头通常被忽略,而三角形数字会被读取并用于数组大小计算。STL文件中的顶点是根据三角形描述生成的,这意味着有可能有重复的坐标值。在这种情况下,这些坐标值应被视为唯一的点。

以下是一个简单的ASCII格式的STL文件示例:

solid testModel
  facet normal 0.0 0.0 1.0
    outer loop
      vertex  0.0  0.0  0.0
      vertex  0.0 10.0  0.0
      vertex 10.0  0.0  0.0
    endloop
  endfacet
  facet normal 0.0 0.0 1.0
    outer loop
      vertex 10.0  0.0  0.0
      vertex  0.0 10.0  0.0
      vertex 10.0 10.0  0.0
    endloop
  endfacet
  facet normal 0.0 0.0 1.0
    outer loop
      vertex 10.0 10.0  0.0
      vertex  0.0 10.0  0.0
      vertex 10.0  0.0  0.0
    endloop
  endfacet
endsolid testModel

该模型包含三个三角形,每个三角形包含三个顶点。传统二进制格式的STL文件内容看起来非常相似,但是使用二进制编码表示三角形和坐标值。

因为STL文件是一种简单、通用的格式,几乎所有的CAD软件都支持它。此外,STL文件已成为3D打印机厂商之间互相交流设计数据的标准格式。