常见三维文件格式之STL
2011-07-27 11:39
218 查看
最近有用到stl格式的三维文件,学习收藏一下。
转自:http://www.cnblogs.com/ourshell/archive/2010/05/03/1726821.html
STL只能用来表示封闭的面或者体,stl文件有两种:一种是明码格式,另一种是二进制格式。 它的文件格式非常简单
明码:
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
二进制:
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
文件格式简单,只能描述三维物体的几何信息,不支持颜色材质等信息,是三维打印机(不知道是不是什么东西加上一个三维就听起来就能比较眩,比较有技术含量,三维打印机这名称总觉得不如快速成型机来的实在)支持的最常见文件格式。
转自:(严梽铭)基于VC++和OpenGL 的STL文件读取显示
STL的二进制格式
二进制STL文件用固定的字节数来给出三角面片的几何信息。文件起始的80个字节是文件头,用于存贮零件名;紧接着用 4 个字节的整数来描述模型的三角面片个数,后面逐个给出每个三角面片的几何信息。每个三角面片占用固定的50个字节,依次是3个4字节浮点数(角面片的法矢量)3个4字节浮点数(1个顶点的坐标)3个4字节浮点数(2个顶点的坐标)3个4字节浮点数(3个顶点的坐标)个三角面片的最后2个字节用来描述三角面片的属性信息。一个完整二进制STL文件的大小为三角形面片数乘以 50再加上84个字节,总共134个字节。
STL的ASCII文件格式
ASCII码格式的STL文件逐行给出三角面片的几何信息,每一行以1个或2个关键字开头。在STL文件中的三角面片的信息单元facet是一个带矢量方向的三角面片,STL三维模型就是由一系列这样的三角面片构成。整个STL文件的首行给出了文件路径及文件名。在一个 STL文件中,每一个facet由7 行数据组成,facet normal 是三角面片指向实体外部的法矢量坐标,outer loop说明随后的3行数据分别是三角面片的3个顶点坐标,3顶点沿指向实体外部的法矢量方向逆时针排列。
ASCII格式的STL 文件结构如下:
solid filename stl //文件路径及文件名
facet normal x y z //三角面片法向量的3个分量值
outer loop
vertex x y z //三角面片第一个顶点坐标
vertex x y z //三角面片第二个顶点坐标
vertex x y z //三角面片第三个顶点坐标
endloop
endfacet //完成一个三角面片定义
---
endsolid filename stl //整个STL文件定义结束
转自:http://www.cnblogs.com/ourshell/archive/2010/05/03/1726821.html
STL只能用来表示封闭的面或者体,stl文件有两种:一种是明码格式,另一种是二进制格式。 它的文件格式非常简单
明码:
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
二进制:
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
文件格式简单,只能描述三维物体的几何信息,不支持颜色材质等信息,是三维打印机(不知道是不是什么东西加上一个三维就听起来就能比较眩,比较有技术含量,三维打印机这名称总觉得不如快速成型机来的实在)支持的最常见文件格式。
转自:(严梽铭)基于VC++和OpenGL 的STL文件读取显示
STL的二进制格式
二进制STL文件用固定的字节数来给出三角面片的几何信息。文件起始的80个字节是文件头,用于存贮零件名;紧接着用 4 个字节的整数来描述模型的三角面片个数,后面逐个给出每个三角面片的几何信息。每个三角面片占用固定的50个字节,依次是3个4字节浮点数(角面片的法矢量)3个4字节浮点数(1个顶点的坐标)3个4字节浮点数(2个顶点的坐标)3个4字节浮点数(3个顶点的坐标)个三角面片的最后2个字节用来描述三角面片的属性信息。一个完整二进制STL文件的大小为三角形面片数乘以 50再加上84个字节,总共134个字节。
STL的ASCII文件格式
ASCII码格式的STL文件逐行给出三角面片的几何信息,每一行以1个或2个关键字开头。在STL文件中的三角面片的信息单元facet是一个带矢量方向的三角面片,STL三维模型就是由一系列这样的三角面片构成。整个STL文件的首行给出了文件路径及文件名。在一个 STL文件中,每一个facet由7 行数据组成,facet normal 是三角面片指向实体外部的法矢量坐标,outer loop说明随后的3行数据分别是三角面片的3个顶点坐标,3顶点沿指向实体外部的法矢量方向逆时针排列。
ASCII格式的STL 文件结构如下:
solid filename stl //文件路径及文件名
facet normal x y z //三角面片法向量的3个分量值
outer loop
vertex x y z //三角面片第一个顶点坐标
vertex x y z //三角面片第二个顶点坐标
vertex x y z //三角面片第三个顶点坐标
endloop
endfacet //完成一个三角面片定义
---
endsolid filename stl //整个STL文件定义结束
相关文章推荐
- 常见三维文件格式之STL, VRML, X3D
- 常见三维文件格式之STL
- 常见三维文件格式之IGES
- .stl文件(CAD三维模型)格式 及 基于C/C++的数据读取
- 常见视频文件格式
- 模型文件格式:off stl obj
- 将一般三维文件转为.x文件(以solidworks导出的STL为例)
- 常见音乐文件格式介绍
- ARM ELF 文件格式常见段名称及自定义段
- 常见文件格式总结
- Linux下常见文件格式的压缩、解压小结
- SQL 语句读取几种常见文件格式中的数据
- Delphi中常见的文件格式
- 常见文件格式的文件头
- 常见的图片文件格式
- [置顶] 使用ArcGIS Portal10.5直接发布三维3D服务及文件支持哪些格式?
- stl文件格式
- 三维图形数据格式 STL的 读取
- 常见的图片文件格式及各自的特点
- rootfs常见文件格式解释