STL文件有两种:一种是ASCII明码格式,另一种是二进制格式。
ASCII码格式的STL文件逐行给出三角面片的几何信息,每一行以1个或2个关键字开头。
在STL文件中的三角面片的信息单元 facet 是一个带矢量方向的三角面片,STL三维模型就是由一系列这样的三角面片构成。
整个STL文件的首行给出了文件路径及文件名。
在一个 STL文件中,每一个facet由7 行数据组成,
facet normal 是三角面片指向实体外部的法矢量坐标,
outer loop 说明随后的3行数据分别是三角面片的3个顶点坐标,3顶点沿指向实体外部的法矢量方向逆时针排列。
ASCII格式的STL 文件结构如下:
二进制STL文件用固定的字节数禅瞎来给出三角面片的几何信息。
文件起始的80个字节是文件头,用于存贮文件名;
紧接着用 4 个字节的整数来描述模型的三角面片个数,
后面逐个给出每个三角面片的几何信息。每个三角面片占用固定的50个字节,依次是:
3个4字节浮点数(角面片的法矢量)
3个4字节浮点数(1个顶点的坐标)
3个4字节浮点数(2个顶点的坐标)
3个4字节浮点数(3个顶点的坐标)个
三角面雹滑片的最后2个字节用来描述三角面片的属性信息。
一个完整二进制STL文件的大小为三角形面片数乘以 50再加上84个字节。
二进制格式的STL 文件结构如下:
三角形顶点的排列顺序遵循右手法则。 STL 文件有2 种类型:文本文件(ASCII格式)和二进制文件(BINARY)。
STL的ASCII格式如下:
solid filenamestl //文件路径及文件名
facet normal x y z // 三角面片法向量的3个分量值outer loopvertex x y z ∥三角面片第一个顶点的坐标vertex x y z // 三角面片第二个顶点的坐标vertex x y z ∥三角面片第三个顶点的坐标endloopendfacet // 第一个三角面片定义完毕…………endsolid filenamestl∥整个文件结束
STL的二进制文件格式如下:
二进制STL文件用固定的字节数来给出三角面片的几何信息。文件的起始80字节是文件头存储零件名,可以放入任何文字信息;紧随禅郑御着用4个字节的整数来描述实体的三角面片个数,后面的内容就是逐个给出每个三角面片的几何信息。每个三角面片占用固定的50字节,它们依次是3个4字节浮点数,用来描述三角面片的法矢量;3个4字节浮点数,用来描述第1个顶点的坐标;3个4字节浮点数,用来描述第2个顶点的坐标;3个4字节浮点数,用来描述第3个顶点的坐标,每个三角面片的最后2个字节用来描述三角面片的属性信息(包括颜色属性等)暂时没有用。一个二进制STL文件的大小为三角形面片数乘以50再加上84个字节。
STL模型是以三角形集合来表示物体外轮廓形状的几何模型。在实际应用中对STL模型数据是有要求的,尤其是在STL模型广泛应用的RP领域,对STL模型数据均需要经过检验才能使用。这种检验主要包括两方丛旅面的内容:STL模型数据的有效性和STL模型封闭性检查。有效性检查包括检查模型是否存在裂隙、孤立边等几何缺陷;封闭性检查则要求所有STL三角形围成一个内外封闭的几何体。本文中讨论的STL模型重建技术中的STL模型,均假定已经进行有效性和封闭性测试,是正确有效的STL模型。
由于STL模型仅仅记录了物体表面的几何位置信息,没有任何表达几何体之间关系的拓扑信息,所以在重建实体模型中凭借位置信息重建拓扑信息是十分关键的步骤。另一方面,实际应用中的产品零件(结构件)绝大多数是由规则几何形体(如多面体、圆柱、过渡圆弧)经过拓扑运算得到,因此对于结构件模型的重构来讲拓扑关系重建显得尤为重要。实际上贺岩,目前CAD/CAM系统中常用的B-rep模型即是基于这种边界表示的基本几何体素布尔运算表达的。
因此STL模型重建的过程如下:首先重建STL模型的三角形拓扑关系;其次从整体模型中分解出基本几何体素;重建规则几何体素;然后建立这些几何体素之间的拓扑关系;最后重建整个模型。
目前常用的逆向软件有:ProE、UGNX、CATIA、Imageware、GeomagicStudio、CopyCAD、RapidForm等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)