2016-12-25 101 views
2

在ASCII STL文件中包含多个实体已被很好地描述。如何创建包含多个实体的二进制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| … 

… 
+0

无论如何,STL中固体的含义是什么?它不是三角形吗?而你如何安排他们取决于你。所以把它们排列成固体。 –

+0

如果您的二进制STL文件被其他应用程序读取,则可能不是这种情况。我的目的是生成一个STL文件,其中包含多个实体对象作为模型的不同边界,并将其导入到ANSYS Fluent/ICEM CFD软件中。 – Mimi

+0

在这里,“坚实”只是一个部分。 – Mimi

回答

0

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

相关问题