一、前言
STL 模型是通过将实体模型曲面细分为三角形而获得的。 镶嵌的精度由弦误差控制,弦误差是镶嵌模型与原始实体模型之间的最大形状差异。 细分实体模型所需的三角形数量是可接受的弦误差和零件几何复杂性的函数。 在 STL 文件创建过程中生成的大量三角形可能会影响对模型进行切片以及随后为每个切片创建轮廓所需的时间。 制造所需的切片数量通常来自用户指定的层厚度和零件构建方向。 STL文件中定义的三角形面必须由每个切片进行切片,并且必须为每个切片构造轮廓; 因此,算法的效率在切片和轮廓创建所需的时间中起着巨大的作用。
为了减少切片时间,本文提出了一种具有高效轮廓构造的改进切片算法。该方法具有高效、健壮性和自动识别内外轮廓的能力等重要特点。
二、研究导览
略
三、方案概述
切片一般有两种方式。
1)给定一个切片平面,搜索相交的三角形。
2)给定一个三角形,搜索相交的切片平面。
第一种方法,通常称为扫描线/平面算法,是用于切片的常用方法。在第一种方法中,为了减少切片时间,在切片过程之前先进行拓扑信息构造和分组 。
所提出的切片方法基于第二种方法。 在不失一般性的情况下,我们可以假设对象的方向是使切片位置平行于 z 轴。 由于切片平面的间隔是离散的,因此可以通过三角形的 z 坐标和平面的 z 坐标轻松确定与每个三角形相交的平面。
三角形与切片平面的交会创建一条线段,该线段将成为定义每一层的切片几何形状轮廓的一部分。 需要注意的是,对于平面与三角形相交所产生的每条线段,只有两条相邻边会对该轮廓贡献点。 事实上,其中一边将始终是具有最大和最小 z 值的顶点的边。 另一边将是三角形的另外两条边之一。 此外,对于共享这些边的三角形,将使用相同方式来生成重复的交点。 所提出的算法试图通过以下方式消除这种重复:
(i) 利用 STL 格式的特点。虽然 STL 文件由一个无序列表的三角形组成,但三角形的三个顶点是按逆时针方向列出的。
(ii) 只计算三角形的一条边(称为前边)的交点,并标记会生成交点的第二条边。
通过以下实例说明整体方法,该示例显示三个三角形和一个切片平面(参见图 4)。假设从 STL 文件中读取的第一个三角形是三角形 1 (v1,v2,v3)。将 s1 表示为同时具有最大和最小Z坐标值的边,那么s1={v2,v3}。该边将始终与切片平面相交。相交的另一边将是三角形的另外两条边之一。通过检查 z 坐标将排除一个边。s2{v1,v2} 被识别为前向边,并且只计算交点 p1(使用第 4.3 节中提出的规则来确定前向边)。该点将成为该切片平面轮廓的一部分。接下来,考虑三角形 2。第一个相交边为 s1{v2,v4},第二个相交边为s2{v2,v5}。使用 4.3 节中提出的规则来确定前向边,将 s1 标识为前向边,并计算它与平面之间的交点(称为 p2)。然后将点 p2 插入到切片数组列表中。接下来,考虑三角形 3,边 s2{v2,v3} 被识别为前向边,点 p3 被计算为交点。然后使用第 4.4 节中提出的 ECC 算法将 p3 插入到切片数组列表中。在这个阶段,点的维护顺序将自动确定正在生成的轮廓是内轮廓还是外轮廓。
文章来源:https://www.toymoban.com/news/detail-405660.html
值得注意的是,该方法将生成的交叉点数量减少了一半,并通过不必比较通常使用其他切片方法生成的各种线段的起点和终点来进一步提高鲁棒性。 此外,轮廓构造是同时进行的,并且通过轮廓的相反的遍历方向可以容易地识别内轮廓和外轮廓。文章来源地址https://www.toymoban.com/news/detail-405660.html
四.切片过程
4.1 数据结构
到了这里,关于【STL切片算法文献笔记】一种使用 STL 文件进行高效轮廓构造的改进切片算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!