对象的容体表示的制作方法

文档序号:14959233发布日期:2018-07-18 00:11阅读:119来源:国知局

存在许多用于创建数字模型并根据次模型产生几乎任何形状的三维(3d)实体对象的过程。这些过程可被称为三维印刷、快速成型、熔丝、增材制造等等。诸如此类的三维制造使用数据表示技术来描述3d对象,即在3d空间中的每个点处使用什么颜色和材料来创建对象。制造业的进步使对具有极高复杂度的对象的高效构造成为可能。然而,用于支持此类构造的当前数据表示技术导致大的文件大小,这对于处理而言没有计算效率。此外,不存在可利用3d制造的潜在复杂性的设计工具。例如,构建详细的内部结构(在本文中也称为微结构)是非常困难的,这要在特定方向上提供强度和灵活性的同时节省材料和重量。由此类传统技术(包括但不限于上文所提及的那些技术)所施加的限制禁止更复杂的3d对象制造。

概述

以下提供了本创新的简单概述,以提供对本文本所述的某些方面的基本理解。该概述不是所公开的主题的广泛概览。既不是要指出所公开的主题的关键性元素,也不是要详细描述所公开的主题的范围。唯一的目的是以简化形式呈现所公开的主题的某些概念,作为稍后呈现的比较详细的描述的前奏。

一种实现提供了用于3d对象属性的容体表示的系统。系统可包括处理器和计算机可读存储器存储设备,该计算机可读存储器存储设备存储能够由该处理器执行以使得该处理器执行下述操作的可执行指令:将三维对象的外表面映射为表面网格。系统还包括可以由处理器执行以使得处理器执行下述操作的可执行指令:使用容体网格将三维对象的内部容体的属性映射到表面网格中。系统还包括可以由处理器执行以使得处理器执行下述操作的可执行指令:基于表面网格和来自容体网格的属性生成三维对象的模型。系统还包括可以由处理器执行以使得处理器执行下述操作的可执行指令:基于表面边界和属性构建三维对象。系统还包括可以由处理器执行以使得处理器执行下述操作的可执行指令:将三维对象的表面边界映射为组成表面网格的多边形。替换地或附加地,多边形包括三角形,并且表面网格包括三角形网格。示例系统还包括可以由处理器执行以使得处理器执行下述操作的可执行指令:将附加的表面网格映射到三维对象的内部容体中作为容体网格中的体素。替换地或附加地,这些属性包括在由体素代表的特定点处使用的材料的成分。替换地或附加地,材料的成分包括材料的空隙。系统还包括可以由处理器执行以使得处理器执行下述操作的可执行指令:将三维对象的内部模型映射为构成容体网格的多面体。

另一实现提供了用于3d对象属性的容体表示的方法。方法包括将三维对象的外表面映射为表面网格。该方法还包括使用容体网格将三维对象的内部容体的属性映射到表面网格中。附加地,该方法包括基于表面网格和来自容体网格的属性生成三维对象的模型。该方法进一步包括基于模型构建三维对象。该方法还包括将附加的表面网格映射到三维对象的内部容体中作为容体网格中的体素。替换地或附加地,这些属性包括在由体素代表的特定点处使用的材料的成分。替换地或附加地,材料的成分包括材料的空隙。替换地或附加地,该方法包括将三维对象的内部模型映射为构成容体网格的多面体。

另一实现提供用于存储计算机可读指令的一个或多个计算机可读存储器存储设备,这些计算机可读指令在被一个或多个处理设备执行时指令3d对象属性的容体表示的执行。计算机可读指令可包括将三维对象的外表面映射为表面网格的代码。计算机可读指令可包括使用容体网格将三维对象的内部容体的属性映射到表面网格中的代码。计算机可读指令可包括基于表面网格和来自容体网格的属性来生成三维对象的模型的代码。计算机可读指令可包括基于表面边界和属性构建三维对象的代码,其中该属性包括制造特性。计算机可读指令可包括将附加的表面网格映射到三维对象的内部容体中作为容体网格中的体素的代码。替换地或附加地,这些属性包括在由体素代表的特定点处使用的材料的成分,以及该材料的成分包括材料的空隙。计算机可读指令可包括将三维对象的内部模型映射为构成容体网格的多面体的代码。

