三维对象表示的制作方法

文档序号:11282710阅读:282来源:国知局
三维对象表示的制造方法与工艺



背景技术:

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

产生三维对象的一些打印过程使用从三维对象的模型产生的控制数据。这个控制数据可例如,规定将试剂施于构造材料的位置,或构造材料本身被放置的位置和待放置的数量。

控制数据可从待打印的对象的3d表示中产生。

附图说明

为了更完整的理解,现在参考结合附图理解的下面的描述,其中:

图1是用于定义对象属性模型的方法的示例的流程图;

图2是对象属性描述的示例的示意性表示;

图3是用于定义对象属性模型的方法的示例的流程图;

图4是几何模型和对象属性描述的交叉的示意性示例表示;

图5是将对象属性描述与对象模型相关联的方法的示例的流程图;

图6是处理装置的示例的简化示意图;以及

图7是用于生成用于三维对象的产生的控制数据的处理装置的示例的简化示意图。

具体实施方式

本文所述的一些示例提供用于表示三维对象和/或用于生成可用于产生三维对象的控制数据的装置和方法。一些示例允许具有被处理并被用于产生三维对象的各种特定的对象属性的任意三维内容。这些对象属性可包括外观属性(颜色、透明度、光泽度等)、传导性、密度、多孔性和/或例如强度的机械属性。

在一些示例中,打印材料覆盖表示定义打印材料数据,其例如详述打印材料(例如将被沉积到构造材料层上的试剂,或在一些示例中,构造材料本身)的数量,以及如果可适用时的它们的组合。在一些示例中,这可被规定为比例体积覆盖(例如构造材料层的区域的x%应具有被涂敷到其的试剂y)。这样的打印材料可与对象属性相关联或被选择为提供对象属性,所述对象属性例如是颜色、透明度、柔韧性、弹性、刚性、表面粗糙度、多孔性、传导性、内层强度、密度等。

可使用半色调技术来确定在控制数据中规定的每个打印材料(例如一滴试剂)应被涂敷于的实际位置。

例如,在对象模型数据内的一组位置或体积可具有一组相关的打印材料覆盖矢量。在简单的示例中,这样的矢量可指示三维空间的给定区域的x%应具有向其涂敷的特定试剂,而(100-x)%应保持没有试剂。打印材料覆盖表示还可接着提供对“半色调”过程的输入以生成可通过增材制造系统而用来产生三维对象的控制数据。例如,可确定为了产生特定的对象属性,一层构造材料的25%(或一层的一部分)应具有被涂敷其上的试剂。半色调方法例如通过比较每个位置与在半色调阈值矩阵中提供的阈值来确定试剂滴落下的位置,以便提供25%覆盖。

图1是用于处理包括对象的表示的数据的方法的示例。在块102中,接收例如使用几何空间坐标来表示在几何空间中的三维对象的几何描述的数据。在一些示例中,这可包括“体素”即三维像素的阵列,其中每个体素占据分立的体积。这样的体素可以都是相同的大小,或可以是不同的大小。可使用其它的体积描述。在其它示例中,例如可使用坐标系例如[x,y,z]三维笛卡尔坐标系或极坐标系来将三维空间特征化为至少一个点。例如,可从网格化平坦表面,例如三角形,通过定义表面的转角(其可被称为顶点)来描述对象表面。定义转角也有效地规定边缘和(在这个示例中)三角形端面。这使得对象的形状相近似,节约地利用计算机存储空间。数据可以例如是计算机辅助设计(cad)程序的输出或三维对象的某个其它数字表示。

