CN115214121A - 用于3d打印机的方法及装置、计算机设备和存储介质 - Google Patents
用于3d打印机的方法及装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115214121A CN115214121A CN202210835226.8A CN202210835226A CN115214121A CN 115214121 A CN115214121 A CN 115214121A CN 202210835226 A CN202210835226 A CN 202210835226A CN 115214121 A CN115214121 A CN 115214121A
- Authority
- CN
- China
- Prior art keywords
- color
- flush
- color space
- amount
- volume
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/10—Processes of additive manufacturing
- B29C64/106—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
- B29C64/118—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using filamentary material being melted, e.g. fused deposition modelling [FDM]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y10/00—Processes of additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
Landscapes
- Chemical & Material Sciences (AREA)
- Engineering & Computer Science (AREA)
- Materials Engineering (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Optics & Photonics (AREA)
Abstract
提供了用于3D打印机的方法、用于3D打印机的装置、计算机设备、存储介质和程序产品。该方法包括:获取与三维模型相关联的切片数据,其中,每层多色切片包括被分配相应不同颜色的多个区域,该多个区域将由具有相应不同颜色的多种材料分别打印;以及针对每层多色切片,确定3D打印机的喷嘴在沿规划路径移动以打印该层多色切片期间,每次从当前颜色材料切换到下一颜色材料所需的冲刷量,其中,该冲刷量被确定以使得在从当前颜色材料切换至下一颜色材料之后,喷嘴移动至规划路径上的多个冲刷区并在多个冲刷区处总共挤出该冲刷量的下一颜色材料,以冲刷喷嘴内残留的当前颜色材料,其中,该冲刷量是基于当前颜色与下一颜色之间的颜色差异而自动确定的。
Description
技术领域
本公开涉及3D打印技术领域,尤其涉及用于3D打印机的方法及装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术
熔融沉积成型(FDM)是指这样的工艺:将丝状材料如热塑性塑料、蜡或金属从加热的喷嘴挤出,并使喷嘴按照预先规划的路径移动,从而以逐层的方式打印出与数字三维模型对应的打印物体。
市面上有些FDM 3D打印机可以实现多材料打印,其中常见的FDM 3D打印机具有“单喷嘴多进料口”的结构。在打印过程中,当需要从料A换到料B时,3D打印机先把料A退出喷嘴,然后再把料B送进喷嘴。在切换材料时可能遇到一个问题,就是料A在喷嘴里还会有一定的残留,使得挤出料B时,前面很长一段挤出丝料都会是料A和料B的混合(本文中也称为“过渡料”)。这在多色打印(料A和料B具有不同颜色)中尤为常见,每次切换材料后挤出的一段丝料都是料A颜色和料B颜色的混色。如果切换材料后直接开始打印过程,这些混色都将被打印到打印物体上,影响外观。
发明内容
根据本公开的一个方面,提供了一种用于3D打印机的方法,包括:获取与三维模型相关联的切片数据,切片数据描述彼此堆叠的多层切片以及3D打印机的喷嘴在打印每层切片时的规划路径,多层切片包括至少一层多色切片,每层多色切片包括被分配相应不同颜色的多个区域,多个区域将由具有相应不同颜色的多种材料分别打印;以及针对每层多色切片,确定3D打印机的喷嘴在沿规划路径移动以打印该层多色切片期间,每次从当前颜色材料切换到下一颜色材料所需的冲刷量,冲刷量被确定以使得在从当前颜色材料切换至下一颜色材料之后,喷嘴移动至规划路径上的多个冲刷区并在多个冲刷区处总共挤出冲刷量的下一颜色材料,以冲刷喷嘴内残留的当前颜色材料,冲刷量是基于当前颜色与下一颜色之间的颜色差异而自动确定的
根据本公开的另一个方面,还提供了一种用于3D打印机的装置,包括:第一模块,用于获取与三维模型相关联的切片数据,切片数据描述彼此堆叠的多层切片以及3D打印机的喷嘴在打印每层切片时的规划路径,多层切片包括至少一层多色切片,每层多色切片包括被分配相应不同颜色的多个区域,多个区域将由具有相应不同颜色的多种材料分别打印;以及第二模块,用于针对每层多色切片,确定3D打印机的喷嘴在沿规划路径移动以打印该层多色切片期间,每次从当前颜色材料切换到下一颜色材料所需的冲刷量,冲刷量被确定以使得在从当前颜色材料切换至下一颜色材料之后,喷嘴移动至规划路径上的多个冲刷区并在多个冲刷区处总共挤出冲刷量的下一颜色材料,以冲刷喷嘴内残留的当前颜色材料,冲刷量是基于当前颜色与下一颜色之间的颜色差异而自动确定的。
根据本公开的又一个方面,还提供了一种计算机设备,包括:处理器;以及存储器,其上存储计算机程序,计算机程序当被处理器执行时实现上述方法的步骤。
根据本公开的又一个方面,还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
根据本公开的又一个方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
根据本公开的一个或多个实施例,针对多色打印的每次材料切换,根据切换前后的材料的不同颜色,自动确定所需的过渡料体积,无需用户在切片软件上手动设置,既可以节省材料、打印时间,又可以降低用户的试错成本。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1示出了根据本公开的一个实施方式的用于3D打印机的方法的流程图;
图2示出了根据本公开的一个实施方式的在图1所示的方法中确定冲刷量的步骤的流程图;
图3示出了根据本公开的一个实施方式的用于3D打印的方法的流程图;
图4示出了根据本公开的一个实施方式的在图3所示的方法中将冲刷量的相应冲刷量份额分配给多个冲刷区的步骤的流程图;
图5示出了根据本公开的一个实施方式的在图4所示的方法中为多个冲刷区分配相应的冲刷量份额的步骤的流程图;
图6示出了根据本公开的另一个实施方式的在图4所示的方法中为多个冲刷区分配相应的冲刷量份额的步骤的流程图;
图7示出了根据本公开的一个实施方式的用于3D打印机的装置的示意图;以及
图8示出了可以被用来实施本文所描述的方法的计算机设备的示例配置。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。附图和描述被认为本质上是示例性的而非限制性的。如本文使用的,术语“冲刷量”和“打印量”都是指从3D打印机的喷嘴挤出的材料量,并且因此可以可互换地使用。应当理解,这样的“冲刷量”或“打印量”是理论设计值,与打印过程中喷嘴的实际挤出量可能存在误差。如本文使用的,术语“基于”应解释为至少部分地基于。
在详细介绍本公开的实施例之前,首先对相关技术中的3D打印切片软件进行简单介绍。切片软件是一种根据数字三维模型来生成用于控制3D打印机的处理器的控制代码(例如,gcode)的软件。市面上常见的切片软件包括诸如Ultimaker Cura和Prusa Slicer等。这些切片软件通常提供图形用户界面,用户在图形用户界面上进行操作,如加载模型文件、设置打印参数等。然后,切片软件将加载的STL、DAE或OBJ格式的三维模型进行切片,得到切片数据,并将切片数据转换成gcode代码串。一般而言,切片软件的切片过程包括以下步骤:
步骤一:模型载入。从外部读入模型数据,将三维模型转换成以切片软件内部的数据结构所表示的三角形组合。
步骤二:分层。所谓的分层就是每隔一定高度用一个XY平面与三维模型相交,形成彼此堆叠的多个切片,层与层之间的距离称为层高。分层本质上就是一个把3D模型转化为一系列2D平面的过程。
步骤三:划分组件。经过分层之后,得到一叠2D平面图形。对每一层的2D平面图形进行标记,标记出外墙、内墙、填充、上下表面、支撑件等等。支撑件也和其他组件一样,可以有外墙、内墙、填充、上下表面。
步骤四:路径生成。在这一步,规划喷嘴在不同的组件中的移动路径。可以为每个组件生成独立的路径,并确定各个组件的打印顺序。
步骤五:gcode生成。生成路径之后,需要将喷嘴的移动路径翻译成可供3D打印机的处理器执行的gcode代码。
为了解决多色打印中的过渡料影响打印物体外观的问题,业内引入了擦料塔。在每次切换材料后,先把过渡料吐到擦料塔上,然后再去打印三维模型。但是,擦料塔的使用依然遗留了一些问题:
问题1.从料A切换到料B,要冲刷多少量的料B才能把喷嘴里残留的料A冲刷干净?
业内现有的方式是用户自己在切片软件的图形用户界面上设置冲刷量。然而,用户很难判断针对切换前后各种不同的颜色组合,具体需要设置多少冲刷量。如果使用切片软件缺省设置的冲刷量,则通常超过一半的材料都消耗在擦料塔上,造成材料浪费。而且,对于一些特殊的颜色切换(例如从黑色切换到白色),缺省冲刷量往往不足以将切换前的材料冲刷干净。
问题2.如何合理规划过渡料的使用以减少浪费?
为了充分利用过渡料,业内提出了把过渡料打印到填充和打印到指定零件(通常是非外观零件)的解决方案,但是这些方案受到某些条件的限制。比如,3D打印过程一般要求先打印外墙后打印填充,这是因为如果先打印填充的话,会造成打印物体外观上出现鬼影(填充与外墙的接触点突出到打印物体的外表面)。这种打印顺序的限制会导致过渡料无法被充分地利用。另外,使用过渡料打印填充和非外观零件也可能导致过渡料的颜色透过外墙而视觉上可见,尤其是如果外墙的颜色比较浅的话。
问题3.如何提高擦料塔打印的稳定性?
擦料塔占据3D打印机的构建空间的一部分,使得构建空间不能全部用于打印目标物体,因此小型的擦料塔是合期望的。然而,小型擦料塔意味着它的底部面积很小,以至于底面与3D打印机的打印平台之间的粘接力不足以应对随擦料塔高度增加而线性增加的切向力矩,容易导致擦料塔晃动甚至侧翻。
本公开的实施例提出了一种用于3D打印机的方法,其可以缓解、减轻或消除上面提到的各种问题中的至少一个。
下面将参照图1对本公开实施例的用于3D打印的方法进行详细描述。图1示出了根据本公开的一个实施方式的用于3D打印的方法100的流程图。该方法100可以由例如切片软件实现。
在步骤101中,获取与三维模型相关联的切片数据。切片数据描述彼此堆叠的多层切片以及3D打印机的喷嘴在打印每层切片时的规划路径。多层切片包括至少一层多色切片,每层多色切片包括被分配相应不同颜色的多个区域,多个区域将由具有相应不同颜色的多种材料分别打印。
在打印多色切片时,在打印完该层切片的一个颜色区域后,将当前颜色的线料退出3D打印机的喷嘴或挤出机,换入下一颜色的线料,继续打印该层切片的下一颜色区域。
在步骤102中,针对每层多色切片,确定3D打印机的喷嘴在沿规划路径移动以打印该层多色切片期间,每次从当前颜色材料切换到下一颜色材料所需的冲刷量。冲刷量被确定以使得在从当前颜色材料切换至下一颜色材料之后,喷嘴移动至规划路径上的多个冲刷区并在多个冲刷区处总共挤出冲刷量的下一颜色材料,以冲刷喷嘴内残留的当前颜色材料。
如下文将详细描述的,冲刷量是基于当前颜色与下一颜色之间的颜色差异而自动确定的。发明人认识到,根据换料前后的不同颜色组合,冲刷喷嘴中残留的上一颜色材料所需的冲刷是不同的。例如,当黑色换成白色时所需要的白色线料的冲刷量与当黑色换成白色时所需要的黑色线料的冲刷量是不同的。因此,需要根据当前颜色与下一颜色之间的颜色差异来确定需要多少下一颜色线料的冲刷量来将残留在喷嘴中的当前颜色线料冲刷干净(问题1)。
图2示出了根据本公开的一个实施方式的在图1所示的方法100中确定冲刷量的步骤102的流程图。步骤102可以包括以下操作。
在步骤201中,计算当前颜色与下一颜色之间的差异度量。
在步骤202中,基于差异度量确定冲刷量,冲刷量与差异度量正相关。
应当理解,两种颜色之间的差异可以有各种不同的度量标准,虽然在下文中描述了一些特定示例,但是这些示例不应视为限制性的,而是示意性的。这些示例的共同点在于,基于当前颜色与下一颜色之间的差异度量来确定冲刷量,使得冲刷量与差异度量正相关。本公开不可能也没必要穷举所有可行的实现方式。
根据一些实施例,差异度量包括当前颜色在第一色彩空间中的亮度分量与下一颜色在第一色彩空间中的亮度分量之间的亮度差异度量,以及当前颜色与下一颜色在第二色彩空间中的距离度量。当下一颜色的亮度分量大于当前颜色的亮度分量时,亮度差异度量对于冲刷量的贡献大于当下一颜色的亮度分量小于当前颜色的亮度分量时对于冲刷量的贡献。
在一个示例中,第一色彩空间和第二色彩空间可以是RGB、CMY、HSV、YUV和HIS中的任意一者,并且第一色彩空间和第二色彩空间可以是相同或不同的色彩空间。发明人认识到,人眼对于暗色(例如黑色)的视觉容忍度相比于亮色(例如白色)或过渡色(例如灰色)更高,因此将亮色线料更换为暗色线料时所需要的冲刷量远远小于将暗色线料更换为亮色线料时所需要的冲刷量。例如,由白色线料换为黑色线料需要100立方毫米的冲刷量,而由黑色线料换为白色线料需要400立方毫米的冲刷量。
下面将具体描述计算当前颜色和下一颜色的差异度量并确定冲刷量的两种示例方法。
方法一根据一些实施例,第一色彩空间为YUV色彩空间,并且第二色彩空间为HSV色彩空间。那么,当前颜色与下一颜色之间的差异度量的计算包括:(1)在YUV色彩空间中,当前颜色与下一颜色的亮度差异度量;(2)在HSV色彩空间中,当前颜色与下一颜色的距离度量。
(1)在YUV色彩空间中,亮度差异度量计算可以包括:
·计算distY=abs(B.y-A.y),distY表示下一颜色与当前颜色在YUV色彩空间中的亮度差异,B.y表示下一颜色在YUV色彩空间中的亮度分量,A.y表示当前颜色在YUV色彩空间中的亮度分量,abs()为取绝对值的函数。
如前所述,由于人眼对于暗色的视觉容忍度相比于亮色或过渡色更高,因此应当使将暗色线料更换为亮色线料(A.y≤B.y)时亮度差异度量对于冲刷量的贡献大于将亮色线料更换为暗色线料(A.y>B.y)时亮度差异度量对于冲刷量的贡献。因此,K1的取值大于K2。在示例中,K1的取值范围为480~640,K2的取值范围为60~120。
(2)在HSV色彩空间中,距离度量的计算可以包括:
·计算当前颜色与下一颜色在HSV色彩空间中的第一距离表示d1和第二距离表示d2。
在HSV空间中存在h(色调)、s(饱和度)以及v(明度)三种分量。颜色A的三个分量为A.h、A.s和A.v,并且颜色B的三个分量B.h、B.s和B.v,其中A.h∈[0,2π),A.s∈[0,1.0],A.v∈[0,1.0]以及B.h∈[0,2π),B.s∈[0,1.0],B.v∈[0,1.0]。在一个示例中,利用h、s和v三种分量来计算当前颜色和下一颜色在HSV色彩空间中的第一距离表示d1和第二距离表示d2:
d1=cos(A.h)*A.s*A.v-cos(B.h)*B.s*B.v
d2=sin(A.h)*A.s*A.v-sin(B.h)*B.s*B.v
可以理解的是,在HSV色彩空间中,还可以采用其他形式的距离表示。
在一个示例中,可以采用以下形式的距离表示:d=||(A.v*A.scos(A.h),vsin(A.h),A.v)-(B.v*B.scos(B.h),B.v*B.ssin(B.h),B.v)||。
在另一个示例中,可以采用以下形式的距离表示:d=||(A.scos(A.h),A.ssin(A.h))-(B.scos(B.h),A.ssin(B.h))||。
在另一个示例中,可以采用以下形式的距离表示:d=||A.h-B.h||。
在另一个示例中,可以采用以下形式的距离表示:d=max(||(A.scos(A.h),A.ssin(A.h))-(B.scos(B.h),A.ssin(B.h))||,|A.v-B.v|)。
distHS表示下一颜色与当前颜色在HSV色彩空间中的距离,max()为取最大值的函数,min()为取最小值的函数,K3、K4和K5为标定系数,K3的取值范围为1~1.6,K4和K5为正小数且二者之和为1,A.v表示当前颜色在HSV色彩空间中的明度分量,B.v表示下一颜色在HSV色彩空间中的明度分量。
·计算hsFlush=K6*distHS,hsFlush为距离度量,K6为标定系数,取值范围为200~250。
在得到当前颜色与下一颜色在HSV色彩空间中的亮度差异度量lumiFlush和距离度量hsFlush后,根据一些实施例,基于差异度量确定冲刷量包括计算 flushVolume为冲刷量,deg为标定系数,取值范围为90°~150°。
方法二根据一些实施例,第一色彩空间为YUV色彩空间,并且第二色彩空间为HSV色彩空间。那么,亮度差异度量的计算包括:(1)在YUV色彩空间中,当前线料颜色与下一线料颜色的亮度差异度量;(2)在HSV色彩空间中,当前线料颜色与下一线料颜色的距离度量。
(1)在YUV色彩空间中,亮度差异度量计算包括:
·计算lumiFactor1=lumiB*K7+K8,lumiFactor1为与下一颜色在YUV色彩空间中的亮度分量相关的调节因子,lumiB为下一颜色在YUV色彩空间中的亮度分量,K7和K8为标定系数,K7的取值范围为2~4,K8的取值范围为0.5~1。
·计算 lumiFactor2为与下一颜色和当前颜色在YUV色彩空间中的亮度差异相关的调节因子,lumiA为当前颜色在YUV色彩空间中的亮度分量,K9和n为标定系数,K9的取值范围为1~2,n的取值范围为1~2。应当理解,YUV色彩空间中的亮度分量lumiA和lumiB的取值范围都是0~1。
如前所述,由于人眼对于暗色的视觉容忍度相比于亮色或过渡色更高,因此应当使将暗色线料更换为亮色线料(lumiB>lumiA)时亮度差异度量对于冲刷量的贡献大于将亮色线料更换为暗色线料(lumiB≤lumiA)时亮度差异度量对于冲刷量的贡献。因此,当lumiB>lumiA时,lumiFactor2被设定为正数,并且当lumiB≤lumiA时,lumiFactor2被设定为0。
(2)在HSV色彩空间中,距离度量的计算包括:
·计算当前颜色与下一颜色在HSV色彩空间中的第一距离表示d1和第二距离表示d2。
如前所述,在HSV色彩空间中,可以采用各种形式的距离表示,在此不再赘述。
·计算d3=A.v-B.v,d3表示当前颜色与下一颜色在HSV色彩空间中的明度差异,A.v表示当前颜色在HSV色彩空间中的明度分量,B.v表示下一颜色在HSV色彩空间中的明度分量。
根据一些实施例,基于差异度量确定冲刷量包括:计算flushVolume=UNIT*(lumiFactor1+lumiFactor2)*colorDist,flushVolume为冲刷量,UNIT为标定系数,取值范围为90~150。
根据一些实施例,差异度量包括当前颜色在第一色彩空间中的亮度分量与下一颜色在第一色彩空间中的亮度分量之间的亮度差异度量,以及当前颜色在第一色彩空间中的色度分量与下一颜色在第一色彩空间中的色度分量之间的色度差异度量。由于人眼对于亮度分量比色度分量更敏感,在确定冲刷量时,亮度差异度量被赋予比色度差异度量的权重更大的权重。
在一个示例中,第一色彩空间可以是RGB、CMY、HSV、YUV和HIS中的任意一者。下面以第一色彩空间是YUV色彩空间为例,说明计算当前颜色和下一颜色的差异度量并确定冲刷量的又一示例方法。
方法三根据一些实施例,第一色彩空间为YUV色彩空间,亮度差异度量的计算包括:(1)在YUV色彩空间中,当前颜色与下一颜色的亮度差异度量;(2)在YUV色彩空间中,当前颜色与下一颜色的色度差异度量。
(1)在YUV色彩空间中,亮度差异度量的计算包括:
·计算colorFactor为用于亮度差异度量的权重,K11和K12为标定系数,K11的取值范围为1.2~2.5,K12的取值范围为0.3~0.8,B.y表示下一颜色在YUV色彩空间中的亮度分量,A.y表示当前颜色在YUV色彩空间中的亮度分量,max()为取最大值的函数。
·计算flushY=colorFactor*log(abs(A.y-B.y)+1),flushY为亮度差异度量,abs()为取绝对值的函数,log()为取对数的函数。
由于人眼对于Y分量(亮度)比色度更敏感,所以在计算flushY时,通过colorFactor系数,来增加Y分量的权重。
(2)在YUV色彩空间中,色度差异度量的计算包括:
·计算flushU=log(abs(A.u-B.u)+1),flushU为当前颜色和下一颜色在YUV色彩空间中的U分量差异度量,A.u表示当前颜色在YUV色彩空间中的U分量,B.u表示下一颜色在YUV色彩空间中的U分量。
·计算flushV=log(abs(colorA.v-colorB.v)+1),flushV为当前颜色和下一颜色在YUV色彩空间中的V分量差异度量,colorA.v表示当前颜色在YUV色彩空间中的V分量,colorB.v表示下一颜色在YUV色彩空间中的V分量。
在得到亮度差异度量flushY、当前颜色和下一颜色在YUV色彩空间中的U分量差异度量flushU以及当前颜色和下一颜色在YUV色彩空间中的V分量差异度量flushV后,根据一些实施例,基于差异度量确定冲刷量包括:计算flushVolume=volumFactor*max(flushY,flushU,flushV),flushVolume为冲刷量,volumFactor为标定系数,取值范围为80~120。
通过上述的示例方法,自动确定了每次执行线料切换时,需要多少新料来将旧料冲刷出喷嘴。由此,防止因冲刷量过小而发生的线料混色的问题,提升了打印质量,同时防止因冲刷量过大而造成线料浪费的问题。
为了更好地利用用来冲刷旧料的新料(过渡料),可以规划使用过渡料的路径以减少浪费(问题2)。
下面将参照图3对本公开实施例的用于3D打印的方法进行详细描述。图3示出了根据本公开的一个实施方式的用于3D打印的方法300的流程图。该方法300可以由例如切片软件实现。
在步骤301中,获取与三维模型相关联的切片数据。
在步骤302中,针对每层多色切片,确定3D打印机的喷嘴在沿规划路径移动以打印该层多色切片期间,每次从当前颜色材料切换到下一颜色材料所需的冲刷量。
步骤301-步骤302与图1所示的步骤101-步骤102相似,因此为了简洁起见,在此不做赘述。
在步骤303中,针对每层多色切片的每次材料切换,将冲刷量的相应冲刷量份额分配给多个冲刷区。步骤303将在后续结合图4进行描述。
在步骤304中,根据切片数据和针对每次材料切换为多个冲刷区分配的相应冲刷量份额,确定每层切片的最终规划路径并生成控制代码,控制代码能够被3D打印机的处理器执行以控制喷嘴沿着最终规划路径移动并逐层打印多层切片。
根据一些实施例,针对每层多色切片,多个冲刷区包括第一位置集合和至少一个第二位置集合,第一位置集合对应于为擦拭喷嘴而需构建的擦料塔,至少一个第二位置集合对应于为打印三维模型的悬垂部分而需构建的至少一个支撑件。
图4示出了根据本公开的一个实施方式的在图3所示的方法300中将冲刷量的相应冲刷量份额分配给多个冲刷区的步骤303的流程图。图4示出的实施方式用于将过渡料挤出在擦料塔上和将过渡料用于打印3维模型的支撑件。与利用过渡料打印填充相比,利用过渡料来打印支撑件在很多情况下可以带来更大的收益。例如,打印过程不受先打印外墙后打印填充的打印顺序限制,也不会导致过渡料的颜色透过外墙而视觉上可见。
如图4所示,步骤303可以包括以下操作。
在步骤401中,获取为该次材料切换确定的冲刷量FlushVoume。
通过例如上述的方法一、方法二或方法三,确定为了冲刷残留在喷嘴中的旧料,需要多少体积的新料来冲刷喷嘴。
在步骤402中,确定为打印至少一个支撑件在该层多色切片中的部分所规划的总打印量SupportVolume以及在打印该层多色切片期间在该次材料切换之前的各次前序换料中已经为打印至少一个支撑件在该层多色切片中的部分所规划的累计打印量FilledVolume。
在步骤403中,基于冲刷量FlushVoume、总打印量SupportVolume和累计打印量FilledVolume,为多个冲刷区分配相应的冲刷量份额。
步骤403将在后续结合图5和图6具体描述。
图5示出了根据本公开的一个实施方式的在图4所示的方法400中为多个冲刷区分配相应的冲刷量份额的步骤403的流程图。图5示出的实施方式用于将过渡料挤出在擦料塔上和将过渡料用于打印3维模型的支撑件。
如图5所示,步骤403可以包括以下操作。
在步骤501中,通过将总打印量SupportVolume减去累计打印量FilledVolume,确定针对该次材料切换,至少一个支撑件所能承担的可用冲刷量SupportAvailable。
SupportAvailable=SupportVolume-FilledVolume。
在步骤502中,将分配给至少一个支撑件的冲刷量份额FlushToSupport设置为等于将冲刷量FlushVolume减去每次材料切换中为擦料塔预留的固定冲刷量MinFlushToTower所得的差值与可用冲刷量SupportAvailable二者中的较小者。
FlushToSupport=min(FlushVolume-MinFlushToTower,SupportAvailable)。
在实践中,由于换料过程往往会导致喷嘴外侧有溢出的料以及在换料后喷嘴内部的熔融材料并不充盈,因此需要使喷嘴在擦料塔上挤出一定体积的过渡料,使得擦料塔将喷嘴擦拭干净,并且喷嘴内部的熔融材料变得充盈。为此,需要设定一个为擦料塔预留的固定冲刷量,记为MinFlushToTower。
在步骤503中,将分配给擦料塔的冲刷量份额FlushToTower设置为等于将冲刷量FlushVoume减去分配给至少一个支撑件的冲刷量份额FlushToSupport所得的差值。
FlushToTower=FlushVoume-FlushToSupport。
在一个示例中,假设当前多色切片的规划路径上存在3个颜色区域:白色区域、黑色区域以及黄色区域,并且打印顺序依次为白色区域、黑色区域以及黄色区域。假设这层切片需要300立方毫米的过渡料来打印支撑件(SupportVolume=300),每次材料切换中为擦料塔预留的固定冲刷量MinFlushToTower是15立方毫米。
在打印白色区域时,假设为打印支撑件在该层多色切片中的部分所规划的累计打印量FilledVolume为0立方毫米,因此支撑件能承担的可用冲刷量SupportAvailable=SupportVolume-FilledVolume,等于300立方毫米。
将白色线料换为黑色线料时,假设根据前文的方法确定由白色线料换为黑色线料所需要的冲刷量FlushVolume是100立方毫米,那么,支撑件能承担的可用冲刷量SupportAvailable等于300立方毫米,并且冲刷量FlushVolume减去每次材料切换中为擦料塔预留的固定冲刷量MinFlushToTower所得的差值是85立方毫米。因此,分配给至少一个支撑件的冲刷量份额FlushToSupport为300立方毫米和85立方毫米中的较小者,即85立方毫米,并且分配给擦料塔的冲刷量份额FlushToTower=FlushVoume-FlushToSupport,等于15立方毫米。
将黑色线料换为黄色线料时,为打印支撑件在该层多色切片中的部分所规划的累计打印量FilledVolume为85立方毫米,因此支撑件能承担的可用冲刷量SupportAvailable=SupportVolume-FilledVolume,等于215立方毫米。假设根据前文的方法确定由黑色线料换为黄色线料所需要的冲刷量FlushVolume是250立方毫米,那么,支撑件能承担的可用冲刷量SupportAvailable等于215立方毫米,并且冲刷量FlushVolume减去每次材料切换中为擦料塔预留的固定冲刷量MinFlushToTower所得的差值是235立方毫米。因此,分配给至少一个支撑件的冲刷量份额FlushToSupport为215立方毫米和235立方毫米中的较小者,即215立方毫米,并且分配给擦料塔的冲刷量份额FlushToTower=FlushVoume-FlushToSupport,等于35立方毫米。
此时,为打印支撑件在该层多色切片中的部分所规划的累计打印量FilledVolume更新为85+215=300立方毫米,并且支撑件能承担的可用冲刷量SupportAvailable等于0立方毫米。可以理解的是,后续在打印该层切片时,如果还需要换料,那么过渡料将全部挤到擦料塔上。
根据一些实施例,针对每层多色切片,多个冲刷区还包括第三位置集合,第三位置集合对应于3D打印机的废料接收容器的废料入口的正上方位置。在这样的实施例中,3D打印机配备有废料接收容器,并且换料过程中产生的一部分过渡料将被挤出到废料接收容器中。这可以减小被打印到3D打印机的打印平台上的擦料塔的占用面积,从而增加3D打印机的打印平台上实际可利用的构建空间。
图6示出了根据本公开的另一个实施方式的在图4所示的方法400中为多个冲刷区分配相应的冲刷量份额的步骤403的流程图。图6示出的实施方式用于将过渡料从废料入口挤入废料接收容器、将过渡料挤在擦料塔上以及将过渡料用于打印3维模型的支撑件。如图6所示,步骤403包括以下操作。
在步骤601中,通过将总打印量SupportVolume减去累计打印量FilledVolume,确定针对该次材料切换,至少一个支撑件所能承担的可用冲刷量SupportAvailable。
SupportAvailable=SupportVolume-FilledVolume。
在步骤602中,将分配给至少一个支撑件的冲刷量份额FlushToSupport设置为等于将冲刷量FlushVolume减去每次材料切换中为擦料塔预留的固定冲刷量MinFlushToTower所得的差值与可用冲刷量SupportAvailable二者中的较小者。
FlushToSupport=min(FlushVolume-MinFlushToTower,SupportAvailable)。
步骤601-步骤602与图5所示的步骤501-步骤502相似,因此为了简洁起见,在此不做赘述。
在步骤603中,将分配给擦料塔的冲刷量份额FlushToTower设置为等于固定冲刷量MinFlushToTower。
FlushToTower=MinFlushToTower。
在步骤604中,将分配给废料接收容器的冲刷量份额FlushToWaste设置为等于将冲刷量FlushVoume减去分配给至少一个支撑件的冲刷量份额FlushToSupport并减去固定冲刷量所得的差值。
FlushToWaste=FlushVoume-FlushToSupport-MinFlushToTower。
在一个示例中,假设当前多色切片的规划路径上存在3个颜色区域:白色区域、黑色区域以及黄色区域,并且打印顺序依次为白色区域、黑色区域以及黄色区域。假设这层切片需要300立方毫米的过渡料来打印支撑件(SupportVolume=300),每次材料切换中为擦料塔预留的固定冲刷量MinFlushToTower是15立方毫米。
在打印白色区域时,假设为打印支撑件在该层多色切片中的部分所规划的累计打印量FilledVolume为0立方毫米,因此支撑件能承担的可用冲刷量SupportAvailable=SupportVolume-FilledVolume,等于300立方毫米。
将白色线料换为黑色线料时,假设根据前文的方法确定由白色线料换为黑色线料所需要的冲刷量FlushVolume是100立方毫米,那么,支撑件能承担的可用冲刷量SupportAvailable等于300立方毫米,并且冲刷量FlushVolume减去每次材料切换中为擦料塔预留的固定冲刷量MinFlushToTower所得的差值85立方毫米。因此,分配给至少一个支撑件的冲刷量份额FlushToSupport为300立方毫米和85立方毫米中的较小者,即85立方毫米,并且分配给擦料塔的冲刷量份额为固定冲刷量MinFlushToTower,等于15立方毫米。分配给废料接收容器的冲刷量份额FlushToWaste=FlushVoume-FlushToSupport-MinFlushToTower,等于0,也即,将没有过渡料挤入废料接收容器。
将黑色线料换为黄色线料时,为打印支撑件在该层多色切片中的部分所规划的累计打印量FilledVolume为85立方毫米,因此支撑件能承担的可用冲刷量SupportAvailable=SupportVolume-FilledVolume,等于215立方毫米。假设根据前文的方法确定由黑色线料换为黄色线料所需要的冲刷量FlushVolume是250立方毫米,那么,支撑件能承担的可用冲刷量SupportAvailable等于215立方毫米,并且冲刷量FlushVolume减去每次材料切换中为擦料塔预留的固定冲刷量MinFlushToTower所得的差值是235立方毫米。因此,分配给至少一个支撑件的冲刷量份额FlushToSupport为215立方毫米和235立方毫米中的较小者,即215立方毫米,并且分配给擦料塔的冲刷量份额FlushToTower为固定冲刷量MinFlushToTower,等于15立方毫米。分配给废料接收容器的冲刷量份额FlushToWaste=FlushVoume-FlushToSupport-MinFlushToTower,等于20立方毫米。
此时,为打印支撑件在该层多色切片中的部分所规划的累计打印量FilledVolume更新为85+215=300立方毫米,并且支撑件能承担的可用冲刷量SupportAvailable等于0立方毫米。可以理解的是,后续在打印该层切片时,如果还需要换料,那么过渡料中的15立方毫米会挤到擦料塔上,其余的过渡料都会挤入废料接收容器。
在实际打印中,打印头(其上安装有喷嘴)先移动到废料接收器并挤出一部分过渡料(如果需要),再移动到擦料塔上方将一部分过渡料挤在擦料塔,最后再用剩余的过渡料打印用于支撑打印物体的支撑件。将理解的是,如果分配给废料接收容器的冲刷量份额FlushToWaste为0,那么为该层切片确定的最终规划路径中可以剔除使打印头移动到废料接收容器的废料入口正上方的那段路径。这样,可以避免打印头的不必要移动,从而节省打印时间。
在实践中,随着打印过程的进行,擦料塔也在不断地升高,这就带来了如何提高擦料塔的稳定性的问题(问题3)。为此,需要合理规划擦料塔的形状和尺寸,也就是规划打印头在打印擦料塔每层切片时的路径,使得擦料塔既占用较小的打印平台表面面积,又保持结构的稳定性。
根据一些实施例,擦料塔为具有正方形水平横截面的柱状体,擦料塔具有高度H,确定每层切片的最终规划路径包括:确定喷嘴在打印擦料塔时的移动路径,以使得擦料塔被打印为具有底面边长edgeLen,底面边长edgeLen满足:
H=factor*edgeLen4,
其中,factor是标定系数,取值范围为0.02~0.05。
可以理解的是,擦料塔可以不仅是正方体,也可以是长方体。
根据一些实施例,擦料塔为具有矩形水平横截面的柱状体,擦料塔具有高度H,确定每层切片的最终规划路径包括:确定喷嘴在打印擦料塔时的移动路径,以使得擦料塔被打印为具有宽度width和深度depth,宽度width和深度depth满足:
H=factorX*width3*depth
H=factorY*width*depth3
其中,factorX和factorY为标定系数,factorX的取值范围为0.02~0.05,factorY的取值范围为0.02~0.05。
在一个示例中,可以将width设定为常数,同时设定对应width的标定系数factorX,对应来确定depth的数值。
在另一个示例中,可以将depth设定为常数,同时设定对应depth的标定系数factorY,对应来确定depth的数值。
在另一个示例中,可以将width与depth设定为具有一定的比例,例如width与depth的比值是2,可以求解width与depth的值。
在实践中,还可以通过在擦料塔的底部添加加固附件(例如裙边)来减少擦料塔的晃动。然而,发明人通过实验发现,裙边的加固作用不太理想。在占据热床相同面积的情况下,相比于添加裙边,添加倒角能够大幅度提高擦料塔的稳定性。
根据一些实施例,确定每层切片的最终规划路径包括:确定喷嘴在打印擦料塔时的移动路径,以使得擦料塔被打印为包括本体部分和环绕本体部分的底部的倒角部分,倒角部分的水平横截面的尺寸随高度的增加而递减至零。
通过规划喷嘴打印擦料塔时的移动路径,可以打印出具有期望形状和尺寸的擦料塔,从而缓解或解决问题3。由此,不但可以增加打印平台上实际可用于摆放打印物体的面积,而且降低了因擦料塔不稳定或倒塌而导致打印失败发生的机率。
本公开还提供了一种用于3D打印的装置700。图7示出了根据本公开的一个实施方式的用于3D打印的装置700的示意图。该装置700包括第一模块710和第二模块720。
第一模块710配置成用于获取与三维模型相关联的切片数据,切片数据描述彼此堆叠的多层切片以及3D打印机的喷嘴在打印每层切片时的规划路径,多层切片包括至少一层多色切片,每层多色切片包括被分配相应不同颜色的多个区域,多个区域将由具有相应不同颜色的多种材料分别打印。
第二模块720配置成用于针对每层多色切片,确定3D打印机的喷嘴在沿规划路径移动以打印该层多色切片期间,每次从当前颜色材料切换到下一颜色材料所需的冲刷量,冲刷量被确定以使得在从当前颜色材料切换至下一颜色材料之后,喷嘴移动至规划路径上的多个冲刷区并在多个冲刷区处总共挤出冲刷量的下一颜色材料,以冲刷喷嘴内残留的当前颜色材料,冲刷量是基于当前颜色与下一颜色之间的颜色差异而自动确定的。
应当理解,图7中所示装置700的各个模块可以与参考图1-6描述的方法中的各个步骤相对应。由此,上面针对方法实施例描述的操作、特征和优点同样适用于装置700及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作(或结合该特定模块一起执行该动作)的另一个组件或模块。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。
根据本公开的一方面,提供了一种计算机设备,其包括存储器、处理器以及存储在存储器上的计算机程序。该处理器被配置为执行计算机程序以实现上文描述的任一方法实施例的步骤。
根据本公开的一方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法实施例的步骤。
根据本公开的一方面,提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法实施例的步骤。
在下文中,结合图8描述这样的计算机设备、非暂态计算机可读存储介质和计算机程序产品的说明性示例。
图8示出了可以被用来实施本文所描述的方法的计算机设备800的示例配置。计算机设备800可以是各种不同类型的设备,例如服务提供商的服务器、与客户端(例如,客户端设备)相关联的设备、片上系统、和/或任何其它合适的计算机设备或计算系统。计算机设备800的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等等。因此,计算机设备800的范围可以从具有大量存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持游戏控制台)。
计算机设备800可以包括能够诸如通过系统总线814或其他适当的连接彼此通信的至少一个处理器802、存储器804、(多个)通信接口806、显示设备808、其他输入/输出(I/O)设备810以及一个或更多大容量存储设备812。
处理器802可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器802可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器802可以被配置成获取并且执行存储在存储器804、大容量存储设备812或者其他计算机可读介质中的计算机可读指令,诸如操作系统816的程序代码、应用程序818的程序代码、其他程序820的程序代码等。
存储器804和大容量存储设备812是用于存储指令的计算机可读存储介质的示例,指令由处理器802执行来实施前面所描述的各种功能。举例来说,存储器804一般可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,大容量存储设备812一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。存储器804和大容量存储设备812在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器802作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
多个程序模块可以存储在大容量存储设备812上。这些程序包括操作系统816、一个或多个应用程序818、其他程序820和程序数据822,并且它们可以被加载到存储器804以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程序逻辑(例如,计算机程序代码或指令):获取单元810、识别单元820、确定单元830、切片单元840、合并单元850、生成单元860、方法200和/或方法500、700、和/或本文描述的另外的实施例。
虽然在图8中被图示成存储在计算机设备800的存储器804中,但是模块816、818、820和822或者其部分可以使用可由计算机设备800访问的任何形式的计算机可读介质来实施。如本文所使用的,“计算机可读介质”至少包括两种类型的计算机可读介质,也就是计算机存储介质和通信介质。
计算机存储介质包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机存储介质包括而不限于RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用盘(DVD)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供计算机设备访问的任何其他非传送介质。
与此相对,通信介质可以在诸如载波或其他传送机制之类的已调数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本文所定义的计算机存储介质不包括通信介质。
计算机设备800还可以包括一个或更多通信接口806,以用于诸如通过网络、直接连接等等与其他设备交换数据,正如前面所讨论的那样。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。通信接口806可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如LAN、电缆等等)和无线网络(例如WLAN、蜂窝、卫星等等)、因特网等等。通信接口806还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
在一些示例中,可以包括诸如监视器之类的显示设备808,以用于向用户显示信息和图像。其他I/O设备810可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
应当理解的是,在本说明书中,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“层高”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系或尺寸为基于附图所示的方位或位置关系或尺寸,使用这些术语仅是为了便于描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,并且因此不能理解为对本公开的保护范围的限制。
此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本公开中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接,还可以是通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
在本公开中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
本说明书提供了能够用于实现本公开的许多不同的实施方式或例子。应当理解的是,这些不同的实施方式或例子完全是示例性的,并且不用于以任何方式限制本公开的保护范围。因此,本公开的保护范围应以所附权利要求所限定的保护范围为准。
Claims (21)
1.一种用于3D打印机的方法,包括:
获取与三维模型相关联的切片数据,其中,所述切片数据描述彼此堆叠的多层切片以及所述3D打印机的喷嘴在打印每层切片时的规划路径,其中,所述多层切片包括至少一层多色切片,每层多色切片包括被分配相应不同颜色的多个区域,所述多个区域将由具有相应不同颜色的多种材料分别打印;以及
针对每层多色切片,确定所述3D打印机的喷嘴在沿所述规划路径移动以打印该层多色切片期间,每次从当前颜色材料切换到下一颜色材料所需的冲刷量,其中,所述冲刷量被确定以使得在从所述当前颜色材料切换至所述下一颜色材料之后,所述喷嘴移动至所述规划路径上的多个冲刷区并在所述多个冲刷区处总共挤出所述冲刷量的所述下一颜色材料,以冲刷所述喷嘴内残留的所述当前颜色材料,其中,所述冲刷量是基于所述当前颜色与所述下一颜色之间的颜色差异而自动确定的。
2.根据权利要求1所述的方法,其中,确定所述冲刷量包括:
计算所述当前颜色与所述下一颜色之间的差异度量;以及
基于所述差异度量确定所述冲刷量,其中,所述冲刷量与所述差异度量正相关。
3.根据权利要求2所述的方法,其中,所述差异度量包括:所述当前颜色在第一色彩空间中的亮度分量与所述下一颜色在所述第一色彩空间中的亮度分量之间的亮度差异度量;以及所述当前颜色与所述下一颜色在第二色彩空间中的距离度量,并且
其中,当所述下一颜色的亮度分量大于所述当前颜色的亮度分量时,所述亮度差异度量对于所述冲刷量的贡献大于当所述下一颜色的亮度分量小于所述当前颜色的亮度分量时对于所述冲刷量的贡献。
4.根据权利要求3所述的方法,其中,所述第一色彩空间为YUV色彩空间,并且所述第二色彩空间为HSV色彩空间,其中,所述亮度差异度量的计算包括:
计算distY=abs(B.y-A.y),其中,distY表示所述下一颜色与所述当前颜色在YUV色彩空间中的亮度差异,B.y表示所述下一颜色在YUV色彩空间中的亮度分量,A.y表示所述当前颜色在YUV色彩空间中的亮度分量,abs()为取绝对值的函数;以及
其中,所述距离度量的计算包括:
计算所述当前颜色与所述下一颜色在HSV色彩空间中的第一距离表示d1和第二距离表示d2;
计算 当A.y>B.y,其中,distHS表示所述下一颜色与所述当前颜色在HSV色彩空间中的距离,max()为取最大值的函数,min()为取最小值的函数,K3、K4和K5为标定系数,K3的取值范围为1~1.6,K4和K5为正小数且二者之和为1,A.v表示所述当前颜色在HSV色彩空间中的明度分量,B.v表示所述下一颜色在HSV色彩空间中的明度分量;以及
计算hsFlush=K6*distHS,其中,hsFlush为所述距离度量,K6为标定系数,取值范围为200~250。
6.根据权利要求3所述的方法,其中,所述第一色彩空间为YUV色彩空间,并且所述第二色彩空间为HSV色彩空间,其中,所述亮度差异度量的计算包括:
计算luniFactor1=lumiB*K7+K8,其中,lumiFactor1为与所述下一颜色在YUV色彩空间中的亮度分量相关的调节因子,lumiB为所述下一颜色在YUV色彩空间中的亮度分量,K7和K8为标定系数,K7的取值范围为2~4,K8的取值范围为0.5~1;以及
计算当lumiB>lumiA,其中,lumiFactor2为与所述下一颜色和所述当前颜色在YUV色彩空间中的亮度差异相关的调节因子,lumiA为所述当前颜色在YUV色彩空间中的亮度分量,K9和n为标定系数,K9的取值范围为1~2,n的取值范围为1~2,并且
其中,所述距离度量的计算包括:
计算所述当前颜色与所述下一颜色在HSV色彩空间中的第一距离表示d1和第二距离表示d2;
计算d3=A.v-B.v,其中,d3表示所述当前颜色与所述下一颜色在HSV色彩空间中的明度差异,A.v表示所述当前颜色在HSV色彩空间中的明度分量,B.v表示所述下一颜色在HSV色彩空间中的明度分量;以及
7.根据权利要求6所述的方法,其中,基于所述差异度量确定所述冲刷量包括:
计算flushVolume=UNIT*(lumiFactor1+lumiFactor2)*colorDist,其中,flushVolume为所述冲刷量,UNIT为标定系数,取值范围为90~150。
8.根据权利要求2所述的方法,其中,所述差异度量包括:所述当前颜色在第一色彩空间中的亮度分量与所述下一颜色在所述第一色彩空间中的亮度分量之间的亮度差异度量;以及所述当前颜色在所述第一色彩空间中的色度分量与所述下一颜色在所述第一色彩空间中的色度分量之间的色度差异度量,并且
其中,在确定所述冲刷量时,所述亮度差异度量被赋予比所述色度差异度量的权重更大的权重。
9.根据权利要求8所述的方法,其中,所述第一色彩空间为YUV色彩空间,其中,所述亮度差异度量的计算包括:
计算其中,colorFactor为用于所述亮度差异度量的权重,K11和K12为标定系数,K11的取值范围为1.2~2.5,K12的取值范围为0.3~0.8,B.y表示所述下一颜色在YUV色彩空间中的亮度分量,A.y表示所述当前颜色在YUV色彩空间中的亮度分量,max()为取最大值的函数;以及
计算flushY=colorFactor*log(abs(A.y-B.y)+1),其中,flushY为所述亮度差异度量,abs()为取绝对值的函数,log()为取对数的函数,并且
其中,所述色度差异度量的计算包括:
计算flushU=log(abs(A.u-B.u)+1),其中,flushU为所述当前颜色和所述下一颜色在YUV色彩空间中的U分量差异度量,A.u表示所述当前颜色在YUV色彩空间中的U分量,B.u表示所述下一颜色在YUV色彩空间中的U分量;以及
计算flushV=log(abs(colorA.v-colorB.v)+1),其中,flushV为所述当前颜色和所述下一颜色在YUV色彩空间中的V分量差异度量,colorA.v表示所述当前颜色在YUV色彩空间中的V分量,colorB.v表示所述下一颜色在YUV色彩空间中的V分量。
10.根据权利要求9所述的方法,其中,基于所述差异度量确定所述冲刷量包括:
计算flushVolume=volumFactor*max(flushY,flushYU,flushV),其中,flushVolume为所述冲刷量,volumFactor为标定系数,取值范围为80~120。
11.根据权利要求1-10中任一项所述的方法,还包括:
针对每层多色切片的每次材料切换,将所述冲刷量的相应冲刷量份额分配给所述多个冲刷区;以及
根据所述切片数据和针对每次材料切换为所述多个冲刷区分配的相应冲刷量份额,确定每层切片的最终规划路径并生成控制代码,所述控制代码能够被所述3D打印机的处理器执行以控制所述喷嘴沿着所述最终规划路径移动并逐层打印所述多层切片。
12.根据权利要求11所述的方法,其中,针对每层多色切片,所述多个冲刷区包括第一位置集合和至少一个第二位置集合,所述第一位置集合对应于为擦拭所述喷嘴而需构建的擦料塔,所述至少一个第二位置集合对应于为打印所述三维模型的悬垂部分而需构建的至少一个支撑件,并且其中,针对每层多色切片的每次材料切换,将所述冲刷量的相应冲刷量份额分配给所述多个冲刷区包括:
获取为该次材料切换确定的所述冲刷量;
确定为打印所述至少一个支撑件在该层多色切片中的部分所规划的总打印量以及在打印该层多色切片期间在该次材料切换之前的各次前序换料中已经为打印所述至少一个支撑件在该层多色切片中的部分所规划的累计打印量;以及
基于所述冲刷量、所述总打印量和所述累计打印量,为所述多个冲刷区分配相应的冲刷量份额。
13.根据权利要求12所述的方法,其中,基于所述冲刷量、所述总打印量和所述累计打印量,为所述多个冲刷区分配相应的冲刷量份额包括:
通过将所述总打印量减去所述累计打印量,确定针对该次材料切换,所述至少一个支撑件所能承担的可用冲刷量;
将分配给所述至少一个支撑件的冲刷量份额设置为等于将所述冲刷量减去每次材料切换中为所述擦料塔预留的固定冲刷量所得的差值与所述可用冲刷量二者中的较小者;以及
将分配给所述擦料塔的冲刷量份额设置为等于将所述冲刷量减去所述分配给所述至少一个支撑件的冲刷量份额所得的差值。
14.根据权利要求12所述的方法,其中,针对每层多色切片,所述多个冲刷区还包括第三位置集合,所述第三位置集合对应于所述3D打印机的废料接收容器的废料入口的正上方位置,并且其中,基于所述冲刷量、所述总打印量和所述累计打印量,为所述多个冲刷区分配相应的冲刷量份额包括:
通过将所述总打印量减去所述累计打印量,确定针对该次材料切换,所述至少一个支撑件所能承担的可用冲刷量;
将分配给所述至少一个支撑件的冲刷量份额设置为等于将所述冲刷量减去每次材料切换中为所述擦料塔预留的固定冲刷量所得的差值与所述可用冲刷量二者中的较小者;
将分配给所述擦料塔的冲刷量份额设置为等于所述固定冲刷量;以及
将分配给所述废料接收容器的冲刷量份额设置为等于将所述冲刷量减去所述分配给所述至少一个支撑件的冲刷量份额并减去所述固定冲刷量所得的差值。
15.根据权利要求12所述的方法,其中,所述擦料塔为具有正方形水平横截面的柱状体,所述擦料塔具有高度H,并且其中,确定每层切片的最终规划路径包括:
确定所述喷嘴在打印所述擦料塔时的移动路径,以使得所述擦料塔被打印为具有底面边长edgeLen,所述底面边长edgeLen满足H=factor*edgeLen4,其中,factor是标定系数,取值范围为0.02~0.05。
16.根据权利要求12所述的方法,其中,所述擦料塔为具有矩形水平横截面的柱状体,所述擦料塔具有高度H,并且其中,确定每层切片的最终规划路径包括:
确定所述喷嘴在打印所述擦料塔时的移动路径,以使得所述擦料塔被打印为具有宽度width和深度depth,所述宽度width和深度depth满足H=factorX*width3*depth和H=factorY*width*depth3,其中,factorX和factorY为标定系数,factorX的取值范围为0.02~0.05,factorY的取值范围为0.02~0.05。
17.根据权利要求12所述的方法,其中,确定每层切片的最终规划路径包括:
确定所述喷嘴在打印所述擦料塔时的移动路径,以使得所述擦料塔被打印为包括本体部分和环绕所述本体部分的底部的倒角部分,所述倒角部分的水平横截面的尺寸随高度的增加而递减至零。
18.一种用于3D打印机的装置,包括:
第一模块,用于获取与三维模型相关联的切片数据,其中,所述切片数据描述彼此堆叠的多层切片以及所述3D打印机的喷嘴在打印每层切片时的规划路径,其中,所述多层切片包括至少一层多色切片,每层多色切片包括被分配相应不同颜色的多个区域,所述多个区域将由具有相应不同颜色的多种材料分别打印;以及
第二模块,用于针对每层多色切片,确定所述3D打印机的喷嘴在沿所述规划路径移动以打印该层多色切片期间,每次从当前颜色材料切换到下一颜色材料所需的冲刷量,其中,所述冲刷量被确定以使得在从所述当前颜色材料切换至所述下一颜色材料之后,所述喷嘴移动至所述规划路径上的多个冲刷区并在所述多个冲刷区处总共挤出所述冲刷量的所述下一颜色材料,以冲刷所述喷嘴内残留的所述当前颜色材料,其中,所述冲刷量是基于所述当前颜色与所述下一颜色之间的颜色差异而自动确定的。
19.一种计算机设备,包括:
处理器;以及
存储器,其上存储计算机程序,其中,所述计算机程序当被所述处理器执行时实现权利要求1至17中任一项所述方法的步骤。
20.一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至17中任一项所述方法的步骤。
21.一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至17中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210835226.8A CN115214121A (zh) | 2022-07-15 | 2022-07-15 | 用于3d打印机的方法及装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210835226.8A CN115214121A (zh) | 2022-07-15 | 2022-07-15 | 用于3d打印机的方法及装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115214121A true CN115214121A (zh) | 2022-10-21 |
Family
ID=83611042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210835226.8A Pending CN115214121A (zh) | 2022-07-15 | 2022-07-15 | 用于3d打印机的方法及装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115214121A (zh) |
-
2022
- 2022-07-15 CN CN202210835226.8A patent/CN115214121A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9833948B2 (en) | 3D printing of colored models on multi-head printers | |
TWI601630B (zh) | 多材料三維模型的列印方法 | |
CN109334011B (zh) | 彩色3d打印方法、打印装置及终端设备 | |
EP3251093B1 (en) | Generating previews of 3d objects | |
US10416656B2 (en) | Control data for production of a three-dimensional object | |
EP3251036B1 (en) | Generating configuration data for the production of a three-dimensional object | |
US10412269B2 (en) | Printer cartridges and memory devices containing compressed multi-dimensional color tables | |
EP3250973B1 (en) | Control data for generation of 3d objects | |
CN107967715B (zh) | 数据处理装置、三维物体创建系统以及数据处理方法 | |
US10326910B2 (en) | Using three-dimensional threshold matrices in the production of three-dimensional objects | |
EP3271807B1 (en) | Processing object part data for a three-dimensional object | |
EP3230809B1 (en) | Method for generating three dimensional object models for an additive manufacturing process | |
US10181217B2 (en) | Data processing apparatus, three dimensional object molding system, and non-transitory computer readable medium | |
EP3231168B1 (en) | Determining halftone schemes for 3d printing | |
US11320802B2 (en) | Method for setting printing properties of a three-dimensional object for additive manufacturing process | |
US20180029297A1 (en) | Processing three-dimensional object data for storage | |
US20160136898A1 (en) | Apparatus and method for control of three dimensional printing | |
WO2016169620A1 (en) | Method for setting printing properties of a three-dimensional object for additive manufacturing process | |
WO2024078267A1 (zh) | 用于3d打印机的方法、计算机设备和存储介质 | |
CN115214121A (zh) | 用于3d打印机的方法及装置、计算机设备和存储介质 | |
WO2018194643A1 (en) | Color mapping resources | |
KR102054929B1 (ko) | 강화 보조벽을 사용하는 3d 인쇄 방법 | |
US20190251405A1 (en) | Dispensing process | |
EP3983223A1 (en) | System and method for selection of a print head of a three-dimensional printer | |
CN117464996A (zh) | 3d打印机的自动续料方法、3d打印机、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |