1.一种面向3D打印的模型分解与排列方法,其特征是,包括以下步骤:
步骤一:给定一个模型S,打印空间PV,计算模型S初始的金字塔属性块分解,并将这些金字塔属性块体素化,生成第一个初始中间解isolu0;
步骤二:初始化中间解集合ISolu={isolu0},初始化最优完全解P*;
步骤三:对中间解集合ISolu中的每一个中间解isolui,计算中间解产生的一系列的候选中间解,并加入候选中间解集合CSolu;
步骤四:对每个属于候选中间解集合CSolu的csolui,计算其局部目标函数值,并选出分数最高的k个候选中间解csolu0,…,csoluk-1,并使得候选中间解集合CSolu={csolu0,…,csoluk-1};
步骤五:对每个属于候选中间解集合CSolu候选中间解的csolui,如果候选中间解csolui是一个完全解了,计算其目标函数值,如果候选中间解csolui的目标函数值大于P*的目标函数值,则P*=csolui;否则舍弃该候选中间解csolui;
如果候选中间解csolui还不是一个完全解并且该中间解的目标函数值大于或等于P*的目标函数值,则将候选中间解csolui加入中间解集合ISolu;
步骤六:如果中间解集合ISolu不为空,则跳转到步骤三;如果中间解集合ISolu为空,则此时的P*即为求解出的最优解,根据P*里打印空间里面块的排列情况,提取出体素化的块实际对应于模型S的三维网格,即求解出模型S的分解与排列最优解;
步骤七:将步骤六提取出来的多个块的三维网格进行局部优化,通过每个块的沿Z轴负方向平移,将这些块排列的更加紧实,由此,得到了关于模型S的最优的分解与排列。
2.如权利要求1所述的一种面向3D打印的模型分解与排列方法,其特征是,所述步骤一中的具体步骤为:
(1-1)将模型S进行金字塔属性块分解,并变换这些金字塔属性块的朝向,使其底面与xoy平面平行,体素化得到一系列块{p0,p1,p2,…};
(1-2)初始化中间解isolu0,在isolu0中,p0,p1,p2,…都未被排列进打印空间PV。
3.如权利要求1所述的一种面向3D打印的模型分解与排列方法,其特征是,所述步骤二中的具体步骤为:
(2-1)初始化中间解集合,令ISolu={isolu0};
(2-2)初始化最优完全解P*,令P*的目标函数值为无穷最小值。
4.如权利要求1所述的一种面向3D打印的模型分解与排列方法,其特征是,所述步骤三中的计算候选中间解的具体步骤为:
(3-1)初始化候选中间解集合CSolu为空;
(3-2)对于每个属于中间解集合ISolu的isolui,在该中间解中,有块{p0,p1,p2,…}未被排列进打印空间PV,对于每个块在排列到打印空间的一个特定位置时会产生一系列的候选中间解;
(3-3)将步骤(3-2)中产生的所有候选中间解加入候选中间解集合CSolu。
5.如权利要求4所述的一种面向3D打印的模型分解与排列方法,其特征是,对于步骤(3-2)中,对于每个块以完整排列方式排列到打印空间的每个特定位置或者以部分排列方式排列到打印空间的一个特定位置。
6.如权利要求5所述的一种面向3D打印的模型分解与排列方法,其特征是,对于每个块pi,它可以绕着x,y或者z轴旋转0°,90°,180°或者270°,然后以移动窗口的形式在打印空间的底部移动,即将块pi排列到打印空间的每个特定位置,产生一系列的候选中间解,在这种情况下,一个处在打印空间外的块被完整的排列进打印空间,称其为完整排列。
7.如权利要求5所述的一种面向3D打印的模型分解与排列方法,其特征是,一个块pi还可以被一次横切或者竖切切分成两个块pi0,pi1,pi0或者pi1绕着x,y或者z轴旋转0°,90°,180°或者270°,然后以移动窗口的形式在打印空间的底部移动,即将块pi0或者pi1排列到打印空间的每个特定位置,产生一系列的候选中间解,在这种情况下,一个处在打印空间外的块只有被切分下来的部分块被排列进打印空间内部,余下的部分形成一个单独的块,留在打印空间外部,称其为部分排列。
8.如权利要求1所述的一种面向3D打印的模型分解与排列方法,其特征是,所述步骤四中对一个候选中间解的局部目标函数值计算方法为:
假设当前打印空间内部已经有由一些排列好的块组成的堆D,一个候选中间解就是将一个块p排列进打印空间内,与D形成一个新的堆D’,定义一个用来评估将块p排列进堆D的局部目标函数:
n:当前候选中间解下所有的块数,包括排列或为排列进打印空间的所有块数;
v:形成的新的堆D’中的体素;
p,D形成的D’中所有垂直间隙的体素数量,这些垂直间隙将在打印的过程被粉末材料所暂时填充;
HGAIN(v,D):Hv即体素v在打印空间中的高度,HPV即整个打印空间的高度;
α,η:用户输入指定,可调的参数。
9.如权利要求1所述的一种面向3D打印的模型分解与排列方法,其特征是,所述步骤五中对于一个完全解的目标函数值的计算方法为:
N:完全解中打印空间内的所有的块数;
H(PV):打印空间的高度;
H(D):完全解中打印空间内所有块排列成的堆D的高度;
α:用户输入指定,可调的参数。
10.如权利要求1-8任一所述的一种面向3D打印的模型分解与排列方法,其特征是,步骤五中的目标函数为以下的目标函数计算方式则适用于熔融沉积快速成型打印机:
V(S):为步骤一中对所有块的体素化之后所有体素的数量;
GFDM(D):为堆D中所有垂直间隙的体素数量;
N:完全解中打印空间内的所有的块数;
α:用户输入指定,可调的参数。