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

3D部件的增材制造 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:达索系统公司

摘要:本发明特别涉及一种对三维3D部件的增材制造的计算机实现的方法。该方法包括在3D场景中提供3D部件的表面表示,该表面表示被包围在边界体积内;将3D场景离散化为体素;通过针对每个体素将最小距离值存储到3D部件的表面表示来形成无符号距离场;确定位于边界体积外的一个或多个体素,位于边界体积外的一个或多个体素与标签相关联;通过对标签泛洪填充直到满足停止条件来进行传播,所述停止条件达到了距离场的梯度反转;反转所有未标记体素的距离值的符号,以便获得带符号的距离场;基于带符号的距离场来在等值零点处计算3D部件的等值面;以及对3D部件进行增材制造。

主权项:1.一种对3D部件进行增材制造的计算机实现的方法,包括:-在3D场景中提供(S10)3D部件的表面表示,所述表面表示被包围在边界体积内;-将所述3D场景离散化(S20)为体素;-通过针对每个体素将最小距离值存储到所述3D部件的表面表示来形成(S30)无符号距离场;-确定(S40)位于所述边界体积外的一个或多个体素,位于所述边界体积外部的所述一个或多个体素与标签相关联;-通过对标签泛洪填充(S50)直到满足停止条件来进行传播,所述停止条件达到所述距离场的梯度反转;-反转(S60)所有未标记体素的距离值的符号,以便获得带符号的距离场;-基于所述带符号的距离场来在等值零处计算(S70)所述3D部件的等值面;以及-对所述3D部件进行增材制造(S80),其中,通过对标签泛洪填充(S50)直到满足停止条件来进行传播还包括将标记体素的最小距离值的值与相邻未标记体素的最小距离值的值进行比较,以及如果所述相邻未标记体素的最小距离值等于或低于所述标记体素的最小距离值的值,则将所述标签传播到所述未标记体素。

