3D打印中的色彩映射的制作方法

文档序号:14186673阅读:245来源:国知局



背景技术:

通过增材制造工艺生成的三维物体可以以逐层的方式来形成。在增材制造的一个示例中,通过使构建材料层的部分固化来生成物体。在示例中,构建材料可以是粉末、流体或片材的形式。预期的固化和/或物理属性可以通过将试剂打印到构建材料层上来实现。可以将能量施加到该层,并且可以在冷却时使在其上施加有试剂的构建材料聚结并固化。在其他示例中,化学粘合剂可被用于使构建材料固化。在其他示例中,可以通过使用挤压塑料或者喷涂材料作为固化以形成物体的构建材料,来生成三维物体。

生成三维物体的一些打印工艺使用根据三维物体的模型而生成的数据。该数据例如可以对将试剂施加到构建材料的位置、或构建材料自身可以放置的位置及将要放置的数量进行指定。数据可以根据将被打印的物体的三维表示来生成。

附图说明

现在参考附图,通过非限制性示例来描述各示例,其中:

图1是用于对颜色映射资源进行定义的方法的示例的流程图;

图2是用于对体素组合的子集进行确定的方法的示例的流程图;

图3是用于对颜色映射资源进行定义的方法的另一示例的流程图;

图4是用于将物体颜色描述映射到物体生成颜色描述的处理装置的示例的简化示意图;

图5是用于将物体颜色描述映射到物体生成颜色描述的处理装置的另一示例的简化示意图;以及

图6是处理器和计算机可读介质的简化示意图。

具体实施方式

本文描述的一些示例提供了一种用于处理与三维物体有关的数据和/或用于生成可以例如由三维打印系统使用的或者可以在物体生成装置中使用的数据以生成三维物体的装置和方法。在一些示例中,对用于描述具有各种指定物体属性的三维内容的数据进行处理。这些物体属性可以包括外观属性(颜色、透明度、光泽度等)、导电性、密度、孔隙率和/或诸如强度等机械属性。

在本文的一些示例中,三维空间以“体素”即三维像素为特征,其中每个体素占据或表示离散体积。在对三维物体进行数据建模时,给定位置处的体素可以具有至少一个特征。例如,它可以为空,可以具有特定的颜色和/或可以表示特定的材料或特定的物体属性等。物体的体素可以具有相同的形状(例如,立方体或四面体),或者可以在形状和/或尺寸上有所不同。

在一些示例中,打印材料覆盖表示(coveragerepresentation)对打印材料数据进行定义,例如,对打印材料(例如,将被沉积到构建材料层上的试剂或者在一些示例中的构建材料自身)的数量、以及若恰当则对打印材料的组合进行详细设计。在一些示例中,这可以被规定为比例体积覆盖率(proportionalvolumecoverage)(例如,构建材料层的区域的x%应该具有施加于其上的试剂y)。这种打印材料可以与至少一个物体属性相关或者被选择以提供至少一个物体属性,诸如例如颜色、透明度、柔韧性、弹性、刚度、表面粗糙度、孔隙度、导电性、层间强度、密度等。

可以使用半色调(halftoning)技术来确定如控制数据中所指定的每种打印材料(例如,一滴试剂)应被施加的实际位置。

例如,物体模型数据内的一组体素可以具有相关联的打印材料覆盖表示,该打印材料覆盖表示包括一组材料体积覆盖率(mvoc)矢量。在简单情况下,这样的矢量可以表明三维空间的给定区域的x%应具有施加于其上的特定试剂,而(100-x)%应不用试剂。这可以对给定材料的概率分布进行定义。在一些示例中,材料覆盖表示可以包括对特定材料的覆盖的描述。随后,打印材料覆盖表示可以提供用于“半色调”处理的输入,以生成可由物体生成装置用来生成三维物体的控制数据。例如,可以确定,为了产生特定的物体属性,构建材料层(或层的一部分)的25%应具有施加于其上的试剂。半色调处理例如通过对每个位置与在半色调阈值矩阵中提供的阈值进行比较,来确定试剂滴落在哪里,以便提供25%的覆盖率。