在块104中,接收描述对象属性空间中的对象属性的至少一个对象属性描述,例如使用对象属性空间坐标。对象属性描述可描述可与由数据表示的对象相关联的任一个或多个属性,例如外观(颜色、透明度、光泽度等)、传导性、密度、多孔性和/或例如强度的机械属性。可使用与用于几何描述的相同的坐标系来定义对象属性描述。然而,在其它示例中,可以在与几何描述的几何空间相似的(例如具有相同数量的维度)但具有不同的坐标系、不同的原点或不同的标尺(例如在最大值和最小值之间变化的比例标尺而不是绝对标尺)的空间中定义对象属性描述。在另外的示例中,对象属性空间可不同于例如包括更多或更少的维度的几何空间。

在块106中,将对象属性空间和几何空间交叉以定义对象模型(块108),其中对象属性被定义在所描述的对象属性和所定义的对象几何结构之间的至少一个交叉的位置。

当使属性归属于对象时,情况可能是,被几何性地定义的每个位置也具有它的已被定义的属性。然而在图1的方法中,对象属性最初替代地被定义于对象属性空间中,该对象属性空间与几何结构可能具有相同或不同的维度,并可能具有相同或不同的坐标。因此,对象属性描述从几何描述中去耦。这使得相同的对象描述与多个几何描述一起被使用,且也可导致节约的存储使用。

在几何空间中的位置和对象属性空间(然而可以是复杂/高维对象空间)中的位置之间可以有隐式或显式映射。特别是,在对象的几何空间中的每个位置可与在对象属性空间中的位置具有映射,这将对象属性限定在那个几何位置处。

为了考虑简单的示例,假设待描述的对象是自动复原圆底玩偶图。待描述的形状可以是复杂的,具有面部特征和弯曲底面,且因此很多顶点可被定义以充分表示预期形状。在这个示例中,这些在xyz空间中被定义,每个顶点具有一组坐标[x,y,z]i。然而,对象的密度模型是简单的,具有低于在图中的水平的第一密度和在它之上的第二更低的密度。

虽然很多顶点可被规定为描述在几何空间中的玩偶,在这些顶点中的每一个的密度将是两个值之一。然而存储每个几何顶点的密度值是低效的。替代地,在这个示例中,单独地保持完全围住玩偶的长方体或实际上具有对上部区规定的低密度和对下部区规定的高密度的单个轴,可更节约地利用存储器。如果控制数据要被生成以使得对象产生,则可在那个时间组合数据(例如校准沿玩偶中的高度的轴的密度的变化)。然而,直到那个点为止,可保持节约大小的对象模型。

在这个特定的示例中,使用与在几何模型中的相同的坐标空间可能是合理的选项,但情况可能不是这样。如果例如对象的密度随着离特定点的距离而减小,则极坐标可能更适合。在其它示例中,属性的梯度或其它值函数可独立于对象而被规定,并接着按比例调整到特定的对象大小。在另一示例中,不同地定义一个表面相比一个模型对象是更节约的,例如使用不同的一组多边形(例如使用四边形而不是三角形网孔),或者使用一种不同的标尺或具有不同的原点,或者规定一个具有域的对象属性空间,所述域超过几何对象的域。在一些示例中,对象属性可具有函数定义。例如,不是在任何任意坐标系中的特定位置l处明确定义的属性,它可被定义为没有任一个被规定的位置的函数f(l)。

在一些示例中,对象属性描述包括至少一个对象属性值数据对象。对象属性数据对象200的示例如在图2中示意性所示。在这个示例中,这组属性包括表示红、绿和蓝色值的三个颜色值vr、vg、vb、密度值vd、硬度值vs、传导性值vc和不透明度值vo。对象属性的其它集合可被描述,并可包括上面提到的任一属性以及连同柔韧性、弹性、刚性、表面粗糙度、多孔性、强度等中的任一个。

在一些示例中,为每个属性预先确定值集合,且从该集合取值。例如,可为每个属性规定比特深度。对于在图2中示出的值的集合,比特深度可例如被规定为[8,8,8,5,4,1,6],即颜色值被规定有8比特分辨率,对密度值是5比特(32级分辨率),对硬度值是4比特(16级分辨率),对传导性是1比特(接通/断开),以及对不透明度是6比特(64级分辨率)。这将导致七个属性数据对象的5字节编码。

