买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】在构建包络中确定待打印的部件的布置的方法和设备_惠普发展公司,有限责任合伙企业_201580079271.3 

申请/专利权人:惠普发展公司,有限责任合伙企业

申请日:2015-07-31

公开(公告)日:2020-11-27

公开(公告)号:CN107635750B

主分类号:B29C64/386(20170101)

分类号:B29C64/386(20170101);B33Y50/00(20150101)

优先权:

专利状态码:有效-授权

法律状态:2020.11.27#授权;2018.02.27#实质审查的生效;2018.01.26#公开

摘要:根据示例,可以通过识别待打印的多个部件并且对于多个部件中的每一个部件生成相应的虚拟边界框而确定在三维3D打印机的构建包络中待打印部件的布置。在一个示例中,可以做出确定使得由所生成虚拟边界框占据的总体积降至构建包络体积的预定阈值之下,并且可以确定构建包络内导致虚拟边界框的总高度最小化的虚拟边界框的布置,以增强由3D打印机打印多个部件的效率。

主权项:1.一种用于在三维3D打印机的构建包络中确定待打印的部件的布置的方法,所述方法包括:识别待打印的多个部件;针对所述多个部件中的每一个部件生成相应的虚拟边界框;确定由所生成的虚拟边界框占据的总体积降至所述构建包络体积的预定阈值之下;以及通过处理器确定所述构建包络内部的导致所述虚拟边界框的总高度最小化的所述虚拟边界框的布置,以增强由所述3D打印机打印所述多个部件的效率。

