STL文件格式详解【3D】

STL(StereoLithography:立体光刻)文件是 3 维表面几何形状的三角形表示。 表面被逻辑地细分或分解为一系列小三角形(面)。 每个面由垂直方向和代表三角形顶点(角)的三个点来描述。 切片算法使用这些数据来确定制造商要构建的 3 维形状的横截面。

本文描述了 STL 文件格式的技术细节,主要面向有兴趣开发可读写 STL 文件的硬件或软件的人提供。大多数用户不需要关心,可以使用 3DConvert 这个在线的3D格式转换工具将其他格式的3D模型转换为STL格式。

在这里插入图片描述

推荐:用 NSDT设计器 快速搭建可编程3D场景。

1、STL格式规格

STL 文件由构面数据列表组成。 每个面由单位法线(垂直于三角形且长度为 1.0 的线)和三个顶点(角)唯一标识。 法线和每个顶点分别由三个坐标指定,因此每个面总共存储 12 个数字。

1.1 STL 文件中的面方向

在这里插入图片描述

图1:面的方向由单位法线的方向和顶点列出的顺序决定

面(facet)定义了 3 维对象的表面。 因此,每个面都是对象内部和外部之间边界的一部分。 面的方向(哪个方向是“外”,哪个方向路是“内”)以两种方式冗余指定,这两种方式必须一致。 首先,法线的方向是向外的。 其次,从外部观察对象时,顶点按逆时针顺序列出(右手定则)。 这些规则如图 1 所示。

1.2 顶点到顶点规则

每个三角形必须与其相邻的每个三角形共享两个顶点。 换句话说,一个三角形的顶点不能位于另一个三角形的一边上。 图 2 对此进行了说明。
在这里插入图片描述

图2:顶点到顶点规则。 左图显示了违反规则的情况。 正确的配置如右图所示

所代表的物体必须位于全正八分圆内。 换句话说,所有顶点坐标必须是正定(非负且非零)数。 STL文件不包含任何比例信息; 坐标采用任意单位。

官方 3D Systems StL 规范文档指出,有一项规定包含“建筑参数的特殊属性”,但没有给出包含此类属性的格式。 此外,该文件还指定了“三角形边的最小长度”和“三角形最大尺寸”的数据,但这些数字的含义是可疑的。

建议按 z 值升序对三角形进行排序,但不是必需的,以便优化切片程序的性能。

通常,STL 文件以扩展名“STL”保存,不区分大小写。 切片程序可能需要此扩展名,也可能允许指定不同的扩展名。

StL 标准包括两种数据格式:ASCII 和二进制。 下面分别进行描述。

2、STL ASCII 格式

ASCII 格式主要用于测试新的 CAD 界面。 其文件较大,不适合一般用途。

ASCII STL 文件的语法如下:
在这里插入图片描述

粗体表示关键字; 这些必须以小写形式出现。 注意:

  • facet normal和 outer loop中都有空格, end开头的关键字都没有空格。
  • 缩进必须有空格; 不允许使用 tab。
  • 符号 {…}+表示大括号中的内容可以重复一次或多次。
  • 斜体符号是要替换为用户指定值的变量。
  • 平面法线和顶点线中的数值数据是单精度浮点数,例如 1.23456E+789。
  • 面法线坐标可能有一个前导减号; 顶点坐标可能不会。

3、STL 二进制格式

二进制格式使用 IEEE 整数和浮点数值表示形式。

二进制 STL 文件的语法如下:
在这里插入图片描述

符号 {…}+ 表示大括号中的内容可以重复一次或多次。 属性语法未记录在正式规范中。 指定属性字节计数应设置为零。


原文链接:STL模型格式详解 — BimANt

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LabVIEW是一款功能强大的图形化编程环境,可以用于实现各种控制、监测和数据处理的应用。然而,LabVIEW本身并没有直接打开STL格式文件的能力,因为STL是一种用于三维打印和计算机辅助设计的文件格式。不过,我们可以通过使用其他工具或者自定义的函数来实现在LabVIEW中打开STL格式文件的功能。 一种常见的方法是使用Python脚本语言编写一个将STL文件转换为其他格式(如文本文件或者二进制文件)的程序。然后,我们可以在LabVIEW中调用这个Python脚本,将STL文件转换为LabVIEW可读取的格式。 另一种方法是使用LabVIEW的文件读取功能,通过二进制读取STL文件,并将其解析为LabVIEW可以处理的数据。在这种方法中,我们需要了解STL文件的结构和格式,并编写相应的解析算法。可以使用LabVIEW的字符串处理和数组功能,将STL文件的数据转换为三维坐标点等信息。 不论使用哪种方法,打开STL文件后,我们可以在LabVIEW中利用其强大的绘图功能,将三维模型以图形的形式展示出来。也可以在LabVIEW中对STL文件进行进一步的处理和分析,比如计算体积、表面积、重心等等。 综上所述,虽然LabVIEW本身没有直接打开STL文件的功能,但通过其他工具或者自定义函数,我们可以在LabVIEW中实现对STL文件的读取和处理。这样,我们就能够在LabVIEW中将STL文件作为输入,进行各种控制、监测和数据处理的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值