下面的描述和附图详细地阐述了所公开的主题的某些说明性方面。然而,这些方面只是表示可以使用本发明的原理的各种方式中的一些方式,并且所公开的主题旨在包括所有这些方面和等效内容。当结合附图考虑下面的本创新的详细描述时,所公开的主题的其他优点和新颖特征将变得显而易见。

附图简述

图1是用于使用3d模型来制造3d对象的示例制造器的框图;

图2是表示供制造的3d模型的方法的过程流程图;

图3是供制造的示例3d对象的重合三角形和四面体网格的图示;

图4是用于示例3d对象的示例容体网格的图示;

图5是具有镜面平铺的示例容体网格以及根据容体网格制造的3d对象的图示;以及

图6旨在提供其中可实现本文描述的各种技术的计算环境的简要的一般描述。

detaileddescription

现有的数据表示技术包括使用边界表示和体素。边界表示是由多个二维(2d)表面构成的对象的3d网格表示。每个表面由多个顶点组成,其中关于3d对象的数据可被存储。例如,对象的三角形网格在由3d对象表示的3d空间中的每个三角形的每个位置(x,y,z)处具有3个顶点。在这些(x,y,z)点中的每一个处,可存储关于用于在该点构造对象的材料以及材料颜色的数据。颜色的线性梯度也可通过在表面的每个(x,y,z)顶点处的不同颜色定义来指定。颜色的线性梯度随位置不断变化,提供平滑的颜色过渡。

使用目前的制造技术,许多3d制造器也可创建材料梯度。材料梯度在所制造的3d对象中混合不同的材料。以此方式,不同的复合材料、合金等从3d对象的一部分平滑地过渡到另一部分。然而,存储用于生成此类对象的制造数据的现有方法是有限的。在表示微结构的情况下,边界表示比例不佳。它需要大量的非均匀有理贝塞尔样条(nurbs)来显示3d对象的表面积和局部曲率。这在通常被微结构占据的容体中急剧增加。类似地,用于表示此类容体的边界数量急剧增加,使得对3d制造而言微结构的边界表示在计算上是昂贵的。

体素(在本文中也被称为容体像素)是以3d空间表示的值。3d对象可替换地用体素表示,并且如上文参考表面网格所描述的那样使用。在边界表示和体素表示中,体素能够存储用于指定材料梯度信息的信息。使用材料梯度信息,3d制造器在3d空间中创建材料梯度是可能的,类似于上文描述的如何创建颜色的线性梯度。然而,将材料梯度信息存储在体素中是低效的,因为体素会根据打印机分辨率(n)的数学立方体(n3)进行缩放。附加地,体素在操作时往往会丢失数据。

所要求保护的主题的各实施例提供了一种组织和存储制造数据的新方式,使得高复杂度的部件可在磁盘上高效地表示。因此,以此方式表示制造数据还能够对数据进行高效操作。

在一个实施例中,容体网格被用于建模3d对象的内部容体。除了3d对象的表面网格之外,还可使用此容体网格。例如,容体网格可以是四面体网格,而表面网格是三角形网格。除了在三角形网格中找到的3d三角形的三个顶点之外,四面体网格还提供了潜在地与三角形网格分辨率不同的4个顶点。此外,表面网格和容体网格是不相交的网格,其中表面网格是对象的边界,因为表面网格外部的容体网格占据的容体被忽略,例如未被制造。

在容体网格的其他实施例中,立方体、voronoi分区或其他形状可被用作四面体的替代物。在此类实施例中,可指定内插方法以便定义几何结构中任何中间点处的预期值。内插方法使得可以基于存储在顶点处的值为多面体的容体构造一组数据点。无论使用何种网格,数据可能与此网格的各顶点相关联。但是,使用不同的内插方法,数据可能以不同方式存储,例如,作为多面体上的参数。例如,表面网格对于每个顶点可以有两个位置,且参数控制这两个位置之间的内插。通过将这些参数用作微结构并将此参数存储在每个坐标中,可实现对几何结构的连续调整,例如,允许可变厚度的微结构。数据可指定材料和属性信息,诸如复合材料分数、颜色、透明度、导电度、材料的空隙等。以此方式,指定表面网格表面处和容体网格容体内的颜色、线性梯度、材料梯度和属性梯度是可能的。可与这些顶点相关联的其他数据是(u,v,w)坐标,其可指定将被映射到所表示的容体中的3d纹理(诸如网格或体素等)中的坐标。此类规范是3d图形中常见的表面纹理映射的直接扩展。