图1是用于对颜色映射资源进行定义的方法的示例。该方法包括:在块102中,确定用于物体生成的多个打印材料组合,每个打印材料组合具有关联的颜色。例如,这些材料可以包括构建材料、打印试剂等。在一些示例中,材料组合可用于通过物体生成装置来生成物体,该物体生成装置可以是特定的物体生成装置或者处于特定状态(例如,指示是否存在特定的打印材料的储备)的装置。在一些示例中,物体生成装置可以是至少一种类别或类型的物体生成装置。在一些示例中,打印材料组合可包括可以在任何(例如任意)物体生成装置处可用的预期的材料或打印材料组合或者预期共同的材料或打印材料组合。在一些示例中,可以使用增材制造工艺来执行物体生成。

在块104中,确定多个颜色描述,颜色描述对应于体素组合,体素组合中的体素中的每个体素具有限定的打印材料组合和限定的相对于表面的深度。该组合可以包括表面体素和至少一个次表面或内部的体素。如上所述,体素为或者代表三维空间的区域。如果表面体素至少部分地透明,则内部体素的外观可能会对物体的外观产生影响。因此,其中各组合的构成体素在组合之间产生变化的体素组合可能会导致不同的颜色描述。这反过来可以扩展物体生成装置的色域。可以考虑体素的组合,而不是局限于在单个体素中可实现的颜色,从而给出更大范围的颜色选项。可以预先确定组合中的体素的层数(并且不考虑组合中的更深层的体素)。在一些示例中,该层数可以反映内部体素对外观产生影响(或显着影响)处的体素深度。在一些示例中,当确定将要在组合中考虑的体素层数时,可以考虑较浅体素的不透明度。

在一些示例中,块104可以包括生成具有体素组合的三维物体,并且通过测量(例如色度测量)来确定这些物体的颜色描述。在其他示例中,可以使用所存储的用于对体素组合的色度进行表征的数据或者可以基于色彩理论、体素的透明度等来确定颜色描述,或者可以在先前确定的体素组合与颜色描述间的关系之间进行插值。

在块106中,定义可由三维物体生成装置使用的颜色映射资源。颜色映射资源将颜色描述与打印指令相关联,每个打印指令使得物体生成装置生成与所关联的颜色描述相对应的体素组合。在一些示例中,颜色映射资源可以是查询表或数据库等。打印指令可以包括例如用于生成物体的控制数据,或者可以提供用于生成控制数据的基础。

图2示出用于确定其中体素的可能组合的子集被考虑的多个颜色描述的方法的示例。在这个示例中,可以选择包括具有预定颜色参数的体素组合。

在块202中,定义了内部(即,次表面)体素的子集。该子集的每个成员包括至少一个体素。该子集小于可能的体素集合。通过将内部体素的集合大小降低至子集,可以确定或存储更少的颜色描述和/或映射,从而减少处理或存储器存储。

在示例中,可以将该子集选择为内部体素的子集,在该内部体素的子集中,即内部体素的子集中的每个成员的一个体素、一些或全部体素具有预定的颜色参数。例如,该子集可以包括那些非彩色的体素或体素组合,即包括黑色、白色或灰色的打印材料组合。在一些示例中,考虑了非彩色体素的子集,例如黑色和白色而没有灰色的体素。将内部体素指定为非彩色的(而表面体素可以是彩色的)可以显著扩展可用于打印材料的特定组合的色域,同时还易于实现。在一些示例中,亮度范围可以被扩展,这又可以改善纹理或其他表面细节的对比度性能和/或渲染,这些通常都会受到亮度差异的影响。通过选择非彩色的次表面像素的那些组合,可以减少将要评估的像素的可能组合数,从而相应地减少处理和/或存储器存储。

