3D打印方法及系统与流程

文档序号:11601989阅读:352来源:国知局
3D打印方法及系统与流程
本发明涉及打印技术领域,特别涉及一种3D打印方法及系统。

背景技术:
对于熔融沉积成型(FusedDepositionModeling,FDM)三维打印技术而言,现有的主流三维打印技术为单头单色的slicer技术,它是为打印单色物体(即单材质物体)而设计的。一般来讲,由一个喷头完成全部打印过程,每次打印之前先安装所打印材质所需要的原料,用户选择一种喜欢的颜色(两种颜色的PLA塑料可以认为是两种不同的材质的PLA塑料)。Slicer技术首先将模型的三维几何信息通过slicing(切片)过程转换为二维多边形。此slicing过程只处理几何信息,不处理材质信息。于此同时,模型也通常是不带材质信息的模型格式,例如:STL。因此,当前的个人消费者使用的三维打印机只能实现单喷头和单材质的打印。如何实现多喷头和多材质的3D打印技术是亟待解决的问题。

技术实现要素:
本发明的目的是提供一种3D打印方法,以实现多喷头、多颜色和多材质的3D打印技术。根据本发明的一个方面,提供了一种3D打印方法,包括:将记录有材质信息的待打印三维模型转换为多层二维多边形,且使每个二维多边形包含所述材质信息;将每层中包含多种材质信息二维多边形划分成若干子二维多边形,使每个所述子二维多边形只包含一种材质信息;控制多个喷头以每个子二维多边形包含的材质信息按层逐个打印所述子二维多边形。其中,采用所述三维模型表面的三角面记录所述材质信息,且采用所述二维多边形的边上的线段来记录该二维多边形包含的材质信息。其中,将所述二维多边形划分成若干子二维多边形的步骤包括:生成所述二维多边形的中轴线;将包含同种材质信息的线段和中轴线连接,生成若干以包括所述同种材质信息的线段为一条边的面积最小的封闭的新多边形;将包含相同材质信息的新多边形进行布尔并运算,合并具有相邻的相同材质信息的线段且共享至少一条边的多个新多边形,以生成所述子二维多边形。其中,生成所述二维多边形的中轴线的步骤包括:采用Delaunay方法对所述二维多边形进行三角剖分,使若干剖分线与所述二维多边形的边生成三角形网格;连接各个所述剖分线的中点生成所述二维多边形的中轴线。其中,生成所述二维多边形的中轴线的步骤包括:采用Voronoi图的生成所述二维多边形的中轴线。其中,生成所述二维多边形的中轴线的步骤包括:采用StraightSkeleton方法沿所述二维多边形的角平分线对所述二维多边形进行缩进,对于凸二维多边形,当两条角平分线相交产生交点后,将所述两条角平分线进行合并,形成一个新多边形,对所述新多边形按其角平分线缩进,直到生成多边形的中轴线;或对于凹二维多边形,当两条角分线分离不再相交之后,将二维多边形分为多个新多边形,对所述新多边形按其角平分线缩进,直到生成多边形的中轴线。其中,将所述二维多边形划分成若干子二维多边形的步骤包括:对所述二维多边形进行缩进,以生成缩进线;将包含同种材质信息的线段和缩进线连接,生成若干以包括所述同种材质信息的线段为一条边的面积最小的封闭的新多边形;将包含相同材质信息的新多边形进行布尔并运算,合并具有相邻的相同材质信息的线段的多个新多边形,以生成所述子二维多边形。其中,对所述二维多边形进行缩进,以生成缩进线的步骤包括:采用StraightSkeleton方法沿所述二维多边形的角平分线对所述二维多边形进行缩进,缩进预定距离后生成所述缩进线。其中,在形成所述子二维多边形之后,打印所述子二维多边形之前,还包括:将包含相同材质信息的子二维多边形分为一组,形成若干组子二维多边形,在打印时按组打印同一层的所述子二维多边形。其中,在打印完一层的子二维多边形后,打印下一层时先打印具有与当前喷头喷出的材质相同材质的子二维多边形。其中,在打印所述子二维多边形时,选择喷头的起始点和终止点为所述子二维多边形内的点。其中,所述起始点和终止点为所述子二维多边形内的第一个点。根据本发明的另一个方面,提供了一种3D打印系统,包括:模型转换单元,用于将记录有材质信息的待打印三维模型转换为多层二维多边形,且使每个二维多边形包含所述材质信息;多边形划分单元,用于将每层中包含多种材质信息二维多边形划分成若干子二维多边形,使每个所述子二维多边形只包含一种材质信息;打印控制单元,用于控制多个喷头以每个子二维多边形包含的材质信息按层逐个打印所述子二维多边形。其中,采用所述三维模型表面的三角面记录所述材质信息,且采用所述二维多边形的边上的线段来记录该二维多边形包含的材质信息。其中,所述多边形划分单元包括:中轴线生成单元,用于生成所述二维多边形的中轴线;新多边形生成单元,用于将包含同种材质信息的线段和中轴线连接,生成若干以包括所述同种材质信息的线段为一条边的面积最小的封闭的新多边形;子多边形生成单元,用于将包含相同材质信息的新多边形进行布尔并运算,合并具有相邻的相同材质信息的线段且共享至少一条边的多个新多边形,以生成所述子二维多边形。其中,所述中轴线生成单元包括:三角剖分单元,用于采用Delaunay方法对所述二维多边形进行三角剖分,使若干剖分线与所述二维多边形的边生成三角形网格;剖分线连接单元,用于连接各个所述剖分线的中点生成所述二维多边形的中轴线。其中,所述中轴线生成单元具体采用Voronoi图的生成所述二维多边形的中轴线。其中,所述中轴线生成单元具体采用StraightSkeleton方法沿所述二维多边形的角平分线对所述二维多边形进行缩进,对于凸二维多边形,当两条角平分线相交产生交点后,将所述两条角平分线进行合并,形成一个新多边形,对所述新多边形按其角平分线缩进,直到生成多边形的中轴线;或对于凹二维多边形,当两条角分线分离不再相交之后,将二维多边形分为多个新多边形,对所述新多边形按其角平分线缩进,直到生成多边形的中轴线。其中,多边形划分单元包括:缩进线生成单元,用于对所述二维多边形进行缩进,以生成缩进线;新多边形生成单元,用于将包含同种材质信息的线段和缩进线连接,生成若干以包括所述同种材质信息的线段为一条边的面积最小的封闭的新多边形;子多边形生成单元,用于将包含相同材质信息的新多边形进行布尔并运算,合并具有相邻的相同材质信息的线段的多个新多边形,以生成所述子二维多边形。其中,所述缩进线生成单元具体采用StraightSkeleton方法沿所述二维多边形的角平分线对所述二维多边形进行缩进,缩进预定距离后生成所述缩进线。其中,所述3D打印系统还包括:分组单元,用于将包含相同材质信息的子二维多边形分为一组,形成若干组子二维多边形,在打印时按组打印同一层的所述子二维多边形。其中,所述打印控制单元具体用于在打印完一层的子二维多边形后,打印下一层时先打印具有与当前喷头喷出的材质相同材质的子二维多边形。其中,所述3D打印系统还包括:选择单元,用于在打印所述子二维多边形时,选择喷头的起始点和终止点为所述子二维多边形内的点。其中,所述选择单元具体将所述起始点和终止点选为所述子二维多边形内的第一个点。本发明的3D打印方法通过将包含多种材质信息的二维多边形按材质划分成若干个只包含同种材质信息的子二维多边形,对每个子二维多边形采用多喷头的Slicer(每种材质对应一个喷头)进行打印,从而实现了多喷头和多材质的3D打印。附图说明图1是本发明第一实施例的3D打印方法流程图;图2是一种双色的3D模型示意图;图3是将图2中的3D模型切片成多层二维多边形的示意图;图4是图3中切片后一层带有材质信息的二维多边形的示意图;图5是图1中步骤S200的一种具体流程图;图6是一种三维模型切片成多层二维多边形的示意图;图7是图6的二维多边形基于Delaunay方法生成中轴线的示意图;图8是图6的二维多边形基于StraightSkeleton方法生成中轴线的示意图;图9是基于StraightSkeleton方法对凸多边形生成中轴线的示意图;图10是基于StraightSkeleton方法对凹多边形生成中轴线的示意图;图11是图6的二维多边形基于Delaunay方法生成新多边形的示意图图12是图6的二维多边形基于StraightSkeleton方法生成新多边形的示意图;图13是图6的二维多边形基于Delaunay方法生成包含材质A的子二维多边形的示意图图14是图6的二维多边形基于StraightSkeleton方法生成包含材质A的子二维多边形的示意图;图15是图6的二维多边形基于Delaunay方法生成包含材质B的子二维多边形的示意图图16是图6的二维多边形基于StraightSkeleton方法生成包含材质B的子二维多边形的示意图;图17是是图1中步骤S200的另一种具体流程图;图18是另一种三维模型切片成多层二维多边形且示出缩进线的示意图;图19是图18的二维多边形利用缩进线生成的新多边形的示意图;图20是图18的二维多边形利用缩进线生成的包含材质A的子二维多边形的示意图;图21是图18的二维多边形利用缩进线生成的包含材质B的子二维多边形的示意图;图22是图18的二维多边形利用距离为喷头直径的缩进线的情况;图23是本发明实施例的一种3D打印系统结构示意图;图24是图23中多边形划分单元的一种具体结构示意图;图25是图23中多边形划分单元的另一种具体结构示意图;图26是本发明实施例的另一种3D打印系统结构示意图;图27是本发明实施例的又一种3D打印系统结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。本发明的一个实施例提供了一种3D打印方法,其流程如图1所示,包括:步骤S100,将记录有材质信息的待打印三维模型转换为多层二维多边形,且使每个二维多边形包含所述材质信息。步骤S200,将每层中包含多种材质信息二维多边形划分成若干子二维多边形,使每个所述子二维多边形只包含一种材质信息。步骤S300,控制多个喷头以每个子二维多边形包含的材质信息按层逐个打印所述子二维多边形。本发明的3D打印方法通过将包含多种材质信息的二维多边形按材质划分成若干个只包含同种材质信息的子二维多边形,对每个子二维多边形采用多喷头的Slicer(每种材质对应一个喷头)进行打印,从而实现了多喷头和多材质的3D打印。步骤S100实际是将三维模型切片的过程,切成多层二维多边形,以便逐层打印。本实施例采用支持材质的文件格式,如:3MF、PLY、OBJ或AMF,将材质信息记录在三维模型表面的三角面上(通常三维模型是采用三角面来近似模拟物体的表面),即对三角面增加材质属性。以打印两种材质的三维模型为例,如图2所示,一个立方体由12个三角形组成,其中正面的一个三角形为黑色,其他三角形为白色。将三维模型通过slicing方法转换为二维多边形,由于三维模型的面上带有材质信息,因此需要将材质信息slicing,使每个二维多边形包含材质信息。本实施例的slicing过程中采用所述二维多边形的边上的线段来记录该二维多边形包含的材质信息,对边增加材质属性。切片后,三角面被切成若干层,对应的二维多边形边上记录材质信息的属性与三角面记录的材质属性相同。例如上述立方体将材质信息也同时进行slicing,得到带材质信息的二维多边形。如图3所示,这个立方体被分了20层,每层为一个二维多边形,每个二维多边形如图4所示,至少有一段黑色(较粗的实线表示黑色,较细的实线表示白色)的线段,图4中包括ab和bc两段相邻黑色材质的线段。由于三维模型有多种材质,因此,每个二维多边形可能包含多种材质信息。步骤S200中,将每层中包含多种材质信息二维多边形划分成若干子二维多边形,使每个所述子二维多边形只包含一种材质信息。将二维多边形划分成若干子二维多边形可包括两种方式。方式一的具体步骤如图5所示,包括:步骤S211,生成所述二维多边形的中轴线。本实施例中采用Delaunay、Voronoi或StraightSkeleton(直骨架)方法来生成二维多边形的中轴线,基于Delaunay三角剖分的骨架法和基于Voronoi图(也称泰森多边形图)的构建多边形中轴线的方法很相似,下面分别以Delaunay和StraightSkeleton生成多边形中轴线为例进行说明。如图6所示,为包含两种材质的三维模型切片后的一个二维多边形,其中A(黑色粗线)表示一种材质,B(黑色细线)表示另一种材质。如图7所示,对于Delaunay方法,对二维多边形进行三角剖分,使若干剖分线(图7中虚线所示)与所述二维多边形的边生成三角形网格;连接各个剖分线的中点生成二维多边形的中轴线(Delaunay方法的其他变形中,还可以通过三角形的重心和外心等几何中心的连线生成中轴线均适合于本发明),如图7中二维多边形中间的黑实线所示。如图8、9和10所示,对于StraightSkeleton方法,沿二维多边形的角平分线对所述二维多边形进行缩进。如图9所示,对于凸二维多边形,当两条角平分线相交产生交点后,将两条角平分线进行合并(两条角平分线相交之后,交点处就作为新的一个角,向缩进方向继续同样的操作),形成一个新多边形(如图9中阴影区域所示),对所述新多边形按其角平分线缩进,直到生成二维多边形的中轴线;或对于凹二维多边形,如图10所示,当两条角分线分离不再相交之后,将二维多边形分为多个新多边形(如图10中阴影区域所示),对所述新多边形按其角平分线缩进,直到生成多边形的中轴线。最终形成的中轴线如图8中多边形中间的黑线所示。步骤S212,将包含同种材质信息的线段和中轴线连接,以生成若干以包括所述同种材质信息的线段为一条边的面积最小的封闭的新多边形。如图11和12中黑色粗线所示,分别为基于Delaunay和StraightSkeleton方法得到的包括材质A的新多边形。步骤S213,将包含相同材质信息的新多边形进行布尔并运算,合并具有相邻的相同材质信息的线段且共享至少一条边的多个新多边形,以生成所述子二维多边形。如图13和14所示,分别为基于Delaunay和StraightSkeleton方法合并新多边形后得到的包括材质A的子二维多边形。本实施例中,由于只包括两种材质,因此可以将原多边形与材质A区域多边形进行布尔减运算,得到B的区域,如图15和16所示,分别为基于Delaunay和StraightSkeleton方法合并新多边形后得到的包括材质B的子二维多边形。方式二的具体步骤如图17所示,包括:步骤S221,对所述二维多边形进行缩进,以生成缩进线。生成缩进线的步骤包括:采用StraightSkeleton方法(不限于StraightSkeleton方法)沿所述二维多边形的角平分线对所述二维多边形进行缩进,缩进预定距离后生成缩进线。如图18所示,为包含两种材质的三维模型切片后的另一个二维多边形,其中A(黑色粗线)表示一种材质,B(黑色细线)表示另一种材质。沿二维多边形的角平分线向内缩进,每个一定距离就可以形成一条缩进线,如图18中虚线所示。步骤S222,将包含同种材质信息的线段和缩进线连接,以生成若干以包括所述同种材质信息的线段为一条边的面积最小的封闭的新多边形。如图19中黑色粗线所示,得到的包括材质A的三个新多边形。步骤S223,将包含相同材质信息的新多边形进行布尔并运算,合并具有相邻的相同材质信息的线段且共享至少一条边的多个新多边形,以生成所述子二维多边形。如图20所示,为合并新多边形后得到的包括材质A的子二维多边形。本实施例中,由于只包括两种材质,因此可以将原多边形与材质A区域多边形进行布尔减运算,得到B的区域,如图21所示,为合并新多边形后得到的包括材质B的子二维多边形。步骤S221中,当缩进距离足够大时,则生成多边形的中轴线(即方式一中采用StraightSkeleton生成的中轴线)。另外,在极端情况下,缩进距离为打印喷头的直径时,如图22所示,单色多边形区域为实心区域,无内部填充部分。即缩进距离决定了打印的三维模型的二维多边形面积的大小,因此可根据实际情况来设定缩进距离。本实施例步骤S200中的划分方法也适用于包含同种材质的线段不相邻的情况和有孔的二维多边形。进一步地,在打印时为了减少喷头更换次数,在步骤S200和S300之间还包括将包含相同材质的子二维多边形分为一组,形成若干组同材质的子二维多边形,在打印时,按组打印同层的子二维多边形。更进一步地,在打印完一层后打印下一层时,先打印具有与当前喷头喷出的材质相同材质的子二维多边形,即打印与上一层具有相同材质的子二维多边形,使得层间不用更换喷头。由于喷头从开始挤出材质到稳定,需要一定的距离(这个距离一般很小)。因此,进一步地,打印时选择喷头的起始点和终止点为子二维多边形内的点。使得喷头的不稳定距离尽量在物体内部,当喷头运动到外表面时,已经进入了稳定状态,这样被打印物体外表面具有较好的光滑程度。更进一步地,起始点和终止点为子二维多边形内的第一个点,第一个点即为离表面最远的点,使喷头的获得稳定的距离更长,物体外表面更光滑。本发明还提供了一种3D打印系统,如图23所示,包括:模型转换单元100,用于将记录有材质信息的待打印三维模型转换为多层二维多边形,且使每个二维多边形包含所述材质信息。多边形划分单元200,用于将每层中包含多种材质信息二维多边形划分成若干子二维多边形,使每个所述子二维多边形只包含一种材质信息。打印控制单元300,用于控制多个喷头以每个子二维多边形包含的材质信息按层逐个打印所述子二维多边形。具体地,模型转换单元100中采用所述三维模型表面的三角面记录所述材质信息,且采用所述二维多边形的边上的线段来记录该二维多边形包含的材质信息。具体地,如图24所示,为多边形划分单元200的一种具体实施方式,包括:中轴线生成单元211,用于生成所述二维多边形的中轴线。新多边形生成单元212,用于将包含同种材质信息的线段和中轴线连接,生成若干以包括所述同种材质信息的线段为一条边的面积最小的封闭的新多边形。子多边形生成单元213,用于将包含相同材质信息的新多边形进行布尔并运算,合并具有相邻的相同材质信息的线段且共享至少一条边的多个新多边形,以生成所述子二维多边形。其中,所述中轴线生成单元211包括:三角剖分单元,用于采用Delaunay方法对所述二维多边形进行三角剖分,使若干剖分线与所述二维多边形的边生成三角形网格。剖分线连接单元,用于连接各个所述剖分线的中点生成所述二维多边形的中轴线。中轴线生成单元211还可以具体采用Voronoi图的生成所述二维多边形的中轴线。中轴线生成单元211还可以具体采用StraightSkeleton方法沿所述二维多边形的角平分线对所述二维多边形进行缩进,对于凸二维多边形,当两条角平分线相交产生交点后,将所述两条角平分线进行合并,形成一个新多边形,对所述新多边形按其角平分线缩进,直到生成多边形的中轴线;或对于凹二维多边形,当两条角分线分离不再相交之后,将二维多边形分为多个新多边形,对所述新多边形按其角平分线缩进,直到生成多边形的中轴线。如图25所示,为多边形划分单元200的另一种具体实施方式,包括:缩进线生成单元221,用于对所述二维多边形进行缩进,以生成缩进线。新多边形生成单元222,用于将包含同种材质信息的线段和缩进线连接,生成若干以包括所述同种材质信息的线段为一条边的面积最小的封闭的新多边形。子多边形生成单元223,用于将包含相同材质信息的新多边形进行布尔并运算,合并具有相邻的相同材质信息的线段的多个新多边形,以生成所述子二维多边形。具体地,缩进线生成单元221具体采用StraightSkeleton方法沿所述二维多边形的角平分线对所述二维多边形进行缩进,缩进预定距离后生成所述缩进线。为了减少喷头更换次数,如图26所示,3D打印系统还包括:分组单元400,用于将包含相同材质信息的子二维多边形分为一组,形成若干组子二维多边形,在打印时按组打印同一层的子二维多边形。打印控制单元具体用于在打印完一层的子二维多边形后,打印下一层时先打印具有与当前喷头喷出的材质相同材质的子二维多边形。这样进一步减少喷头更换次数。为了使被打印的3D模型外表面光滑,如图27所示,3D打印系统还包括:选择单元500,用于在打印所述子二维多边形时,选择喷头的起始点和终止点为所述子二维多边形内的点。优选地,选择单元具体将所述起始点和终止点选为所述子二维多边形内的第一个点。应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1