有利地,四面体网格表示使得使用线性内插来指定所制造的对象内的材料和颜色梯度是可能的。以此方式,材料的特定成分可被沉积在对象内的特定位置中。因此,所制造的3d对象的内部强度可基于各种材料的成分在特定方向上构造。

作为正文前的图文,一些附图是在一个或多个结构组件(不同地称为功能、模块、特征、元件等等)的上下文中来描述概念的。附图中示出的各组件可用任何方式(诸如软件、硬件、固件或其组合)来实现。在一些情况中,附图中示出的各组件可反映对应组件在实际实现中的使用。在其他情况中,附图中所示的任何单个组件可由多个实际组件来实现。附图中的任何两个或更多个分开组件的描绘可以反映单个实际组件所执行的不同功能。以下讨论的图6提供关于可被用来实现附图中所示的功能的一个系统的细节。

其他附图以流程图形式描述了概念。以此形式,某些操作被描述为构成按某一顺序被执行的有区别的框。这些实现是示例性而非限制性的。此处描述的某些框可被分组在一起并在单个操作中执行,某些框可被分成多个组件框,并且某些框可以按与此处所示出的不同的次序来执行(包括以并行方式执行这些框)。流程图中所示的框可以通过软件、硬件、固件、手动处理等来实现。如此处所使用的,硬件可包括计算机系统、诸如专用集成电路(asic)之类的分立逻辑组件等。

关于术语,短语“配置成”涵盖可以构造任何种类的功能来执行所标识的操作的任何方式。功能可以被配置成使用例如软件、硬件、固件等来执行操作。术语“逻辑”涵盖用于执行任务的任何功能。例如,流程图中所示的每一操作对应于用于执行该操作的逻辑。操作可使用软件、硬件、固件等来执行。术语“组件”、“系统”等可指代计算机相关的实体、硬件、和执行中的软件、固件或其组合。组件可以是在在处理器上运行的进程、对象、可执行码、程序、函数、子例程、计算机,或软件和硬件的组合。术语“处理器”可指代硬件组件,诸如计算机系统的处理单元。

此外,所公开的主题可以使用产生控制计算设备以实现所公开的主题内容的软件、固件、硬件或其任意组合的标准编程和工程技术而被实现为方法、装备或制品。如此处所使用的术语“制品”旨在涵盖可以从任何计算机可读存储设备或介质访问的计算机程序。计算机可读存储介质包括磁存储设备,例如硬盘、软盘、磁条、光盘、紧致盘(cd)、数字多功能盘(dvd)、智能卡、闪存设备等。此外,计算机可读存储介质不包括通信介质,诸如用于无线信号的传输介质。相反,计算机可读介质(即,非存储介质)可包括通信介质,诸如用于无线信号的传输介质。

图1是用于使用3d模型来制造3d对象的示例制造器100的框图。制造器100可包括控制单元或控制器102,该控制单元或控制器102耦合到第一机构104并被配置成执行用于第一机构104和第二机构106的指令。构造在第二机构106内的腔室108在制造对象110时允许材料被准备,例如被加热和被混合。例如,腔室108被用于熔化和挤压长丝或其他相容材料。

第一机构104可被称为机器人机构(例如高架式机器人),其包括各种机械或机电组件。通过执行指令集112内的至少一些指令,第一机构104可将这些组件致动为执行至少一些物理移动。制造管理器114可通过将包括浮雕3d模型的3d模型分区成各层并且为每一层提供特定制造指令来生成指令集112。当被致动时,这些部件可水平地、垂直地、对角地、旋转地等等移动。第一机构104的一个示例实现跨x、y或z轴移动打印机构或工具,以便将材料沉积在正被制造的对象110内的特定位置处。

第二机构106可被称为打印机构,该打印机构包括一个或多个打印工具头。材料可被推送或拉取到打印工具头中,并且电机可被安装在更远的地方,以便推送材料经过细导管进入腔室108。虽然第二机构106可类似于挤压器配置(例如单个挤压器头配置),应领会第二机构106表示任何相容的技术,包括被配置成沉积各种类型的材料的传统打印工具头。

