发信人: hithere (行者), 信区: NTM
标  题: STL文件格式
发信站: 紫 丁 香 (Thu Jan 27 08:56:38 2000), 转信

在快速成型和分层制造领域,STL文件被广泛应用于实体的表述。其原理是
将复杂的表面用有限个三角面片来拟合。其实和缝足球差不多,只不过足球
多用五边形和六边形。由于STL文件和具体的CAD系统无关,也就是说几乎所
有CAD系统都提供将各自特定格式的实体表示转换成STL文件的功能,所以非
常好用。
STL文件具有两种格式ASCII格式和二进制格式,但二进制格式文件的长度
较前者小得多,一般为其1/6。现介绍如下:
ASCII格式:
solid <name>
  facet normal ni nj nk
    outer loop
      vertex v1x v1y v1z
      vertex v2x v2y v2z
      vertex v3x v3y v3z
    endloop
  endfacet
  ......
endsolid<name>

二进制格式:
结构为:84个字节(byte)组成的题头,其中前80个字节用于表示有关文
件、作者姓名和注释的信息,最后4个字节用于表示小三角形面面片的数目。
对于每一个小三角形面片,有48个字节用于表示其法向量的X,Y和Z的分量
以及三角形每个顶点的X,Y,Z的坐标,其中每个坐标用4个字节表示。最后
有2个不用的字节。
STL文件的二进制码输出形式是用IEEE整数和浮点数来表示的。结构如下:
<Binary STL file>::=<Binary STL file header>{Facet storage}...
<Binary STL file header>::=<80 bytes of solid name. Filled by
                            SPACE character><4-byte-integer of
                            facet number>
<Facet storage>::=<Normal Vector><Vetex1><Vetex2><Vetex3>
<Normal Vector>::=<4-byte-float of x><4-byte-float of y>
                  <4-byte-float of z>
<Vetex>::=<4-byte-float of x coordinate>
          <4-byte-float of y coordinate>
          <4-byte-float of z coordinate>
有了这些格式的描述,就可以用一段程序方便地将这些数据读出来并进行
处理了。


--
※ 修改:.hithere 于 Jan 28 09:26:37 修改本文.[FROM: hyhjjf.hit.edu.c]
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: hyhjjf.hit.edu.c]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:8.021毫秒