网格切割/轮廓线的算法和库?

4
我希望了解将网格切片成G代码的过程,这个过程需要将3D模型创建为对象的2D切片,以便CNC机器或3D打印机使用。
在执行这种类型的网格简化/切片时使用了哪些数学算法?是否有任何库已经实现了其中一些算法?

这个问题非常有趣,但也有点离题,因为Stack Overflow的重点是解决编程问题而不是算法。也许你想联系一下开源切片程序的作者,例如skeinforgeSlic3r,或者检查它们的源代码。 - leemes
2个回答

5
把切片器看作是工具路径生成器。本质上,您正在将STL网格编译成告诉工具去哪里的G代码。这在CNC机器中比在3D打印机中更有记录。如果您在Google中输入“切片算法”,您将得到很少信息。现在输入“工具路径生成算法”,您会得到更多信息。3D打印中所发生的大部分都是基于CNC铣削思路的。虽然这篇论文不适用于3D打印的切片,但它可能会让您了解制作CNC工具路径时涉及的思考方式:http://www.sciencedirect.com/science/article/pii/S001044859900024X http://www.emeraldinsight.com/journals.htm?articleid=1538004也是另一篇优秀的论文。Slic3r的源代码并不太难理解,因此如果您想学习这个过程,可以先克隆它。

Slic3r的3D->2D层的核心在https://github.com/alexrj/Slic3r/tree/master/xs/src/libslic3r中,这样说是正确的吗?换句话说,它是一个使用“XS”系统包装为Perl的C++库? - don bright
另一个有用的谷歌搜索可能是“体素化”,有大量的论文。而且,从技术上讲,如果你能进行体素化,最终可以得到GCode。 - don bright

0

如果有人路过,也许看到我的库会对他有所帮助:

https://github.com/yoavmil/amlib - 这是一个用于 3D 切片的工具集(适用于多边形,而非光栅)。

我以编写切片软件为生。


链接失效了 :( - jeyko
是的,很抱歉。我的公司告诉我现在要将仓库设为私有。 - Yomi1984

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接