如何创建包含多个实体的二进制 STL 文件?

How to create a binary STL file containing more than one solid?

在 ASCII STL 文件中包含多个实体已得到详细描述。

solid name1
    facet normal N.x N.y N.z
        outer loop
            vertex V1.x V1.y V1.z
            vertex V2.x V2.y V2.z
            vertex V3.x V3.y V3.z
        endloop
    endfacet
    facet …
        …
    endfacet
    …
endsolid name1
solid name2
    …
endsolid name2
…

但是,为二进制 STL 文件描述的格式并没有说明包含多个实体对象。

       80 Bytes  string   Header
        4 Bytes  uint32   Facets count

      | 4 Bytes  float    N.x
      | 4 Bytes  float    N.y
      | 4 Bytes  float    N.z
      | 4 Bytes  float    V1.x
      | 4 Bytes  float    V1.y
      | 4 Bytes  float    V1.z
facet1| 4 Bytes  float    V2.x
      | 4 Bytes  float    V2.y
      | 4 Bytes  float    V2.z
      | 4 Bytes  float    V3.x
      | 4 Bytes  float    V3.y
      | 4 Bytes  float    V3.z
      | 2 Bytes  uint16   Attrib

facet2| …

facet3| …

…

在二进制格式中,每个方面都有一个属性 (attrib)。 attrib 相同的小平面将被视为同一实体的一部分。