全文数据:3D部件的增材制造技术领域本发明涉及计算机程序和系统领域,并且更具体地涉及用于三维3D部件的增材制造的方法、系统和程序。背景技术市场上提供了许多用于对象设计、工程和制造的系统和程序。CAD是计算机辅助设计的首字母缩写,例如它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩写,例如,它涉及用于模拟未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的首字母缩写,例如,它涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户界面在技术效率方面起着重要作用。这些技术可以嵌入在产品生命周期管理PLM系统中。PLM指的是一种业务战略,它可以帮助公司分享产品数据,应用通用流程,并利用企业知识从概念到生命结束,在扩展企业的概念上开发产品。DassaultSystèmes商标为CATIA、ENOVIA和DELMIA提供的PLM解决方案提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心以及实现企业集成和连接到工程中心和制造中心的企业中心。所有这些系统一起交付了一个开放对象模型,将产品、流程和资源联系起来,以实现动态的、基于知识的产品创建和决策支持,其推动优化的产品定义、制造准备、生产和服务。增材制造是通过添加层叠材料来构建三维3D对象的技术。材料可以是塑料、金属、混凝土......术语AM包括许多技术,包括子集,例如但不限于3D打印、快速成型RP、分层制造和增材制造。AM技术依赖于如下的使用,计算机、诸如CAD软件的3D建模软件、专用于构建3D对象的机器设备也称为AM打印机,以及用于构建对象的分层材料。一旦通过使用3D建模软件来建模CAD建模对象,AM打印机就读取与CAD建模对象相关联的CAD文件的数据。CAD文件包含可以从中生成几何形状的规范,这些规范继而允许由CAD软件生成的表示。然后,AM打印机以层叠的方式放置或添加连续的液体、粉末、片材或其他的层以制造3D物体。由AM打印机打印的3D对象的重要要求是3D对象的不同体积区域之间的定界必须是明确的。定界用于创建封闭的“防水”表面。如果3D模型的表面不是“防水”表面,则AM打印机不能正确解释CAD文件的数据,因此不能打印由CAD文件表示的3D对象。可替换地,即使AM打印机能够打印3D对象,最终结果也可能与CAD文件的原始表示不同,并且只有在构建了3D对象之后才能观察到这些差异;因此,用于构建3D对象的原材料被浪费了。数字表示3D对象有两种主要方式。第一个是由其表面进行的3D对象表示。3D对象由其边界之后的一组元素多边形面、边、点......描述。这是最常见的表现形式,因为它的存储器占用少,并且精度高。像“内部”和“外部”这样的区域的概念是隐含的:每当“通过”表面时,区域就会改变。然而,如果3D表示的表面包含孔,是非歧管或与其他表面相交,则区域之间的定界变得模糊。3D对象的第二3D表示是体积表示。3D对象由填充对象的实体区域或整个3D空间的网格通常为四面体或六面体中的一组较小体积元素描述。这些称为体素的元素通常各自具有一个或多个标量值,所述一个或多个标量值定义空间中该点处物体的属性例如密度、颜色......。对于给定的对象,体积与其尺寸的立方体成比例而不是其表面尺寸的平方。这种表示始终是明确的,因为它明确地描述了实体区域而不仅仅是其表面。但是,基于体积的表示往往具有更高的存储器占用。如前所述,明确定义的区域的概念是至关重要的,因为它是对象的数字表示与其现实生活对应物打印的3D对象之间的联系。没有明确定义的区域,3D对象的有用性会大大降低。例如,它无法直接制造或3D打印,无法评估其质量或明确地在屏幕上显示。考虑到这一点,多种方法旨在提供用于修复3D对象的方法。孔填充方法专门用于表面表示。在尝试使用布尔运算之前,它们可以帮助关闭曲面中的孔。这些方法通过选择围绕孔的一组边并产生一组附加面来起作用,所述一组附加面形成盖子以闭合孔。然而,边的自动选择是非常困难的问题,并且该方法非常容易产生非歧管、不良取向或扭曲的表面。布尔运算专门用于由一个或多个多面体构成的曲面表示一组互连面将曲面形成为网格。它们是一种功能强大的工具,能够高精度地解决相交。它也被构造实体几何用作一种用于通过一系列布尔运算来构造3D对象的方法。它们还仅修改相交附近的几何形状,并且因此可以保留输入对象的所有细节和清晰度。然而,它们具有高计算成本并且仅适用于具有适当定向的歧管表面而没有孔。由于浮点数限制精度,它们在切线接触的情况下通常也不可靠。形态学操作是用于修复3D对象的体积表示的主要工具中的一个。由于它们易于并行化并且独立于3D对象的拓扑结构的复杂性,因此它们可以快速处理复杂的几何形状。像膨胀-侵蚀技术这样的方法可以非常可靠地关闭孔并解决相交,并始终产生有效的明确对象。然而,它们遭受大量存储器占用并且倾向于淡化它们处理的3D对象的细节和清晰度。在此上下文中,仍然需要用于三维3D部件的增材制造的改进的方法、系统和程序。值得注意的是,对于任何3D表示,AM领域都需要完美的无歧义。网格生成需要对低质量或不完整数据的高稳健性以及用于处理大量输入数据的能力。发明内容因此,提供了一种三维3D部件的增材制造的计算机实现的方法。该方法包括在3D场景中提供3D部件的表面表示,该表面表示被包围在边界体积内。该方法还包括将3D场景离散化为体素。然后,通过针对每个体素将最小距离值存储到3D部件的表面表示来形成无符号距离场。该方法还包括确定位于边界体积外部的一个或多个体素,位于边界体积外部的一个或多个体素与标签相关联。标签通过泛洪填充泛洪填充直到满足停止条件而进行传播,所述停止条件达到距离场的梯度反转。该方法还包括反转所有未标记体素的距离值的符号,以便获得带符号的距离场。该方法还包括基于带符号的距离场计算等值零的3D部件的等值面。接下来,该方法包括对3D部件进行增材制造S80。该方法可以包括以下中的一个或多个:-针对每个体素,将最小距离值存储到3D部件的表面表示还包括:确定具有大于带尺寸的最小距离值的体素,该带尺寸是预定距离值;为确定的体素分配相同的值,该相同的值与包括0和带尺寸之间的值不同;-带尺寸等于或大于体素尺寸的两倍;-最小距离值存储在第一矩阵中,第一矩阵的每个单元对应于具有3D空间中的一组坐标的体素,并且第一矩阵的每个单元包含标量值,一组第一矩阵的单元形成标量场;-具有大于带尺寸的最小距离值的体素的值不存储在矩阵中;-在对3D场景进行离散之前,选择对3D场景进行离散的体素尺寸;-在第二矩阵中存储与体素相关联的所有标签;-其中第一矩阵和第二矩阵是不同的;-通过泛洪填充标签直到满足停止条件来传播包括将标记体素的最小距离值的值与相邻未标记体素的最小距离值的值进行比较;如果相邻未标记体素的最小距离值等于或小于标记体素的最小距离值的值,则将标签传播到未标记体素;还提供了一种计算机程序,其包括用于执行该方法的指令。还提供了一种计算机可读存储介质,其上记录有该计算机程序。还提供了一种系统,其包括耦合到存储器和图形用户界面的处理器,该存储器上记录有该计算机程序。附图说明现在将通过非限制性示例并参考附图来描述本发明的实施例,其中:-图1示出了该方法的示例的流程图;-图2示出了CAD系统的图形用户界面的示例;-图3示出了本发明的系统的示例;-图4示出了3D对象的表面表示的示例;-图5示出了图4的3D对象的切片平面;-图6示出了对图4的3D对象的区域进行定界的表面表示的示例。-图7至图14示出了该方法的示例。具体实施方式参照图1,提出了一种三维3D部件的增材制造的计算机实现的方法。该方法包括在3D场景中提供3D部件的表面表示。3D部件的表面表示被包围在边界体积BB内。该方法还包括将3D场景离散化为体素。然后,通过针对每个体素将最小距离值存储到3D部件的表面表示来形成无符号距离场。接下来,确定或识别位于边界体积外的一个或多个体素。位于边界体积外部的一个或多个体素与标签相关联。接下来,通过泛洪填充标签直到满足停止条件。停止条件是达到无符号距离场的梯度反转。然后,反转所有未标记体素的距离值的符号。结果,获得了带符号的距离场。计算等值零处的3D部件的等值面,该计算基于带符号的距离场。然后3D部件是增材制造的。这种方法改进了任何3D对象表面表示的不同体积区域之间的明确定界的生成。首先,形成与针对每个体素的3D部件的表面表示的最小距离值的无符号距离场。由此获得最小距离标量场,其是最小距离的实际值的网格。有趣的是,该最小距离标量场允许识别输入元素周围的特定厚度,即输入中提供的表面表示周围。然后,使用使用了传播的停止条件的泛洪填充方法来传播标签,该传播的停止条件是基础无符号距离场的梯度的反转。这允许表示区域,通常是3D部件之外的区域和3D部件内部的区域。这里,共享相同标签的每个连续的体素集合代表一个区域。接下来,使用等表面重建方法来计算每个标记区域周围的边界。iso-值设置为零。因此在输出处获得描述3D部件的“外部”区域的界定的明确闭合多面体。该多面体是3D部件的防水3D网格,因此AM打印机可以构建代表3D部件的产品。因此,本发明将输入几何形状3D部件的表面表示变换为应用了泛洪填充方法的体积表示。并且根据在其上执行操作尤其是洪水填充的体积表示来计算明确表示。本发明以高保真度保留输入几何形状的小细节,同时可靠地修复小孔和输入几何形状不明确的任何相交。此外,这里描述的方法的计算复杂性几乎仅取决于输出的期望精度。因此,它与输入中的元素数量很好地成比例,并且由于要调整的参数数量少,因此也易于使用。事实上,可以轻松地进行默认参数化,以使该方法成为真正自动的“按钮”工具,无需任何用户监督。本发明的另一个优点是可以在该方法的输入中提供不同类型的几何形状。例如,3D部件可以是非均匀有理B样条NURB,应理解,可以使用通常在计算机图形中使用用于生成和表示曲线和表面的任何模型。作为另一示例,3D部件可以是简单的表面模型,例如从LIDAR获得的表面模型。下面将讨论本发明的其他优点。该方法是计算机实现的。这意味着该方法的步骤或基本上所有步骤由至少一个计算机或任何系统执行。因此,该方法的步骤由计算机执行,可能是完全自动的,或半自动的。在示例中,可以通过用户-计算机交互来执行对方法的步骤中的至少一些的触发。所需的用户-计算机交互水平可能取决于预见的自动化水平,并且可以与实现用户愿望的需求相平衡。例如,提供表面表示的步骤可以在用户动作时进行,所述用户动作例如,用户选择一个部件。作为另一个示例,选择带尺寸的步骤和或选择体素尺寸的步骤可以在用户动作时执行,所述用户动作例如,用户选择或输入带尺寸和或体素尺寸的值。方法的计算机实现的典型示例是利用适用于此目的的系统来执行该方法。该系统可以包括耦合到存储器和图形用户界面GUI的处理器,该存储器上记录有包括用于执行该方法的指令的计算机程序。存储器还可以存储数据库。存储器是适用于这种存储的任何硬件,可能包括若干物理不同部分例如,一个用于程序,并且可能一个用于数据库。该方法通常操纵建模对象。建模对象是由例如存储在数据库中的数据定义的任何对象。通过扩展,表达“建模对象”指定数据本身。根据系统的类型,可以通过不同种类的数据来定义建模对象。该系统实际上可以是CAD系统、CAE系统、CAM系统、PDM系统和或PLM系统的任何组合。在那些不同的系统中,建模对象由相对应的数据定义。因此可以说CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统不是彼此独占的,因为建模对象可以由对应于这些系统的任何组合的数据来定义。因此,系统可以是CAD和PLM系统。通过CAD系统,另外意味着至少适于基于建模对象的图形表示来设计建模对象的任何系统,例如CATIA。在这种情况下,定义建模对象的数据包括允许建模对象的表示的数据。CAD系统可以例如使用边或线在某些情况下使用面或表面来提供CAD建模对象的表示。线、边或表面可以以各种方式表示,例如,非均匀有理B样条NURBS或从由LIDAR计算的一组点获得的表面。具体地,CAD文件包含可以从其生成几何形状的规范,该规范继而允许生成表示。建模对象的规范可以存储在单个CAD文件中或多个CAD文件中。表示CAD系统中建模对象的文件的典型尺寸在每个部件一兆字节的范围内。并且建模对象通常可以是数千个部件的组件。在CAD的上下文中,建模对象通常可以是3D建模对象,例如,代表产品,例如,部件的一部分或组件,或者可能是产品的组件。“3D建模对象”是指由允许其3D表示的数据建模的任何对象。3D表示允许从所有角度观察部件。例如,3D建模的对象,当进行3D表示时,可以被围绕其任何轴、或围绕在其上显示表示的屏幕中的任何轴进行处理或转动。这尤其不包括未经3D建模的2D图标。3D表示的显示有助于设计即,增加设计者统计地完成其任务的速度。这加速了工业中的制造过程,因为产品的设计是制造过程的一部分。3D建模对象可以表示在利用例如CAD软件解决方案或CAD系统完成其虚拟设计之后在现实世界中制造的产品的几何形状,例如例如机械部件或部件组件或者等效地是部件的组件,因为从方法的角度看,部件的组装可以被视为部件本身,或者该方法可以独立地应用于组件的每个部件,或者更一般地,任何刚性的本体组件例如移动机制。CAD软件解决方案允许在各种以及无限的工业领域设计产品,所述工业领域包括:航空航天、建筑、建造、消费品、高科技设备、工业设备、运输、海洋和或海上石油天然气生产或运输。因此,由该方法设计的3D建模对象可以代表工业产品,其可以是任何机械部件,例如地面车辆包括例如汽车和轻型卡车设备、赛车、摩托车、卡车和汽车设备、卡车和公共汽车、火车的一部分、飞行器的包括机身设备、航空航天设备、推进设备、国防产品、航空设备、航天设备一部分、海军车辆包括海军设备、商船、海上设备、游艇和工作船、船用设备的一部分、一般机械部件包括工业制造机械、重型移动机械或设备、安装设备、工业设备产品、金属制品、轮胎制造产品、机电或电子部件包括例如消费电子产品、安全和或控制和或仪器产品、计算和通信设备、半导体、医药设备和器械、消费品包括例如,家具、家庭和园艺产品、休闲用品、时尚产品、硬质商品零售商的产品、软商品零售商的产品、包装包括食品和饮料和烟草、美容和个人护理、家用产品包装。CAD系统可以是基于历史的。在这种情况下,通过包括几何特征的历史的数据进一步定义建模对象。建模对象实际上可以由物理人即设计者用户使用标准建模特征例如,挤出、旋转、切割和或旋转和或标准表面特征例如,扫掠、混合、投掷、填充、变形和或平滑来设计。支持这种建模功能的许多CAD系统是基于历史的系统。这意味着设计特征的创建历史通常通过非循环数据流来保存,该非循环数据流通过输入和输出链接将所述几何特征链接在一起。自80年代初以来,基于历史的建模范例是众所周知的。通过两个持久数据表示来描述建模对象:历史和B-rep即边界表示。B-rep是历史中定义的计算结果。当表示建模对象时,在计算机屏幕上显示的部分的形状是例如,镶嵌B-rep。该部分的历史是设计意图。基本上,历史记录收集有关建模对象所经历的操作的信息。B-rep可以与历史一起保存,以便更容易地显示复杂的部分。历史可以与B-rep一起保存,以允许根据设计意图对部件进行设计改变。通过PLM系统,它还意味着适于管理表示物理制造产品或待制造产品的建模对象的任何系统。因此,在PLM系统中,建模对象由适合于制造物理对象的数据定义。这些通常可以是尺寸值和或公差值。为了正确制造物体,拥有这样的值确实更好。通过CAM解决方案,它还意味着适用于管理产品的制造数据的任何解决方案、硬件软件。制造数据通常包括与要制造的产品、制造过程和所需资源有关的数据。CAM解决方案用于规划和优化产品的整个制造过程。例如,它可以向CAM用户提供关于可行性、制造过程的持续时间或可以在制造过程的特定步骤中使用的资源诸如,特定机器人的数量的信息;并且因此,允许决定管理或所需的投资。CAM是CAD过程和潜在CAE过程之后的后续过程。这种CAM解决方案由DassaultSystèmes以商标提供。通过CAE解决方案,它还意味着适用于分析建模对象的物理行为的任何解决方案、硬件的软件。一种众所周知且广泛使用的CAE技术是有限元方法FEM,其通常涉及将建模的对象划分为可以通过方程计算和模拟物理行为的元素。此类CAE解决方案由DassaultSystèmes以商标提供。另一种不断增长的CAE技术涉及复杂系统的建模和分析,复杂系统由来自不同物理领域的多个组件组成而没有CAD几何数据。CAE解决方案允许模拟,从而优化、改进和验证要制造的产品。此类CAE解决方案由DassaultSystèmes以商标提供。PDM代表产品数据管理。PDM解决方案是指适用于管理与特定产品相关的所有类型数据的任何解决方案、硬件的软件。PDM解决方案可供参与产品的生命周期的所有参与者使用:主要是工程师,但也包括项目经理、财务人员、销售人员和买家。PDM解决方案通常基于面向产品的数据库。它允许参与者共享其产品的一致数据,并且因此防止参与者使用不同的数据。此类PDM解决方案由DassaultSystèmes以商标提供。图2示出了系统的GUI的示例,其中系统是CAD系统。GUI2100可以是典型的类似CAD的界面,具有标准菜单栏2110、2120,以及底部和侧面工具栏2140、2150。这样的菜单栏和工具栏包含一组用户可选择的图标,每个图标与如本领域中已知的一个或多个操作或功能相关联。这些图标中的一些与软件工具相关联,适于编辑和或处理GUI2100中显示的3D建模对象2000。软件工具可以被分组为工作台。每个工作台都包含软件工具的子集。特别地,其中一个工作台是版本工作台,适用于编辑建模产品2000的几何特征。在操作中,设计者可以例如预先选择对象2000的一部分并且然后通过选择适当的图标启动操作例如,改变尺寸、颜色等或编辑几何约束。例如,典型的CAD操作是在屏幕上显示的3D建模对象的打孔或折叠的建模。GUI可以例如显示与所显示的产品2000相关的数据2500。在该图的示例中,显示为“特征树”的数据2500及其3D表示2000涉及包括制动钳和盘的制动器组件。GUI还可以示出各种类型的图形工具2130、2070、2080,例如用于促进对象的3D定向,用于触发对编辑的产品的操作的模拟或渲染所显示的产品2000的各种属性。光标2060可以由触觉设备控制以允许用户与图形工具交互。图3示出了该系统的一个示例,其中该系统是客户端计算机系统,例如,用户的工作站。该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元CPU1010、也连接到总线的随机存取存储器RAM1070。客户端计算机还被提供有图形处理单元GPU1110,其与连接到总线的视频随机存取存储器1100相关联。视频RAM1100在本领域中也称为帧缓冲器。大容量存储设备控制器1020管理对诸如硬盘驱动器1030的大容量存储器设备的存取。适合于有形地体现计算机程序指令和数据的大容量存储器设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM盘1040。前面的任何一个都可以由专门设计的ASIC专用集成电路补充或并入其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,诸如光标控制设备、键盘等。在客户端计算机中使用光标控制设备以允许用户选择性地将光标定位在显示器1080上的任何期望位置。此外,光标控制设备允许用户选择各种命令,并输入控制信号。光标控制设备包括多个信号发生设备,以用于向系统输入控制信号。通常,光标控制设备可以是鼠标,鼠标的按钮用于生成信号。可选地或另外地,客户端计算机系统可以包括敏感垫和或敏感屏幕。该计算机程序可以包括可由计算机执行的指令,该指令包括用于使上述系统执行该方法的单元。该程序可以记录在任何数据存储介质上,包括系统的存储器。该程序可以例如在数字电子电路中实现,或者在计算机硬件、固件、软件或它们的组合中实现。该程序可以实现为装置,例如有形地体现在机器可读存储设备中以用于由可编程处理器执行的产品。方法步骤可以由执行指令程序的可编程处理器执行,以通过对输入数据进行操作并生成输出来执行该方法的功能。因此,处理器可以是可编程的并且被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并将数据和指令发送到数据存储系统、至少一个输入设备和至少一个输出设备。如果需要,应用程序可以用高级过程或面向对象的编程语言实现,或者用汇编语言或机器语言实现。在任何情况下,语言可以是编译或解释语言。该程序可以是完整安装程序或更新程序。在任何情况下,程序在系统上的应用产生用于执行该方法的指令。“对3D部件进行增材制造”也称为“对3D建模对象进行增材制造”通过将能量和或材料顺序传递到空间中的指定点以产生实心3D部件来指定制造实体3D部件的过程。材料可以是但不限于塑料、金属、混凝土......因此,增材制造AM是精心制作3D建模对象的过程的一部分。生成与建模对象提供的3D部件对应的物理产品。增材制造的物体可以是产品,例如零件或零件的组件。该方法改进了建模对象的模糊表示的创建,因此该方法还改进了产品的制造,并且从而提高了制造过程的生产率。现在参考图1。在步骤S10处,在3D场景中提供3D部件的表面表示。3D部件的表面表示是输入数据。3D部件的表面表示是几何形状,其可以是一组点、段、多边形面或更复杂的元素例如,基于NURBS的表面。更一般地,表面表示是网格。不需要有关这些元素的方向或连接性的信息。例如,如果3D部件用NURBS建模,则表示将被细分例如,表示被三角化。作为另一示例,如果从LIDAR提供的点获得3D部件,则仅从这些点计算表面。3D场景是零件所位于的空间。3D场景可以使用三个轴x、y、z来用于确定部件的位置。更具体地,3D场景可以是物理宇宙的模型,其可以在数学上由几何形状表示,该几何形状借助于坐标来描述3D空间中的每个点。曲面表示包含在边界体积内。边界体积通常用于计算机图形学中。边界体积是一个封闭体积,它完全包含根据其计算3D部件的表示的所有几何形状。边界体积可以是但不限于边界框、边界球、......图4是相机设计的3D表面表示的示例的图屏幕截图。设计的每个断开的部分以不同的颜色显示,例如,不同程度的灰色。在此示例中,3D表面是从NURBS构建的。图5也是用切片平面来查看内部几何形状的图4所示的相同设计的屏幕截图。该模型由800多个断开的组件、几何和拓扑孔、多个切线接触和相交组成。图4和图5示出了CAD模型的构造的典型示例,其中CAD模型被分割成一组断开的部分,其具有相交、片段之间的切向接触、片段中的孔。这种碎片分成几个部分,便于设计人员进行模型的构造和模块化。回到图1,在步骤S20处,将3D场景离散化为体素。如本领域中已知的,体素表示三维空间中的网格上的值。体素擅长表示非均匀填充的定期采样空间。体素代表3D空间的子分区;它们代表了3D空间的体积。作为离散化的结果,位于3D场景中的所提供的3D表示也被划分为体素:体素中的一些包围3D部件的表面表示的一部分。优选地,网格是规则的。规则网格可以是但不限于体素为立方体的笛卡尔网格,体素为矩形或平行六面体的直线网格,或者体素为四边形或长方体的曲线网格。体素的规则网格的体素对整个3D空间进行采样,这意味着3D空间的每个点都属于一个体素;换句话说,3D空间的每个点被一个体素包围。在3D空间的点位于两个或更多个体素的相交处的情况下,该点将任意地分配给与所述点相交的体素中的一个。类似地,体素的非规则网格的体素可以对整个3D空间进行采样。应当理解,将3D场景离散化为体素不限于规则网格,并且可以使用任何离散化和多边形来对3D场景进行离散。然而,常规网格,尤其是笛卡尔网格,减少了执行根据本发明的方法的系统的资源消耗存储器、CPU。当使用笛卡尔网格来对3D场景进行离散时,所有体素具有相同的尺寸。3D场景的尺寸是有限的,这意味着它不是无限空间。因此,3D场景的离散化是可能的。为了减少系统的资源消耗存储器、CPU,包围表面表示的边界框可以用于定义工作区域。在这种情况下,离散化仅适用于工作区域,即,所提供的3D表面的边界框被离散化为体素。边界框被细分为网格,其中每个体素也称为单元对应于3D空间中的一组坐标。体素尺寸可以通过称为“体素尺寸”的参数来设置。在执行离散化之前执行对体素尺寸的选择,例如,就在步骤S10之后。选择可以在用户动作时完成,所述用户动作例如,用户选择一个值。选择可以自动完成,例如由系统。在两种情况下用户或自动选择,可以根据边界体积的尺寸来计算体素尺寸。在示例中,可以如下计算用于规则网格的体素尺寸。设x,y,z附加到3D场景中的边界框的参照值进行离散化。设N是将3D场景离散化的体素数;例如,对于个人计算机,N=500000000。设L1为边界框的长度约为x,L2为边界框的长度约为y,而L3为边界框的长度约为z。设VoxelSize表示立方体素的体积。使用等式1计算Voxelsize的值:事实上,并且至少出于上文所解释的原因,网格是规则的笛卡尔网格,其中体素是立方体,所有体素具有相同的尺寸。每个体素可以包含标量值,这意味着每个体素存储或不存储数学数字或表示物理量的值。因此,标量场覆盖在输入几何形状上。可以用无限正值初始化每个体素。或者,当初始化体素时,可以不与任何值相关联。应当理解,体素可以用任何值初始化,应理解所有体素优选地用相同的值初始化。图7示出了表示作为由2D空间中的相交段和曲线构成的输入几何形状上的体素网格的标量场的图。应该理解,本发明可以在任何N维空间中工作。然而,为了使可视化和理解更容易,图7至图14的图是二维的,并且所表示的体素尺寸被夸大。回到图1的步骤S30。对于每个体素,通过将最小距离值存储到3D部件的表面表示来形成或计算无符号距离场。测量的距离通常是欧几里德距离。距离可以是各向异性距离或曼哈顿距离。例如,如果3D场景中的3D部件的尺寸将是重要的,则欧几里德距离的计算值可能太大,并且在这种情况下,可以使用范数1例如,曼哈顿的距离。每个体素的最小距离值表示可以在体素的点与输入几何形状的元素的3D空间中的位置之间测量的最小距离。可以选择体素上的任何点。但实际上,选择了体素的特定点。这里特定点意味着可以在每个体素上并且针对每个体素容易地识别的点;例如,体素的特定点可以是体素的边、体素的质心......体素的质心对于旋转或缩放是不变的,例如,当体素被拉伸时,质心不受影响。在体素和3D部件的表面表示之间计算最小距离的方式对于每个体素是相同的:对于每个体素,将从体素的质心计算体素的最小距离。在步骤S30处获得的距离字段是无符号的。这意味着计算的所有标量值,最小距离,是具有相同符号的值。实际上,标量值可能都是正数。可替换地,它们可能都是负数。类似地,还针对每个体素测量包围输入几何形状的元素的最小距离。如果输入几何形状3D部件的表面表示与用于测量距离的体素的点相交,则距离为0;值0可以是带符号的,并且所选符号与用于标量场的其他值的符号相同。如果输入几何形状不与用于测量距离的体素的点相交,则对值可以非常小进行测量。在步骤S30的输出处,已经针对每个体素设置了标量值,从而将步骤S20的标量场变换为所谓的距离场。可以通过将最小距离值存储在第一矩阵中来形成距离场。这里术语矩阵指定一组单元格,这些单元格形成包含标量值的列和行的表。矩阵的每个单元对应于体素中的一个。也就是说,矩阵的每个单元与该单元所关联的体素的3D步调中的一组坐标相关联,并且矩阵的每个单元包括该体素的标量值。一组矩阵的单元形成所谓的距离场,它是一个标量场。如本领域中已知的,矩阵可以通过三种方式构造。第一个是存储“完整”矩阵,即,在存储器中创建矩阵时,网格的每个体素被分配在存储器中。第二个包括在存储器中存储“稀疏”矩阵;仅感兴趣的值例如,低于“带尺寸”的那些值,将在下面讨论在存储器中被分配为成对。使用较少的存储器,但从存储器中检索值需要更多的计算资源CPU时间。第三个示例是八叉树的创建,其有利地提供更低的存储器占用空间和更快的访问时间。该第三示例优选地用于实现矩阵,应理解可以使用任何其他实现。在示例中,在选择预定距离值之后执行步骤S30,其被称为“带尺寸”。“带尺寸”允许定义体素的第一集合,其具有低于或等于预定值的到3D部件的几何形状的最小距离;以及第二体素集合,其具有大于预定值的到3D部件的几何形状的距离。应当理解,第一集合可以包括具有低于预定值的最小距离的体素,并且第二集合可以包括具有大于或等于预定距离的最小距离的体素。可以在用户动作时执行对带尺寸的选择。例如,用户输入一个值;这是按照本领域已知的方式进行的。对带尺寸的选择可以自动完成;例如,带尺寸是体素尺寸的2倍到8倍之间,在网格是立方体的规则网格的情况下,体素尺寸可以是体素边的长度。在选择带尺寸之后,首先确定具有大于带尺寸的最小距离值的一组体素。因此,该组体素包括被认为与3D部件的表面足够远的体素。然后为该组的体素分配值。该值不同于包括0和带尺寸之间的值。实际上,分配给该组的体素的值对于该组的所有体素是相同的。如前所述,可以使用无限正值来对所有体素初始化:在这种情况下,该集合的体素保持与它们相关联的无限正值。当忽略大于带尺寸参数的任何距离时,形成的无符号距离场S30由围绕3D部件的表面表示的距离值的窄带组成。因此,在3D部件的表面周围获得无符号窄带距离场。窄带的距离值可以是正数或负数。图8示出了在步骤S30的输出处的图7的标量场的示例。在该示例中,已经选择了带尺寸,从而在输入几何形状上形成无符号窄带用虚线表示。输入几何形状与虚线之间的距离是恒定的,并且等于所选的带尺寸的值。作为步骤S30的结果获得的距离场采用在输入几何形状上等于零的平滑斜坡的形式,并且增加直到其达到带尺寸的值,此时它跳跃到无穷大值。在示例中,具有大于带尺寸的最小距离值的体素的值不存储在矩阵中。例如,矩阵的空单元可以被解释为意味着无限正值与单元相关联。因此,存储在矩阵中的值的数量减少,这继而减少了运行该方法的系统的存储器使用。回到图1,在步骤S40,确定或识别位于边界体积外的一个或多个体素。参考传播的下一步骤,这些体素也称为种子。位于外部意味着在所述一个或多个体素的每个体素和边界体积之间没有相交。边界体积外的这些一个或多个体素可以由系统自动选择例如,通过丢弃与边界体积相交的体素,或者可以在用户动作例如,用户执行用户动作,例如在边界体积外部的可以表示帮助用户进行选择的点击时选择它们。位于边界体积外部的所述一个或多个体素的每个体素与标签相关联。标签也可以称为标记,并且是一条信息,例如,一比特。将标签与体素相关联意味着在体素和标签之间存在直接或间接的链接,使得可以从体素访问标签。其他体素不在边界体积内的体素可以与标签相关联或不与标签相关联,应理解它们的标签不同于边界体积之外的体素的标签。例如,位于边界体积外部的一个或多个体素可以与标签“外部”相关联。标签“外部”意味着相关联的体素未被包围或不与3D部件的表面表示相交。可以在没有标签或者使用标记“内部”的标签的情况下初始化在边界体积内的体素,所述标记“内部”的标签表示体素被包围或与边界体积相交。可替换地,步骤S40可以包括确定位于边界体积内的一个或多个体素。边界体积内的这些一个或多个体素可以由系统自动选择例如,通过丢弃不与边界体积相交的体素,或者可以在用户动作例如,用户执行用户动作,诸如边界体积内部的可以表示以帮助用户进行选择的单击时选择它们。当已经选择了一个或多个体素时,标签与每个所选择的体素相关联。在用户动作时执行标签的选择:用户根据体素所属的区域选择标签。例如,每个确定的体素的所选标签可以是上述标签“内部”和“外部”。作为另一示例,所选标签可以是“材料_x”,其中x表示3D部件的一种类型的材料。图9示出了给每个体素赋予标签的示例,该标签定义了它所属的区域。没有给出具体的种子。因此,除了给出标签“外部”的单个自动选择的体素之外,每个体素都被标记为“未定义”。接下来,在图1的步骤S50中,传播在步骤S40处相关联的一个或多个标签。标签的传播通过泛洪填充来执行。泛洪填充是一种算法,用于确定连接到多维数组中给定节点的区域。泛洪填充算法在本领域中是已知的。泛洪填充方法迭代地将体素的标签传播到它们的邻居。当满足停止条件时,标签从标记的体素到未标记的体素的传播停止。停止条件是达到距离场的梯度反转。作为示例,这意味着在单个“外部”标签与边界体积外的体素相关联的情况下,如参考步骤S40所讨论的,它将围绕表面表示扩散,直到它与输入几何形状的元素接触为止,而不通过它们因为这意味着再次增加距离。在一个示例中,通过标签的泛洪填充进行的传播可以包括将标记体素的最小距离值的值与相邻未标记体素的最小距离值的值进行比较的第一步骤。邻居体素是与另一个体素共享至少一个共同几何元素的体素。例如,共享公共边的两个体素是相邻的;作为另一示例,共享一个公共顶点的两个体素是相邻的。然后,如果相邻未标记体素的最小距离值等于或低于标记体素的最小距离值的值,则标签从标记体素传播到相邻未标记体素。如已经讨论的,仅当标签与输入几何形状的距离基于距离场的标量值保持恒定或者减小时,标签将从一个体素传播到另一个体素。换句话说,泛洪填充的停止条件是距离场的无符号窄带的梯度中的负号。因此,停止条件至少取决于带尺寸,如图10到图12的示例所示。图10示出了向外部传播标签的示例。距离场的无符号窄带用虚线表示,并且步骤S10的输入几何形状用虚线表示。从“外部”延伸的箭头可以在体积10中传播,包括在两个体积12、14之间,两个体积12、14在3D部件的表面表示内这两个体积12、14的体素与3D部件相交。通过增加的场梯度停止传播;增加从3D部件的表面表示开始。从体积12分别为14中的表面表示延伸的两个分别为4个箭头示出了传播的停止。有趣的是,图10示出了带尺寸的选择可以修改传播的行为。在该示例中,标签能够通过箭头16传播,因为两个无符号窄带不重叠。在带尺寸增加的情况下,两个无符号窄带可能重叠并且箭头16消失,传播不再可能。图11示出了已经隐式地解析非流形元件20的示例。实际上,可以从任一侧接近的输入几何形状的任何元素例如,3D部件的表面表示的单点、三角形面......将被“吃掉”,因为标签可以从两侧扩展而同时一直减小到它的距离。图12示出了带尺寸值的良好选择的示例。如果在3D部件的表面表示中存在小于带尺寸的孔,则不允许标签通过它扩散,因为它必须增加到孔边的距离以继续扩展。相反,如果在3D部件的表面表示中存在大于或等于带尺寸的孔,则允许标签传播。因此,带尺寸是可以由于传播而闭合的3D部件的表面表示的孔的最大半径。带尺寸严格大于观察到的体素的最大尺寸。在实践中,带尺寸等于或大于体素尺寸的两倍。在网格是立方体的规则网格的情况下,体素尺寸可以是体素的边的长度。如果网格的体素不是立方体例如,矩形、平行六面体,则体素尺寸将是网格的体素中的体素的最大尺寸例如,最大边。如果网格的体素不是平行六面体,则重新训练的体素尺寸是由对3D场景采样的体素中的体素提供的最大距离。应当理解,等于立方体尺寸的两倍的带尺寸值不能确保在传播期间不会遍历表面表示的所有孔。然而,该带尺寸值允许避免表面表示的大多数孔的传播并且在存储传播结果时减少存储器消耗。将填充直径严格小于带尺寸的孔。当泛洪填充完成即,传播已经停止时,共享相同标签的每个连续的体素集合表示区域。已经隐含地解决了表面相交和非流形元素。孤立的元素已被删除。小于带尺寸的孔已经关闭,确保区域被正确分隔。接下来,在步骤S60处,反转所有未标记体素的距离值的符号。无符号的距离字段现在是带符号的距离字段。符号的改变表示通过第一区域到第二区域。例如,在与边界体积外的体素相关联的单个“外部”标签的情况下,如参考步骤S40所讨论的,切换体素标签保持为“未定义”的标量值的符号是可能的,因为不修改距离场值的量级,而只更改其符号。因此,保留了3D部件的输入几何元素上的距离场的最大精度。图13示出了步骤S60的输出的示例。距离场的无符号窄带用虚线表示,并且在3D部件的表面表示上。体素左侧“未定义的”被赋予负号,而具有“外部”标签的体素保持其正号。具有距离值=0的体素表示3D部件的表面。在示例中,与体素相关联的所有标签都存储在第二矩阵中。第二矩阵可以与第一矩阵不同。第一和第二矩阵可以与已经结合步骤S30讨论的方式相同的方式进行构造。在图1的步骤S70处,3D部件的等值面在等值零处计算。该计算基于在步骤S60的输出处获得的带符号距离场。等表面网格划分方法通过在接口处生成多边形表面元素的网格来工作,在所述接口处标量场的值超过给定阈值。该阈值称为iso-值。通过使用iso-值设置为零的等表面网格划分,生成描述“外部”区域的定界的明确闭合多面体。使用等表面重建方法来执行每个标记区域周围的边界的生成,所述等表面重建方法可以是但不限于MarchingCubes、DualContouring...图14示出了步骤S70的等距划分,其中已经生成等值零的表面并且受益于输入几何附近的距离值的精度,同时仍然具有关闭3D部件的表面表示中的几何孔的能力在图14的左侧表示。此外,这里描述的方法的计算复杂性几乎仅取决于输出的期望精度。因此,它与输入中的元素数量很好地成比例,并且由于要调整的参数数量少,因此也易于使用。事实上,可以轻松地进行默认参数化,以使该方法成为真正自动的“按钮”工具,无需任何用户监督。然后,在步骤S80处,通过使用来自步骤S70的输出处提供的等距划分的增材制造技术来制造在步骤S10提供的3D部件。这是如本领域中已知的那样进行的。