然而,在其它示例中,对象属性描述可采取任何形式,包括用于在制造具有所述的一个或多个属性的对象时使用的材料/试剂的特定组合的指令。在位置代表对象的区域的示例中,对象属性描述可包括在区域内变化的至少一个对象属性的指示。例如,不是为单个属性的指示,它可包括属性梯度或其它函数的指示。

在一些示例中,可提供多个单独的对象属性描述,每个对象属性描述代表对象的对象属性的一个或一个子集。

在特定的示例中,对象属性描述包括独特对象属性值数据对象的索引阵列和与索引阵列的索引相关联的一组位置。这可移除冗余,因为每个独特数据对象被描述一次而不是多次,且使用相关索引可能对多个位置/区被提到。

对象属性空间到几何空间的转换、转化(translation)和/或变换也可被执行。

图3包括处理数据的方法,其包括接收第一(块300)和第二(块302)对象属性描述。

第一对象属性描述包括与在第一对象属性空间内的多个位置中的每一个相关联的对象属性值数据对象。第一对象属性在一个示例中通过极坐标被定义在三维空间中。第二对象属性描述包括在第二维空间中的分立位置的指示,在一个示例中指示在一维(例如沿着对象的长度)变化的属性。

在块304中,发现在第一对象属性描述内的不同的对象属性值数据对象。索引阵列被填充有不同的对象属性值数据对象,使得指示每个不同的对象属性值数据对象的数据存储在阵列内的不同索引处(块306)。在块308中,产生新对象属性描述,新对象属性描述包括与在对象属性空间内的多个位置中的每一个相关联的索引,其中索引相对应于对那个位置的对象属性值数据对象的索引。

在块310中,接收表示对象的几何描述的数据。使用以标准方式(在一个示例中,毫米)给出的带有距离的指示的笛卡尔坐标将对象的几何结构定义在三维空间中。在这个示例中,数据包括多个几何顶点,每个顶点指示在几何空间中的一个点。

在块312中,第一对象属性描述的坐标变换成几何描述的坐标(在一个示例中,从极坐标到笛卡尔坐标)。

在块314中,第二对象属性描述从第二对象属性空间转换成用于提供几何描述的三维几何空间。这个转换可包括变换、平移、尺度改变、对准等的任一个或任何组合。在属性在一维上改变的示例中,这可包括产生在两维上一致但第三维上改变且依大小被形成为匹配几何描述的描述,例如如果第二对象属性包括透明度的线性变化的值,使得对象被预期从在其底部处的不透明改变到在其顶部处的透明,一维描述可用于产生三维模型,其中平行于z轴获取的任何xy薄片将代表相同的透明度。在其它示例中,原点或在不同空间中的任意点可被对准。

在块316中,现在具有相同的维数和坐标系的对象属性空间和几何空间被交叉。对象模型产生(块318),对象模型包括多个几何顶点和定义在交叉部分处的至少一个对象属性的至少一个非几何顶点。在对象属性被定义为函数(例如位置l的函数,f(l))的场合,则内插(例如分段线性内插)可用于得到交叉部分的点。在一些示例中,内插的点的密度可取决于f(l)的非线性度。

在图4中示意性示出两个对象属性空间和几何空间的交叉。在图4中,几何模型是立方体400(在横截面中示出)。立方体由在它的顶点处的值和由连接顶点以定义边缘(如由线402a、b、c、d表示的)并因此定义端面的矢量定义。还提供对象不透明度描述404,在这个示例中,对象不透明度描述空间也是立方体,在横截面上被示为正方形,其具有平行于几何模型立方体400的底部,但绕着中心轴相对地旋转到那里。对象不透明度描述404具有在它的八个顶点处明确规定的值,且中间值通过内插可得到。对象不透明度描述404规定对象由从它的端面偏移的四个不同的不透明度水平构成。还提供对象颜色描述406,在这种情况下,另一相对旋转的立方体规定四种颜色,这样的每个端面包括第一和第二颜色。