在一些示例中子集的成员,或者在一些示例中子集内的一个、一些或全部体素可以具有特定(例如,共同)的颜色参数,诸如色调、色域区域(例如,明亮或黑暗)、饱和度等。例如,可以通过亮度来确定色域区域:例如,与色域中较暗的一半相关联的颜色描述可以更容易地以来自该色域的相同一半中的内部体素或体素组合来再现,并且对于与较浅的一半相关联的颜色描述而言也是类似的。在一些示例中,颜色描述的集合可以至少部分地被预先确定,并且可以具体地寻找用于表示那些颜色描述的体素组合。例如,可以旨在通过体素组合来有效地填充色域或其区域。在这样的示例中子集的成员,或者在一些示例中该成员内的一个、一些或全部体素可以具有与颜色描述共同的颜色参数。

在块204中,表面体素与内部体素子集的每个成员相结合。这可以针对表面体素的颜色范围中的每一个颜色来执行。

在一些示例中,表面体素可以被选择为具有预定的颜色参数。在一些示例中,这可以是与颜色描述的颜色共同的参数。共同参数可以是色调:例如,对于与用于表示它们是“红色”的颜色描述相关联的体素组合中的集合之一,内部体素可以包括白色、灰色或黑色体素,并且该集合的成员的表面体素可以包括导致红色颜色的打印材料组合的集合之一。在其他示例中,共同参数可以是色域区域,例如如上所述由亮度来确定。在其他示例中,共同参数可以是饱和度,例如,表面体素可以被选择为具有与该体素组合的预期饱和度相对应的或者在该体素组合的预期饱和度范围内的饱和度。

通过考虑体素组合的子集而非全集,减少了将要评估的组合数,从而减轻了处理负担和/或存储器存储。如上所述,可以基于颜色参数来确定子集的成员资格。在其他示例中,子集的成员资格可以基于色彩理论或模型来确定。例如,用颜色绘制黑色可能不会导致比用黑色绘制颜色体素更有效或更丰富多彩的深色色度,因此,可能无法确定针对具有黑色表面体素与彩色内部体素的组合的颜色描述。作为另一示例,如果一颜色描述旨在位于色域中较深的远处,那么该组合可能至少包含一些黑色,而位于较浅的远处则至少会具有一些白色,反之亦然。在一些示例中,这又允许将体素的一些组合从子集中取消掉选择。

在一些示例中,如上面简要提到的,可以产生和测量使用不同打印材料组合的测试物体。这可以选择性地进行,并且在一些示例中以迭代为基础。在一个示例中,物体生成装置(其可以是特定的物体生成装置或装置类别等)的色域的初始表征可以包括选择色域的区域或初始区域。在一个示例中,物体或物体部分的一个集合具有浅色作为表面体素以及不同内部体素的选择或内部体素的不同组合。还可以生成类似的集合但具有深色的表面体素,并且可以生成具有高色度表面体素的其他集合。在一些示例中,可以根据色域的“色调环”取得一个集合,即,在每个色调处具有最高色度的颜色。根据物体的这些集合,可以识别对色域大小做出贡献的内部体素(或内部体素的组合)。

这可以通过生成与色域的不同区域相对应的测试物体来定义子集,该子集可以与其他表面体素一起用于进一步表征色域。例如,可以在对色域的其他区域进行表征时生成对测试区域上的色域做出贡献的内部体素的那些组合,而其他内部体素/体素组合可以不被包括在测试物体的进一步生成中。因此,在这样的示例中,通过选择在其中多个颜色描述具有内部体素共同组合的体素组合和/或通过选择对色域的大小做出贡献的体素组合,来确定子集。

可以选择针对那些对色域大小做出贡献的体素组合的打印材料组合,以包括在颜色映射资源中。其他组合可以被认为是在色域的凸包的内部,即它们不提供附加的颜色选择,并且在一些示例中可能因此而被丢弃。

在一些示例中,色域可以大致上通过测试来表征,这可以允许确定显式映射。在一些示例中,可以通过内插来确定隐式映射。

