声明:文中所有观点仅代表个人见解,若有不妥之处欢迎指正。
这篇论文于2019年 被 SCI 4区 "Graphical Models"录用。
目录
(1)Constraint I: Collision-free
(2)Constraint II: Support-free
1. Overview
Background:该方法基于多自由度打印机进行打印。
概述:
先对两个约束条件进行分析:无碰撞及无支撑
在约束下,定义目标函数,使悬垂区域的面积最小
使用基于精英选择算法的遗传策略和模拟退火算法相结合的方法,对寻找最优解过程进行优化
根据最优解,使用基于二叉树的平面剖分方法进行模型剖分
2. Constraint analysis约束条件分析
(1)Constraint I: Collision-free
为确保打印可行性,打印过程中不能够出现碰撞,在这里将碰撞分为两种:Extruder-platform Collision(与打印平面碰撞);Extruder-object Collision(与打印模型碰撞)。
①Extruder-platform
多自由度打印机的工作区域在切割平面的上方,当考虑到挤出喷嘴的实际体积时,旋转角度范围的限制是很必要的,以保证喷嘴和平台之间无碰撞。
碰撞检测方法:将平台按照喷头在各个方向上的半径,扩展形成包围盒,检查每个模型部件和包围盒之间是否发生碰撞,如上图所示。这里考虑到(45°范围内的)自支撑,检测平台在[-135,135]角度内旋转不与模型碰撞。
②Extruder-object
使用切割面对模型进行分解时,如上图,对于转角区域,即使切换零件的打印顺序,通常也无法避免碰撞。通过观察发现,当打印优先级较高的零件位于后续零件的基面之下时,可以避免碰撞。这里检测碰撞的方法,将模型按照喷头的半径扩展成一个凸壳模拟打印时的工作区域,将这个凸壳与打印优先级更高的模型部分进行碰撞检测即可。
(2)Constraint II: Support-free
近无支撑的约束:本文的目标不是尽量减少支撑结构的材料成本,而是尽量减少需要支撑的区域面积,以确保可打印性。
考虑到多向打印与传统打印的不同,这里讨论了多向印刷的三种情况,倾斜角过大,局部最低点,脆弱区
① Overlarge inclination angle
将模型表面与其打印方向之间的夹角定义为inclination angle,在基于FDM的制造中,当表面倾角小于某一值时,材料可以不需要额外的支撑结构进行积累。该阈值角称为最大自支撑角,根据材料的刚度,该阈值角通常设置为45°或更大。在打印过程中,如果实际倾斜角度大于这个阈值,就会观察到变形,打印对象在重力的作用下甚至会发生坍塌。所以将表面有超过倾斜角度的区域称为悬垂区域,悬垂区域需要支撑结构。这篇工作的重点就是减小悬垂区域的面积,当面积减小到0时,就实现了无支撑。
② Local minimum points
相对于所有相邻点(除位于基平面/打印平面上的点外),到基平面上的距离最小的点称为局部最小点。显然,最小点周围的区域是突出的,需要支撑。图中A,最低点的邻面需要被支撑,图中阴影部分表示支撑结构;图中B,一个轨迹最低点的相邻面不需要支撑,即该点的打印倾角较小,在可打印角度内,只需要一个圆柱形支撑结构来支撑最低点。在这种情况下,支撑表面积定义为支撑结构的横截面积。为了减少支撑结构,我们分解模型的目标之一,就是使最小点出现的数量最少。
③ Fragile regions
在模型分解的3D打印中,零件按预定的顺序打印,除第一个零件外,总有一个部件打印在其他之前打印的部件的上方。这样的过程需要检查是否存在太脆弱的区域,不能支撑其他部分在其上面印刷。在3D打印中,典型的脆弱区域是之前打印零件上的薄鳍或桥。(图里粉色部分是前一个打印零件,现在要将粉色部分作为基面,在其上打印球)检测脆弱的区域是通过检查是否存在一个区域的距离,其基准面以下部分的距离小于指定阈值,同时,其法向非常接近基面的法向(参见上图)。在这里,将距离阈值设置为5mm,最大允许的角度偏差设置为10。如果监测出来脆弱区域,尝试简单地沿着切面的法线方向移动一定距离,使之距离超过阈值,就将其变为非脆弱区域。
3.Model Decomposition
(1)切割方法
使用基于二叉树的平面切割,每一次切割都一分为二,产生一个新的部件,切割顺序的逆序就是打印顺序。
通过观察发现,只要切割面上方没有之前打印过的部件,就不会发生碰撞,因为喷头只会在切割面上方发生移动。
(2)安全距离
在实验中,由于塑料材料本身的内聚力和弹性力,当打印严重倾斜的没有支撑的区域时,物体不会立即坍塌。这种距离(称之为安全距离)定义了一个不需要支撑结构的安全区域。
(3)检测悬垂区域的算法
input: 模型及(打印)方向;
根据方向计算倾斜角度,确定可能的悬垂面,将每个悬垂面的区域的边界投影到平面上(平面穿过当前悬垂面区域的质心与方向正交);
计算该悬垂区域的较低边界的质心并投影到平面上,计算投影的边界到质心的距离,超过安全距离的就是需要支撑的区域(图中红色部分);
output: 悬垂区域
4.Objective Function
目标:在约束条件下,悬垂区域面积最小
优化:
将基于精英选择算法的遗传策略和模拟退火算法相结合,得到更好的收敛速度和约束实现。
实验部分及结论部分参照论文,不做赘述。
Thanks for reading!