3D打印模型之STL文件 您所在的位置:网站首页 3dmax支持格式 3D打印模型之STL文件

3D打印模型之STL文件

2023-04-17 01:19| 来源: 网络整理| 查看: 265

自从3D打印(快速成型)技术诞生以来,模型数据处理是首先需要面对的第一个环节,也是3D打印技术领域一项重要研究内容。STL文件格式(stereolithography,立体光刻的缩写)是由3D SYSTEMS 公司于1988 年制定的一种为快速原型制造技术服务的三维图形文件格式。

STL 文件格式并不是目前 3D 打印体系支持的唯一格式,但由于 STL 格式的三角形面片的格式易于被切片软件的分层处理,ASCII 码格式下的文件易于阅读和修改。所以,几乎所有的三维 CAD 设计软件和 3D 打印系统都支持 STL 格式,并已经被大家所默认为一种标准。此外,STL 切片输出模型的精度易于控制,切片算法相对简单,效率较高等也是其流行的重要原因。

STL本质是将一个立体模型的表面按照一定规则划分成多个三角形面片,每个面片都包含该三角形面片3个顶点的三维坐标及三角形面片的法向量信息,同时三角形的三个顶点排列顺序遵循右手定则。它以三角面片为基本单位,离散地近似描述三维实体模型的表面,从而实现3D模型的表达。

1 STL的优缺点1.1 优点

STL文件格式具有简单清晰、数据简化、格式简单、易于理解、易于生成及分割、算法简单等特点,且效率高、适应于任何表面形状。所以STL很快得到普及,应用广泛。随着3D SYSTEMS的快速崛起, STL已经成为快速原型系统事实上的数据标准。

1) 定义简单、数据表达简单,易于理解;

2) STL是一种结构独立的文件,不依赖于任何一种三维建模方式和软件,通用性强,移植性强;

3) 不管模型结构多么复杂,它的表面几何都可以离散成三角形面片;

1.2 缺点

STL文件不同于其他一些基于特征的实体模型,用三角形网格来描述三维几何形体,只能描述三维物体的几何信息,因而是对原始设计意图的一种近似描述,它有很多明显的缺点,如:

1) 几何形体表达的近似性;

2) 数据存储存在大量冗余;

3) 拓扑信息缺乏;

4) 模型数据精度损失;

5) 不支持颜色材质等信息;

6) 常有空洞、裂缝、边重叠、悬边、悬面、法向量不正确、畸变(三角形三条边共线)、等缺陷和错误,特别表达高次曲面时,这些问题尤为突出,直接导致3D打印数据处理精度降低。

2 STL模型具体定义

STL 文件格式的最大特点是通过许多小三角形面片的组合来表达真实的模型结构。

在存储格式上,STL 文件格式会给出每个三角形面片的三个顶点坐标和三角形法向量的分量来确定每个三角形面片的正方向。正是由于三角形面片组合,STL 模型文件出现错误后容易按照同一规则进行修改,模型的纠错也变得更加简单。

在文件存储形式上,STL 文件可以按文本 (ASCII) 格式存储,也可以按二进制(BINARY)格式存储。相比之下ASCII格式因为易于阅读,更加通用一些,但BINARY格式存储空间占用更小​​。

2.1 ASCII格式

ASCII 码格式的 STL 文件具有很强的可读性,但相比于二进制格式更占空间。ASCII 格式文件逐行给出三角形面片的集合信息,每个三角形面片的信息单元被命名为 facet,每个 facet 代表一个带矢量方向的三角形面片。格式如下:

solid filename stl //自定义文件头(ASCII码)

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文件定义结束

每个三角形面片由6行数据组成,其中 facet normal 后面紧跟三角形面片指向实体外部的法向量坐标,outer loop 后紧跟 3 行数据分别是三角形面片的3个顶点坐标。顶点沿指向实体外部的法向量方向逆时针排列(即遵循右手法则)。

2.2 BINARY格式

二进制格式的STL文件可读性差(对人类来说),但相比于 ASCII 格式所需的存储空间更少,因此适合存储精度较高或者尺寸较大的 STL 模型文件。

二进制 STL 文件使用固定的字节数来给出三角形面片的几何信息。文件起始的 80 个字节是文件头,用于储存文件名。随后 4 个字节的整数用来描述模型的三角形面片个数,也就是说,一个 STL 文件可存储的三角形面片的个数理论上最多为 2 的 32 次方个。在这之后出现的是每个三角形面片的几何信息,每个三角形面片占用固定的 50 个字节,其中包括:

3 个 4 字节浮点数(三角形面片的法向量)

3 个 4 字节浮点数(第 1 个顶点的坐标)

3 个 4 字节浮点数(第 2 个顶点的坐标)

3 个 4 字节浮点数(第 3 个顶点的坐标)

2 个字节,用于描述三角形面片的属性信息

因此,一个完整的二进制格式 STL 文件,其大小为三角形面片数乘以 50 再加上 84 个字节。而在 ASCII 格式中,一个三角形面片至少需要 100 多个字节。

3 围绕STL模型的研究工作

基于3D打印的需求,针对STL模型的缺点和不足,需要开展多方面的研究,包括但不限于

1) STL文件模型的拓扑重建;

2) STL文件的错误检测与修复;

3) STL文件模型的分割;

4) STL模型的分层处理(等层厚及变层厚);