图3是定义具有图1中设定的块102和104的颜色映射资源的方法的示例。在块302中,至少一个颜色描述与多个打印指令相关联,打印指令与不同的物体属性相关联。例如,如上所述,可能存在具有导致相似色度的多个打印材料组合的情况。然而,一个这样的组合可以与一组机械属性相关联,该组机械属性例如在物体生成中可能更有用(或者如果考虑特定物体,则更适合于该特定物体)。在一些示例中,可以在颜色映射资源中维持一些或全部组合,并且例如可以在物体生成点之间进行选择。然而,在该示例中,在块304中,与特定物体属性相关联的打印材料组合被包括在颜色映射资源中,而其他的打印材料组合被丢弃,所述特定物体属性例如可以是在三维物体生成中或者在生成至少一个特定物体中被认为是有利的属性。

在此示例中,包括在颜色映射资源中的可能映射的数量通过基于物体属性来减少一些打印材料组合从而被减少。在一些这样的示例中,可以存在限定阈值,该限定阈值与用于确定和/或存储映射的至少一个参数(例如,最小强度、密度等)或参数的组合相关。无论是否具有相似色度,都可以适用这种限定。

在一些示例中,可以在任意基础上导致相似外观的打印材料组合之间进行选择。在一些示例中,可以减少使用更多或更昂贵的打印资源(例如,更多的打印试剂或与更高的能源使用相关联的那些打印资源)的打印材料组合。其他参数或参数的组合可被用于选择。这样的方法可以与图2的方法相结合,以确保颜色映射资源不会过于庞大。

图4是包括接口402和颜色映射器404的处理装置400的示例。

接口402将接收用于表示三维物体的数据406,该数据包括至少一个物体颜色描述408。在一些示例中,物体颜色描述408可以指定至少一个表面颜色,指定物体的至少一部分的预期外观。在一些示例中,数据406包括与物体的几何描述内的多个表面体素中的每个体素相关联的物体颜色描述408。在一些示例中,物体属性描述可以与多个体素中的每个体素相关联。在一些示例中,数据406可以例如包括物体模型数据和物体属性数据。物体颜色描述408可以被提供为物体属性数据的一部分。物体模型数据可以定义模型物体的至少一部分的三维几何模型,其包括三维坐标系统中的物体的全部或部分的形状和范围,例如,物体的实心部分。物体模型数据可以通过计算机辅助设计(cad)应用程序来生成。物体属性数据可以针对将要生成的三维物体来定义至少一个物体属性。在一个示例中,物体属性数据可以包括针对将要生成的物体的至少一部分的颜色、柔性、弹性、刚度、表面粗糙度、孔隙率、层间强度、密度、导电性等中的任意一个或任意组合。物体属性数据可以针对物体的一个部分或多个部分来定义多个物体属性。给定的体素可以具有用于指示物体的一部分是否存在于该位置处的关联数据。物体属性数据可以包括全局和局部的物体属性数据,例如,如在物体属性数据中定义的某些物体属性值可以与用于定义该物体的每个体素相关联,和/或某些物体属性值可以与一组体素(例如,范围从与该物体相关的单别体素至所有体素)相关联。在一个示例中,用于表示三维物体的数据包括三维物体的模型,该三维物体的模型具有在该模型内的每个位置(例如,在每个[x,y,z]坐标)处指定的至少一个物体属性。

颜色映射器404将接收到的物体颜色描述408映射到物体生成颜色描述410,物体生成颜色描述410与体素的预定组合相关联,其中,体素中的每个体素与预定的打印材料组合和相对于物体表面的深度这两者相关联。物体生成颜色描述410包括至少一个打印指令,该打印指令用于使物体生成装置生成体素组合。