以上提到的指令(其被存储在指令集112中)可被统称为经协调的指令,因为这样的指令是协调多个组件来执行的。例如,可对挤压配置中不同步进电机的指令进行协调,使得适当的可挤压材料被供给到腔室108中。因此,一个步进电机的指令可与另一步进电机的指令在时间上同步,使得两个步进电机可彼此配合操作。

制造管理器114可包括在计算设备的各种实现(诸如远程计算设备和附连的计算设备)上操作的硬件和软件组件。制造管理器114的一个示例实现处理与正在制造的对象相对应的3d模型,并且将此信息分区成各层,其中每层都包括至少一些几何结构,该几何结构可包括对应于表面网格的几何元素。本公开可使用“分区”、“切片”或其他类似的术语代替“层”,并将理解,这些术语可被定义为可互换的。

制造管理器114将对应于3d模型的数据结构存储在分区信息116内。几何结构一般指代几何元素的集合(诸如3d多面体或其他形状),其可表示要被沉积的可挤压材料的量。一个示例测量从容量上表示几何结构的至少一部分——并因此表示可挤压材料的量。该示例测量可使用各标准化单元来定义几何结构的一部分,其中每一单元诸如通过挤压宽度来表示在给定时间实例最小量(例如容体)的有色材料。每个地理元素可包括一个或多个标准化单元。

制造管理器114被配置成生成指令,这些指令在被控制器102执行时使第一机构104的各组件致动,这可导致第二机构106移动,随后表面几何结构(例如对象110的外部壳体)移动。任选地,可移动平台(诸如平台120)用作用于打印对象110的机构。第一机构104可操作平台120以将对象110和喷嘴118朝向彼此引导。指令集112可包括用于自动地校准平台120使得通过x、y和z方向上的或跨x-y平面的旋转中的一系列移动将3d对象110移动到针对喷嘴118的正确位置以沉积材料的指令。

制造器100的一些示例实现包括被用本文中描述的组件中的至少一些组件翻新的传统设备,包括控制器102、制造管理器114和打印工具头(诸如第二机构106)。作为一个选项,制造器100可包括用于管理电机集合并在命令被处理时从原始微处理器接收信号的附加微处理器。

为了解说一个示例,被表示在3d网格模型中的经验证的簇对象可通过处理表示该对象的每一多边形并通过切片平面投影每一多边形而被分区成各层。此投影以一种最终创建路径的方式生成一个点和到其他点的连接。从此刻开始,该路径被简化成表示相应制造器的特定硬件特征的可寻址单元的各单元(例如,几何元素的容体测量)。各单元可能不是大小相同、轴对齐和在每个维度上大小相同的。一个示例实现可沿着x、y或z轴利用不同尺寸的非立方单元,这允许每维度不同的有效分辨率。根据一示例实现,分区信息116可包括经体素化的数据,使得每一可寻址(体素)单元包括针对该可寻址体素单元内的几何结构的各种信息,诸如色彩、纹理以及亮度值。

示例制造器100包括电机和具有混合腔室和喷嘴的工具头的布置。工具头还可包括用于将可挤压材料熔化到规定温度的加热元件。在制造3d对象时,制造管理器114确定能够被沉积在给定的(x,y,z)位置处的可挤压材料的近似量。制造管理器114使用所确定的量在对象的壳体上定义可寻址单元。每个单元表示一个特定的几何元素或3d对象的一部分。可寻址单元在本文中可被表示为体素化数据,例如体素化数据结构。在一示例实现中,制造管理器114确定体素单元(例如容体像素)中的容体。制造器的3d空间被可挤压材料的最小容体分解。其他信息可包括隐式值,诸如,到对象表面网格的距离、指示对象的体素单元是否占据所表示的容体的概率。此技术可被应用于对象的整个容体,包括外壳体。

图2是表示供制造的3d模型的方法200的过程流程图。操作环境100的硬件或软件的一个或多个组件可被配置成执行方法200。在一些示例中,该方法的各个方面可以在云计算系统中执行。方法200可在框202处开始。

在框202,3d对象的表面边界被映射。在一个实施例中,该映射构成由2d三角形组成的表面网格。