在一些示例中,对象属性描述可以是完全或部分地定义的矢量模型。在其它示例中,可例如使用隐式或显式镶嵌将属性定义在至少一个点处。隐式镶嵌可以例如是delaunay镶嵌或另一预定镶嵌。在一些示例中,所规定的对象属性的内插可用于填充几何模型空间,或在内插点处产生对象属性值。如果在几何模型空间内的位置在属性的范围之外,则外插(例如复制)可用于将对象属性值定义在那个点处,或可以使用默认值或可以不定义属性。

在这个示例中,通过执行原点到原点变换来使模型对准,这具有提供共享原点或在这个示例中对准中心点的效应。在其它示例中,可以不对准中心点。例如,模型可以用某个其它方式建立坐标相关性(例如通过规定在一个几何结构中的那个坐标[a1,b2,c3]与在另一几何结构中的坐标[xi,yj,zk]匹配,执行适当的按比例调整,等等)。

在几何模型与对象属性描述一致的场合,以及在这个示例中在两个对象属性描述一致的场合,任何对象属性描述被记录。在这个示例中,在各种点408处定义不透明度值且在点410处记录颜色值。在这些点处的实际值可能不同。在几何模型400中未明确定义的中心点处,这两个值都被定义。

在这个示例中,对象值被存储为非几何顶点。例如,在点408、410处的非几何顶点可被具有形式[rgbo]的数据对象表征,使得在点408处的非几何顶点被表示为[-,-,-,vo],而在点410处的非几何顶点被表示为[vr,vg,vb,-],以及中心数据对象被表示为[vr,vg,vb,vo]。在一些示例中,一些或所有点可被描述为多个对象描述矢量,其中矢量基于在与几何模型或与彼此的交叉点处指示的对象属性。这意味着定义[x,y,z]坐标的形状-几何结构可有助于形状的定义,且也充当对象属性保持顶点。

在其它示例中,可越过与由模型占据的几何空间重合的每个属性空间的部分进行各种采样。这可导致被定义为矢量的多个部分地被填充的对象属性数据对象。例如在一个位置,不透明度被规定rgbdfcoi=[-,-,-,-,-,vo],而在其他位置,颜色被规定rgbdfcoi=[vr,vg,vb,-,-,-,-]。在每个属性在每个位置处被充分定义的位置,可对每个位置定义完全填充的对象属性数据对象,例如rgbdfcoi=[vr,vg,vb,vd,vf,vc,vo]。属性的组合为不同对象进行了定义,并且数据对象的结构可能改变。

在一些示例中,在空间几何结构(形状)顶点(将非几何顶点添加到描述非空间特征的几何描述,而不是保持数据属性信息)中的增加和定义矢量之间可以有折衷。这些可例如根据最节约的数据表示而组合地或单独地被使用。

在图5中示出使对象属性描述与三维对象的几何描述相关联的方法。在这个示例中,在块502中,接收包括多个对象属性值数据对象的初始对象属性描述,每个对象属性值数据对象与在对象属性空间内的多个位置之一相关联。在一些示例中,这可能包括模型对象,其中每个规定的体积和/或位置与描述相关联(即几何对象空间可与对象属性空间相同)。在其它示例中,在独立于对象的任何几何描述中提供的对象属性描述。

在块504中,识别不同的对象属性值数据对象。这可在作为集合的对象属性上(即找到不同的对象属性值组合)或对每个规定的属性(例如找到不同的颜色值、不同的不透明度值等)执行。

在块506中,索引阵列被填充有不同的对象属性值数据对象,使得指示每个不同的对象属性值数据对象的数据存储在阵列内的不同索引处。在块508中,产生新对象属性描述,其中数据包括与在对象属性空间内的多个位置中的每一个相关联的索引,和索引相应于对那个位置的对象属性值数据对象的索引。在块510中,所产生的对象属性描述与三维对象的几何描述交叉。

