证明切片平面/STL 相交只会产生闭环多边形?

3D打印 软件
2021-05-04 01:39:43

我正在编写自己的切片器,想知道是否有数学证明可以证明切片平面与 STL 文件的交集只会为每个给定的切片平面生成闭环多边形?

谢谢!

2个回答

你无法证明这一点,因为它不是真的。STL 文件只是三角形的集合。不能保证与切片平面的交点将由闭环多边形组成。为了适合 3D 打印,STL 文件应该代表一个或多个封闭的、不相交的多面体(这会产生闭环多边形),但情况并非总是如此。许多切片器具有启发式方法,可以在最大努力的基础上尝试“修复”错误的 STL 文件。特别是考虑到舍入错误的可能性,重要的是至少检测几乎(但不完全)闭合的多边形并将它们的端点连接在一起。

我也在尝试编写自己的切片器,所以我只想提供一些额外的信息。

您会发现 .stl 文件仅存储三角形,而不会验证三角形是否组合以创建可打印模型,因此如果不是大多数 .stl 文件,则很多数据都不是您想要的数据是。因此,在开始切片之前,您将需要执行其他步骤,以修复从 stl 文件中获得的数据。

许多 stl 模型是为 3d 图形设计的,其中与其他三角形相交而不是流形不是问题。因此,您可能希望在尝试切片之前编写一些代码来测试您的模型。

例如,如果您只是对犹他州茶壶 的层进行切片茶壶并且不先修复模型以进行 3D 打印,您将得到两种不同类型的错误。茶壶的手柄实际上并没有连接到茶壶上,而是一个单独的模型。并且茶壶的壶嘴是一个与茶壶相交的独立模型。手柄和出水口的末端也是敞开的,不防水。