在框204,3d对象的容体网格被映射。容体网格定义3d对象的容体,类似于2d三角形的表面网格如何定义3d对象的外壳体。在一个实施例中,容体网格是四面体网格。四面体网格可占据比表面网格更大或更小的容体。在一个实施例中,当3d对象被构造时,在表面网格外部定义的容体被忽略。另外,四面体网格可以与表面网格的分辨率不同的分辨率来定义。例如,可以相对高的分辨率来定义表面网格,以便显示所制造的3d对象的典型的表面细节。相反,可以相对较低的分辨率来定义四面体网格,以捕捉在比表面网格的细节的分辨率更低的分辨率下发生的材料过渡。此外,通过以低于表面网格的分辨率定义四面体网格中的属性,在3d对象的表示方面节省空间是可能的。

在框206,使用容体网格将3d对象的内部容体的属性映射到表面网格中。使用容体网格和表面网格两者允许高效地表示表面形状和内部结构。在一个实施例中,较大的、较粗的容体网格定义该部分内的材料梯度,而精细表面网格标识外部形状的复杂细节。

在框208,三维对象的内部容体的制造特性被映射为容体网格中的体素。与用作跨表面的纹理的像素类似,体素可被用于提供3d容体纹理。例如,包含许多像素(或体素)的图像样本(在u、v坐标之间)被拉伸到表面网格的三角形(或容体网格的四面体)上。一般进行纹理映射是为了将高分辨率数据放置在低分辨率网格上。在容体网格中,3d体素可被用于描述整个四面体容体的材料。

在框210,三维对象的内部容体的制造特性被映射为容体网格中的线性梯度。在一个实施例中,可在四面体的四个顶点处定义不同的材料。因此,为了确定在四面体的整个容体中使用哪些材料,定义各材料之间的过渡的四种不同材料的材料梯度、线性梯度可被生成。各材料之间的过渡可以类似于用于确定2d空间中的线性颜色梯度的技术来确定。

在框212,其他表面网格可被映射到三维对象的内部容体中。在一个实施例中,微结构可被表示为表面网格,该微结构使用容体网格来锚定映射以映射到并挖空较大的表面网格。此内部微结构可以是更大的三角形表面网格内的三角形表面网格。

在框214,基于一个或多个表面网格、容体网格和属性来生成3d对象的模型。在框216,可基于该模型以及诸如制造特性之类的属性来构建3d对象。在一个实施例中,可使用制造器100来构建3d对象。

该过程流程图不旨在指示方法200的各框要以任何特定次序来被执行,或者在每一种情况下都要包括所有框。此外,取决于具体实现的细节,任何数量的未被示出的附加框可被包括在方法200中。

图3是供制造的示例3d对象300的重合三角形和四面体网格的图示。通过使用容体网格和表面网格两者,表面形状能够以不同于内部结构的分辨率级别来表示。这是通过允许表面网格剪切容体网格来实现的,因此较大的、较粗的容体网格可定义该部分内部的材料梯度,而精细表面网格可描述外部形状的复杂细节。在此类实施例中,默认的固体材料可沉积在没有微结构被定义的间隙中。以此方式,低分辨率的材料可填充具有高分辨率表面的间隙。附加地,通过生成比表面网格小的内部容体网格,可在内部微结构周围添加固体壳体。

在各种实施例中,微结构可能是重复的。换言之,可在整个对象中使用相同的表面拓扑结构,但每次使用都稍微弯曲或拉伸。在此类实施例中,定义微结构是可能的,类似于如何为纹理映射定义纹理。然而,替代于跨2d表面重复纹理,各实施例在较大对象(例如对象300)的整个容体中重复3d容体模型。

图4是用于复杂3d对象的示例表面网格402、404的图示。通过使用容体网格300将表面网格402、404映射到原始形状。表面网格402、404各自建模3d微结构406的一部分,该3d微结构406可以是跨容体网格的容体平铺的镜面。每个表面网格402、404分别表示边缘链接408和中心链接410的一部分。如图所示,每个网格402、404可在整个对象300的容体内重复平铺。

