- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3D打印机和扫描仪的最常用交换数据格式STL
3D 打印机和扫描仪的最常用数据格式STL
STL 文件格式是由3D SYSTEM 公司制定的文件接口协议,它以小三角面片为基本单
位,离散地近似描述三维实体模型的表面,STL 只能用来表示封闭的面或者体。STL 文件
格式简单,只能描述三维物体的几何信息,不支持颜色材质等信息。 STL 的三角面片是平
面片,而另一种通用的3D 数据格式IGS 的四边形面是曲面,针对曲面的变形修正目前有比
较成熟的算法,所以用户如果需要变形修正 STL 数据再用于打印或雕刻的话,一般先要把
它转换成IGS 格式后用Solidworks 或UG 等3D 设计软件自由修正后再转会STL,这个转
换功能Geomagic 等逆向软件可以做。
STL 文件最初应用于快速成形(Rapid Prototyping ,RP)领域 ,并迅速成为RP 领域
事实上的工业标准;同时,STL 文件也在快速成形之外的各种需要三维实体模型的领域中获
得了广泛的应用。
STL 数据在3D 打印机应用中,需要把它转换成一层层堆叠的数据后再转成通用的机械
加工用的 G 代码,用于控制打印机的各个电机进行打印,这就是 3D 打印机打印软件的最
基本功能。许多开发者对现有的打印软件的打印参数设置感到局限,想自己重写打印软件来
打印出特异的效果,这就需要详细了解STL 数据文件的格式,以下详细介绍:
1. STL 文件规则
(1) 共顶点规则
每一个三角面片必须与其相邻的每一个面片共两个顶点 ,即一个三角面片的顶点不能
落在相邻的任何三角面片的边上;
(2) 取向规则
单个面片法向量符合右手法则且其法向量必须指向实体外面;
(3) 充满规则
小三角面片必须布满三维模型的所有表面,不得有任何遗漏;
(4)取值规则
每个顶点的坐标值必须为非负数,即STL 文件的实体应该在坐标系的第一象限。
2. STL 文件的分类
目前的STL 文件格式包括二进制文件(BINARY)和文本文件(ASCII)两种。
2.1 二进制格式
二进制STL 文件用固定的字节数来给出三角面片的几何信息。
前面84 个字节描述3D 模型文件信息。文件起始的80 个字节是文件头,用于存贮零件名;
紧接着用 4 个字节的整数来描述模型的三角面片个数(4 个字节可最多表达近43 亿个三角
面)。
后面逐个给出每个三角面片的几何信息。每个三角面片占用固定的50 个字节,依次是
3 个4 字节浮点数(三角面片的法矢量)、3 个4 字节浮点数(第一个个顶点的坐标,4 字节的
浮点数因为STL 只表示非负数,所以可精确表达的数据十进制位数可以达10 位)、3 个4 字
节浮点数(第二个顶点的坐标)、3 个4 字节浮点数(第三个顶点的坐标)。
最后2 个字节用来描述三角面片的属性信息(这两个字节一般空着备用)。
2.2 文本格式
文本格式就是可以被文本编辑器打开和编辑(如Windows 的Notepad)。ASCII 码文本
格式的STL 文件逐行给出三角面片的几何信息,每一行以1 个或2 个关键字开头。在STL
文件中的三角面片的信息单元 facet 是一个带矢量方向的三角面片,STL 三维模型就是由
一系列这样的三角面片构成。整个STL 文件首行给出了文件路径及文件名。在一个 STL 文
件中,每一个 facet 由 7 行数据组成,facet normal 是三角面片指向实体外部的法矢量坐
标,outer loop 说明随后的3 行数据分别是三角面片的 3 个顶点坐标,3 顶点沿指向实体
外部的法矢量方向逆时针排列(即右手法则,大拇指代表法矢量)。
以下用Notepad 记事本软件随便文本格式的STL 文件的前几行文字。(“//”及其后中文
字为作者加的注释文字,Notepad 上不显示。)
solid filename // 自定义文件头,solid 及最后的endsolid 表示其间文本代表整个三角面构
成的网络的数据;filename 就是这个stl 文件的文件名。
facet normal x y z //facet 和后面的endfacet 表示其间文本代表一个三角面片的数据;法
向量的3 个分量值,normal 就是该三角面的法矢量,x 、y 、z 是该法矢量的三个数值。
outer loop
vertex x y z //三角面片第一个顶点坐标 ,vertex
文档评论(0)