Near support-free multi-directional 3D printing via global-optimal decomposition笔记

本文探讨了一种针对多自由度3D打印机的优化方法,旨在减少打印过程中的碰撞和支撑需求。通过对无碰撞(包括挤出器-平台和挤出器-对象碰撞)和无支撑(考虑过大的倾斜角、局部最小点和脆弱区域)的约束条件分析,定义了目标函数以最小化悬垂区域。采用基于二叉树的模型切割、安全距离计算和特定的悬垂区域检测算法,并结合遗传策略和模拟退火算法求解优化问题。研究目标在于提高3D打印的可行性和效率。
摘要由CSDN通过智能技术生成

声明:文中所有观点仅代表个人见解,若有不妥之处欢迎指正。

这篇论文于2019年 被 SCI 4区 "Graphical Models"录用。

目录

1. Overview

2. Constraint analysis约束条件分析

(1)Constraint I: Collision-free

①Extruder-platform

②Extruder-object

(2)Constraint II: Support-free

① Overlarge inclination angle

② Local minimum points

③ Fragile regions

3.Model Decomposition

(1)切割方法

(2)安全距离

(3)检测悬垂区域的算法

4.Objective Function

 

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!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值