图5是具有镜面平铺的示例容体网格502以及根据容体网格502制造的3d对象504的图示。对象504的每个个体链接在大小和形状上都是唯一的。使用ascii文本的数据表示的传统实现占据了近5兆字节的数据。相反,使用四面体和三角形网格的实现仅使用23千字节的数据。

图6旨在提供其中可实现本文描述的各种技术的计算环境的简要的一般描述。例如,可在这样的计算环境中实现用于生成要被用来制造3d对象的3d模型的方法和系统。尽管上文已经在运行在本地计算机或远程计算机上的计算机程序的计算机可执行指令的一般上下文中描述了所要求保护的主题,然而所要求保护的主题可结合其它程序模块来实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。

图6是被配置用于实现本文中描述的技术的各方面的示例操作环境的框图。示例操作环境600包括计算机602。计算机602包括处理单元604、系统存储器606以及系统总线608。

系统总线608将包括但不仅限于系统存储器606的系统组件耦合到处理单元604。处理单元604可以是各种可用处理器中的任何一种。也可以使用双微处理器及其他多处理器体系结构作为处理单元604。

系统总线608可以是若干类型的总线结构中的任意类型,包括存储器总线或存储器控制器、外围设备总线或外部总线、和使用本领域的普通技术人员已知的任何各种各样的可用总线架构的本地总线。系统存储器606包括计算机可读存储介质,计算机可读存储介质包括易失性存储器610和非易失性存储器612。

基本输入/输出系统(bios)被存储在非易失性存储器612中,包含例如在启动期间在计算机602内的元件之间传输信息的基本例程。作为说明,而不是限制,非易失性存储器612可包括只读存储器(rom)、可编程序只读存储器(prom)、电可编程序只读存储器(eprom)、电可擦可编程序只读存储器(eeprom)或闪存。

易失性存储器610包括充当外部高速缓冲存储器的随机存取存储器(ram)。作为说明而不是限制,ram可以有许多形式,如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双倍数据速率sdram(ddrsdram)、增强的sdram(esdram)、同步链路tmdram(sldram)、直接型ram(rdram),直接型动态ram(drdram)以及动态ram(rdram)。

计算机602也包括其他计算机可读介质,诸如可移动/不可移动、易失性/非易失性计算机存储介质。图6示出例如盘存储614。盘存储614包括但不仅限于,诸如磁盘驱动器、软盘驱动器、磁带驱动器、jaz驱动器、zip驱动器、ls-210驱动器、闪存卡、记忆棒闪存驱动器以及拇指驱动器之类的设备。

另外,盘存储器614还可包括存储介质,分开地或与其他存储介质相结合,包括,但不仅限于,诸如紧致盘rom设备(cd-rom)之类的光盘驱动器、cd可记录驱动器(cd-r驱动器)、cd可重写驱动器(cd-rw驱动器)、数字多功能盘(dvd)驱动器。为便于盘存储设备614连接到系统总线608,通常使用诸如接口616之类的可移动或不可移动接口。

将理解,图6描述了在合适的操作环境600中在用户和所描述的基本计算机资源之间的中介的软件。这样的软件包括操作系统618。可以存储在盘存储614上的操作系统618用于控制和分配计算机602的资源。

系统应用620利用由操作系统618通过存储在系统存储器606中或者存储在磁盘存储614上的程序模块622和程序数据624对资源的管理。将理解,所要求保护的主题可以利用各种操作系统或操作系统的组合来实现。

用户通过输入设备626将命令或信息输入到计算机602中。输入设备626包括但不限于定点设备(诸如鼠标、跟踪球、触控笔等)、键盘、话筒、操纵杆、圆盘式卫星天线、扫描仪、tv调谐卡、数码相机、数码摄像机、网络摄像头等等。输入设备626通过系统总线608经由接口端口628连至处理单元604。接口端口628包括,例如,串行端口、并行端口、游戏端口以及通用串行总线(usb)。

输出设备630与输入设备626使用一些相同类型的端口。如此,例如,可以使用usb端口来向计算机602提供输入,以及从计算机602向输出设备630输出信息。

提供了输出适配器632,以示出有诸如监视器、扬声器以及打印机之类的一些输出设备630,还有可经由适配器访问的其他输出设备630。输出适配器632包括,作为说明而不是限制,在输出设备630和系统总线608之间提供连接装置的视频卡和声卡。能够注意,其他设备和设备的系统可提供诸如远程计算机634之类的输入和输出两种能力。

