.stl 文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式,由于它的文件格式非常简单,所以应用很广泛。几乎所有市面上的3D打印机都是通过识别STL模型来进行打印生产。
STL是用三角网格来表现三维模型,表面的三角剖分之后会造成三维模型呈现多面体状。
一般三维软件设计三维模型显示
STL格式三角网格表现的三维模型
当三维模型转化输出为STL格式时,其参数设置会直接影响到最终模型成型质量的良莠。所以如果STL模型属于粗糙的或是呈现多面体状,在最终打印出来的模型上也会得到真实的反应。
那么如何保证三维模型在转换成STL格式时做到最优呢?
一般三维软件导出STL方式:
File(文件)=>Export(输出)如果没有Export可以选择Save As(另存为)=>选择STL=>输入文件名=>save(保存)
STL文件有两种:一种是ASCII明码格式,另一种是二进制格式。
ASCII码格式的STL文件逐行给出三角面片的几何信息,每一行以1个或2个关键字开头。在STL文件中的三角面片的信息单元 facet 是一个带矢量方向的三角面片,STL三维模型就是由一系列这样的三角面片构成。整个STL文件的首行给出了文件路径及文件名。在一个 STL文件中,每一个facet由7 行数据组成,facet normal 是三角面片指向实体外部的法矢量坐标,outer loop 说明随后的3行数据分别是三角面片的3个顶点坐标,3顶点沿指向实体外部的法矢量方向逆时针排列。
ASCII格式的STL 文件结构如下:
明码://字符段意义
solidfilenamestl//文件路径及文件名
facetnormalxyz//三角面片法向量的3个分量值
outerloop
vertexxyz//三角面片第一个顶点坐标
vertexxyz//三角面片第二个顶点坐标
vertexxyz//三角面片第三个顶点坐标
endloop
endfacet//完成一个三角面片定义
......//其他facet
endsolidfilenamestl//整个STL文件定义结束
二进制STL文件用固定的字节数来给出三角面片的几何信息。
文件起始的80个字节是文件头,用于存贮文件名;紧接着用 4 个字节的整数来描述模型的三角面片个数,后面逐个给出每个三角面片的几何信息。每个三角面片占用固定的50个字节,依次是:
3个4字节浮点数(角面片的法矢量)
3个4字节浮点数(1个顶点的坐标)
3个4字节浮点数(2个顶点的坐标)
3个4字节浮点数(3个顶点的坐标)个
三角面片的最后2个字节用来描述三角面片的属性信息。
一个完整二进制STL文件的大小为三角形面片数乘以 50再加上84个字节。
UINT8//Header//文件头
UINT32//Numberoftriangles//三角面片数量
//foreachtriangle(每个三角面片中)
REAL32[3]//Normalvector//法线矢量
REAL32[3]//Vertex1//顶点1坐标
REAL32[3]//Vertex2//顶点2坐标
REAL32[3]//Vertex3//顶点3坐标
UINT16//Attributebytecountend//文件属性统计
当设计者设计完模型,转格式可能会出现下面的情况:
作为3D 打印,一般选择二进制,因为,二进制导出的模型内存会比ASCII小,方便于后面,模型修复软件和3D 打印切片软件的顺畅操作。如果一定要选择ASCII,那么此时对电脑性能要求就会高一些。
当输出STL档案时,您可能会看到的参数设定名称,如弦高(chord height)、误差(deviation)、角度公差(angle tolerance)
这些数值代表你导出来的STL模型的三角形数量,数值越小,模型表面越光滑,所以设计者在导出模型的时候,建议在默认的值的基础上改小一点,将储存值改为0.01或是0.02。
如果您使用的三维设计软件在导出的时候没有这些选项,或者STL模型表现不是很利于打印,可以交给三的部落专业工程师来处理哦!更多信息请致电三的部落400-690-7753!