本文内容,为博主在网上看到资料总结整合而来

一、stl格式简介

.stl文件是在计算机图形应用系统,来表示封闭的面或者体,用来表示三角形网格的一种文件格式。为STereo Lithography的缩写,由3D Systems公司于1987年开发而来,利用三角片离散近似表示三维模型,近年来已经成为快速原型技术领域广泛应用的文件格式和接口标准。

一个stl文件坐标必须是正数,没有比例信息,单位是任意的。

二、stl文件格式

stl文件分为ASCII明码格式和二进制格式。

ASCII格式的stl结构如下:

 solid filename.stl//文件路径及文件名字
facet normal x y x//三角片的外法向量
vertex x y z//第一个顶点
vertex x y z//第二个顶点
vertex x y z//第三个顶点
end loop
endfacet
.
.
.
endsolid

上图为我运行生成的stl文件的一个片段例子

一个三角片包含三角片的外法向量和按右手螺旋规则排列的三个顶点。

因为ASCII格式可能非常大,所以便存在了二进制的格式

二进制格式的stl结构如下:

 UINT8//文件头
UINT32//三角片数量
foreach triangle
REAL32[]//法线矢量
REAL32[]//顶点一
REAL32[]//顶点二
REAL32[]//顶点三
UINT16//文件属性统计
end

三、.stl文件导出及显示工具

这里我利用vtk来写.stl文件,再利用MeshLab来打开文件进行显示

导出代码如下:

 // VTK
......
#include"vtkSTLWriter.h" int main(int argc, char *argv[])
{//argc表示传入main函数的参数个数;argv0表示程序的名称,并且包含了程雪所在的完整路径 .......
vtkSTLWriter *writer = vtkSTLWriter::New();//Stereo lithography files only contain triangles. If polygons with more than 3 vertices are present, only the first 3 vertices are written.
writer->SetInputConnection(skinStripper->GetOutputPort());
writer->SetFileName("D:/DATAOUT/poly2procs.stl");
writer->Update();
writer->Write(); system("pause"); return ;
}

最新文章

  1. 如何解决流程开发中SheetRadioButtonList页面取值问题
  2. 硬盘安装linux的两条命令
  3. 数据库存储ATM机,开户、查询等信息
  4. mgo-后续测试(指定字段,获取id)
  5. .NET 创建Windows服务,及服务的安装卸载
  6. 自己写http获取网络资源和解析json数据
  7. POJ Code the Tree 树的pufer编号
  8. javascript !!的作用是把一个其他类型的变量转成的bool类型
  9. ASP.NET MVC:多模板支持
  10. c++ bitset使用
  11. 使用 Gradle 插件进行代码分析(转)
  12. OpenCV——Delaunay三角 [转载]
  13. C语言系列之强制类型转换(一)
  14. bzoj1997 Planar
  15. oracle 表所占空间统计
  16. ImportError: cannot import name descriptor_pb2
  17. Redis notes
  18. [ 9.9 ]CF每日一题系列—— 259A黑白棋盘检查问题
  19. ansible 角色登陆
  20. Eclipse 处理 Console 打印信息自动删除

热门文章

  1. 大话大前端时代(一) —— Vue 与 iOS 的组件化
  2. Linux中修改docker镜像源及安装docker
  3. font-family,font-size,color
  4. IE浏览器部分版本不支持background-size属性问题
  5. 修改flash builder注释里的@author
  6. HashMap随机取值和迭代器取值的对比
  7. HDU4280 Island Transport —— 最大流 ISAP算法
  8. oracle:通过shell来运行rman命令
  9. django错误 - Reason given for failure: CSRF cookie not set.
  10. 创建app前的环境配置/AppIcon/启动图片