Nomar记录一段历史
证明切片平面/STL 相交只会产生闭环多边形?

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

谢谢!

2个回答

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

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

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

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

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

当然,不防水的出水口对于末端之一是正确的,不应修理。
作为要在计算机上显示的 3D 对象,未关闭的壶嘴不是问题,并且看起来像您期望的茶壶外观。但是要构建物理模型,您需要有关喷口壁厚度的信息。应通过包括有关形状内壁和喷嘴唇缘的信息来提供有关厚度的信息。

随机文章