在一些示例中,物体生成颜色描述410可以包括至少一个体积覆盖表示,例如至少一个材料体积覆盖(mvoc)矢量。每个mvoc可以包括打印指令。mvoc矢量可以具有多个值,其中每个值定义在三维物体的层的可寻址位置中打印材料中的每种或每个组合的比例。例如,在具有两种可用打印材料(例如,试剂)m1和m2的物体生成装置中,可以将每种打印材料独立地放置在三维物体的层的可寻址区域中,在给定的mvoc矢量中可以有22个(即四个)比例:第一比例,针对m1而不存在m2;第二比例,针对m2而不存在m1;第三比例,针对m1和m2的上沉积(即组合),例如,m2沉积在m1上,或者反之亦然;第四比例,针对不存在m1和m2。在这种情况下,mvoc矢量可以是:[m1,m2,m1m2,z]或者具有示例值[0.2,0.2,0.5,0.1],即,在z切片中的给定[x,y]位置中,20%的m1而不存在m2、20%的m2而不存在m1、50%m1和m2、以及10%的空。由于每个值都是比例,并且这组值表示可用的打印材料组合,所以每个矢量中的值集合总计为1或100%。

例如,对于彩色的试剂,可以确定mvoc矢量以选择试剂组合,该试剂组合用于生成与所供应的物体颜色描述之间的匹配。这样,mvoc矢量可以被用作打印指令,并且可以被使用(直接或者在例如半色调等处理之后)以使物体生成装置生成与相关颜色描述相对应的体素组合。

在这样的示例中,mvocs可以表征用于表面体素的打印材料组合,并且mvocin可以表征用于内部体素n层深度的打印材料组合。

颜色映射器404可以执行映射,其中将例如在任意xyz颜色空间(其可以是与设备无关的颜色空间或诸如那些被称为cie、rgb、srgb、cymk、lab等的任何颜色空间)中可与物体的表面相关的输入物体颜色描述408映射到在本示例中由mvocs的组合所定义的物体生成颜色描述410,如可以由以下表示:

xyz→[mvocs+∑mvocin]

这可以提供一本地三维映射,该本地三维映射从物体颜色描述(其可以是表面颜色)映射到具有明确的深度和朝向内部的变化的材料体积覆盖描述。可能的是,被表征的层数n使得更深的内部区域不被颜色映射器404映射。在这些体素的深度和/或较浅体素的不透明度使得这种体素的视觉影响最小化或不存在的示例中,可能会是这种情况。

在内部体素全部为一种颜色或具有一致布置的示例中,这可以被简化为:

xyz→[mvocs+n×mvoci]

在存在一个内部体素的示例中,该内部体素是单一颜色或者具有由此描述的可变行为,则映射可以被描述为:

xyz→[mvocs+mvoci]

在一些示例中,表面体素和内部体素可以由相同的打印材料组合来表征。

图5是处理装置500的另一示例,其包括如关联图4所描述的接口402和颜色映射器404。在该示例中,处理装置还包括控制数据模块502、打印控制模块504和存储器506。

控制数据模块502从物体生成颜色描述410中生成控制数据508。该数据508可以被直接用来控制物体生成装置以生成物体。在一些示例中,生成控制数据可以包括将半色调应用于物体生成颜色描述410的至少一部分。半色调可以例如包括将打印材料覆盖表示中的值与矩阵内的阈值进行比较,每个阈值表示三维位置(例如,平面中的可寻址像素或体素等),以基于用于表示物体的数据406来生成用于生成三维物体的控制数据。控制数据508例如可以包括针对平面中的像素的一组离散打印材料选择,其中跨平面区域的离散值可以代表在打印材料覆盖表示中设定的比例。

打印控制模块504控制三维物体生成装置,以根据打印指令并且例如使用控制数据508来生成三维物体。在一些示例中,处理装置500可以位于物体生成装置中或者与物体生成装置进行通信。

本示例中的存储器506存储用于将物体颜色描述408与物体生成颜色描述410相关联的颜色映射资源。颜色映射资源可以是如图1-3中的任一个所描述的颜色映射资源,其中物体生成颜色描述410包括至少一个打印指令。

