南通3D打印

南通3D打印

当前位置: 南通3D打印 > 企业新闻 > 3D打印金字塔块的Dapper算法

3D打印金字塔块的Dapper算法

更新时间: 2021-09-04 09:53:45  查看次数: 483    
给定一个输入模型S和一个打印空间、打印容器C,我们首先通过金字塔分解对S进行一个初始分解,得到少数金字塔块。我们将所有的金字塔块沿着它们的上朝向摆放,然后进行体素化。不失一般性地,我们假设最小的边长是沿着X方向,然后我们调整y和z使其为的整数倍。在这个体素化空间内,任意与输入模型s相交的体素都将被设置为1。默认情况下,我们设置为0.1。这些体素将金字塔块紧密的包围起来,金字塔块的底面与体素空间的底面平齐,我们将金字塔块的体素化表示称为金字塔体素块。

在Dapper的全局优化过程中,在这个步骤中,输入为一个初始的金字塔块集合,输出为一个位于容器C中的排列堆。在描述的过程中,暂时假设算法是面向粉末型打印机的,并在随后描述如何调整全局目标函数的定义和局部优先级分数函数的定义,以适用于熔融沉积型打印机。最后,将详细描述在全局优化后,如何进行局部的微调优化,对金字塔体素块内的实际形状几何进行空间变换调整,使得排列堆更加紧凑。

在每一次的迭代中,我们会通过执行对接测试来产生一个候选操作集合。对于一个待排列的块和打印容器内的堆,对接测试的目的是寻找最佳的待排列块的几何变换,使其凸起(或凹陷)能够更好地匹配堆内的凹陷(或凸起)。对于每一个待排列块,我们允许的候选操作包括直接排列进打印堆,和先切割再排列。所有的切割操作都是轴对齐的,并且将会产生更小的金字塔子块。我们也可引入一些特定的有关于制造打印或者组装的约束条件,来约束搜索所有可能的切割操作。当待排列块需要在对接测试中进行旋转操作的时候,我们限制其旋转变换只能是90度或其整数倍。

在最后的局部微调步骤中,我们又通过一个连续的优化过程来优化各个块的刚体空间变换,以减少每个块之的空隙。为此引入一个局部优化过程,其目标函数包括多种目标项,及确保各个块在刚体运动过程中不发生相互碰撞的约束。