5) 基于STL文件的层片扫描路径的生成及优化;

6) 基于STL文件的三维模型建造方向优化;

7) 基于STL文件的支撑生成与优化;

8) 基于STL模型的三维排布;

9) 扩展的(自定义)STL,可以包含颜色、材料、精度更多信息。

4 其它文件格式

3D打印领域除了STL最为常用之外,还有OBJ、AMF、3MF、SLC。

4.1 OBJ文件

OBJ文件是Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种文件格式,这种格式同样也以通过Maya读写。OBJ文件是一种文本文件,可以直接用写字板打开进行查看和编辑修改。

OBJ 格式支持多边形(Polygon),直线(Lines),表面(Surfaces),和自由形态曲线(Free-form Curves)。直线和多角形通过它们的点来描述,曲线和表面则根据于它们的控制点和依附于曲线类型的额外信息来定义。这些信息支持规则和不规则的曲线,包括那些基于贝塞尔(Bezier)曲线,B样条(B-spline),基数(Cardinal/Catmull-Rom样条),和泰勒方程(Taylor equations)的曲线。

OBJ文件的特点包括

(1)OBJ是一种3D模型文件,因此不包含动画、材质特性、贴图路径、动力学、粒子等信息。

(2)OBJ文件主要支持多边形(Polygons)模型。

虽然OBJ文件也支持曲线(Curves)、表面(Surfaces)、点组材质(Point Group Materials),但Maya导出的OBJ文件并不包括这些信息。

(3)OBJ文件支持三个点以上的面。

很多其它的模型文件格式只支持三个点的面,所以我们导入Maya的模型经常被三角化了,这对于我们对模型的再加工甚为不利。

(4)OBJ文件支持法线和贴图坐标。

在其它软件中调整好贴图后,贴图坐标信息可以存入OBJ文件中,这样文件导入Maya后只需指定一下贴图文件路径就行了,不需要再调整贴图坐标

4.2 AMF格式

2011年ASTM提出了一种多材料增材制造文件格式-AMF

采用点、线、面、柱体的表达形式表示实体几何属性

采用汇编语言进行代码描述

并将材料属性添加到点、面或体上,设计阶段即增加了材料属性,不同区域的材料成分表达是通过空间点坐标公式来表述的,按常数比例混合的材料即为均质材料,按坐标值线性变化的比例即为梯度材料,还可表达非线性梯度材料,当材料比例被赋为“0”时,即表示该处为孔洞

与STL文件格式相比, AMF格式包含的工艺信息更全、文件体积更小、模型错误更少,使得3D打印过程中使用起来更加方便,模型设计过程也更加轻松

同时引入了曲面三角形、颜色贴图、微结构、排列方位等高级概念.其中,曲面三角形能够大幅提升模型的精度,

由于AMF模型文件的设计与传统仅仅表达几何外形的设计方法差异较大,目前还没有出现能支持AMF格式完整功能的相关设计工具

4.3 3MF格式

2015 年,3MF联盟(微软、惠普、Shapeways、欧特克、达索系统、netfabb 和 SLM Solution 七家软硬件厂商)提出了 3MF(3D manufacturing format)数据文件格式

其开发是以改变 STL 文件难以适应现有 3D 打印发展需要的现状为目的的

3MF 能够更好地描述 3D 打印模型,可用于多种应用、不同平台、不同的服务以及不同类型的 3D 打印机

3MF 是一种基于XML (eXtensible markup language)的数据文件格式,其中包括与3D制造有关的数据定义,如适用于自定义数据的第三方扩展

3MF 格式为Windows 8.1中对3D打印的支持, 提供了坚实的基础, 类似于Windows 中3D打印的“DNA”. 应用将 3MF 数据传输给 Windows,Windows 接着又将这些数据转到 3D 打印设备驱动

3MF 格式具有以下的优点:可以描述一个模型的内在和外在的信息、颜色以及其他的特性;可扩展,以支持三维打印新的创新;互操作性和开放性;实用、简单易懂、易于实现;可以解决其他广泛使用的文件格式固有的问题.

新的 3D 打印格式文件“3MF”已经发行,但是还未大量应用

4.4 SLC 文件格式

SLC 文件格式是由 Materialise 公司于1994年制定

SLC文件格式是一个CAD模型的2.5D轮廓描述

SLC 数据模型对三维模型的轮廓表达采用的是 2.5D 模式. SLC 格式使用的实体有轮廓边界、轮廓层、直线段和多义线. 其中轮廓边界是指按逆时针排序的外边界与按顺时针排序的内边界

该文件格式的优点是无需切片处理即可被 3D 打印系统所接受.

由于其截面轮廓依旧是对实体截面的一种近似,因此精度不高

它的计算较复杂、文件庞大、占用资源较多

可以通过多种途径得到,三维模型、表面模型、CT 扫描机扫描模型均可

5 参考文献

https://developer.aliyun.com/article/308475

http://www.nanjixiong.com/thread-1939-1-1.html

https://getiot.tech/zh/3d-printing/3d-printing-stl-file-format

https://cloud.tencent.com/developer/news/593460

https://www.hullboom.com/660.html

https://www.zwcad.com/3dprinter/154-3883.html

https://blog.csdn.net/douguanjun/article/details/83655944

http://mxy3d.com/plus/view.php?aid=181

https://zhuanlan.zhihu.com/p/342244212



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有