全文数据:用于3D打印构建包络的部件布置确定背景技术[0001]3D制造系统通常采用增材制造技术以在3D制造系统的3D构建包络内构建或打印部件。因为单个部件通常并不要求整个3D构建包络,因此通常操作3D制造系统以在普通构建操作期间同时地在构建包络内构建多个不同的部件。附图说明[0002]本公开的特征借由示例的方式而说明并且不限于以下附图,其中相同的附图标记表示相同的元件,其中:[0003]图1示出根据本公开示例的三维3D打印机的简化等距视图;[0004]图2示出根据本公开示例的用于在3D打印机的构建包络中待打印的部件的布置的设备的框图;[0005]图3和图4分别示出根据本公开示例的用于在3D打印机的构建包络中确定待打印的部件的布置的方法的流程图;[0006]图5示出根据本公开的示例的虚拟边界框以及部件的视图;[0007]图6示出根据本公开示例的构建包络和虚拟边界框的视图;[0008]图7A描绘根据本公开示例的沿着z轴线的具有柱体的表面的示意图,具有在X和y轴线方向上的两组两个平行平面的矩形截面;[0009]图7B描绘根据本公开示例的用于从垂直于17和2轴线的三组两个平行平面构造隐含框几何特征的方案的示意图;[0010]图8描绘根据本公开示例的自由空间以及部件的示意图;[0011]图9描绘根据本公开示例的在三维中两个形状的布尔运算的示意图;[0012]图IOA和图IOB分别示出根据本公开示例的其中可以计算面向自由空间的锚定点的立体角的方式的示意图;以及[0013]图11示出根据本公开示例的计算设备的示意图,其可以等效于图2中所描绘的设备。具体实施方式[0014]为了简明和示意性目的,通过主要地参照其示例而描述本公开。在以下说明书中,阐述数个具体细节以便于提供对本公开的全面理解。然而显而易见的是,可以不限于这些具体细节而实施本公开。在其他情形中,尚未详细描述一些方法和结构以避免不必要地模糊本公开。如在此所使用,术语“一”意在指示特定要素的至少一个,术语“包括”意味着包括但不限于,术语“包含”意味着包含但不限于,并且术语“基于”意味着至少部分地基于。[0015]本文公开了用于在三维3D打印机或其他类型的增材制造装置的构建包络中确定待打印的部件的布置的设备和方法。在该方法中,识别多个待打印的部件物体,并且可以对于多个部件物体中的每一个生成相应的虚拟边界框。在一个示例中,可以确定由所生成的虚拟边界框占据的总体积降至构建包络体积的预定阈值之下并且可以确定构建包络内的虚拟边界框的布置以使得布置导致最小化了虚拟边界框的总高度。在另一示例中,可以确定构建体积内虚拟边界框的布置以使得布置导致构建体积内的自由空间具有最小复杂的几何结构。在以上两个示例中,可以确定虚拟边界框的布置以增强由3D打印机打印多个部件物体的效率。[0016]—方面,使用虚拟边界框替代部件它们自身以确定部件的布置可以简化布置确定,因为虚拟边界框与待打印的部件表面相比可以具有相对较简单的表面以计算和定位。换言之,与布置部件相比,可以在计算上更简单地布置虚拟边界框,因为部件可以具有不规则形状。也可以对于具有规则形状的部件生成本文所公开的虚拟边界框,例如提供形成在相邻部件之间的间隙,其足以在打印期间防止部件之间的热耦合。[0017]本文所公开的方法和设备可以因此允许相对较快的做出部件布置的确定,这大大减少了打印部件所需的时间和材料。因此,通过实施本文所公开方法和设备而确定的部件的布置可以导致对于例如几乎实时所确定的近最优方案。[0018]参照图1,示出了根据示例的用于生成、构建或打印其上可以实施本文所公开方法和设备的特征的三维部件的三维3D打印机的简化等距视图。应该理解的是,图1中所示的3D打印机100可以包括额外的部件并且本文所公开的一些部件可以移除和或修改而并不脱离本文所公开的3D打印机的范围。也应该理解的是,图1中所示的3D打印机100可以不按照比例绘制,并且因此3D打印机100可以具有与其中所示不同的大小和或配置。例如,3D打印机100可以包括额外的材料喷涂装置,例如,用于生成具有多于两种不同类型材料的三维物体。[0019]如图1中所示,3D打印机100可以包括构建区域平台102,其包括构建区域表面,在构建区域表面上,三维3D物体或部件104—108将要由构建材料未示出)生成。特别地,3D部件104—108为了简明的目的仅采用附图标记标注三个3D部件将要生成在构建包络110内,其本文等同地被称为构建体积。如图1中所示,构建包络110可以占据构建区域平台102的构建区域表面的顶部上的三维空间。例如,构建包络110可以定义为其中3D打印机100可以打印或另外生成部件104—108的三维空间。构建包络110的宽度和长度可以由构建区域平台102的宽度和长度所限定,并且构建包络110的高度可以受限于构建区域平台102可以沿z方向移动的范围,其中构建区域平台102的移动由箭头114表示。尽管未示出,但促动器诸如活塞可以控制构建区域平台102的垂直位置。[0020]如图1中所示,3D打印机100可以在普通打印操作(S卩,在构建包络110内单个构建操作期间打印多个部件。根据示例,在此公开了用于在构建包络110内确定将要打印的部件的布置的方法和设备,这导致打印部件的效率增强或大大优化。部件的布置可以包括部件沿x、y和Z方向的布置、以及部件的旋转,例如偏航、翻滚和节距,这导致效率增强。在一个示例中,当3D打印机100能够在单个打印操作期间打印最大或接近最大数目部件时效率可以视作增强或极大优化。在另一示例中,当能够在单个打印操作期间以最小或近似最小时间量打印多个部件时效率可以视作被增强或显著优化。在又一示例中,当3D打印机100能够在单个或在最小数目打印操作中打印所有多个部件时效率可以视作被增强或显著优化。以下详细描述其中可以确定待打印的部件的布置被增强或显著优化了打印部件的效率的各种方式。[0021]应该清楚地理解的是,图1中所示的3D打印机100可以具有任意多个不同配置并且可以使用任意多个不同增材制造技术以构建或打印部件104—108。例如,3D打印机100可以采用多喷射熔合、选择性激光烧结、选择性激光熔化、立体光刻等的任意技术。因此,例如,可以在3D打印机100中使用各种类型材料,例如基于粉末、基于液体的材料等。此外,本文所公开的用于确定待打印的部件的布置的设备可以在3D打印机的外部。例如,本文所公开的设备可以是用于确定待打印的部件的布置并且将所确定的布置传送至3D打印机或增材制造系统的计算装置。[0022]应该清楚地理解的是,具有与图1中所示配置不同配置的3D打印机可以实施本文所公开的待打印的部件的所确定布置。例如,将要在3D构建包络或3D构建体积中打印部件的任何类型3D打印机或增材制造系统可以实施如本文所公开的待打印的部件的所确定布置。其上可以采用本文所公开的方法和设备的特征的其他类型增材制造系统包括采用了选择性激光烧结、选择性激光熔化、立体光刻等的系统。同样,3D打印机100的示意和说明仅被提供作为示例并且不应理解为将本文所公开的方法和设备限定于3D打印机100。此外,本文所公开的用于确定待打印的部件的布置的设备可以在3D打印机外部。例如,本文所公开的设备可以是用于确定待打印的部件的布置并且将所确定的布置传送至3D打印机或增材制造系统的计算装置。[0023]现在参照图2,示出了根据示例的用于确定在3D打印机的构建包络中待打印的部件的布置的设备200的框图。应该理解的是,图2中所示的设备200可以包括额外的部件并且本文所述的一些部件可以移除和或修改而并不脱离设备200的范围。[0024]设备200可以是计算装置,诸如个人计算机、服务器计算机、打印机、3D打印机、智能电话、平板计算机等。在特定的示例中,设备200可以等同于图1中所示的控制器130。设备200示出为包括处理器210和机器可读存储介质220。处理器210可以是中央处理单元CPU、基于半导体的微处理器、专用集成电路(ASIC、和或适用于检索并执行存储在机器可读存储介质220中的指令的其他硬件装置中的任意器件。处理器210可以获取、解码、并执行指令,诸如存储在机器可读存储介质220上的指令222—228,以控制用于识别待打印的部件物体的进程222,针对待打印的部件物体生成虚拟边界框的进程224,确定虚拟边界框的布置的进程226,输出打印所确定布置的进程228。作为可替代的示例或者除了检索并执行指令之外,处理器210可以包括一个或多个电子电路,其包括用于执行指令222—228的功能的电子部件。以下参照图3和图4详细描述这些进程。[0025]机器可读存储介质220可以是包含或存储可执行指令的任何电子、磁性、光学、或其他物理存储装置。因此,机器可读存储介质220可以例如是随机存取存储器RAM、电可擦除可编程只读存储器EEPROM、存储装置、光碟等等。在一些实施方式中,机器可读存储介质220可以是非瞬态机器可读存储介质,其中术语“非瞬态”并未包括瞬态传播信号。如以下详细所述,机器可读存储介质220可以采用一系列可执行指令222—228编码以生成将要由3D打印机打印的部件的输出输入布置,这导致部件的打印效率增强。[0026]还如图2中所示,设备200也可以包括处理器210可以在其上存储信息诸如属于待打印的部件的信息)的数据存储212。数据存储212可以是易失性和或非易失性存储器,诸如DRAM、EEPROM、MRAM、相变RAMPCRAM、忆阻器、快闪存储器等等。设备200可以进一步包括输入输出接口214,处理器210通过其可以与外部装置未示出)通信,例如用于接收并存储属于待打印的部件的信息。输入输出接口214可以包括硬件和或软件以使得处理器210与外部装置通信。输入输出接口214可以使能有线或无线连接至输出装置。输入输出接口214可以进一步包括网络接口卡和或也可以包括硬件和或软件以使得处理器210与各种输入和或输出装置通信,诸如键盘、鼠标、显示器、另一计算装置等,用户通过其可以输入指令至设备200中。[0027]现在参照图3和图4,选择性地示出了根据两个示例的用于在3D打印机的构建包络中确定待打印的部件的布置的方法300和400的流程图。应该理解的是,图3和图4中所示的方法300和400可以包括额外的操作,并且其中所述的一些操作可以移除和或修改而并不脱离方法300和400的范围。方法300和400的说明为了示意的目的而参照了图2中所示的特征,并且因此应该理解的是,方法300和400可以实施在具有不同于图2中所示架构的设备中。[0028]通常而言,设备200的处理器210可以实施或执行存储在机器可读存储介质220上的指令222—228,以执行方法300和400的任意一个。[0029]首先参照图3中方法300,在框302处,处理器210可以识别待打印的多个部件。处理器210可以以任何合适的方式识别待打印的多个部件。例如,处理器210可以从外部装置或从数据存储212接收或另外访问包含了属于待打印的多个部件的信息的文件。在任何方面,属于多个部件的信息可以包括每个部件的标识,诸如部件编号、部件名称、或其他标识符。属于多个部件的信息也可以包括识别了部件的物理特性的数据,例如部件的尺寸。信息可以进一步包括识别了部件是否具有预定属性的数据,例如,部件沿着一个轴线与另一轴线相比是否更坚硬,这可以影响其中打印部件的朝向。[0030]根据示例,在与构建包络110中存在的空间相比存在更多待打印的部件的情形中,处理器210可以根据部件的各自到期日而对部件分类。此外,处理器210可以选择具有最近到期日的部件在具有稍后到期日的部件之前而打印。[0031]在框304处,处理器210可以针对在框302处所识别的多个待打印的部件中的每一个生成相应的虚拟边界框。在图5中示出了针对待打印的部件502的虚拟边界框500的示例。采用虚线以示出部件502以更好地区分部件502与虚拟边界框500。针对待打印的部件502的虚拟边界框500可以定义作为具有与x、y、和z轴线平行且完全包括待打印的部件502的边缘504以及平坦部分506的虚拟矩形(或方形框。如图5中所示,平坦部分506是在四个各自边缘之间的部分,并且因此虚拟边界框504具有十二个边缘和六个平坦部分506。[0032]根据示例,可以生成虚拟边界框500以使得边界504和或平坦部分506接触或者近似接触待打印的部件502的末端508,例如最外侧表面或点。在另一示例中,可以生成虚拟边界框500以使得在待打印的部件502的末端508与虚拟边界框500的边缘504和或平坦部分506之间维持了相对较小的间隙。可以例如维持间隙以在打印期间将部件502与其他部件热去耦合de-couple。此外,间隙的大小可以固定,或者可以取决于相邻待打印的部件的体积而改变。例如,当存在大量相邻待打印的部件时,间隙可以较大,因为在打印期间在部件之间可以存在相对较大量的热耦合。[0033]根据示例,部件502可以虚拟地朝向(偏航、翻滚、节距至多个位置中,并且处理器210可以计算对应于多个位置中的每一个位置的虚拟边界框。处理器210可以针对每个所计算的虚拟边界框计算体积并且可以确定部件502的哪个朝向导致最小体积的虚拟边界框。处理器210可以针对部件502生成虚拟边界框500以作为具有最小体积的虚拟边界框500〇[0034]在许多3D打印机中,沿ζ方向打印部件的特性不同于沿X或y方向打印部件的特性。例如,打印部件可以沿着X和y方向与Z方向相比相对更坚硬。同样,一些部件可以具有需求,它们沿x、y或ζ方向之一以预定的朝向而打印。根据示例,处理器210可以在生成虚拟边界框500中维持待打印的部件的预定朝向。例如,在将部件502旋转至多个位置中,处理器210可以将多个位置限制为满足预定的朝向需求。额外地,处理器210可以针对部件存储虚拟边界框500以使得虚拟边界框500维持部件的预定朝向需求。例如,处理器210可以存储具有虚拟边界框500可以沿着其轴线的一个或多个旋转或不旋转的指示的虚拟边界框500。[0035]在框304之后,因此,可以生成并存储用于每个待打印的部件的虚拟边界框500,例如,在数据存储212中。[0036]在框306处,处理器210可以确定由所生成的虚拟边界框占据的总体积降至构建包络的体积的预定阈值之下。预定阈值可以定义为构建包络的体积的预定百分比。借由特别的示例的方式,其中预定阈值是70%,处理器210可以确定当由所生成的虚拟边界框占据的总体积小于构建包络的体积时,由所生成的虚拟边界框占据的总体积降至构建包络的体积的预定阈值之下。在其他示例中,预定阈值可以例如是在从大约60%至大约80%之间的任何点。[0037]可替代地,如果处理器210确定由所生成的虚拟边界框占据的体积等于构建包络的体积或者在如上所述任意预定阈值之上,则处理器210可以确定虚拟边界框的布置,其导致虚拟边界框配合在构建包络内。处理器210也可以输出该所确定的布置以由3D打印机在打印部件中实施。额外地,如果处理器210确定由所生成的虚拟边界框占据的总体积超过构建包络的体积,处理器210可以从在单个打印操作期间与剩余部件一起打印的部件中移除一个或多个部件,并且可以尝试确定部件的另一布置。移除的部件可以保留在部件工具中以在下一个打印操作期间打印。[0038]在任何方面中,在框306处确定之后,处理器210可以确定在构建包络内虚拟边界框的布置,这导致虚拟边界框的总高度ζ尺度最小化,如在框308处所示。虚拟边界框的总高度的最小化可以增强由3D打印机打印多个部件的效率,因为制造成本例如时间、材料、能量等可以随着层的数目以及因此高度而缩减。换言之,最小化待打印的部件的ζ尺度可以减少或最小化制造成本。[0039]参照图6,示出了构建包络600以及位于构建包络600内的虚拟边界框602的示例。根据示例,处理器210除了最小化ζ尺度之外,可以确定虚拟边界框602的导致构建包络600内自由空间604具有最小复杂度几何结构的布置。构建包络600内的自由空间604可以定义为构建包络600内并未由虚拟边界框602占据的空间。额外地,自由空间604可以视作当自由空间604具有最少数目边缘时具有最小复杂度几何结构,其中最小复杂度几何结构是自由空间604的启发式特性。在图6中,为了简明目的仅标注了两个边沿606,但是应该理解的是虚拟边界框602的各自顶点配对608之间的线条以及构建包络600的各自顶点配对610之间的线条也可以视作是边缘608。[0040]自由空间604的最小复杂度几何结构可以视作描述了自由空间适应于将下一个虚拟边界框放置在自由空间中的“良好性”。在另一示例中,当自由空间604内的尺寸比率接近1时,自由空间604可以视作具有最小复杂度的几何结构,这可以使其更易于在自由空间604中为下一个虚拟边界框找到合适的位置,因为自由空间604可以具有更多方形结构。根据示例,图2中所示的机器可读存储介质220也可以包括机器学习指令,其可以包括定义了自由空间的“最小复杂度”或良好性的多个启发式。处理器210可以执行机器学习指令以例如基于与部件池的特定分布相关联的最终封装质量例如最终封装密度而对每个启发式规则记分,例如最小边缘计数。处理器210可以使用该得分以确定在确定虚拟边界框602的布置中所使用的最佳启发式规则。[0041]借由示例的方式,当虚拟边界框602的最大数目具有共同边缘时,诸如通过将虚拟边界框602设置为相互接触,虚拟边界框602的布置可以导致具有最小复杂度几何结构的自由空间604。[0042]根据一个示例,处理器210可以在设置具有较短长度的虚拟边界框602之前设置在构建包络600内具有最长长度的虚拟边界框602。这可以完成,因为较小的虚拟边界框与较大虚拟边界框相比可以更易于装配至剩余自由空间604中。在该示例中,处理器210可以基于各自虚拟边界框的特性而对虚拟边界框分类并且可以生成对应于已分类虚拟边界框的已分类部件列表以确定虚拟边界框的分类顺序。例如,处理器210可以以具有最大长度的虚拟边界框开始并以具有最短长度的虚拟边界框结束的降序顺序而对虚拟边界框分类。此夕卜,或者可替代地,处理器210可以以对应于具有最新到期日的部件的虚拟边界框开始而以降序顺序对虚拟边界框分类。在该示例中,处理器210可以对虚拟边界框分类以使得对应于具有类似到期日的虚拟边界框根据它们的长度而设置,例如具有较大长度的虚拟边界框排序高于具有较短长度的虚拟边界框。[0043]处理器210可以因此在构建包络600内以其中虚拟边界框602所对应的部件设置在已分类部件列表中的顺序而放置虚拟边界框602。此外,处理器210可以确定自由空间604内虚拟边界框602所放置的位置,当虚拟边界框602所在位置并未相互重叠时,并导致具有最小复杂度几何结构的自由空间604。因此,借由示例的方式,处理器210可以在构建包络600内导致自由空间604具有边缘606最少数目的位置处放置具有最大长度的虚拟边界框602。如图6中所示,这可以包括在构建包络600的拐角处放置第一虚拟边界框602。[0044]在确定构建包络600内虚拟边界框602的布置中,处理器210可以应用隐含表面以功能地代表虚拟边界框602的形状,其是长方体。隐含表面的应用以功能地表示虚拟边界框602的形状可以使得处理器210以相对快速的方式计算虚拟边界框602的几何结构。在隐含表达中,插入操作可以由最大操作实现,这可以以由R函数以封闭形式表示或者点式地计算。根据示例,长方体例如构建包络600和虚拟边界框602可以使用R函数功能地表示。[0045]参照图7A和图7B描述可以计算立方体的隐含面积的方式的示例。图7A描绘表面的视图700,具有沿着z轴线的柱体,从在X和y轴线方向上的两组两个平行平面具有矩形截面。图7B描绘用于从垂直于x、y和z轴线的三组两个平行平面构造隐含框几何结构的方案的示意图710。由Ρι、Ρ2、和P3形成的隐含面积是R函数:[0047]PdPp2的交集可以由R函数表示为:[0049]Pin2和P3的交集可以由R函数表示为:[0054]额外地,可以选择R函数,因为其可以高效且精确地计算得到的隐含函数。[0055]可以是构建包络600或虚拟边界框602的立方体的函数表达f可以使用以下方程确定:[0066]额外地,参照图8中所描绘的示意图800,可以通过以下进程确定在构建包络600内虚拟边界框602的填充操作中任何给定步骤处在自由空间内或外的任何给定点X,Y,Z:[0074]返回参照图6,可以使用上述进程计算构建包络600中的自由空间604。在以上讨论中,定义所有隐含表面以使得在自由空间内的隐含表面的点是负的并且在自由空间外的点是正的。然而,应该理解的是,这些点可以通过在如上所述函数前放置㈠而以相反方式定义。也即,在自由空间内的隐含表面的点可以是正的并且在自由空间外的点可以是负的。在该情形中,“最大”操作是并集操作,而“最小”操作是交集操作。额外地,可以因此改变所有其他布尔运算。[0075]参照图9中的示意图900,可以使用以下进程功能地计算在三维中两个形状的布尔运算:[0087]初始地,构建包络600的自由空间604定义为构建包络600的整个体积。自由空间604的函数表达由如上所述方程1-6以及图7A和图7B给出。由其虚拟边界框602表示的一部分也可以根据方程1一6以及图7A和图7B而功能地表示。将该虚拟边界框602放置在构建包络600中导致新的、较小的自由空间604,这基本上是构建包络600与虚拟边界框602的差值布尔运算。得到的已更新自由空间(f3可以现在接收新的部件新的虚拟边界框),其是用于下一个虚拟边界框的新Π。[0088]对于如上所述立方体的函数表达的替代,构建包络600与虚拟边界框602之间的不同操作可以根据参照图8如上所述的布尔运算而功能地实施。例如,可以使用取样点对3D空间(例如构建包络600取样。这些取样点可以是如图9中所示的均匀分布的网格点(在所有三个维度中m乘以η乘以p。对于每个形状,在容差ε内,如果取样点在表面外,数值是正的,并且如果取样点在表面上,数值等于零。布尔运算随后转换为每个取样点的形状值的代数计算,并且随后比较数值以确定该取样点应该获得哪个函数参照图9如上所述的伪代码)。根据示例,参照图9如上所述的伪代码是可以在图形处理单元GPU上取样点水平处大量平行化的快速计算。[0089]除了上述形状的隐含函数表达之外或者可替代地,处理器210可以维持明确地追踪包围了自由空间604的Π=0表面的边缘606的列表。如上所述,可以放置第一虚拟边界框602以使得虚拟边界框602的拐角放置在如图6中所示自由空间604的拐角以使得虚拟边界框602的边缘606与自由空间604的边缘606对准例如重叠或部分重叠)。该布置可以导致具有最小复杂度几何结构的自由空间604,例如边缘606的最少数目,其中虚拟边界框602放置在自由空间604中。对于自由空间604的边缘列表初始地包括构建包络600的8个边缘。每个边缘606由用作各自锚定点的两个顶点610而定义。[0090]如图6中所示,虚拟边界框602的布置夹紧了与锚定点612接触的两个边缘。该夹紧工序可以通过在虚拟边界框602中使用对应的顶点608以替换边缘列表中该所选择的锚定点612而实施。额外地,边缘列表可以增长以包括虚拟边界框602的并未连接至锚定点612的所有额外边缘606。该工序可以对于放置至自由空间604中的额外虚拟边界框而重复。[0091]在将虚拟边界框放置至自由空间604中之后,可以在边缘列表中标识虚拟边界框已经连接至其的每个锚定点例如顶点608、610。例如,可以从边缘列表移除那些锚定点。此夕卜,可以将新近放置的虚拟边界框的锚定点添加至边缘列表,以使得边缘列表可以识别可获得以接收新虚拟边界框的锚定点。[0092]对于给定的锚定点,可以以如图IOA和图IOB中分别所示的示意图1000和示意图1010中所示的方式计算由Π=0表面所定义的面向自由空间604的立体角。也即,在图IOA和图IOB中,r可以设置作为非常小的距离并且η个测试点可以均匀地分布在范围θε〇,2π和中。例如,当η=8时,也即分割角以V2增量而间隔,可以获得八分区测试点。具有最小立体角的锚定点可能具有相关联自由空间604中最小灵活性并且因此可能与最小价值房地产相关联。同样,处理器210如果可能的话可以尽早消耗那些锚定点,因此可以为未来的虚拟边界框节省更多有价值的房地产。基于该启发性,可以以降序顺序基于它们的立体角而排序所有可能的锚定点。[0093]根据示例,处理器210可以以升序基于它们的ζ坐标而对所有可能的锚定点排序。随后对于具有类似ζ坐标的所有锚定点(例如ζ坐标差值在给定容差内),处理器210可以以降序基于它们的立体角而对锚定点分类。该排序对于最小化总封装高度给出第一优先级,对于自由空间604中最小价值房地产给出第二优先级。[0094]根据示例,处理器210可以自由地重定向虚拟边界框,当它们放置至自由空间604中时,包括沿ζ方向。此外,边缘对准约束可以促使虚拟边界框增量的角度为V2。借由特别的示例,处理器210可以以如下方式确定虚拟边界框的朝向:[0095]对于虚拟边界框的每个顶点:[0096]平移虚拟边界框以使得顶点与锚定点重合;[0097]针对以π2增量的每个可能朝向(偏航、翻滚、节距):[0098]围绕锚定点旋转虚拟边界框。[0099]针对每个得到的顶点,除了锚定点之外:[0100]测试得到的虚拟框是否在自由空间内,[0101]如果真:[0102]获得合法布置,[0103]否则:[0104]中断。[0105]处理器210可以识别所有合法布置并且可以取决于预定的包装质量准则而对合法布置分类。额外地,如果ζ朝向固定,例如,用于最小化被包装至构建包络600中的虚拟边界框的高度,则处理器210可以减小朝向(偏航,翻滚,节距)空间。该计算也可以在GPU上并行化。[0106]预定的包装质量准则可以基于许多规则而对布置方案排序给定的锚定点和给定的虚拟边界框朝向)。规则可以包括其中排序是基于得到的自由空间604具有最小复杂度的第一规则。规则也可以包括第二规则,其中存在通过第一规则的多个方案,在得到的自由空间604中具有最短边缘、比在任何其他得到的自由空间604中的最短距离较长的方案可以排序最高。在一个方面,规则通常使得当虚拟边界框602包装至构建包络600中时,使能最小复杂度的自由空间604,其可以增大自由空间604的灵活性以接收新的虚拟边界框。[0107]根据示例,处理器210可以输出在图3的框308处所确定的虚拟边界框的布置。例如,处理器210可以输出布置至3D打印机100以使得3D打印机100可以根据对应于部件的虚拟边界框的所确定布置而打印在框302处所识别的部件。在其中处理器210可以控制3D打印机100的另一示例中,处理器210可以控制3D打印机的部件以根据对应于部件的虚拟边界框的所确定布置而打印在框302处所识别的部件。在又一示例中,处理器210可以输出所确定的布置至数据存储,例如,可移除快闪存储装置、至另一计算设备、至网络之上的服务器等。[0108]现在参照图4中所示的方法400,在框402处,处理器210可以识别待打印的多个物体。处理器可以参照图3中框302以如上所述的任意方式而识别物体。额外地,在框404处,处理器210可以针对每个物体生成相应的虚拟边界框。处理器210可以参照图3中框304以如上所述的任意方式而针对物体生成虚拟边界框。[0109]在框406处,处理器210可以确定3D打印机的构建体积内部的导致构建体积内部的自由空间具有最小复杂度几何结构的虚拟边界框的布置。处理器210可以参照图6至图IOB以如上所述任意方式而确定虚拟边界框的布置。因此,在某一方面,通过方法400的实施,处理器210可以确定虚拟边界框的导致自由空间具有最小复杂度几何结构的布置而并未也要求最小化所布置虚拟边界框的总高度。[0110]在方法300和400中所述操作的一些或全部可以作为实体、程序或子程序而包含在任何所需的计算机可访问介质中。此外,方法300和400可以由计算机程序具体化,其可以以有源和无源的各种形式而存在。例如,它们可以存在作为机器可读指令,包括源代码、目标代码、可执行代码或其他格式。任意上述方法可以具体化在非瞬态计算机可读存储介质上。[0111]非瞬态计算机可读存储介质的示例包括计算机系统RAM、R0M、EPR0M、EEPR0M、W磁性或光学盘或带。因此应该理解的是,能够执行上述功能的任何电子装置可以执行以上所枚举的那些功能。[0112]现在参照图11,示出了根据示例的计算设备1100的示意图,其可以等价于图2中所示的设备200。计算设备1100可以包括处理器1102、显示器1104、以及接口1108,处理器1102通过其可以与计算机可读介质1110通信。这些部件的每一个可以可操作地耦接至总线1112。例如,总线1112可以是EISA、PCI、USB、FireWire、NuBus、PDS等等。[0113]计算机可读介质1110可以是参与向处理器1102提供指令以用于执行的任何合适的介质。例如,计算机可读介质Ilio可以是非易失性介质,诸如光学或磁性盘;易失性介质,诸如存储器。计算机可读介质Ilio也可以存储机器可读指令以用于确定在3D打印机1114的构建包络中待打印部件的布置,当被执行时指令可以使得处理器1102执行图3和图4中所示的方法300和400的任一者或两者。[01M]尽管贯穿整个本公开而进行了具体描述,但本公开的代表性示例在广泛各种应用之上具有效用,并且以上讨论并非意在也不应理解为限定性的,而是提供作为本公开特征方面的示意性讨论。[0115]本文已经描述并说明的是本公开的示例以及其一些变形例。本文所使用的术语、说明书和附图仅借由示意说明的方式提出并且并非意在限定。许多变形例可能在本公开的精神和范围内,其意在由以下权利要求及它们的等价形式限定,其中所有术语意味着它们最宽的合理的含义,除非另外指示。

权利要求:1.一种用于在三维3D打印机的构建包络中确定待打印的部件的布置的方法,所述方法包括:识别待打印的多个部件;针对所述多个部件中的每一个部件生成相应的虚拟边界框;确定由所生成的虚拟边界框占据的总体积降至所述构建包络体积的预定阈值之下;以及通过处理器确定所述构建包络内部的导致所述虚拟边界框的总高度最小化的所述虚拟边界框的布置,以增强由所述3D打印机打印所述多个部件的效率。2.根据权利要求1所述的方法,其中,针对所述多个部件中的每一个部件生成相应的虚拟边界框进一步包括:针对所述多个部件中的每一个部件,确定所述部件的导致虚拟边界框具有最小体积的朝向;以及针对所述部件生成所述虚拟边界框,所述虚拟边界框是具有最小体积的虚拟边界框。3.根据权利要求1所述的方法,其中,针对所述多个部件中的每一个部件生成相应的虚拟边界框进一步包括:针对所述多个部件中的每一个部件,确定针对所述部件是否存在使得所述部件的特定构建朝向被维持的预定特性;响应于确定存在所述预定特性,针对所述部件选择与所述特定构建朝向对应的高度朝向;以及围绕垂直于高度方向的轴线旋转所述部件,导致在垂直于所述高度方向的平面中最小的截面面积。4.根据权利要求1所述的方法,其中,确定构建包络内部的所述虚拟边界框的布置进一步包括:确定导致所述构建包络内部的自由空间具有最小复杂度几何结构的所述虚拟边界框的布置。5.根据权利要求4所述的方法,其中,确定所述虚拟边界框的布置进一步包括:确定导致所述虚拟边界框的形成所述自由空间的边缘的总数最小化的所述虚拟边界框的布置。6.根据权利要求5所述的方法,其中,确定所述虚拟边界框的布置进一步包括:确定导致所述虚拟边界框的形成所述自由空间的最短边缘比在所述虚拟边界框的其他候选布置中的所述虚拟边界框的最短边缘长的所述虚拟边界框的布置。7.根据权利要求1所述的方法,进一步包括:基于所述相应的虚拟边界框的特性而对所述虚拟边界框分类;生成与分类后的虚拟边界框对应的分类部件列表;其中确定所述虚拟边界框的布置进一步包括:确定在所述分类部件列表的顶部处的第一部件的第一虚拟边界框在所述构建包络中的放置;以及在确定所述第一虚拟边界框的放置之后,确定所述分类部件列表中剩余部件的虚拟边界框在所述构建包络中的放置。8.根据权利要求7所述的方法,其中,生成分类部件列表进一步包括:生成所述分类部件列表以根据所述虚拟边界框的最长边缘以降序对所述部件进行分类。9.根据权利要求8所述的方法,进一步包括:在确定所述第一部件的放置之后,确定在所述分类部件列表中的下一部件相对于第一部件的要在所述构建包络中的自由空间内部的位置处的放置,所述位置不与所述第一部件重叠并且导致所述自由空间具有最小复杂度几何结构。10.根据权利要求9所述的方法,其中,所述自由空间和第一部件中的每一个包括由用作锚定点的顶点所限定的多个边缘,并且其中确定下一部件的放置进一步包括:针对所述锚定点中的每一个锚定点,确定面向所述自由空间的立体角;根据所述锚定点各自的立体角以降序对所述锚定点分类;针对所述下一部件的所述虚拟边界框的每个顶点,平移所述虚拟边界框使得所述顶点与具有最高立体角的锚定点重叠;针对每个具有预定增量的可能的朝向移动,围绕所述锚定点旋转所述虚拟边界框;针对除了所述锚定点之外的每个得到的顶点,获得导致所述虚拟边界框在所述自由空间内的布置;根据以下对由所述可能的朝向移动中的每一个造成的候选者布置排序:所得到的自由空间具有最小复杂度;并且如果多个候选布置具有最小复杂度,则选择在得到的自由空间中具有的最短边缘比在其他候选布置的得到的自由空间中的最短边缘长的候选布置。11.一种用于在三维(3D打印机的构建体积中确定待打印的物体的布置的设备,所述设备包括:处理器;以及存储器,所述存储器上存储机器可读指令,所述指令在被执行时使得所述处理器:识别将要由所述3D打印机打印的多个物体;针对所述多个物体中的每一个物体生成相应的虚拟边界框;并且确定所述构建体积内部的导致所述构建体积内部的自由空间具有最小复杂度几何结构的所述虚拟边界框的布置,以增强由所述3D打印机打印所述多个物体的效率。12.根据权利要求11所述的设备,其中所述机器可读指令进一步使得所述处理器:为了确定所述虚拟边界框的布置,确定导致所述虚拟边界框的形成所述自由空间最小化的边缘的总数。13.根据权利要求11所述的设备,其中所述机器可读指令进一步使得所述处理器:为了确定所述虚拟边界框的布置,确定导致所述边界框的总高度最小化的所述虚拟边界框的布置。14.一种非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质上存储机器可读指令,所述指令在由处理器执行时使得所述处理器:识别将要由三维3D打印机打印的多个物体;针对所述多个物体中的每一个物体生成相应的虚拟边界框;以及确定在构建体积内部的导致所述构建体积内部的自由空间具有最小复杂度几何结构的所述虚拟边界框的布置,以增强由所述3D打印机打印所述多个部件的效率。15.根据权利要求14所述的非瞬态计算机可读存储介质,其中,所述机器可读指令进一步使得所述处理器:确定导致所述虚拟边界框的总高度最小化的所述虚拟边界框的布置。

百度查询: 惠普发展公司,有限责任合伙企业 在构建包络中确定待打印的部件的布置的方法和设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。