权利要求:1.一种对三维3D部件进行增材制造的计算机实现的方法,包括:-在3D场景中提供S103D部件的表面表示,所述表面表示被包围在边界体积内;-将所述3D场景离散化S20为体素;-通过针对每个体素将最小距离值存储到所述3D部件的表面表示来形成S30无符号距离场;-确定S40位于所述边界体积外的一个或多个体素,位于所述边界体积外部的所述一个或多个体素与标签相关联;-通过对标签泛洪填充S50直到满足停止条件来进行传播,所述停止条件达到所述距离场的梯度反转;-反转S60所有未标记体素的距离值的符号,以便获得带符号的距离场;-基于所述带符号的距离场来在等值零处计算S70所述3D部件的等值面;以及-对所述3D部件进行增材制造S80。2.如权利要求1所述的计算机实现的方法,其中,针对每个体素将最小距离值存储到所述3D部件的表面表示还包括:-确定具有大于带尺寸的最小距离值的体素,所述带尺寸是预定距离值;-为确定的体素分配相同的值,所述相同的值与包括0和所述带尺寸之间的值不同。3.如权利要求2所述的计算机实现的方法,其中,所述带尺寸等于或大于体素的尺寸的两倍。4.根据权利要求1至3中任一项所述的计算机实现的方法,其中,所述最小距离值存储在第一矩阵中,所述第一矩阵的每个单元与具有所述3D空间中的一组坐标的体素相对应,并且所述第一矩阵的每个单元包含标量值,所述第一矩阵的所述一组单元形成标量场。5.如权利要求4结合权利要求2所述的计算机实现的方法,其中,具有大于所述带尺寸的最小距离值的体素的值不存储在所述矩阵中。6.如权利要求1至5中任一项所述的计算机实现的方法,还包括:在对所述3D场景进行离散化之前:-选择对所述3D场景进行离散化的体素的尺寸。7.如权利要求1至6中任一项所述的计算机实现的方法,还包括:-在第二矩阵中存储与体素相关联的所有标签。8.如权利要求7结合权利要求4所述的计算机实现的方法,其中,所述第一矩阵和所述第二矩阵是不同的。9.如权利要求1至8中任一项所述的计算机实现的方法,其中,通过对标签泛洪填充直到满足停止条件而进行传播包括:-将标记体素的最小距离值的值与相邻未标记体素的最小距离值的值进行比较;-如果所述相邻未标记体素的最小距离值等于或低于所述标记体素的最小距离值的值,则将所述标签传播到所述未标记体素。10.一种包括用于执行如权利要求1-9中任一项所述的方法的指令的计算机程序。11.一种其上记录有如权利要求10所述的计算机程序的计算机可读存储介质。12.一种系统,包括耦合到存储器的处理器和图形用户界面,所述存储器上记录有如权利要求10所述的计算机程序。

百度查询: 达索系统公司 3D部件的增材制造

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