本发明主要涉及三维打印(threedimensionprinting,3dp)领域,具体是涉及一种基于五轴打印平台的无支撑3d打印方法。
背景技术:
近年来,由于3dp技术适合复杂三维结构的快速自由制造的优点,而被广泛地应用于新产品开发,极大地缩短了新产品的开发周期,提高了新产品的生产效率和制造柔性。其制造本质不再是去除不需要的材料,而是通过将材料层层叠加的方式来获得所需要的形状及其功能。例如在航天领域中,为了减轻飞船重量,不会将备用零件转载到飞船上,当出现某个零件的损坏时,3dp技术就可以帮助航天员在飞船中自行制作零件进行修复。总之,3dp技术被广泛应用到了众多领域,逐步显示出了越来越重要的地位和作用。
3dp技术的常见工艺主要包括三维印刷(3dprinting,3dp)、熔融挤出成型(fuseddepositionmodeling,fdm)、光固化成型(stereolithoraphyappearace,sla)、选择性激光烧结(selectivelasersintering,sls)和分层实体成型(laminatedobjectmanufacturing,lom)等。其中由于fdm工艺具有材料利用效率高、污染小,成本低等优势,得到了较为广泛的关注和应用。其工艺过程通常采用对待加工对象的数据模型进行切片获取每层截面的打印路径,再层层打印,最终叠加起来形成打印件。利用该工艺打印悬臂及中空等类型的结构时,由于没有基底材料只能通过添加支撑的方式来实现打印,而在大多数打印件中通常都带有类似的结构,因此利用fdm工艺打印时,由于支撑的必不可少性,会导致打印时间长、打印材料浪费以及后处理过程繁琐,甚至在去除支撑材料时可能对打印件造成破坏等问题。
技术实现要素:
针对上述由于支撑材料存在所产生的问题,本发明旨在提出一种基于五轴打印平台的无支撑3d打印方法,突破了对于某一特定模型只能单向切片打印的本质,将五轴数控加工技术引入,实现真正意义上的无支撑三维打印。该方法的优势在于可大大减少打印时间、节省打印材料、无需去支撑操作、软硬件开源并且操作简单,适合大多数基于fdm工艺原理的3d打印机。
为实现上述目的,本发明所提出的基于五轴打印平台的无支撑3d打印方法主要包括如下步骤:
(1)将需要打印的模型转换成由三角面片构成的stl模型(stl文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式),提取打印模型的特征边;
(2)根据需要打印模型的特征边进行分块处理,分块后,确定主模块。需要打印的模型由于分块切割,会在主模块上留下截面,取截面的重心作为这个面的参考点;
(3)计算各个分块制造叠加方向与主模块制造叠加方向之间的夹角;
(4)按照步骤(3)中算出的夹角将各分块按x轴进行旋转;
(5)将模型旋转后的各个分块及主模块分别用切片软件进行切片处理;
(6)在生成各分块打印路径时,依据计算所得到的夹角,利用五轴打印平台,将接收平台旋转至对应的角度;
(7)确定各分块打印路径的坐标转换关系,最终生成各分块的g代码(3d打印切片生成的指令,其作用是快速定位);
(8)将各分块的g代码进行组合,上传至五轴打印平台的上位机控制软件中,实现无支撑打印。
模型分块的依据是特征边,因此在步骤(1)中,需要对模型中的特征边进行识别,主要通过遍历整个模型的三角面片,并计算相邻三角面片的二面角,从而判断结构特征。本发明假设相邻两个三角面片分别为a、b,两面之间的夹角(即二面角)为:
其中,n为a三角面片的法向量,j为b三角面片的法向量,
本发明中设定当
步骤(2)主要是根据特征边,对模型进行分块,具体方法为:
(2-1)将不需要任何支撑就能打印的部分(即不是从三维模型上切割下来的模型)设为主模块;
(2-2)计算出三维模型切割截面的重心(aj,bj,cj);
(2-3)将分块之后的模型再次根据步骤(1)进行特征边识别,如果仍然有需要支撑才能打印的部分,则再次进行分块,并再次记录分块之后模块切割面重心的位置(aj1,bj1,cj1),直至不能再分块为止。
步骤(3)中,对于每个分块来说,制造叠加方向决定了切片过程。主模块的制造叠加方向与分块的制造叠加方向的夹角为:
其中,
步骤(6)中,五轴打印平台的旋转通过下位机控制板的e1、e2(下位机控制板输出口分为x、y、z、e0、e1、e2)输出口控制平台中的摆动轴旋转由步骤(3)计算出的角度
步骤(7)中,各分块打印路径坐标转换方法如下:
(7-1)提取步骤(2-2)中的分块后获得的截面重心坐标,记为(aj,bj,cj),旋转之后重心坐标记为(asm,bsm,csm),变换公式为:
(7-2)由于分块之后切片软件进行切片是在底面上进行切片的,所以要重新计算分块的截面重心坐标,记为(af,bf,cf),将(af,bf,cf)带入公式(3),可以得到转换后的重心坐标,记为(am,bm,cm)。
(7-3)将xyz的平移量记为δa、δb和δc,δa=asm-as,δb=bsm-bs,δc=csm-cs。将步骤(5)中各个分块切片出来的g代码进行变换,例如,步骤(5)中切片出来的g代码为g1xx’yy’zz’e0.1,即g1xx’yy’zz’e0.1转换成g1x(x’+δa)y(y’+δb)z(z’+δc)e0.1。
(7-4)由于3d打印是通过将材料不断叠加而形成的,因此,在(7-3)的基础上在制造叠加方向(通常为z轴方向)考虑层高,假定层高为0.1,则g代码变换成:g1x(x’+δa)y(y’+δb)z(z’+δc+0.1)e0.1,变换之后的g代码即为旋转之后g代码。
与现有技术相比,本发明具有如下显而易见的突出实质性特点和显著技术进步:
(1)本发明提出的无支撑打印方法能实现真正的无支撑打印,从而大大减少了打印时间,同时节省了打印材料,简化了后处理过程,由于不存在去支撑过程,就不会存在剥离时对打印件造成损坏的可能性,因此间接地提高了打印件质量;
(2)本发明使用五轴打印平台实现了各分块的顺序打印,所获得的g代码可以直接用于现有的开源3d打印机,因此其适用性广;
(3)本发明解决了fdm类型工艺的支撑问题,而该类型的打印机应用场所十分广泛,因此该方法的未来应用前景广阔,包括民用、工业、医疗甚至航天航空领域。
附图说明
图1是常见的3d打印加支撑的三维模型图。
图2是本发明所需的五轴3d打印机。
图3是常见的相邻的三角面片的排列情况。
图4是主模块与分块制造叠加方向之间的夹角
图5是catia根据特征边模拟切割后截面图。
图6为计算出的重心位置。
图7为旋转90°后的重心。
图8为基于五轴打印平台的无支撑3d打印方法流程图。
具体实施方式
现结合附图对本发明的优选实施例进行详细描述。
实施例一:
参见图8,本实施例基于五轴打印平台的无支撑3d打印方法,其特征在于:操作步骤如下:(1)将需要打印的模型转换成由三角面片构成的stl模型(stl文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式),提取打印模型的特征边;(2)根据需要打印模型的特征边进行分块处理,分块后,确定主模块。需要打印的模型由于分块切割,会在主模块上留下截面,取截面的重心作为这个面的参考点;(3)计算各个分块制造叠加方向与主模块制造叠加方向之间的夹角;(4)按照步骤(3)中算出的夹角将各分块按x轴进行旋转;(5)将模型旋转后的各个分块及主模块分别用切片软件进行切片处理;(6)在生成各分块打印路径时,依据计算所得到的夹角,利用五轴打印平台,将接收平台旋转至对应的角度;(7)确定各分块打印路径的坐标转换关系,最终生成各分块的g代码(3d打印切片生成的指令,其作用是快速定位);(8)将各分块的g代码进行组合,上传至五轴打印平台的上位机控制软件中,实现无支撑打印。
实施例二:
本实施例与实施例一基本相同,特别之处如下:
所述步骤(1)中,提取模型特征边的方法为:遍历整个模型的三角面片,并计算相邻三角面片的二面角,从而判断结构特征:
其中,n为a三角面片的法向量,j为b三角面片的法向量,
所述步骤(2)中,对模型分块的方法为:
(2-1)将不需要任何支撑就能打印的部分,即不是从三维模型上切割下来的模型设为主模块;
(2-2)计算出三维模型切割截面的重心(aj,bj,cj);
(2-3)将分块之后的模型再次根据步骤(1)进行特征边识别,如果仍然有需要支撑才能打印的部分,则再次进行分块,并再次记录分块之后模块切割面重心的位置(aj1,bj1,cj1),直至不能再分块为止。
所述步骤(3)中,主模块的制造叠加方向与分块的制造叠加方向的夹角为:
其中,
所述步骤(6)中,五轴打印平台的旋转通过下位机控制板的e1、e2输出口控制平台中的摆动轴旋转由步骤(3)计算出的角度
所述步骤(7)中,各分块打印路径坐标转换方法如下:
(7-1)提取步骤(2-2)中的分块后获得的截面重心坐标,记为(aj,bj,cj),旋转之后重心坐标记为(asm,bsm,csm),变换公式为:
(7-2)由于分块之后切片软件进行切片是在底面上进行切片的,所以要重新计算分块的截面重心坐标,记为(af,bf,cf),将(af,bf,cf)带入公式(3),可以得到转换后的重心坐标,记为(am,bm,cm)。
(7-3)将xyz的平移量记为δa、δb和δc,δa=asm-as,δb=bsm-bs,δc=csm-cs。将步骤(5)中各个分块切片出来的g代码进行变换,例如,步骤(5)中切片出来的g代码为g1xx’yy’zz’e0.1,即g1xx’yy’zz’e0.1转换成g1x(x’+δa)y(y’+δb)z(z’+δc)e0.1。
(7-4)由于3d打印是通过将材料不断叠加而形成的,因此,在(7-3)的基础上在制造叠加方向(通常为z轴方向)考虑层高,假定层高为0.1,则g代码变换成:g1x(x’+δa)y(y’+δb)z(z’+δc+0.1)e0.1,变换之后的g代码即为旋转之后g代码。
实施例三:
如图1所示,图1左是需要打印的模型,图1右是需要打印的模型1及其支撑部分2。针对传统fdm工艺,如果不添加支撑,那么模型的两侧的悬臂部分将不能打印。
如图2所示,是本实例所需的五轴打印平台,一共有五个自由度,即x、y、z、a、c。其中,x、y、z是传统3d打印机已有的自由度,a、c两自由度分别实现接收平台绕y和z轴的旋转运动。基于该平台的无支撑3d打印方法,即通过增加的两个自由度,在打印悬臂类结构的部分时,通过旋转,使得该部分能够以已经成型的部分为基底进行后续打印,从而达到无支撑的目的。
如图3所示,本实例中,使用相邻两个三角面片的夹角的角度作为曲面弯曲程度的参数。通过公式(1)计算其二面角夹角,通过对二面角设定阈值来划分是否为特征边。a图中两个三角面片的法向量n、j呈平行状,则认为两个三角面片平行,b图中n、j向量呈非平行状。计算它们之间的夹角,通过与设定的阈值相比较,进而判断是否为特征边。按特征边进行分割,就能得到分割后的模型。
如图4所示,图中的夹角
如图5所示,图中箭头所指的就是在主模块上进行分块后截面的形状3。
如图6所示,图中箭头所指的就是计算出来的重心4。
如图7所示,图中箭头所指的就是经过旋转90°的重心5。
图8为基于五轴打印平台的无支撑3d打印方法的流程图。如图8所示,本实例其主要过程为:首先判断是否满足分块条件,若满足,则进行分块处理。将分块之后的模型分别用cure软件进行切片处理,并计算出各分块与主模块打印路径之间的关系,最终生成各分块真正的g代码,将分块与主模块的g代码耦合起来,载入到上位机软件中,进行无支撑打印。