计算机602可以是使用到诸如远程计算机634之类的一个或多个远程计算机的逻辑连接在联网环境中主存各种软件应用的服务器。远程计算机634可以是配置有web浏览器、pc应用、移动电话应用等等的客户端系统。

远程计算机634可以是个人计算机、服务器、路由器、网络pc、工作站、基于微处理器的电器、移动电话、对等设备或其他公共网络节点等等,并通常包括上文参考计算机602所描述的许多或全部元件。远程计算机634可通过网络接口636在逻辑上连接到计算机602,然后经由通信连接638(其可以是无线的)连接。

网络接口636涵盖诸如局域网(lan)和广域网(wan)这样的无线通信网络。lan技术包括光纤分布式数据接口(fddi)、铜线分布式数据接口(cddi)、以太网、令牌环网等等。wan技术包括,但不限于,点对点链路、电路交换网,如综合业务数字网(isdn)以及其变体,分组交换网络以及数字用户线(dsl)。

通信连接638指代被用来将网络接口636连接到总线608的硬件/软件。尽管为清楚起见通信连接638被示为在计算机602内部,但是,它也可以位于计算机602外部。连接到网络接口636的硬件/软件可包括,只作示例性目的,内部和外部技术,诸如,移动电话交换,调制解调器,包括常规电话分级调制解调器、电缆调制解调器和dsl调制解调器、isdn适配器以及以太网网卡。

用于服务器的示例性处理单元604可以是计算群集。盘存储614可包括例如保持成千上万的投放的企业数据存储系统。

计算机602可被配置成基于制造数据的容体表示来生成3d模型。数据624可包括一个或多个初始3d模型,该一个或多个初始3d模型可例如从便携式存储设备获得,或者从远程计算机或经由因特网下载。例如,3d模型可以是简单的奖杯模型或更复杂的对象,诸如机器的工作部件。在一些示例中,3d模型包括表示供制造的对象的容体的3d四面体模型。四面体模型可与诸如三角形网格之类的3d表面模型组合。三角形网格剪切四面体网格。换言之,三角形网格是边界,超出该边界的四面体网格被忽略。

数据624可包括一个或多个3d图像,该一个或多个3d图像可例如从便携式存储设备获得,或者从远程计算机或经由因特网下载。用户可选择一个或多个3d图像来为由四面体表示的容体提供3d纹理。

用户可将容体网格模型存储到盘存储器614,并将容体网格模型发送给制造器,诸如下文参考图1所描述的制造器100。参考图2-5进一步描述由计算机602执行以生成组合3d模型的计算。

在一些示例中,所执行的用于生成容体网格的过程中的一些或全部可在云服务中被执行并被重新加载到用户的客户端计算机上。例如,上文所描述的用于表示3d模型的应用中的一些或全部可在云服务中运行并通过客户端计算机从用户接收输入。因此,计算容体网格模型所涉及的计算可在云计算系统上执行。

示例1

此示例提供了一个用于表示3d对象属性的示例系统。示例系统包括处理器和计算机可读存储器存储设备,该计算机可读存储器存储设备存储能够由该处理器执行以使得该处理器执行下述操作的可执行指令:将三维对象的外表面映射为表面网格。示例系统还包括可以由处理器执行以使得处理器执行下述操作的可执行指令:使用容体网格将三维对象的内部容体的属性映射到表面网格中。示例系统还包括可以由处理器执行以使得处理器执行下述操作的可执行指令:基于表面网格和来自容体网格的属性生成三维对象的模型。这些属性可能包括制造特性。示例系统还包括可以由处理器执行以使得处理器执行下述操作的可执行指令:构建三维对象。示例系统还包括可以由处理器执行以使得处理器执行下述操作的可执行指令:将附加的表面网格映射到三维对象的内部容体中作为容体网格中的体素。替换地或附加地,这些属性包括在由体素代表的特定点处使用的材料的成分。另外,材料的成分可以是材料的空隙。替换地或附加地,其特征在于,所述表面网格针对每个顶点具有两个位置,并且参数控制所述两个位置之间的内插。替换地或附加地,这些制造特性包括在由体素代表的特定点处使用的材料的成分。替换地或附加地,材料的成分是材料的空隙。