不是所有可能的属性且也不是属性的所有可能的组合都可能在用于描述属性可具有的可能的整个范围的值的任何给定对象属性空间中被看到。如果所有可能的属性组合将被存储,则所占据的存储空间将非常大。采用上面叙述的比特深度示例,对于在8比特处在rgb域中的颜色描述,总共可能的地址空间是2563。添加两个额外的8比特编码属性例如结构和不透明度将导致2565(即~1012)的地址空间。然而,对于给定的对象属性描述,这个空间可能由在特定对象中表示的值稀释地填充。此外,第一对象属性可具有大范围的值,而第二对象属性可具有小范围的值(或是完全同类的)。

因此,通过用特定对象属性描述的不同对象属性值数据对象(即不包括与单独条目相同的重复项目)填充数据对象(其可以是保存在存储器等中的数据库),每个对象属性值数据对象存储在不同的几何地址处,所占据的地址空间经考虑对属性描述调整大小,其比可能的对象属性描述的整个集合占据更少的存储空间。

如上面解释的,在一些示例中,几何描述是在几何空间中的三维对象的几何结构的描述,且在对象属性空间内的位置例如通过坐标系的转换或通过按比例调整等被转换成几何空间内的位置。

图6示出可用于生成用于产生三维对象的控制数据的处理装置600的示例。装置600在这个示例中包括接口602、转换模块604、模型发生器606和存储器608。

在图6的示例中,表示三维模型对象610的数据包括几何描述612和对象属性数据614。几何描述612可定义模型对象610的至少一部分的三维模型。几何描述612可定义在三维坐标系中的对象的全部或部分的形状和程度,例如对象的固体部分。几何描述612可例如由计算机辅助设计(cad)应用生成。对象属性数据614定义待产生的三维对象的至少一个对象属性。在一种情况下,对象属性数据614可定义待产生的对象的至少一部分的颜色、柔韧性、弹性、刚性、表面粗糙度、多孔性、内层强度、密度、传导性等的任一个或任何组合。在一个示例中,它可包括如关于图2所述的多个数据对象。对象属性数据614还可用于定义对象的一个部分或多个部分的一个或多个对象属性。

接口602接收表示三维模型对象610的数据612、614。在一些示例中,接口602可接收几何描述612和对象属性数据614作为单个文件;在其它示例中,接口602可接收几何描述612的部分和/或对象属性数据614作为多个数据对象,其中几何描述612和对象属性数据614分布在多个相关联的数据结构当中。在一个示例中,几何描述612可包括在三维(在本文也被称为[x,y,z])空间中定义的体素。给定体素可具有指示模型数据610的一部分是否存在于那个位置处的相关数据。体素可具有相同或不同的形状和/或大小。对象属性数据614可包括全局和局部对象属性数据,例如,如在对象属性数据614中定义的某些对象属性值可与定义对象的每个体素相关联,和/或某些对象属性值可与例如范围从与对象相关联的单独的体素到所有体素的一组体素相关联。

如果对象属性空间与几何描述612的几何空间被差异规定,而因此提供典型坐标系,转换模块604表示在几何空间中的对象属性数据。这可包括将对象属性数据转换成几何数据,例如通过将它映射到新坐标系、按比例调整数据、扩展数据、对准在空间中的原点或其它点等。

模型发生器606通过使几何描述和对象属性数据614交叉并将对象属性分配到几何描述612以产生包括相关对象属性描述的模型616来组合几何描述612和对象属性数据614。在几何描述612包括体素的阵列的情况,模型发生器可将对象属性分配到体素。

所得到的模型616存储在存储器608中。

图7示出额外的处理装置700,其在一些示例中可被包括在图6的处理装置中或可以与其分离。处理装置700包括将指示对象属性描述的数据映射到打印材料覆盖表示的映射模块702和从打印材料覆盖表示产生控制数据的控制数据模块704。

