常用三维文件----STLSTL(Stereo Lithography Interface Specification)格式是目前3D打印制造设备使用的通用接口格式,是由美国3DSystems公司于1988年制定的一个接口协议,是一种为3D打印制造技术服务的3D图文格式,事实上它目前已成为3D打印制造的标准格式。当3D模型保存为STL文件后,所有表面和曲线都会被取代并转换成网格,网格由一系列的三角形组成。 三角形作为3D模型的基本单元,有结构简单,通用性强,可组合成任意面的特点;空间坐标中只要三个点就可以表示一个唯一的三角形,两点只能表示一条直线,而再多的直线也无法组成一个平面空间中的任意三个不共线的点都可以组成一个三角形,而四个点所组成的四边形就必需要求四点共面;任意的表面都可以拆解成三角形,一个四边形可以拆解成两个三角形,但一个三角形确没有办法用四边形组合而成。计算机所擅长的事情就是把简单的事情不断重复,而三角形正是因为这些特性,成为了计算机3D世界的基石。 STL文件有两种格式,即二进制和文本格式。二进制STL文件将三角形面片数据的三个顶点坐标(x,y,z)和外法矢(lx, ly, lz)均以32位的单精度浮点数(IEEE754标准)存储,每个片面占用50字节的存储空间。而ASCIISTL文件则将数据以数字字符串的形式存储,并且中间用关键词分隔开来,平均一个面片需要150字节的存储空间,是二进制STL文件的三倍。 (1)STL文件的二进制格式如下。
(2)STL文件的文本格式如下。 Solid facet (第一个面片信息开始) normal outer loop vertex vertex vertex endloop endfacet (第一个面片信息结束) …… (其他面片的信息) endsolid 由上述两种格式可以看出,二进制和文本格式的STL文件存储的信息基本上是相同的,只是其中二进制STL文件中为每个面片保留了一个16位整型数属性字,一般规定为0,没有特别含义;文本格式STL文件则可以描述实体名称(solid系统均忽略该信息。 由于工件的CAD模型上往往有一些不规则的自由曲面,成形前必须对模型进行近似处理,并使其成为3D打印机能接收和操作的格式。3D打印机通用的近似处理方法是STL格式化处理(如图3.5),即自由曲面用一系列的小三角形平面来逼近。三角形大小是可以选择的,从而能得到不同的曲面近似精度。经过上述近似处理的3D模型文件称为STL格式模型,它由一系列相连的空间三角形组成,典型的CAD软件都有自动转换和输出STL格式模型的接口。 2.STL格式模型遵循的基本规则 (1) 共顶点规则 每个小三角形平面必须与相邻的各个小三角形平面共顶点,即一个小三角形平面的顶点不能落在相邻的任何一个小三角形平面的边上。例如,图3.6a 所示表达错误,图3.6b表达正确。 (2)取向规则 用小三角形平面中的顶点排序来确定表面是内表面还是外表面,逆时针的顶点排序表示该表面为外表面,顺时针的顶点排序表示该表面为内表面。按照右手法则,当右手的手指从第一个顶点出发,经过第二个顶点指向第三个顶点时,拇指将指向远离实体的方向,这个方向也就是该小三角形平面的法向量方向。 (3) 合法实体规则 STL格式文件不得违反合法实体规则,即,在3D模型的所有表面上,必须布满小三角形平面,不得有任何遗漏(即不能有裂缝或孔洞),不能有厚度为零的区 域,外表面不能从其本身穿过。 |