示例2

此示例提供了一个用于表示3d对象属性的示例方法。该示例方法包括将三维对象的外表面映射为表面网格。该示例方法包括使用容体网格将三维对象的内部容体的属性映射到表面网格中。该示例方法还包括基于表面网格和来自容体网格的属性生成三维对象的模型。该示例方法还包括基于容体网格和属性构建三维对象,其中该属性包括制造特性。该示例方法附加地包括将三维对象的表面边界映射为组成表面网格的多边形。替换地或附加地,多边形包括三角形,并且表面网格包括三角形网格。该示例方法还包括将附加的表面网格映射到三维对象的内部容体中作为容体网格中的体素。替换地或附加地,这些属性包括在由体素代表的特定点处使用的材料的成分。替换地或附加地,材料的成分包括材料的空隙。替换地或附加地,该示例方法包括将三维对象的内部模型映射为构成容体网格的多面体。

示例3

该示例提供了用于存储计算机可读指令的示例一个或多个计算机可读存储器存储设备,所述指令在被一个或多个处理设备执行时指示表示3d对象属性的性能。计算机可读指令可包括将三维对象的外表面映射为表面网格的代码。计算机可读指令可包括使用容体网格将三维对象的内部容体的属性映射到表面网格中的代码。计算机可读指令可包括基于表面网格和来自容体网格的属性生成三维对象的模型的代码。计算机可读指令可包括基于表面边界和属性构建三维对象的代码,其中该属性包括制造特性。计算机可读指令可包括将附加的表面网格映射到三维对象的内部容体中作为容体网格中的体素的代码。替换地或附加地,这些属性包括在由体素代表的特定点处使用的材料的成分,以及该材料的成分包括材料的空隙。计算机可读指令可包括将三维对象的内部模型映射为构成容体网格的多面体的代码。

以上已经描述的内容包括所公开的主题的各方面的示例。当然,出于描绘所公开的主题的目的而描述组件或方法的每一个可以想到的组合是不可能的,但本领域内的普通技术人员应该认识到,所公开的主题的许多其他组合和排列都是可能的。因此,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的变更、修改和变化。

特别地,对于由上述组件、设备、电路、系统等执行的各种功能,除非另外指明,否则用于描述这些组件的术语(包括对“装置”的引用)旨在对应于执行所描述的执行此处在所公开的主题的示例性方面中所示的功能的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。关于这一点,还应认识到,本创新包括具有用于执行所公开的主题的各种方法的动作和事件的计算机可执行指令的系统以及计算机可读存储介质。

有多种实现所公开的主题的方式,例如,使应用和服务能使用在此描述的技术的适当的api、工具包、驱动程序代码、操作系统、控件、独立或可下载的软件对象等等。所公开的主题还构想从api(或其他软件对象)的观点来看,以及从根据本文中所述技术操作的软件或硬件对象的用途。如此,本文中所描述的所公开的主题的各种实现可以具有完全以硬件、部分以硬件而部分以软件、以及以软件来实现的各种方面。

上述系统已经参考若干组件之间的交互被描述。可以理解,这些系统和组件可包括组件或指定的子组件、某些指定的组件或子组件、以及附加的组件,并且根据上述内容的各种置换和组合。子组件还可作为通信地耦合到其他组件的组件来实现,而不是被包括在父组件内(分层的)。

另外,应该注意,一个或多个组件也可以组合到提供聚合功能的单一组件中,或者也可以分成多个单独的子组件,并且,可以提供诸如管理层之类的任何一个或更多中间层,以可通信地耦合到这样的子组件,以便提供集成的功能。本文中所述的任何组件也可与本文中未专门描述但本领域技术人员一般已知的一个或多个其他组件进行交互。

另外,尽管可能已经相对于若干实现中的一个实现公开了所公开的主题的某一特征,但是如可对任何给定的或特定的应用所希望且有利的那样,这样的特征可与其它实现的一个或多个其它特征相组合。而且,就术语“包括”、“含有”、“具有”、“包含”、其变型以及其他类似单词在详细描述或权利要求书中的使用而言,这样的术语旨在以类似于术语“包括”作为开放的过渡词的方式为包含性的而不排除任何附加或其他元素。

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