StL 数据文件查看器
一个简单的立体光刻(StereoLithography)数据文件查看器。
引言
立体光刻(StL) 是一种广泛应用于CAD/CAM、快速原型制作等领域的技术。其原理是任何表面或实体在商业CAD软件包中建模后,都会被导出为StL格式的数据,用于数据交换。这些数据由三角面片组成,近似于实体的表面。不导出拓扑或几何信息。表面被细分为小的三角形。对于曲面,近似使用弦切偏差来平滑表面。所需的平滑度越高,细分产生的三角形就越小,数据文件的大小也就越大。现在,除了三角形之外,还会生成它们的法线。数据以ASCII和二进制格式写入。ASCII数据以如下方式写入
facet normal 0.000000e+000 -1.000000e+000 0.000000e+000
outer loop
vertex -1.499999e+002 -1.000000e+002 0.000000e+000
vertex -1.500000e+002 -1.000000e+002 0.000000e+000
vertex -1.500000e+002 -1.000000e+002 -5.000000e+001
endloop
endfacet
facet normal
告诉您法线的三个分量,然后是三角形的三个顶点,由语句括起来。
facet normal 0.000000e+000 -1.000000e+000 0.000000e+000
和
endfacet
因此,所有三角形都一个接一个地写入。然后可以将这些数据用作生成快速原型模型以及NC刀具路径生成的输入。法线数据有助于计算刀具偏移量等。
在这里,为了在OpenGL查看器中显示数据,我编写了读取数据并使用glBegin(GL_TRIANGLES)
和法线进行光照显示每个三角形的代码。查看器和几何体编码与我之前的项目CadSurf 相同。您可以将许多StL(仅ASCII)文件读取到查看器中,缩放、平移、旋转视图,选择对象,更改颜色和材质等属性。查看器提供面向对象的上下文菜单。也就是说,当您在视图中单击右键且没有活动选择时,您将获得一个用于设置查看器属性的上下文菜单,而当选择StL对象时,您将获得一个用于对象属性的菜单。项目的数据文件夹中也提供了一些示例StL数据。
请告诉我您的意见。谢谢。