CN107211071B - 用于生成三维物体的装置、方法和可读介质 - Google Patents
用于生成三维物体的装置、方法和可读介质 Download PDFInfo
- Publication number
- CN107211071B CN107211071B CN201580074435.3A CN201580074435A CN107211071B CN 107211071 B CN107211071 B CN 107211071B CN 201580074435 A CN201580074435 A CN 201580074435A CN 107211071 B CN107211071 B CN 107211071B
- Authority
- CN
- China
- Prior art keywords
- volume
- matrix
- dimension object
- dimensional
- vector
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 31
- 239000011159 matrix material Substances 0.000 claims abstract description 120
- 238000004519 manufacturing process Methods 0.000 claims abstract description 61
- 238000009826 distribution Methods 0.000 claims abstract description 17
- 239000000463 material Substances 0.000 claims description 134
- 239000013598 vector Substances 0.000 claims description 86
- 230000007704 transition Effects 0.000 claims description 48
- 238000000151 deposition Methods 0.000 claims description 31
- 230000008021 deposition Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 24
- 230000007246 mechanism Effects 0.000 claims description 22
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 230000005484 gravity Effects 0.000 claims 1
- 229940050561 matrix product Drugs 0.000 claims 1
- 230000006870 function Effects 0.000 description 24
- 230000006399 behavior Effects 0.000 description 20
- 239000003153 chemical reaction reagent Substances 0.000 description 18
- 230000004927 fusion Effects 0.000 description 17
- 238000003860 storage Methods 0.000 description 15
- 238000002347 injection Methods 0.000 description 11
- 239000007924 injection Substances 0.000 description 11
- 238000010276 construction Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 229920000642 polymer Polymers 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 239000000843 powder Substances 0.000 description 5
- 238000007639 printing Methods 0.000 description 5
- 239000004566 building material Substances 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000010146 3D printing Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004581 coalescence Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 238000007711 solidification Methods 0.000 description 2
- 230000008023 solidification Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- PLXMOAALOJOTIY-FPTXNFDTSA-N Aesculin Natural products OC[C@@H]1[C@@H](O)[C@H](O)[C@@H](O)[C@H](O)[C@H]1Oc2cc3C=CC(=O)Oc3cc2O PLXMOAALOJOTIY-FPTXNFDTSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002844 continuous effect Effects 0.000 description 1
- 239000002552 dosage form Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001125 extrusion Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 239000003112 inhibitor Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000011344 liquid material Substances 0.000 description 1
- 239000006193 liquid solution Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 239000013049 sediment Substances 0.000 description 1
- 238000000110 selective laser sintering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000011343 solid material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
-
- 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
-
- 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
- B33Y50/02—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Manufacturing & Machinery (AREA)
- Materials Engineering (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
Abstract
本文所述的某些实例涉及三维阈值矩阵在三维物体的生产中的使用。在一种情况中,基于结构体积覆盖表示来分配用于半色调的三维矩阵的数据值。在某些描述的情况中,结构体积覆盖表示定义了可用于生产三维物体的至少两个不同结构的概率分布。基于结构体积覆盖表示的数据值,确定至少两个不同结构的凸组合。可以基于所确定的凸组合将数据值分配给三维矩阵。所得到的三维矩阵用于半色调操作以控制三维物体中的结构分布。
Description
技术领域
本发明大体上涉及生成三维物体的装置和生成三维物体的方法。
背景技术
已经提出了生成三维物体的装置(包括通常称为“3D打印机”的那些)作为生产三维物体的潜在便利方式。这些装置通常接收物体模型形式的三维物体的定义。处理该物体模型以指示装置使用至少一种生产材料生产物体。这些生产材料可以包括试剂和粉末基质的组合、加热的聚合物和/或生产材料的液体溶液。物体模型的处理可以在逐层基础上执行。可能期望生产具有至少一种属性(比如颜色、机械和/或结构属性)的三维物体。物体模型的处理可以基于装置类型和/或所实施的生产技术而变化。以三维生成物体呈现出二维打印装置中不存在的许多挑战。
发明内容
在一个实施例中,本发明提供一种生成用于生产三维物体的控制数据的装置,包括:半色调生成器,所述半色调生成器将半色调操作应用于所述三维物体的数字表示,所述半色调生成器被布置来联合三维阈值矩阵处理定义所述三维物体的数据,以输出用于至少一种生产材料的离散材料形成指令;以及矩阵生成器,所述矩阵生成器生成供所述半色调生成器使用的所述三维阈值矩阵,所述矩阵生成器被布置来:获得根据对应于所述三维物体的至少一个体积元素定义的结构体积覆盖表示,所述结构体积覆盖表示包括定义可用于生产所述三维物体的至少两个不同的预定义结构的概率分布的数据值;基于所述结构体积覆盖表示的所述数据值中的至少一个,针对所述至少一个体积元素确定所述至少两个预定义结构的凸组合;以及基于所确定的所述凸组合,将数据值分配给所述三维阈值矩阵的至少一个相应的体积元素。
在另一个实施例中,本发明提供一种生成用于生产三维物体的三维半色调阈值矩阵的方法,包括:获得三维物体的结构体积覆盖表示,所述结构体积覆盖表示包括所述三维物体的至少一个体积的结构体积覆盖矢量,所述结构体积覆盖矢量表示至少两个不同的预定义矩阵的比例体积覆盖;和基于所述至少两个预定义矩阵的权重组合,将半色调阈值分配给所述三维半色调阈值矩阵的相应体积,所述半色调阈值对应于所述预定义矩阵中的至少一个的至少一部分;并且其中所述三维半色调阈值矩阵适用于所述三维物体的物体定义以指示所述三维物体的生产。
在又一个实施例中,本发明提供一种包括用于三维半色调的电子数据结构的非暂时性机器可读介质,所述电子数据结构包括:联合三维空间中的多个坐标定义的数据值,所述坐标是根据x、y和z维度中的网格分辨率来定义的,其中所述数据值包括用于三维半色调操作的阈值,并且代表平行于x和y维度排列的多个z维平面,并且其中至少一个数据值包括确定的空间结构的指示,其中所述确定基于由针对与所述数据值相关联的坐标获得的至少两个不同的预定义空间结构的概率分布权重的至少两个不同的预定义空间结构的凸组合。
附图说明
本公开的各种特征将从下面结合附图的详细描述中变得清楚,该附图通过实例的方式一起图示说明了本公开的特征,并且其中:
图1是示出根据实例的生成用于生产三维物体的控制数据的装置的示意图;
图2是示出根据实例的用于生产三维物体的装置的示意图;
图3是示出根据实例的可用于生成三维阈值矩阵的结构体积覆盖表示的一部分的示意图;
图4是示出根据实例的用于生成三维矩阵的在结构体积覆盖表示的一部分上执行的操作的示意图;
图5是示出根据实例的用于生成三维半色调阈值矩阵的方法的流程图;
图6是示出根据实例的用于生产三维物体的方法的流程图;
图7是示出根据实例的用于三维半色调的电子数据结构的示意图;以及
图8是三维半色调矩阵的实例的图示。
具体实施方式
在生产三维物体时,例如,在所谓的“3D打印”中,控制生成的物体的结构存在挑战。例如,可能期望生产具有各种结构属性的物体,其可能影响生产的物体的材料属性和/或机械属性,或受到生产的物体的材料属性和/或机械属性影响。还期望灵活地控制生产的物体的结构。在某些情况中,可能期望改变物体模型的至少一部分的结构,而不必重新设计或重新生成物体模型。此外,可能期望在物体模型的不同部分的不同预定结构之间产生平滑的受控的过渡。例如,可以为第一物体部分定义第一结构,并且可以为第二物体部分定义第二结构。对于两部分之间的过渡区域,可能期望两种结构的无缝融合。可以理解的是,传统的二维打印不存在这样的考虑。
本文描述的某些实例使得能够生成用于半色调阈值处理操作的三维矩阵。获得结构体积覆盖表示。结构体积覆盖表示关于对应于三维物体的至少一部分的至少一个体积元素来定义。结构体积覆盖表示包括定义可用于生产三维物体的至少两个预定义结构的概率分布的数据值。结构体积覆盖表示可以基于在三维物体的至少两个另外的体积元素的位置之间预定义的过渡函数,例如,结构体积覆盖表示的数据值可以表示根据两个选定位置处的数据值之间的梯度确定的中间值。
在某些描述的实例中,针对至少一个体积元素确定至少两个预定义结构的凸组合。凸组合可以基于结构体积覆盖表示的所述数据值中的至少一个。基于确定的凸组合,然后将半色调值分配给用于半色调阈值操作的三维矩阵的至少一个对应体积元素。半色调值可以指示包括至少一个所述预定义结构的至少一部分的计算结构。因此,这些实例中的三维矩阵由这些分配的半色调值生成。然后(例如,在半色调阈值处理操作中)可以将三维矩阵应用于要生产的物体的数字表示,以生成用于生产物体的控制数据。例如,半色调阈值处理操作的输出可以包括用于增材制造系统的沉积物或材料形成指令。通过控制用于阈值处理的三维矩阵的形式,可以控制三维物体的三维结构。此外,通过基于每个体积元素的可用预定义结构的概率分布生成三维矩阵,可以操作在半色调水平上的平滑结构融合的机构。在这个意义上,“平滑”可以被定义为连续变化或近似于连续变化,例如,其中后续数据值之间的差异低于预定义阈值。此外,通过基于可用的预定义结构的凸组合生成三维矩阵,可以获得与处于各个打印体素的水平的各种预定义结构中的任一种不同的融合结构。这些实例中的机构可以针对整个三维物体,或针对三维物体的至少一个过渡区域操作。过渡区域可以被定义为位于具有不同预定义结构的至少两个物体部分之间的区域。在过渡区域内,在半色调水平上可以获得结构的平滑过渡。
这里描述的某些实例使得能够在不修改物体处理管线的实质部分的情况下生产具有期望的结构的融合的三维物体。这些实例还降低了在物体的设计期间进行特定选择的需要,例如,当物体被送去生产时,所设计的物体的体积或物体模型不需要展现期望的结构的融合。这是通过在设计之后而在生产物体之前(例如,比如当设计的物体作为“3D打印作业”提交时)允许在物体处理管线的阶段进行与物体的结构融合相关联的选择来实现的。因此,可以用各种不同的结构、子结构和/或结构融合体来生产相同的物体。用于物体生产的特定结构融合体可以根据以下中的至少一个而变化:预定义的梯度函数、物体几何以及至少两个预定义结构。在某些情况中,使用基于期望的结构融合体在生产时间或接近生产时间生成的三维矩阵来对指定针对物体的体积(例如体素)的材料使用的物体设计的栅格化版本进行半色调。
图1示出了被布置来生成用于生产三维物体的控制数据的装置100的实例。装置100包括半色调生成器110和矩阵生成器120。半色调生成器110被布置来接收定义三维物体的数据130并输出用于至少一种生产材料的离散指令140。这些可以包括沉积指令,例如用于将至少一种试剂沉积在粉末状基质上或用于沉积挤出的聚合物,和/或材料形成或排列指令,例如,用于引导激光设备加热液体或固体材料的控制指令。为了生成指令140,半色调生成器110可以联合三维阈值矩阵150处理数据130。在某些情况中,这可以包括将数据130的至少一部分与三维阈值矩阵150的对应部分进行比较或等效操作。在一种情况中,半色调生成器110可以使用从对应于数据130的体积的三维阈值矩阵150中的位置读取的半色调阈值对与数据130的体积(比如体素)相关联的材料使用值实施半色调阈值处理操作。在具有双层沉积机构的增材制造系统中,这可以包括“沉积材料”(例如“1”)或“不沉积材料”(例如“0”)的形式的输出沉积指令。例如,如果给定体素的材料使用值为65%,并且读取的半色调阈值为50%,则由于材料使用值高于阈值,可以针对给定的体素输出“1”的沉积指令。这可以作为在对应于给定体素的输出位置处的生产材料的沉积来启动。在某些系统中,输出可以包括针对在生产分辨率下的三维物体的给定体积的材料形成状态的集合中的一种,例如,可使用增材制造系统寻址的输出物体的体积,并且其输出材料状态可以通过系统的选择性动作来修改。
在图1的实例中,矩阵生成器120可以生成供半色调生成器110使用的三维阈值矩阵150。为此,矩阵生成器120可以获得结构体积覆盖表示160。结构体积覆盖表示160参照对应于三维物体的至少一个体积元素来定义。例如,结构体积覆盖表示160可以关于三维物体的数字表示的至少一个体素来定义。此外,结构体积覆盖表示160包括定义可用于生产三维物体的至少两个不同预定义结构的概率分布的数据值。矩阵生成器120可以基于结构体积覆盖表示160的所述数据值中的至少一个来针对至少一个体积元素确定至少两个预定义结构的凸组合。矩阵生成器120还被布置来基于所确定的凸组合,将数据值分配给三维阈值矩阵150的至少一个相应的体积元素。以这种方式,选择三维阈值矩阵150的值,其中三维阈值矩阵150可以通过半色调生成器110施加,以通过控制离散材料形成指令140的生成来实现特定结构。根据离散材料形成指令140由增材制造系统生产的物体因而展现取决于三维阈值矩阵150的值的结构特征。
根据各种实例,至少两个预定义结构160可以包括两个不同的半色调阈值矩阵,例如,至少两个不同的三维阈值矩阵。这些阈值矩阵可以基于以下阈值矩阵中的至少一个:空-聚类矩阵;幅度调制(AM)矩阵,比如聚类-点矩阵;有机晶格型矩阵;以及具有预定义颜色的噪声矩阵,比如具有均匀随机噪声的白噪声矩阵或绿噪声矩阵(例如使用中频噪声分量)。根据一个实例,不同结构可以基于不同单元尺寸的晶格。在一种情况中,每个结构可以通过相应的半色调阈值矩阵的值来实现。在一个实例中,对应于每个结构的半色调阈值矩阵可以各自具有相同的维度和/或尺寸。
在一个实例中,结构体积覆盖表示160可以包括至少一个结构体积覆盖矢量。结构体积覆盖矢量可以具有对应于至少两个不同结构的至少两个矢量分量。在一种情况中,结构体积覆盖矢量可以表示至少两个不同结构矩阵的比例体积覆盖。例如,在简单的情况中,结构体积覆盖矢量可以包括两个矢量分量[S1,S2],其中每个矢量分量是从0到1的概率值(或从0%到100%的百分比)。在这种情况中,S1可以涉及具有给定半色调阈值矩阵SM1的第一结构。类似地,S2可以涉及具有给定半色调阈值矩阵SM2的第二结构。结构体积覆盖矢量可以至少对应于体积元素集合中的第一体积元素,例如,在根据特定三维分辨率下的体素集合中的体素。
在一种情况中,矩阵生成器120可以被布置来基于至少两个不同结构之间的确定的过渡行为来获得结构体积覆盖矢量中的至少两个矢量分量的数据值。可以针对与给定体积元素相关联的位置确定过渡行为。在一个实例中,可以基于在至少两个另外的体积元素的位置之间预定义的过渡函数来确定过渡行为。这些另外的体积元素可以包括三维物体的顶点和/或三维物体的物体属性几何中的特定点,例如具有特定物体属性值的位置。过渡行为可以应用于与每个结构相关联的半色调阈值矩阵的值,例如,如上讨论的SM1和SM2的值。在一种情况中,过渡行为可以表示半色调阈值矩阵的顶点值之间的梯度。根据一个实例,转变行为可以基于给定体积元素的位置与该至少两个另外的体积元素的位置的确定的距离。在一种情况中,过渡行为可以基于相对于至少两个另外的体积元素的集合的重心坐标的集合。在一个实例中,过渡行为可以基于相对于四个另外的体积元素的集合的重心坐标的集合(例如,三维的单形的顶点)。在一些情况中,过渡行为可以例如通过过渡矩阵被明确定义。在其他情况中,过渡行为可以例如,基于立方体的顶点之间的对数或线性过渡函数,在功能上被定义。在本文描述的实例中,实现过渡行为,使得至少两个矢量分量的值是凸的,例如,他们总和归一。
在一种情况中,过渡函数可以应用于与本身指示体积覆盖的至少两个另外的体积元素相关联的数据值。在一种情况中,这可以是仅包括至少两个不同结构矩阵中的一个的结构体积覆盖表示。换句话说,用于至少两个其它体积元素的结构体积覆盖矢量可以指示可用结构中的一个的100%覆盖,以及剩余可用结构的0%覆盖。在一个实例中,一个另外的体积元素的结构体积覆盖矢量可以指示第一可用结构的100%覆盖,并且另一个另外的体积元素的结构体积覆盖矢量可以指示第二可用结构的100%覆盖。因此,至少两个另外的体积元素可以表示极限位置,该极限位置之间存在过渡区域。在每个极限位置,可用结构中的一个可以用100%的体积覆盖来定义。过渡区域中的体积元素可以具有包括至少两个可用结构的非零概率的结构体积覆盖。
在一个实例中,可以将每个结构体积覆盖矢量与本文中称为“体素”的一系列单位体积以与其中将二维图像划分成单位区域(称为“像素”)的方式类似的形式相关联。在一种情况中,可以使用针对体素的高度、宽度和深度的每个具有共同值的立方体体积。在其他情况中,可以自定义单位体积或体素,例如其中单位体积是非立方体的和/或具有彼此不同的高度、宽度和深度的值(尽管每个体素与光栅表示中的其他体素具有相同的高度、宽度和深度)。在某些情况中,单位体积或体素可以是非标准或自定义的三维形状,例如,体素可以基于德洛内(Delaunay)镶嵌(tessellation)(例如填充物体的四面体)或任何其他空间填充多面体。在这种情况中,结构体积覆盖表示可以存储为元组的集合(例如,阵列型结构),其中元组的一个分量表示三维的体素坐标(例如质心或底角),并且元组的另一个分量表示结构体积覆盖矢量。
在一个实施方案中,数据130包括三维物体的至少一个体积的至少一个材料体积覆盖矢量。材料体积覆盖矢量表示可用于用于生产三维物体的增材制造系统的材料的概率分布。在一种情况中,每个矢量表示可用于生产三维物体的材料和所述材料的组合的比例体积覆盖。例如,对于可用于生产三维物体的k个材料和用于所述材料的L个离散材料形成状态,材料覆盖矢量包括Lk个矢量分量,每个矢量分量具有相关联的概率值。在这种情况中,离散沉积指令包括来自L*k个可用指令值的集合的生产指令,在生产分辨率下的每个元素具有用于所述k个材料中的每个的L个材料形成状态指令中的一个。由材料体积覆盖矢量定义的材料和材料组合可以与许多不同的材料类型相关联,该材料类型例如,构造材料、装饰材料、支撑或支架材料、试剂和粉末,包括单独使用材料、联合使用材料和没有任何材料。
为了解释材料体积覆盖矢量的分量,可以考虑简单的实例。在该简单的实例中,装置可以使用两种材料来生成三维物体:M1和M2。这些可以是沉积在基质或压板上的流体构造材料,例如,排出的或喷射的熔融聚合物,或者它们可以包括沉积在至少一层粉末构造材料上的两种可沉积的着色剂。在后一种情况中,在生产的三维物体中,每个“材料”可以对应于可沉积的试剂和粉末构造材料的固化的组合物。在前一种情况中,在生产的三维物体中,每种“材料”可以对应于排出的或喷射的聚合物的凝固的部分。在任何情况中,每个“材料”可以通过增材制造装置沉积以生成输出三维物体的(例如,在生产分辨率下)定义的体积。
在这种简单的实例中,如果增材制造装置可以沉积离散量的每个材料,例如,在二元沉积中,有四种不同的材料组合状态:没有M2的M1的沉积的第一状态;没有M1的M2的沉积的第二状态;M1和M2两者的沉积的第三状态,例如,M2沉积在M1上,或相反情况;以及M1和M2都不存在的第四状态,“空白”(Z)或禁止符(inhibitor)。在这种情况中,材料体积覆盖矢量具有四个矢量分量:[M1,M2,M1M2,Z]。在最后的矢量分量的情况中,“空白”或“Z”可以表示“空”或处理层中不存在材料,例如,如果试剂沉积在构造材料的层上,这可以表明处理层不存在构造材料,即使在已经生产出完整的物体之前才去除构造材料。
在一种情况中,装置100可以被实施为增材制造系统的一部分,例如,可以包括用于“3D打印机”的嵌入式控制器的电子器件或部分。在另一种情况中,装置100的至少一部分可以被实施为存储在非暂时性存储介质上的可执行代码,其包括指令,当由至少一个处理器执行该指令时,使得处理器实施本文所述的装置100的至少一部分功能。该可执行代码另外可以从至少一个易失性或非易失性存储器(比如随机访问存储器、只读存储器和/或硬盘驱动器)访问数据。该至少一个处理器可以形成增材制造系统的部分(例如“3D打印机”的计算模块),和/或可以形成通信地耦合到增材制造系统的计算机设备的部分(例如,台式计算机,其被配置成控制安装在计算机设备上的“3D打印机”和/或“3D打印驱动程序”)。在一种情况中,计算机设备可以包括通信地耦合到增材制造系统的服务器;例如用户可以从移动计算设备提交定义三维物体的数据130,用于被“云中”的装置100进行处理,然后装置100可以经由网络通信通道将材料形成指令140发送到增材制造系统。在一种情况中,装置100的至少一部分可以被实施为至少一个专用集成电路(ASIC)。ASIC可以是标准的,完全自定义的或部分自定义的。在一个实例中,ASIC可以具有结构化设计。ASIC可以包括至少一个微处理器和/或至少一个存储块。在另一实例中,ASIC可以包括至少一个门阵列,例如,现场可编程门阵列。现场可编程门阵列可以包括可编程逻辑块的阵列和可重构互连的等级。在某些实例中,可编程逻辑块的阵列可以包括存储元件,例如,触发器。在一个实例中,ASIC可以被布置来接收定义三维物体的数据130。根据一个实例,ASIC可以通信地耦合到至少一个中央处理单元。数据130可以被至少一个中央处理单元访问。至少一个中央处理单元可以包括通用中央处理单元和特定用途中央处理单元中的至少一个。根据某些实例,ASIC和/或中央处理单元可以被布置来操作半色调生成器110和矩阵生成器120中的至少一个。
现在将参考图2描述根据材料形成指令140被布置来生产三维物体的装置的实例。图2示出了被布置来生产三维物体260的装置200的实例。装置200可以接收三维物体的数据210,其可以包括如下所述的材料形成指令140。在一种情况中,装置200的至少一部分可以被实施为存储在非暂时性存储介质上的可执行代码,其包括指令,当由至少一个处理器执行该指令时,使得处理器实施本文所述的装置200的至少一部分的功能。为了更好地理解本描述的实例,示出和描述装置200;不同形式的和/或使用不同技术的其他装置可以可替换地与本文所述的结构体积覆盖表示一起使用。
在图2中,装置200包括沉积控制器220和存储器225。沉积控制器220可以包括形成嵌入式计算设备的部分的至少一个处理器(例如,适用于控制增材制造系统)。存储器225可以包括易失性和/或非易失性存储器,例如,非暂时性存储介质,其被布置来存储计算机程序代码(例如,以固件的形式)。固件可以包括机器可读指令和/或包括用于至少一个处理器的指令的可执行代码。沉积控制器220通信地耦合到被布置来构造三维物体的装置的各方面。这些包括沉积机构230。沉积机构230可以沉积生产材料以生成三维物体。在本情况中,沉积机构包括基质供给机构235和试剂喷射机构240、245。在其他情况中,沉积机构230可以包括较少的或附加的部件,例如,基质供给机构可以与试剂喷射机构分开提供或省略,或者其他部件,例如,沉积机构230可以包括聚合物提取机构。在图2的示意性实例中,试剂喷射机构240、245包括两个部件:用于供给第一试剂(例如上述材料M1)的第一部件240和用于供给第二试剂(例如上述材料M2)的第二部件245。为了方便解释,在该实例中呈现了两种材料,但是可以供给任何数量的材料。描述试剂形式的类似材料仅为举例。基质供给机构235可以供给至少一个基质层,在该基质层上,由试剂喷射机构240、245沉积可用于生产的材料,以生产三维物体260。在本情况中,材料包括施加到粉末基质的试剂,其中在固化过程之后,试剂和粉末的结合形成物体的部分。然而,其他实施方案是可能的,例如,材料可以被沉积以形成物体的部分,例如,按照上面讨论的聚合物的情况。在图2的实例中,在压板250上逐层构造三维物体260。图2所示的方面和部件的布置不是限制性的;每个装置的精确布置将根据实施的生产技术和装置的模型而变化。
在图2的实例中,沉积控制器220被配置为处理和/或以其他方式使用数据210来控制沉积机构230的至少一个部件。沉积控制器220可以控制至少一个基质供给机构235和试剂喷射机构240、245。例如,数据140中的离散材料形成指令可由沉积控制器220用于控制试剂喷射机构内的喷嘴。在一个实施方案中,装置200可以被布置来使用分别由试剂喷射机构240、245的部件供给的聚结剂和聚结改性剂。这些试剂允许三维物体具有变化的材料属性。它们可以与至少一种着色的粉末状基质材料组合,例如,使用喷墨机构施加来沉积粉末层,以生成具有变化的材料属性的多色物体。如果多种粉末状基质材料是可用的,则在某些情况中,它们也可以形成材料体积覆盖矢量的“材料”的部分。在这些情况中,可以通过至少将聚结剂和聚结改性剂沉积在基质材料层(例如,粉末层或形成z平面切片的其他材料的层)上来构建生成的物体,然后施加能量以使材料结合(例如,红外或紫外光)。例如,基质供给机构235和试剂喷射机构240、245中的至少一个(例如,在x,y和z方向中的至少一个上(其中y轴垂直于图2的纸张))相对于压板250可以是可移动的。基质供给机构235、试剂喷射机构240、245和压板250中的至少一个在沉积控制器220的控制下是可移动的,以达到该目的。此外,至少一种油墨也可以沉积在固化的和/或未固化的层上,其中该油墨还形成材料体积覆盖矢量的“材料”的部分。在其他实施方案中,除了别的之外,装置可以包括选择性激光烧结系统、立体光刻系统、喷墨系统、熔融沉积建模系统、任何三维打印系统、喷墨沉积系统和层压物体制造系统的部分。这些包括直接沉积材料的装置,而不是描述的使用各种试剂的装置。
在一种情况中,装置100和沉积控制器220的功能可以组合在一个嵌入式系统中,该嵌入式系统可以接收定义三维物体的数据130,或可用于生产该三维物体的数据,并且因此控制装置200。对于可以接收数据210的“独立”的装置可能也是这种情况(例如,通过物理传输和/或通过网络),并生产物体。例如,该装置可以通信地耦合到计算机设备,该计算机设备可以以二维打印机的方式将包括物体定义130的“打印作业”或可用于生产物体定义130的数据发送到装置。
图3示意性地示出根据实例的三维物体的体积的结构体积覆盖矢量的表示300。对于体积,多个独立的预定义结构表示是可用的,至少包括第一结构表示310和第二结构表示320。另外的结构表示可以额外地是可用的,直至且包括第N结构表示330。在一个情况中,每个可用的结构表示可以具有用于给定体积的半色调操作的相应概率。在这种情况中,相应的概率由值a1、a2、……、aN给出。例如,结构表示可以体现在特定的半色调阈值矩阵中。在图3的实例中,可以存在N个不同的半色调阈值矩阵。在这种情况中,值a1表示使用第一结构表示310的概率;值a2表示使用第二结构表示320的概率;等等,直至值aN表示使用第N结构表示330的概率。每个结构表示可以是独立的,例如可以被存储为包括阈值的单独的数据结构。换言之,a1、a2、……、aN可以是指示在半色调操作期间要由相应的结构表示中的每个来表示给定体积的比例的值。值a1、a2、……、aN中的至少一个可以组合以形成结构体积覆盖矢量340的至少部分,例如,如果所有其他值都为零,则可能只使用一个值。在一个实例中,所有值a1、a2、……、aN可以组合以形成结构体积覆盖矢量340。形成结构体积覆盖矢量340的部分的值a1、a2、……、aN可以总和归一。在一个实例中,值a1、a2、……、aN可以从可以被连续表示的概率分布导出。在另外的实例中,可以基于预定义的过渡函数来确定值a1、a2、……、aN。根据某些实例,结构体积覆盖矢量340可以表示连续概率分布,例如,通过特定的量化值。
根据图3所示的实例,结构体积覆盖矢量340形成结构体积覆盖表示350的至少部分。在一个实例中,结构体积覆盖表示可以包括单个结构体积覆盖矢量340。在另一个实例中,结构体积覆盖表示可以包括多个结构体积覆盖矢量340。形成结构体积覆盖表示350的部分的结构体积覆盖矢量340的数量可以对应于针对三维物体定义的体积的数量。例如,可以针对三维物体的栅格化数字表示中的多个体素中的每个定义结构体积覆盖矢量。在另一种情况中,可以关于三维物体的相应的多个体积来定义多个结构体积覆盖矢量(例如,表示三维物体的不同部分)。后一种情况中的体积元素然后可以被几何定义,例如,作为由多个点包围的体积。根据一个实例,除了至少一个结构体积覆盖矢量340之外,结构体积覆盖表示350可以包括其他信息、数据和/或表示。
图4示出操作400的示意图,根据实例,在结构体积覆盖表示410的一部分上实施该操作400以生成三维矩阵。结构体积覆盖表示410包括用于给定体积的至少一个结构体积覆盖矢量420。该体积可以联合三维空间中的多个坐标被定义。可以根据x、y和z维度中的网格分辨率来定义坐标,例如,可以包括根据x、y和z维度中的每个中的预定分辨率或离散值的集合定义的体积的中心或角。如根据图3所示的实例所描述的,结构体积覆盖矢量420具有N个分量,每个分量对应于与N个结构矩阵中的一个相关联的概率ai。结构体积覆盖矢量420由矩阵生成器430获得。在本实例中,矩阵生成器430确定至少两个结构矩阵的凸组合。基于所述凸组合,将值440分配给三维矩阵。值440可以对应于针对给定体积计算的结构,该计算的结构包括所述结构矩阵中的一个的至少一部分。
在某些实例中,可以将值分配给通过矩阵生成器430获得的针对每个结构体积覆盖矢量的三维矩阵,例如,所得的三维半色调阈值矩阵(比如图1中的150)可以以与结构体积覆盖表示相同的分辨率来生产。在其他情况中,所得的三维半色调阈值矩阵可以以与结构体积覆盖表示不同的分辨率来生成,例如,通过将基于单个结构体积覆盖矢量生成的值映射到所得的三维半色调阈值矩阵中的多个体积,或通过将多个结构体积覆盖矢量的值组合。
图5示出了根据实例的生成用于生产三维物体的三维半色调阈值矩阵的方法500。该方法可以通过以下被应用:装置100和沉积控制器220中的任一个、另一个增材制造系统或被布置来控制增材制造系统的计算机设备。在框510中,获得三维物体的结构体积覆盖表示。结构体积覆盖表示包括三维物体的至少一个体积的结构体积覆盖矢量。结构体积覆盖矢量表示至少两个不同的预定义结构矩阵的比例体积覆盖。在框520处,将半色调阈值分配给三维半色调阈值矩阵的相应体积。半色调阈值对应于至少一个所述预定义结构矩阵的至少一部分。基于至少两个预定义的结构矩阵的权重组合来分配半色调阈值。该权重组合可以是上述凸组合,例如,其中应用的所有权重总和归一。来自方法500的所得的三维半色调阈值矩阵适用于三维物体的至少一部分的物体定义,以指示生产三维物体的至少一部分,例如,通过对三维物体的至少一部分的数字物体表示进行半色调。特别地,分配的半色调阈值可以用于应用到三维物体的层对应的数字表示的一部分。
在一种情况中,方法500包括针对三维物体的至少该部分获得上述数字表示;使用三维半色调阈值矩阵对数字表示进行半色调以生成用于生产三维物体的至少该部分的控制数据;以及使用生成的控制数据在增材制造系统上生产三维物体的至少该部分。在这种情况中,半色调可以在设计阶段之后而在打印阶段之前实施,例如,在生产处理管线接近末尾或后期。此外,可以针对不同的期望结构、子结构和/或结构融合体差异地生成三维半色调阈值矩阵,而无需修改三维物体的数字表示。这使得三维物体的设计具有灵活性,并且使得能够在接近生产时间进行结构选择。在一种情况中,方法500的至少一部分可以由存储在非暂时性存储介质上的可执行代码来实施,其包括指令,当至少一个处理器执行该指令时,使得处理器实施本文所述的方法500的至少一部分。在另一种情况中,方法500的至少一部分可以由至少一个ASIC实施。ASIC可以是标准的,完全自定义的或部分自定义的。在一个实例中,ASIC可以具有结构化设计。ASIC可以包括至少一个微处理器和/或至少一个存储块。在另一实例中,ASIC可以包括至少一个门阵列,例如,现场可编程门阵列。现场可编程门阵列可以包括可编程逻辑块的阵列和可重构互连的等级。在某些实例中,可编程逻辑块的阵列可以包括存储元件,例如触发器。在一个实例中,ASIC可以被布置来在框510处获得结构体积覆盖表示。根据一个实例,ASIC可以通信地耦合到至少一个中央处理单元。在框520处可以由至少一个中央处理单元分配半色调阈值。该至少一个中央处理单元可以包括通用中央处理单元和特定用途中央处理单元中的至少一个。
图6示出了根据实例的生成用于生产三维物体的三维半色调阈值矩阵的方法600。该方法可以通过以下被应用:装置100和沉积控制器220中的任一个、另一个增材制造系统或被布置来控制增材制造系统的计算机设备。该方法从三维物体的数字表示开始,例如,这可以在预处理步骤中获得。数字表示可以包括三维物体的至少一个体积的至少一个材料体积覆盖矢量或另一种材料使用定义。在框610处,选择三维物体的给定体积,并且获得针对给定体积的局部过渡行为。在一种情况中,可以针对数字表示的每个定义的体积(例如,针对每个输入体素)重复框610至640。在一个实例中,局部过渡行为可以基于来自过渡矩阵的至少一个值。根据另一个实例,局部过渡行为可以基于预定义的过渡函数。该函数可以体现在计算机程序代码和/或处理电子器件中,该电子器件被选择性地应用于包括矩阵值的数据。预定义的过渡函数可以在至少两个另外的体积的位置之间(例如,在物体的三维空间中的至少两个点之间)被预定义。在一个实例中,预定义的过渡函数可以是对数函数、多项式函数或指数函数。在另一个实例中,预定义的过渡函数可以是各种函数的组合。在某些实例中,局部过渡行为可以基于空间镶嵌。在一个这样的实例中,局部过渡行为可以基于具有线性四面体内插的空间镶嵌。在某些情况中,局部过渡行为可以包括应用特定的计算机程序代码和/或处理电子器件。
在框620处,针对三维物体获得结构体积覆盖表示。结构体积覆盖表示可以基于在框610处获得的所获得的局部过渡行为。例如,可以针对多个体素中的每个获得局部过渡行为,并且这可以用于生成针对多个体素中的每个的结构体积覆盖矢量(“SVoc”)值。在图6的实例中,在框620处获得的结构体积覆盖表示可以基于针对特定给定体积确定的相对于至少两个另外的体积的集合的重心坐标的集合,即三维空间中的位置。在一个实例中,结构体积覆盖表示可以基于相对于四个另外的体积的集合的针对给定体积确定的重心坐标的集合。四个另外的体积可以代表三维单形的顶点。在另一个实例中,另外的体积可以代表相对于三维单形的顶点的面和/或边。结构体积覆盖表示包括用于至少一个体积的表示至少两个不同矩阵的比例体积覆盖的结构体积覆盖矢量SVoc。在一个实例中,结构体积覆盖矢量可以包括指示概率的数据值的集合,每个概率对应于可用于用于生产三维物体的半色调操作的至少两个结构阈值矩阵中的一个。在一种情况中,可以基于至少两个另外的体积上的至少两个不同结构矩阵的值之间的梯度来生成结构体积覆盖矢量的值。换句话说,至少两个另外的体积可以被认为是结构绝对体,其之间存在过渡区域。例如,如果有代表四个不同可用结构的四个结构矩阵(SMi),并且局部过渡行为被定义为具有线性四面体内插的空间镶嵌(例如,在每个结构矩阵中定义的顶点和/或点之间),那么,对于位置[x,y,z],可以将结构体积覆盖矢量计算为结构镶嵌中的重心坐标[a1,a2,a3,a4],使得结构体积覆盖矢量的分量的值为[S1:a1,S2:a2,S3:a3,S4:a4],其中分量S1至S4与各个矩阵SM1至SM4相关。
结构镶嵌可以被认为是其顶点具有相关联的结构矩阵的空间位置的几何镶嵌。对于一个说明性的实例,有两个结构矩阵SM1和SM2应用于立方体物体上。在八个立方体顶点中的每个处,两个结构矩阵中的一个可以被明确地定义为具有100%的覆盖(或100%概率)。例如,在顶点[0 0 0]、[0 1 0]、[1 0 0]和[1 1 0](例如立方体的底面)上SM1可以具有100%的覆盖,并且在顶点[0 0 1]、[0 1 1]、[1 0 1]和[1 1 1](例如立方体的顶面)上SM2可以具有100%的覆盖。针对该空间可以生成德洛内镶嵌,创建结构化镶嵌(例如四面体化),其中在每种情况中,至少一个顶点与其他三个顶点不同。例如,可以生成四面体,使得[0 0 0]、[1 0 0]、[1 0 1]和[1 1 0]是其顶点,在这种情况中,三个顶点使用SM1,且一个使用SM2。可以借助于重心坐标来计算上述结构镶嵌(例如四面体)内的任何点,这将影响对物体进行半色调的SM1和SM2的各自的覆盖。换句话说,结构镶嵌可以被认为是定义结构体积覆盖的位置的几何镶嵌,以便可以借助于插值来计算中间结构体积覆盖。
在框630处,确定至少两个结构矩阵的凸组合,以确定用于三维半色调阈值矩阵的值。凸组合基于用于至少一个体积的结构体积覆盖矢量。在一个实例中,结构体积覆盖矢量的至少一个数据值可以用作凸组合中的至少一个矩阵的权重。例如,有两个可用的矩阵SM1和SM2,每个矩阵具有不同的半色调阈值。在一种情况中,矩阵的这些半色调阈值可以关于给定的点的集合(例如,立方体的顶点)来定义。给定体积可以通过坐标c=[xc,yc,zc]来定义。给定体积的结构体积覆盖矢量可以表示为[S1:a1,S2:a2]c,其中a1和a2可以分别指示与使用SM1和SM2相关联的概率,并且S1和S2可以意指不同的矢量分量。a1和a2可以基于相对于至少两个另外的体积和/或位置的给定体积的重心坐标的集合,其中的每个可以与矩阵SM1和SM2中的至少一个相关联。在一种情况中,a1可以基于相对于与SM1相关联的体积和/或位置的重心坐标,并且a2可以基于相对于与SM2相关联的体积和/或位置的重心坐标。在这种情况中,a1和a2是凸的,也就是说,它们总和归一。因此它们可以表示凸权重。在这种情况中,给定的体积(例如在与坐标相对应的位置)的计算结构SC[xc,yc,zc]的值可以表示为SC[xc,yc,zc]=a1*SM1[xc,yc,zc]+a2*SM2[xc,yc,zc],即坐标[xc,yc,zc]处的可用矩阵SM1和SM2的半色调阈值的权重组合,其中a1和a2为凸权重。在更一般的情况中,对于N个可用的结构矩阵,由坐标[xc,yc,zc]定义的给定体积的结构体积覆盖矢量可以表示为[S1:a1,S2:a2,S3:a3,...,SN:aN]c,其中a1、a2、a3、……aN可以分别表示与使用SM1、SM2、SM3、……SMN相关联的概率。在这种情况中,a1、a2、a3、……aN可以是凸的,也就是说,它们总和归一。给定体积的计算结构SC可以更一般地表示为SC[xc,yc,zc]=a1*SM1[xc,yc,zc]+a2*SM2[xc,yc,zc]+a3*SM3[xc,yc,zc]+...+aN*SMN[xc,yc,zc],即坐标[xc,yc,zc]处的可用的结构矩阵SM1、SM2、SM3、……SMN的半色调阈值的权重组合。权重组合SC[xc,yc,zc]可以是与SM1[xc,yc,zc]、SM2[xc,yc,zc]、SM3[xc,yc,zc]、……、SMN[xc,yc,zc]在相同范围内的值,条件是值a1、a2、a3、……aN是凸的。在一种情况中,相同的范围可以在0和4095之间,例如,针对12位矩阵。
在框640处,将半色调阈值分配给三维半色调阈值矩阵的体积。半色调阈值基于在框630处实施的凸组合,并且对应于体积的计算结构SC[xc,yc,zc]。因此,半色调阈值可以指示可用结构矩阵中的至少一个的至少一部分。例如,让给定体积的结构体积覆盖矢量表示为[S1:0.5,S2:0.5]。该结构体积覆盖矢量的凸组合可以导致半色调阈值,其在坐标[xc,yc,zc]处指示来自矩阵SM1和SM2两者的等权重阈值分量。如果在坐标[xc,yc,zc]处的SM1和SM2的阈值分量不相等,则所得到的半色调阈值可能不同于如果针对给定体积选择和/或单独使用SM1或SM2所得到的半色调阈值。三维半色调阈值矩阵的所述体积可以对应于与在框630处用于凸组合的结构体积覆盖矢量相关联的体积,例如,可以通过两个矩阵中的坐标[xc,yc,zc]定义体积。
可以针对多个体素(例如,针对多个坐标)中的每个重复框610至640,以生成具有针对每个体素的阈值的完整三维半色调阈值矩阵。在本实例中,在框650处,使用基于分配在框640中的半色调阈值生成的三维半色调阈值矩阵对三维物体的数字表示进行半色调。半色调操作生成用于生产三维物体的控制数据。在框660处,使用所生成的控制数据在增材制造系统上生产三维物体。
在一种情况中,三维物体的数字表示可以至少从以基于矢量的格式接收的三维物体模型数据(例如,来自立体光刻“.stl”文件的数据)得出。在某些情况中,这可以转换成预定的栅格分辨率。基于矢量的格式表示使用定义的模型几何的三维物体,比如多边形的网格和/或三维形状模型的组合。例如,“.stl”文件可以包括三维的一列顶点形式的矢量表示,以及在三个顶点之间的三角剖分或关联形式的表面镶嵌。栅格表示可以包括多个定义的单位体素或自定义体素,例如,至少一个尺寸的定义的体积。
图7示出根据实例的用于三维半色调的电子数据结构700。除了其他以外,电子数据结构700可以存储在比如易失性存储器、非易失性存储器和磁存储器或固态存储器的非暂时性计算机可读存储介质中。非暂时性计算机可读存储介质可以被布置来存储计算机程序代码(例如,以固件的形式)。固件可以包括机器可读指令和/或包括指令的可执行代码。在图7中,电子数据结构700包括联合三维空间中的多个坐标720定义的数据值710。如所示,坐标是根据x、y和z维度中的网格分辨率来定义的,例如,可以包括根据x、y和z维度中的每个中的预定分辨率或离散值的集合来定义的体素的中心或角。在图7中,数据值710包括三维半色调操作的阈值。例如,如图7中的分组730、740和750所示,它们代表平行于x和y维度排列的多个z维平面。分组730具有第一共同z坐标值(“0”);分组740具有第二共同z坐标值(“1”);并且分组750具有第三共同z坐标值(“2”)。对于多个z层,这可以重复。数据值710中的至少一个包括确定的空间结构的指示。该确定基于由针对与所述数据值710相关联的坐标获得的至少两个不同的预定义空间结构的概率分布权重的至少两个不同的预定义空间结构的凸组合。作为图7所示的实例,分组730中的坐标分别具有指示确定的空间结构“SC000”、“SC100”和“SC110”的数据值。分组740中的坐标分别具有指示确定的空间结构“SC001”、“SC101”和“SC111”的数据值。确定的结构中的每个可以包括预定义的空间结构中的至少一个的至少一部分。在一种情况中,确定的结构可以针对每个给定的坐标单独确定,例如,通过计算在该坐标处的预定义空间结构的凸组合。在另一种情况中,可以从单个结构矩阵SC获得确定的结构“SC000”、“SC100”和“SC110”。因此,图7的电子数据结构700可以用于存储三维半色调阈值矩阵,以供图1的半色调生成器110使用或用于图5的方法。
例如示出图7,并且其他格式可以用于存储电子数据结构的数据值。例如,电子数据结构700的紧凑表示可以可替换地包括:三维半色调阈值矩阵的宽度、深度和高度的定义;用于穿过矩阵的指示顺序;以及包括阈值的数据值710的序列。在这种情况中,多个坐标720可以不被明确编码;这些将通过其他指示的参数进行隐式编码。
图8示出可以使用本文所述的实例生产的三维半色调矩阵800的模拟的示例图形输出。例如,三维半色调矩阵可以包括图1中的三维阈值矩阵150的版本。示例矩阵800包括两个不同结构的融合体或混合体。第一结构包括分布在三维上的二维蓝噪声半色调矩阵。第二结构包括三维定义的蓝噪声作为种子的有机晶格(Hart 10-3)。两个结构中的每个由相应的三维半色调阈值矩阵定义。示例矩阵800具有沿对角线[0,0,0]至[100,100,100]使用立方距离函数的过渡,并且使用权重凸组合混合度量。例如,如图8中810所示,在坐标[0,0,0]处,第一结构具有100%的概率,并且第二结构具有0%的概率。然后,如图8中820所示,在[100,100,100]处,第二结构具有100%的概率,并且第一结构具有0%的概率。在图形输出的顶部看到的较暗线性部分可以被认为产生自第二结构,并且图形输出的弥漫性噪声类部分可以被认为产生自第一结构820。
可以经由可存储在非暂时性存储介质上的计算机程序代码来实现本文描述的某些系统部件和方法。计算机程序代码可以由包括能够从计算机可读存储介质找回数据的至少一个处理器的控制系统来实施。控制系统可以包括比如增材制造系统的物体生产系统的部分。计算机可读存储介质可以包括存储在其上的计算机可读指令的集合。至少一个处理器可以被配置为将指令加载到存储器中用于处理。指令被布置来使得至少一个处理器实施一系列动作。指令可以指示图5的方法500和/或本文所述的任何其他框或过程。非暂时性存储介质可以是可以包含、存储或维护供指令执行系统使用或与指令执行系统结合使用的程序和数据的任何介质。机器可读介质可以包括许多物理介质中的任一种,比如,例如电子介质、磁性介质、光学介质、电磁介质或半导体介质。合适的机器可读介质的更具体的实例包括但不限于硬盘驱动器、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器或便携式盘。
本文描述的某些实例使得能够进行三维物体的数字表示,例如,三维栅格表示,用来以生成三维物体内的多个结构的混合体或融合体的方式进行半色调,其中该混合体或融合体可被视为“平滑的”,即不连续性可低于指定阈值。这以最小化不连续性(例如,在物体的不同部分或体积之间,构造上的突然变化)的方式得到具有变化的结构属性的三维物体。这通过提供用于生成可应用于数字表示的三维阈值矩阵的装置和方法来实现。获得结构体积覆盖表示,其包括针对三维物体的至少一个体积元素定义至少两个不同结构表示的概率分布的数据值。结构体积覆盖表示可以基于在三维物体的至少两个另外的体积元素的位置之间预定义的过渡函数。基于结构体积覆盖表示的所述数据值中的至少一个,针对至少一个体积元素确定至少两个结构表示的凸组合。基于确定的凸组合,将半色调值分配给三维矩阵的至少一个相应的体积元素。半色调值可以指示包括所述结构表示中的一个的至少一部分的计算结构。通过使用结构体积覆盖表示,可以在半色调水平上应用适用于任何任意数量的预定义结构的单个机构,而无需可能计算上昂贵的子结构的设计阶段修改。
某些实例还使得结构控制能够以计算有效且可以并行化的方式应用于三维物体的生成。通过使用结构体积覆盖表示,可以将单个半色调结构标签应用于物体的不同部分以提供结构属性的有效编码。通过使用本文所述的某些实例,该编码进一步使得能够以连续的方式控制材料结构。例如,物体的一部分可以包括分布在三维上的二维蓝噪声半色调矩阵,并且物体的另一部分可以包括三维定义的蓝噪声作为种子的有机晶格;因此,本发明描述的实例可以用于提供物体中的两个不同结构之间的过渡。在某些实例中,通过定义梯度或过渡函数来实现两种不同结构的融合,该梯度或过渡函数可以被定义为要生产的物体(和/或所述物体的部分)的输入。在某些实例中,梯度或过渡函数用于定义结构体积覆盖表示,然后可以在类似于半色调的操作中处理该结构体积覆盖表示,以生成用于半色调与物体相关联的材料使用值的三维阈值矩阵。通过这样做,融合几何形状(例如,如凸组合计算定义的)可以与梯度几何形状分离,例如,如从过渡函数生成的结构体积覆盖矢量中所表示的。基于预定义构成结构的凸组合获得的融合结构可以表现出结构上连续的效果,即融合结构不仅在物体尺度上,而且在单独印刷的体素的水平上可以不同于任何构成结构。
本文描述的某些实例使得能够用明确控制的多个结构的融合来生产三维物体。所描述的实例修改了用于生产三维物体的半色调输出,例如,在增材制造系统中,通过使用基于半色调的结构控制机构。尽管在某些情况中为了便于解释,描述了使用单一生产材料,但是本文所述的实施例可以扩展到多材料,例如,用多种生产材料,包括生产材料的组合。
已经提出了前述描述以说明和描述所述原理的实例。该描述不是旨在是详尽的或将这些原理限制于所公开的任何精确的形式。鉴于上述教导,许多修改和变化是可能的。关于一个实例描述的技术、功能和途径可以用在其他描述的实例中(例如,通过应用该公开的相关部分)。
Claims (15)
1.一种生成用于生产三维物体的控制数据的装置,包括:
半色调生成器,所述半色调生成器将半色调操作应用于所述三维物体的数字表示,
所述半色调生成器被布置来联合三维阈值矩阵处理定义所述三维物体的数据,以输出用于至少一种生产材料的离散材料形成指令;以及
矩阵生成器,所述矩阵生成器生成供所述半色调生成器使用的所述三维阈值矩阵,所述矩阵生成器被布置来:
获得根据对应于所述三维物体的至少一个体积元素定义的结构体积覆盖表示,所述结构体积覆盖表示包括定义可用于生产所述三维物体的至少两个不同的预定义结构的概率分布的数据值;
基于所述结构体积覆盖表示的所述数据值中的至少一个,针对所述至少一个体积元素确定所述至少两个预定义结构的凸组合;以及
基于所确定的所述凸组合,将数据值分配给所述三维阈值矩阵的至少一个相应的体积元素。
2.根据权利要求1所述的装置,
其中所述结构体积覆盖表示包括至少一个结构体积覆盖矢量,所述至少一个结构体积覆盖矢量具有对应于所述至少两个预定义结构的至少两个矢量分量,所述结构体积覆盖矢量至少对应于体积元素的集合中的第一体积元素;并且
其中所述矩阵生成器被布置来基于与所述第一体积元素相关联的位置的所述至少两个预定义结构之间的确定的过渡行为来获得所述至少两个矢量分量的数据值,
其中所述过渡行为基于在所述体积元素的集合的至少两个另外的体积元素的位置之间预定义的过渡函数来确定。
3.根据权利要求2所述的装置,其中,所述过渡行为基于所述第一体积元素的位置与所述至少两个另外的体积元素的位置之间的确定的距离度量。
4.根据权利要求1所述的装置,其中,所述矩阵生成器被布置来向至少一个体积元素分配指示计算结构的数据值,所述计算结构包括所述预定义结构中的一个的至少一部分。
5.根据权利要求2所述的装置,其中,所述过渡行为基于具有四面体插值的空间镶嵌。
6.根据权利要求1所述的装置,包括:
沉积机构,所述沉积机构通信地耦合到所述半色调生成器,以根据由所述半色调生成器输出的所述离散材料形成指令来沉积可用的生产材料。
7.根据权利要求1所述的装置,
其中定义所述三维物体的数据包括所述三维物体的至少一个体积的至少一个材料体积覆盖矢量,
其中,对于可用于生产三维物体的k个材料和所述材料的L个离散材料形成状态,材料覆盖矢量包括Lk矢量分量,每个矢量分量具有相关联的概率值,
其中所述半色调生成器被布置来对所述至少一个材料体积覆盖矢量实施半色调操作,并且
其中所述离散材料形成指令包括来自L*k个可用指令值的集合的生产指令,针对所述k个材料中的每个,在生产分辨率下的每个元素具有L个材料形成状态指令中的一个。
8.一种生成用于生产三维物体的三维半色调阈值矩阵的方法,包括:
获得三维物体的结构体积覆盖表示,
所述结构体积覆盖表示包括所述三维物体的至少一个体积的结构体积覆盖矢量,
所述结构体积覆盖矢量表示至少两个不同的预定义矩阵的比例体积覆盖;和基于所述至少两个预定义矩阵的权重组合,将半色调阈值分配给所述三维半色调阈值矩阵的相应体积,所述半色调阈值对应于所述预定义矩阵中的至少一个的至少一部分;并且
其中所述三维半色调阈值矩阵适用于所述三维物体的物体定义以指示所述三维物体的生产。
9.根据权利要求8所述的方法,其中获得结构体积覆盖表示包括针对所述至少一个体积,基于预定义的过渡函数确定局部过渡行为,
其中所述过渡函数在至少两个另外的体积的位置之间被预定义。
10.根据权利要求8所述的方法,其中结构体积覆盖表示包括针对所述至少一个体积,确定相对于所述三维物体的至少两个另外的体积的集合的重心坐标的集合。
11.根据权利要求9所述的方法,其中所述局部过渡行为基于具有四面体插值的空间镶嵌。
12.根据权利要求10所述的方法,其中,所述分配所述半色调阈值包括基于所述重心坐标的集合来获得至少两个凸权重。
13.根据权利要求8所述的方法,包括:
获得所述三维物体的数字表示;
使用所述三维半色调阈值矩阵对所述数字表示进行半色调以生成用于生产所述三维物体的控制数据;以及
使用生成的所述控制数据在增材制造系统上生产所述三维物体。
14.根据权利要求13所述的方法,
其中所述数字表示包括所述三维物体的至少一个体积的至少一个材料体积覆盖矢量,
其中,对于可用于生产所述三维物体的k个材料和所述材料的L个离散材料形成状态,材料覆盖矢量包括Lk个矢量分量,每个矢量分量具有相关联的概率值,
其中对所述至少一个材料体积覆盖矢量实施半色调,并且
其中所述控制数据包括来自L*k个可用指令值的集合的离散生产指令,针对所述k个材料中的每个,在生产分辨率下的每个元素具有L个材料形成状态指令中的一个。
15.一种包括用于三维半色调的电子数据结构的非暂时性机器可读介质,所述电子数据结构包括:
联合三维空间中的多个坐标定义的数据值,所述坐标是根据x、y和z维度中的网格分辨率来定义的,
其中所述数据值包括用于三维半色调操作的阈值,并且代表平行于x和y维度排列的多个z维平面,并且
其中至少一个数据值包括确定的空间结构的指示,
其中所述确定基于由针对与所述数据值相关联的坐标获得的至少两个不同的预定义空间结构的概率分布权重的至少两个不同的预定义空间结构的凸组合。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2015/059217 WO2016173630A1 (en) | 2015-04-28 | 2015-04-28 | Combining structures in a three-dimensional object |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107211071A CN107211071A (zh) | 2017-09-26 |
CN107211071B true CN107211071B (zh) | 2019-07-05 |
Family
ID=53180715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580074435.3A Active CN107211071B (zh) | 2015-04-28 | 2015-04-28 | 用于生成三维物体的装置、方法和可读介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10252513B2 (zh) |
EP (1) | EP3235233B1 (zh) |
CN (1) | CN107211071B (zh) |
WO (1) | WO2016173630A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107206676B (zh) * | 2015-04-28 | 2020-06-12 | 惠普发展公司,有限责任合伙企业 | 利用三维半色调处理的结构 |
EP3368972B1 (en) * | 2015-10-30 | 2021-04-14 | Hewlett-Packard Development Company, L.P. | Halftoning of object data for a three-dimensional object |
EP3362921A4 (en) * | 2015-11-25 | 2019-05-15 | Siemens Product Lifecycle Management Software Inc. | SYSTEM AND METHOD FOR MODELING PARTS WITH TREILLIS STRUCTURES |
IL247245B (en) * | 2016-08-11 | 2019-01-31 | Technion Res & Dev Foundation | Systems and methods for printing 3D models |
US11298883B2 (en) | 2017-04-25 | 2022-04-12 | Hewlett-Packard Development Company, L.P. | Determining property mapping resources with property constraints in an additive manufacturing |
JP7247530B2 (ja) * | 2018-11-16 | 2023-03-29 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
JP7540213B2 (ja) * | 2020-06-30 | 2024-08-27 | セイコーエプソン株式会社 | 画像処理装置、記録装置、画像処理方法、及び、記録方法 |
WO2022071957A1 (en) * | 2020-10-01 | 2022-04-07 | Hewlett-Packard Development Company, L.P. | Translating vertices of a 3d model of an object |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956157A (en) * | 1994-12-08 | 1999-09-21 | Eastman Kodak Company | Method and apparatus for locally blending gray dot types of the same or different types to reproduce an image with gray level printing |
CN102256767A (zh) * | 2008-12-19 | 2011-11-23 | 爱克发印艺公司 | 用于三维印刷的图像处理方法 |
CN102950770A (zh) * | 2011-08-25 | 2013-03-06 | 柯尼卡美能达商用科技株式会社 | 立体物造型装置及控制程序 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7079287B1 (en) | 2000-08-01 | 2006-07-18 | Eastman Kodak Company | Edge enhancement of gray level images |
US7079290B2 (en) * | 2001-06-06 | 2006-07-18 | International Business Machines Corporation | Halftoning method and system providing increased number of densities per basic halftone cell for constant input |
US7212315B2 (en) | 2002-09-16 | 2007-05-01 | Seiko Epson Corporation | Mixed screen design for multi-mode document |
US7830569B2 (en) | 2006-03-31 | 2010-11-09 | Eastman Kodak Company | Multilevel halftone screen and sets thereof |
US8368959B2 (en) | 2009-05-18 | 2013-02-05 | Xerox Corporation | Method and system for selective smoothing of halftoned objects using bitmap encoding |
JP4983947B2 (ja) | 2010-03-23 | 2012-07-25 | コニカミノルタビジネステクノロジーズ株式会社 | ハーフトーン画像生成装置およびハーフトーン画像生成方法 |
US8848249B2 (en) | 2011-07-29 | 2014-09-30 | Hewlett-Packard Development Company, L.P. | Creating an image to be printed using halftone blending |
US9643362B2 (en) | 2013-03-15 | 2017-05-09 | Microsoft Technology Licensing, Llc | Full color three-dimensional object fabrication |
WO2014172687A2 (en) * | 2013-04-18 | 2014-10-23 | Massachusetts Institute Of Technology, Inc. | Methods and apparati for implementing programmable pipeline for three-dimensional printing including multi-material applications |
-
2015
- 2015-04-28 EP EP15722671.3A patent/EP3235233B1/en active Active
- 2015-04-28 WO PCT/EP2015/059217 patent/WO2016173630A1/en active Application Filing
- 2015-04-28 CN CN201580074435.3A patent/CN107211071B/zh active Active
- 2015-04-28 US US15/545,264 patent/US10252513B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956157A (en) * | 1994-12-08 | 1999-09-21 | Eastman Kodak Company | Method and apparatus for locally blending gray dot types of the same or different types to reproduce an image with gray level printing |
CN102256767A (zh) * | 2008-12-19 | 2011-11-23 | 爱克发印艺公司 | 用于三维印刷的图像处理方法 |
CN102950770A (zh) * | 2011-08-25 | 2013-03-06 | 柯尼卡美能达商用科技株式会社 | 立体物造型装置及控制程序 |
Non-Patent Citations (3)
Title |
---|
A dithering algorithm for local composition control with three-dimensional printing;Wonjoon Cho, Emanuel M. Sachs, etc.;《COMPUTER AIDED DESIGN》;20030801;全文 |
Modeling the material grading and structures of heterogeneous objects for layered manufacturing;Y.K. Siu, S.T. Tan;<COMPUTER AIDED DESIGN>;20020901;全文 |
Tunable digital material properties for 3D voxel printers;Jonathan Hiller, Hod Lipson;<INTERNET CITATION>;20130319;全文 |
Also Published As
Publication number | Publication date |
---|---|
WO2016173630A1 (en) | 2016-11-03 |
US20180086045A1 (en) | 2018-03-29 |
EP3235233A1 (en) | 2017-10-25 |
CN107211071A (zh) | 2017-09-26 |
EP3235233B1 (en) | 2020-05-27 |
US10252513B2 (en) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107211071B (zh) | 用于生成三维物体的装置、方法和可读介质 | |
CN107209955B (zh) | 用于三维半色调化的三维阈值矩阵 | |
CN107206676B (zh) | 利用三维半色调处理的结构 | |
US20180001566A1 (en) | Three-dimensional object substructures | |
EP3271807B1 (en) | Processing object part data for a three-dimensional object | |
US10528033B2 (en) | Structure forming for a three-dimensional object | |
CN107850985B (zh) | 对三维物体的物体数据进行半色调 | |
US10688724B2 (en) | Setting properties of three-dimensional objects | |
CN107209790A (zh) | 用于三维物体的栅格结构表示 | |
WO2017011007A1 (en) | Three dimensional material distribution using octrees | |
WO2015143174A1 (en) | Three-dimensional printing using fast stl file conversion | |
US11222153B2 (en) | Three-dimensional object generation parameter descriptions | |
CN112789158B (zh) | 用于选择物体的方位和/或位置的方法、装置和介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: American Texas Patentee after: HEWLETT-PACKARD DEVELOPMENT Co.,L.P. Country or region after: U.S.A. Address before: American Texas Patentee before: HEWLETT-PACKARD DEVELOPMENT Co.,L.P. Country or region before: U.S.A. |
|
CP03 | Change of name, title or address |