在这个示例中,映射模块702接收保存在存储器608中的数据对象(虽然不同的数据源可被提供),并将其中的每个对象属性值或值集合映射到至少一个打印材料覆盖表示,在这个示例中为至少一个材料体积覆盖(mvoc)矢量。在一些示例中,独特值的索引阵列被创建,映射可基于索引阵列来被执行,或可被预先计算,并可用于用作查找表以为每个对象属性值或值集合提供打印材料覆盖表示。

mvoc矢量可具有多个值,其中每个值将打印材料的每个或每个组合的一部分定义在一层三维对象的可定位的位置上。例如,在具有两种可用打印材料(例如试剂)——m1和m2的增材制造系统中,其中每种打印材料可独立地沉积在一层三维对象的可定位的区域中,可能有在给定mvoc矢量中的22(即四个)部分:没有m2的m1的第一部分;没有m1的m2的第二部分;m1和m2的过沉积(即组合)的第三部分,例如在m1上沉积的m2,反之亦然;以及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矢量以产生选定试剂组合,其产生与所提供的对象属性例如所提供的rgb值的匹配项。在一些示例中,在mvoc和所提供的对象属性之间的映射可保存在查找表中,或可以在单独的基础上被规定。

控制数据模块704使用半色调数据在打印材料覆盖表示上操作,在一个示例中,半色调数据有具有与为对象610规定的相同的维度的至少一个所存储的半色调阈值矩阵。特别地,在这个示例中,打印材料覆盖表示与表示相同的三维位置的阈值矩阵的阈值比较,以基于模型对象来产生用于打印三维对象的控制数据706。控制数据706可以例如以对平面中的像素的一组分立打印材料选项的形式,其中在平面的整个区域上的离散值可代表在打印材料覆盖表示中陈述的部分。

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

参考根据本发明的示例的方法、设备和系统的流程图和/或方框图描述了本发明。虽然上面所述的流程图示出特定的执行顺序,执行顺序可不同于所描绘的顺序。关于一个流程图所述的块可与另一流程图的块组合。应理解,在流程图和/或方框图中的每个流程和/或块以及在流程图和/或方框图中的流程和/或图的组合可由机器可读指令实现。

机器可读指令例如由通用计算器、专用计算机、其它可编程数据处理设备的一个或多个嵌入式处理器执行以实现在描述和附图中所述的功能。特别是,处理器或处理装置例如处理装置600、700可执行机器可读指令。因此,装置和设备的功能模块可由执行存储在存储器中的机器可读指令的处理器或根据嵌在逻辑电路中的指令而操作的处理器实现。术语“处理器”应广泛地被解释为包括cpu、处理单元、asic、逻辑单元或可编程门阵列等。方法和功能模块都可由单个处理执行或被划分在几个处理当中。

这样的机器可读指令也可存储在可引导计算机或其它可编程数据处理器设备在特定的模式中操作的计算机可读存储器中。

这样的机器可读指令也可装载到计算机或其它可编程数据处理设备上,使得计算机或其它可编程数据处理设备执行一系列操作以产生计算机实现的处理,因此在计算机或其它可编程设备上执行的指令为实现由在流程图中的流程和/或在方框图中的块规定的功能提供了一种方法。

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

虽然参考某些示例描述了方法、装置和相关方面,在不脱离本发明的要旨时可做出各种修改、变化、省略和替换。应注意,上面提到的示例说明而不是限制在本文所述的内容,且本领域中的技术人员将能够设计很多可选的实现而不偏离所附权利要求的范围。特别是,来自一个示例的特征或块可与另一示例的特征/块组合或由另一示例的特征/块组合代替。

此外“包括”并不排除除了在权利要求中列出的那些元素以外的元素的存在,“一个”并不排除多个,以及单个处理器或其它单元可实现在权利要求中列举的几个单元的功能。

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

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