图6示出与计算机可读介质(在该示例中是存储器602)相关联的处理器600。存储器602用于存储由处理器600执行的应用程序所访问的数据。在这个示例中,数据包括用于三维物体生成的颜色映射资源。颜色映射资源包括多个外观描述604a-d与多个打印指令606a-f之间的关联。

在示例中,打印指令606用于使物体生成装置生成当从外部观察点观察时在其至少一部分中具有预定外观的物体。在一些示例中,打印指令606指定将要用于生成多个体素中的每一个体素的打印材料组合,并且进一步指定每个体素相对于将要生成的物体的表面的深度。一次生成以具有指定深度和打印材料组合的多个体素的视觉组合旨在使物体在其至少一部分上具有预定外观。打印指令606在一些示例中可以包括控制数据,或者可以得到处理以提供控制数据。

在一些示例中,对于至少一个外观描述604d,存在与多个打印指令606d-f的关联,其中,针对外观描述与打印指令之间的每个关联,颜色映射资源包括数据608a-c,其包括根据打印指令生成的物体的至少一个物理属性的表示。例如,不同的打印指令可以获得不同的物体强度、不同的密度等。特定的映射可以适合于特定的属性。用于表示物体属性的数据也可以与其他打印指令(包括与外观描述604具有一对一关联的那些指令)相关联地存储。

本公开中的示例可以被提供为方法、系统或机器可读指令,诸如软件、硬件、固件等的任何组合。这种机器可读指令可被包括在其中或其上具有计算机可读程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom,光学存储器等)上。

参考根据本公开的示例的方法、设备和系统的流程图和/或框图来描述本公开。虽然以上描述的流程图显示特定的执行顺序,但执行顺序可以与所描述的不同。关联一个流程图所描述的块可以与另一流程图的那些块相组合。应当理解,流程图和/或框图中的每个流程和/或块、以及流程图和/或框图中的流程和/或图形的组合可以通过机器可读指令来实现。

机器可读指令可以例如由通用计算机、专用计算机、嵌入式处理器或其它可编程数据处理设备的处理器来执行,以实现说明和附图中所描述的功能。具体地,处理器或处理装置(诸如以上描述的处理装置400、500或处理器600等)可以执行机器可读指令。因此,装置和设备的功能模块可以由执行在存储器中存储的机器可读指令的处理器、或者根据嵌入在逻辑电路中的指令进行操作的处理器来实现。术语“处理器”应被广义地解释为包括cpu、处理单元、asic、逻辑单元或可编程门阵列等。方法和功能模块可以全部由单个处理器执行、或者在多个处理器之间分配。

这种机器可读指令还可以存储在计算机可读存储器(例如如上所述的存储器506或502)中,该计算机可读存储器可以引导计算机或其他可编程数据处理设备以特定模式进行操作。

这种机器可读指令还可以被加载到计算机或其他可编程数据处理设备上,使得计算机或其他可编程数据处理设备执行一系列的操作以产生计算机实现的处理,因此在计算机或其他可编程设备上执行的指令可以实现由流程图中的流程和/或框图中的块所指定的功能。

此外,本文的教导可以以计算机软件产品的形式来实现,计算机软件产品被存储在存储介质中并且包括多个指令,该多个指令用于使计算机设备实现本公开的示例中所述的方法。

虽然已经参考某些示例描述了方法、装置和相关方面,但是在不脱离本公开的精神的情况下,可以进行各种修改、改变、省略和替换。因此,旨在所述方法、装置和相关方面仅由所附权利要求及其等同物的范围来限制。应当注意,上述示例用于说明而非限制本文所描述的内容,并且本领域技术人员将能够在不脱离所附权利要求的范围的情况下设计许多备选实现。关联一个示例所描述的特征可以与另一示例的特征相组合。

用语“包括”并不排除存在除了权利要求中所列出的元素之外的元素,“一”或“一个”不排除多个,并且单个处理器或其他单元可以实现权利要求中所述的几个单元的功能。

任何从属权利要求的特征可以与任何独立权利要求或其他从属权利要求的特征相组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1