CN115087982A - 计算机辅助设计对象的基于机器学习的选择性实体化 - Google Patents
计算机辅助设计对象的基于机器学习的选择性实体化 Download PDFInfo
- Publication number
- CN115087982A CN115087982A CN201980103542.2A CN201980103542A CN115087982A CN 115087982 A CN115087982 A CN 115087982A CN 201980103542 A CN201980103542 A CN 201980103542A CN 115087982 A CN115087982 A CN 115087982A
- Authority
- CN
- China
- Prior art keywords
- cad
- pattern
- geometry
- instance
- selected subset
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Manufacturing & Machinery (AREA)
- Materials Engineering (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种计算系统,其可以包括实例标识引擎,该实例标识引擎被配置成确定用于表示计算机辅助设计(CAD)对象的几何形状的编程化图案的图案实例的选定子集,包括通过标识要对所述CAD对象执行的CAD操作;确定可应用于CAD操作的CAD对象中的经采样的点集合;将经采样的点集合作为输入提供给反演机器学习(ML)模型,所述反演机器学习(ML)模型被训练以输出用于CAD对象的输入点的编程化图案的给定图案实例;以及针对经采样的点集合来确定由反演ML模型提供的图案实例的输出集合,作为选定子集。该系统还可以包括对象实体化引擎,该对象实体化引擎被配置成实体化图案实例的选定子集的几何形状,以对CAD对象执行CAD操作。
Description
背景技术
计算机系统可用于创建、使用和管理产品和其它物品的数据。计算机系统的示例包括计算机辅助设计(computer-aided design,CAD)系统(其可以包括计算机辅助工程(computer-aided engineering,CAE)系统)、计算机辅助制造(computer-aidedmanufacturing,CAM)系统、可视化系统、产品数据管理(product data management,PDM)系统、产品生命周期管理(product lifecycle management,PLM)系统等。这些系统可以包括有助于产品结构和产品制造的设计和模拟测试的部件。
附图说明
在以下详细描述中并参考附图来描述某些示例。
图1示出了支持CAD对象的基于机器学习(ML)的选择性实体化的计算系统的示例。
图2示出了由计算系统进行的基于ML的选择性实体化的示例。
图3示出了由实例标识引擎进行的反演ML模型的示例性训练。
图4示出了用于射线投射CAD操作的基于ML的选择性实体化的示例。
图5示出了用于切片CAD操作的基于ML的选择性实体化的示例。
图6示出了用于修剪CAD操作的基于ML的选择性实体化的示例。
图7示出了系统可以实施为支持CAD对象的基于ML的选择性实体化的逻辑的示例。
图8示出了支持CAD对象的基于ML的选择性实体化的计算系统的示例。
具体实施方式
CAD系统和应用可以支持各种形式的CAD对象的创建、设计、表示和使用。由CAD应用程序使用的一种常见形式是边界表示(也称为B-Rep)。B-Rep可以通过诸如曲线、边缘、面、形状、网格等的二维(2D)或三维(3D)几何元素来定义CAD对象的对象边界。边界表示模型的性质可以被限制为仅描述CAD对象的边界(例如形成CAD对象的外部边界的几何形状)。由边界表示包围的区域通常仅在分类上被限制为完全实体的或完全空的。
CAD对象的B-Rep定义在捕获复杂的CAD对象的内部几何形状方面将是不可行的或低效的。随着3D设计、3D打印、增材制造和其它3D技术能力的增长,具有几何上复杂的内部和外部结构的3D部件的设计和制造变得越来越可行。当通过边界表示(例如,网格面)进行几何建模时,复杂的3D几何形状可能需要包含数百万(或更多)个几何元素的组合,并且包括相当大的几何复杂性(例如,高亏格(genus)、高度弯曲的、可变的和不规则的)。经由B-Rep的复杂3D几何形状的原始实现(无论是用于建模内部增材材料还是复杂的外部几何形状)都可能产生处理数百万个或更多网格元素所需的过多性能和存储器损失。
CAD对象的编程化表示可以提供优于通过B-Rep或其它网格几何形状实现的复杂3D几何形状的原始实现的性能优势。例如,3D晶格可以被编程化表示为被重复以创建复杂3D成形或几何形状的几何图案。可以以过程化形式而不是以数百万(或跟多)个B-Rep面的显式几何表示来表示编程化图案,并且因此该编程化图案可以是与B-Rep相比更简明的几何表示形式。在一些实例中,编程化图案可以采取跨越2D或3D空间重复以形成CAD对象的内部或外部几何形状的特定图案实例(例如,图案内核)的形式。其中可使用编程化图案化来有效地表示CAD几何形状的示例性部件包括形成3D部件的内部的增材晶格结构、铆钉或紧固件、用于改进抓握性的表面上的几何纹理、流体湍流器、涂层和涂料粘合表面等。
编程化图案(例如,以高级计算机编程语言指定)可提供用于设计和表示CAD系统中的复杂3D几何形状的简明和灵活的框架。然而,在对编程化表示的CAD对象执行的CAD操作可能需要处理、修改、模拟或以其它方式实例化CAD对象的3D几何形状。为了执行这种CAD操作,一些CAD系统可以实体化给定CAD对象的整个3D几何形状。实体化可以指其中几何的编程化表示(例如,经由代码)被转换为专用几何表示(例如,B-Rep)的过程。对于由许多图案实例(例如,在数千、数万、数百万或更多)组成的编程化图案,CAD对象的整个3D几何形状的B-Rep表示在尺寸上可能非常大,从而不利地影响CAD系统的存储器和计算效率。
本公开可以提供用于CAD对象的基于机器学习(ML)的选择性实体化的系统、方法、设备和逻辑。本文描述的基于ML的选择性实体化特征可以提供实体化CAD对象的3D几何形状中的一些(但不是全部)的能力。这种选择性实体化可以包括表示可应用于给定CAD操作的CAD几何形状的相关部分,而CAD几何形状的其他不相关部分保持为编程形式。机器学习技术可被应用于高效地和有效地标识待体现用于特定CAD操作的图案实例的选定子集。
本文描述的基于ML的选择性实体化特征可以通过具有O(1)的复杂度(例如,与CAD几何结构中的图案实例的数目无关的恒定时间)的选定子集确定来提高CAD系统中的计算效率。此外,本文描述的基于ML的选择性实体化特征可提供针对编程化图案的可扩展的惰性评估方法,而与底层编程实现方式无关。这样,对于任意程序(无论是对于简单程序还是对于包括循环和条件语句的复杂编程逻辑),都可以经由本公开获得计算效率。
本文将更详细地描述这些和其它基于ML的选择性实体化特征和技术益处。
图1示出了支持CAD对象的基于ML的选择性实体化的计算系统100的示例。计算系统100可以采用单个或多个计算设备的形式,例如应用服务器、计算节点、台式或膝上型计算机、智能电话或其它移动设备、平板设备、嵌入式控制器等。在一些实施方式中,计算系统100实施CAD系统、工具、应用或程序,以帮助用户设计、分析、仿真和制造产品和3D部件。
作为支持本文描述的基于ML的选择性实体化特征的任何组合的示例性实现方式,图1所示的计算系统100包括实例标识引擎110和对象实体化引擎112。计算系统100可以以各种方式实施引擎108和110(包括其部件),例如实施为硬件和通过编程。针对引擎108和110的编程可以采用存储在非瞬时性机器可读存储介质上的处理器可执行指令的形式,而针对引擎108和110的硬件可以包括执行这些指令的处理器。处理器可以采用单处理器或多处理器系统的形式,并且在一些示例中,计算系统100使用相同的计算系统特征或硬件组件(例如,公共处理器或公共存储介质)来实施多个引擎。
在操作中,实例标识引擎110可以确定用于表示CAD对象的几何形状的编程化图案的图案实例的选定子集。实例标识引擎110可以通过确定可应用于在CAD对象上执行的CAD操作的CAD对象中的经采样的点集合,将经采样的点集合作为输入提供到反演ML模型(该反演ML模型被训练为输出针对CAD对象的输入点的编程化图案的给定图案实例),以及将由反演模式模型提供的针对采样的点集合的图案实例的输出集确定为选定子集来这样做。在操作中,对象实体化引擎112可以实体化图案实例的选定子集的几何形状,以对CAD对象执行CAD操作。
下面来更详细地描述这些和其它基于ML的选择性实体化特征。虽然这里的一些讨论是使用2D几何形状作为说明性示例来提供的,但是可以一致性地应用本文描述的任何基于ML的选择性实体化特征,以支持任何CAD几何形状(例如,3D几何形状、内部晶格结构、复杂的外部图案设计等)。
图2示出了由计算系统进行的基于ML的选择性实体化的示例。作为说明性示例,图2描绘了实例标识引擎110和对象实体化引擎112形式的计算系统,其中该计算系统可以实施为硬件和软件的组合。
图2还示出了反演ML模型205,如本文更详细描述的。反演ML模型205可以实施或提供任何数量的机器学习技术,以确定针对给定的CAD操作待实体化的CAD几何形状的选择部分。为了支持本文所呈现的任何基于ML的选择性实体化特征,反演ML模型205可实施任何数量的监督的、半监督的、无监督的、或增强的学习模型。反演ML模型205可包括马尔可夫(Markov)链、上下文树、支持向量机、神经网络、贝叶斯(Bayesian)网络、或各种其它机器学习组件。在一些示例中,可以通过随机森林或剩余神经网络ML技术来训练反演ML模型205,然而本文还设想任何数量的附加或替代性机器学习技术和能力来实施、训练或以其他方式来利用反演ML模型205。在图2所示的示例中,实例标识引擎110自身实施反演ML模型205(例如,使用本地资源来存储经训练的模型)。在其它示例中,实例标识引擎110可以远程访问反演ML模型205或与反演ML模型205外部交互。
作为描述本文所呈现的基于ML的选择性实体化特征的连续示例,示出了CAD对象210。可以编程化地表示(也称为过程化表示)CAD对象210的内部或外部几何形状。编程或过程化表示可以提供基于代码或功能的CAD几何形状的表示(例如,以非实体化形式)。作为一个示例,3D晶格结构可以被编程化地表示为跨越CAD对象的描划部分重复的编程化图案,以表示CAD对象的3D晶格几何形状,并且以没有将晶格几何形状显式地实体化为B-Rep形式的形式编程化地表示。
在图2所示的示例中,将CAD对象210的内部几何形状表示为填充CAD对象210的内部区域的重复图案实例的编程化图案。该编程化图案的一个给定实例在图2中被标记为图案实例220。CAD对象210的图案实例220中的虚线用于指示编程化表示的状态(例如,未实体化的几何形状),并且CAD对象210的虚线几何部分同样可以表示编程化表示的部分。因此,可以经由重复的图案实例的编程化图案(如具有标记的图案实例220的所描绘的CAD对象210中)来编程化表示CAD对象210的整个内部几何形状。
为了处理CAD对象210,可以由CAD系统支持各种CAD操作。许多CAD操作要求仅对CAD对象的选择性或局部化部分进行计算或详细处理。实例标识引擎110可以根据给定CAD操作的计算需要来标识CAD对象210的局部化图案实例,而不是实体化CAD对象210的整个编程化图案。通过减少执行这种CAD操作所需的存储器和处理资源,局部化和选择性的实体化而不是实体化CAD对象210的整个编程化图案可以提高计算效率。
为了支持选择性实体化,实例标识引擎110可以确定针对给定CAD操作待实体化的CAD对象210的图案实例的选定子集。选择性子集确定也可以称为范围查找或反演过程(inversion process),因为给定CAD对象210的点(例如,坐标)的集合,就可以标识图案实例的“反演”集合。实际上,实例标识引擎110可以确定占用给定查询区域的图案实例的选定子集,并且该查询区域可以表示给定的CAD操作对其执行计算或以其他方式处理的CAD对象的一部分。
在一些示例中,实例标识引擎110可以解决图案实例的编程化图案L覆盖CAD对象的区域R(例如,R是CAD对象的内部或外部几何的3D空间)的问题。实例标识引擎110可以将CAD对象的区域R解释为被划分的几何块,使得每个几何块包含编程化图案L的(单个)图案实例。对于给定的查询区域Q,实例标识引擎110可以确定哪些几何块包含查询区域Q,进而可以提供表示查询区域Q的图案实例的子集。查询区域Q可以表示可应用于给定CAD操作的CAD对象的一部分,并且包含查询区域Q的图案实例的子集因此可以表示可应用于给定CAD操作的图案实例的选定子集。
实例标识引擎110可以以各种方式来标识、指定或标记几何块。对于3D几何形状,实例标识引擎110可以经由索引(例如,通过分配具有块ID B(i,j,k),i=0…ni,j=0…nj,k=0…nk的给定几何块)来分配块标识符。索引值ij和k可以表示为顺序整数,并且可以分别与3D区域R的x轴、y轴和z轴相关联。因此,实例标识引擎110可以设置特定索引(i,j,k)以唯一地表示编程化图案的特定几何块(并且因此唯一地标识占据特定几何块的编程化图案L的特定图案实例)。
在其它示例中,实例标识引擎110可以基于几何块的给定坐标(例如,包括在几何块中的坐标)来标识覆盖编程化图案的几何块。用于几何块的示例性坐标标识符包括几何块的中心坐标、具有最低(或最高)x坐标值、y坐标值和/或z坐标值的几何块中的坐标、或几何块内的任何其它选定的或经配置的坐标位置。作为又一示例,实例标识引擎110可以用唯一的整数值来标记几何块(例如,顺序地为每个几何块分配ID号)。以这些方式或各种其它方式,实例标识引擎110可以标识或标记几何块,使得包含编程化图案的图案实例的每个几何块被唯一地标识。
通过标识或标记几何块,实例标识引擎110可以指定包含用于CAD操作的给定查询区Q域的几何块的集合。用于标识查询区域Q中的相关几何块的蛮力方法可以包括涉及具有编程化图案L的每个几何块的查询区域Q的测试。随着几何块的数目增加(例如,ni,nj和/或nk大于100),这种蛮力方法将在计算方便变得难以控制,或者产生越来越高的计算和性能延迟,这并不适合交互式设计应用。代替蛮力方法,实例标识引擎110可通过机器学习来确定可应用于CAD应用的图案实例的选定子集,所述机器学习可提供与蛮力方法相比产生显著的性能提高的有效且可扩展的方法。
为了确定可应用于CAD操作的根据本公开的图案实例的子集,实例标识引擎110可以采样可应用于CAD操作的点采样。实例标识引擎110可以以任何方式来获得可应用于CAD操作的查询区域R中的一个或多个点的集合来这样做。实例标识引擎110可以以规则或不规则采样间隔来采样查询区域Q中的点。在图2所示的示例中,实例标识引擎110获得经采样的点集合230,该经采样的点集合230可以由CAD对象210中的不同点组成,其中在所述不同点处将操作给定的CAD操作(例如,切片操作)。
在一些实现方式中,实例标识引擎110通过基于用于编程化图案的几何块的尺寸以规则的间隔(例如,以坐标间距)在给定CAD操作的查询区域Q中对点采样来确定经采样的点集合230。实例标识引擎110可以设置采样间隔(例如,沿着x轴、y轴或z轴),使得对于每个几何块仅采集单个采样点,对于给定的几何块采集多个采样点,或者根据任何其它规则或不规则采样参数。实例标识引擎110可应用的采样参数的其它示例包括跨越查询区域Q的随机采样、在查询区域Q中采集(至少)阈值数目的采样点等。
实例标识引擎110可以提供经采样的点集合,作为反演ML模型205的输入,并且反演ML模型205可以被训练,以输出覆盖坐标/点的图案实例的选定子集,所述坐标/点包括在用于查询区域Q的经采样的点集合中。(注意,下面结合图3来更详细地描述反演ML模型205的训练)。在一些实例中,反演ML模型205可以以O(1)时间输出图案实例的选定子集,因为反演ML模型205可以在恒定时间中支持坐标到图案的实例映射(例如,独立于用于表示CAD对象210的几何形状的编程化图案中的图案实例的数目)。针对反演ML模型205的存储器要求可以低至几千字节,这在现代计算系统中几乎是可以忽略的。因此,与蛮力图案实例确定或完整几何形状实体化技术相比,通过反演ML模型205的基于ML的选择性实体化可以为CAD应用和CAD系统提供计算和存储器方面的改进。
在图2中,反演ML模型205输出针对经采样的点集合230的图案实例240的选定子集,并且实例标识引擎110可以向对象实体化引擎112提供图案实例的选定子集240,作为可应用于给定CAD操作的图案实例的局部化或特定集合。实例标识引擎110可以以与如何标识编程化图案的几何块一致的方式来提供图案实例的选定子集240。这样,图案实例的选定子集240可以通过几何块标识符(例如,(i,j,k)索引的集合)来标识或指定用于实体化的特定图案实例,所述几何块标识符又标识或表示特定图案实例。
利用图案实例的选定集合240,对象实体化引擎112可以将CAD对象210的选定部分实体化为几何形式。图2描绘了选择性实体化的CAD对象210的示例,其包括实体化几何形状250(其以实线示出以表示专用几何表示(express geometric representation),例如经由网格面或其它B-Rep几何图元)。对象实体化引擎112可以通过对在图案实例240的选定子集中标识的实例图案实体化(例如,对在图案实例240的选定子集中指定的每个几何块中的图案实例实体化)来执行选择性实体化。
因此,在本文描述的任何方式中,对象实体化引擎112可以实体化图案实例240的选定子集的几何形状,以便对CAD对象210执行CAD操作。这种实体化可以是选择性的,因为对象实体化引擎112可以确定对不可应用于CAD操作的CAD对象210的其它部分不进行实体化。
图3示出了由实例标识引擎110进行的反演ML模型205的示例性训练。为了训练反演ML模型205,实例标识引擎110可以生成训练数据集合,其中通过该训练数据集合来训练反演ML模型205。
在生成训练数据时,实例标识引擎110可以评估定义CAD对象的几何形状的编程化图案。在图3所示的示例中,实例标识引擎110评估定义CAD对象210的几何形状的编程化图案,其可包括三十七(37)个(至少部分地)表示CAD对象210的内部几何形状的不同图案实例。在图3中,所示的CAD对象210被划分成三十七(37)个几何块,包括在图3中被标记为几何块310的一个块。
实例标识引擎110可利用块ID来创建用于反演ML模型205的训练数据集合,从而来标识以本文所述的任何方式形成的编程化图案的几何块。在这点上,实例标识引擎110可以评估CAD对象210和底层编程化图案,以标识表示CAD对象210的几何形状(即,包含编程化图案L的CAD对象的区域R)的块标识符中的每一者(例如,(i,j,k)索引中的每一者)。如图3所描绘的,CAD对象210的每个几何块可以包含编程化图案的单个图案实例。为了说明,图3中的图案实例320包含在CAD对象210的内部几何形状的单个几何块中。
继续关于生成训练数据的讨论,实例标识引擎110可以对CAD对象210的每个几何块内的点采样。对于表示CAD对象210的几何形状的编程化图案的每个给定图案实例,实例标识引擎110可以确定位于几何块(其包含给定图案实例)内的采样点。在一些示例中,实例标识引擎110将经采样的点标识为坐标,例如,针对每个几何块的采样点坐标(xis,yjs,zks),s=0...m,其中m是针对每个几何块的采样点的数目。从给定几何块采集的采样点的数目将是可配置的,并且在一些实现方式中,实例标识引擎110仅对来自CAD对象210的每个几何块的单个点/坐标采样。
实例标识引擎110可以根据任何数目的采样参数来确定用于训练数据生成的采样点,所述采样参数可以与本文针对查询区域Q描述的采样参数中的任何采样参数重叠。例如,实例标识引擎110可以确定来自图3中的编程化图案的三十七(37)个几何块中的每一者的采样点的阈值数目,无论以规则或不规则的采样间隔(例如,与几何块的尺寸成比例)。为了清楚起见,在图3中仅例示了形成CAD对象210的几何形状的三十七(37)个几何块中的七(7)个几何块的示例性采样点,而实例标识引擎110也同样可以从其它几何块中确定采样点。
注意,在图3中,一些几何块包括在CAD对象210内的部分以及在CAD对象210外的部分。这种几何块的一个示例在图3中通过几何块330示出,几何块330的一部分包括在CAD对象210内,而几何块330的另一部分位于CAD对象210的边界之外。对于仅部分地包括在CAD对象210内的几何块,在一些示例中,实例标识引擎110可以具体地对CAD对象210内的点采样。在其它示例中,实例标识引擎110可以确定位于几何块330内的采样点,而不考虑(例如,独立于)该采样点是否位于CAD对象210内。
实例标识引擎110可以将训练数据集合确定为每个几何块与位于几何块内的一个或多个采样点之间的映射。在图3中,实例标识引擎110从针对CAD对象210的几何块采集的已确定的采样点中生成训练数据集合340。在一些示例中,所生成的用于反演ML模型205的训练数据集合中的项数目等于所评估的编程化图案的几何块数目(例如,对于每个几何块一个项,其映射到位于每个几何块内的一个或多个采集的采样点)。
实例标识引擎110可以用所生成的训练数据集合340来训练反演ML模型205。在这样做时,实例标识引擎110可以根据任何数量的ML技术或ML技术的组合来训练反演ML模型205。作为特定示例,实例标识引擎110可以使用随机森林技术来训练反演ML模型205,与例如剩余神经网络的其它ML技术相比,随机森林技术可以提供减少的训练时间。由于每个几何块可唯一地包含单个图案实例,因此可以将反演ML模型205训练成输出基于包含特定图案实例的几何块的特定图案实例。这样,反演ML模型205的训练可以提供将输入点(例如,以CAD坐标的形式)映射到CAD对象中的给定几何块的映射能力,并且因此可以标识针对输入点的唯一图案实例。
一旦已由实例标识引擎110训练反演ML模型205,就可以提供针对CAD对象确定的输入采样点集合(例如,从给定CAD操作的查询区域Q采集的采样点集合),并且反演ML模型205可以提供到包含采样点集合的特定图案实例的映射。下面参照图4、图5和图6来描述用于不同CAD操作的基于ML的选择性实体化的各种示例。
图4示出了用于射线投射CAD操作的基于ML的选择性实体化的示例。在图4中,实例标识引擎110可以标识将对CAD对象210执行的射线投射操作410。可以执行射线投射操作410以检测投影的射线与CAD对象210的图案实例的相交(例如,用于实体一致性检查)。可通过标识用户选择的操作或其它用户输入、通过检查指定当前CAD操作的当前CAD应用参数或状态值、或根据CAD系统可提供的任何数量的其它CAD应用或CAD操作监视能力来执行给定CAD操作的标识。
对于射线投射操作410,实例标识引擎110可以确定CAD对象210的可应用于射线投射操作410的经采样的点集合。特别地,实例标识引擎110可以将用于射线投射操作410的查询区域Q标识为通过射线投射操作410投射的投射射线,如图4中所示的射线420。实例标识引擎110可以沿着所标识的查询区域Q(特别是沿着针对射线投射操作410投影的射线420)对CAD对象210中的点采样。在图4中,实例标识引擎110获得从射线420确定的经采样的点集合430,并且将经采样的点集合430作为输入提供给反演ML模型205。反演ML模型205可输出图案实例的选定子集440,其可特定于针对射线投射操作410采集的经采样的点集合430。
在图4所示的示例中,图案实例的选定子集440可以指定CAD对象210的编程化图案的五(5)个特定几何块,其中反演ML模型205可以映射到射线420。对象实体化引擎112可以通过沿着针对射线投射操作410投影的射线420实体化CAD对象210的图案实例的几何形状来实体化图案实例的选定子集440的几何形状(在图4中示出为实体化的几何形状450)。
在图4的特定示例中,实例标识引擎110可利用基于ML的技术来标识可应用于射线投射操作410的五(5)个特定图案实例,并且在执行射线投射操作410时,对象实体化引擎112可以将五(5)个特定图案选择性地实体化成几何形式,同时确定CAD对象210的其它三十二(32)个图案实例保持为编程形式(例如,未实体化的)。在一些实现方式中,对象实体化引擎112可以通过对图案实例的选定子集440的实体化几何形状450执行射线表面相交计算来执行射线投射操作410。
这样,实例标识引擎110和对象实体化引擎112可以支持用于射线投射操作的基于ML的选择性实体化。
图5示出了用于切片CAD操作的基于ML的选择性实体化的示例。在图5中,实例标识引擎110可以标识将对CAD对象210执行的切片操作510。切片操作510可以沿着切片平面(在图5中以2D线形式示出的切片平面520)划分CAD对象。切片操作510可用于计算与切片平面520相交的相交曲线(例如,在增材制造上下文中)。
对于切片操作510,实例标识引擎110可以确定CAD对象210的可应用于切片操作510的经采样的点集合。具体地,实例标识引擎110可以将用于切片操作510的查询区域Q标识为切片平面520。实例标识引擎110可以在所标识的查询区域Q内(特别是在切片操作510的切片平面520内)对CAD对象210中的点采样。在图5中,实例标识引擎110获得从切片平面520采集的经采样的点集合530,并且将经采样的点集合530作为输入提供给反演ML模型205。反演ML模型205可输出图案实例的选定子集540,其可特定于针对切片操作510采集的经采样的点集合530。
在图5所示的示例中,图案实例的选定子集540可以指定CAD对象210的编程化图案的六(6)个特定几何块,其中反演ML模型205可以映射到切片平面520。对象实体化引擎112可以通过实体化对包括在切片操作510的切片平面520中的CAD对象210的图案实例的几何形状实体化来对图案实例的选定子集540的几何形状(在图5中示出为实体化的几何形状550)实体化。
在图5的特定实例中,实例标识引擎110可利用基于ML的技术来标识可应用于切片操作510的六(6)个特定图案实例,并且在执行切片操作510时,对象实体化引擎112可以将六(6)个特定图案选择性地实体化成几何形式,同时确定CAD对象210的其它三十一(31)个图案实例保持为编程形式。在一些实现方式中,对象实体化引擎112可以通过计算图案实例的选定子集540的实体化几何形状550与切片平面520之间的相交曲线来执行切片操作510。
这样,实例标识引擎110和对象实体化引擎112可以支持用于切片操作的基于ML的选择性实体化。
图6示出了用于修剪CAD操作的基于ML的选择性实体化的示例。在图6中,实例标识引擎110可标识将对CAD对象210执行的修剪操作610。修剪操作610可以将CAD对象210的几何形状剔除到另一对象(例如,用户选择的形状)的边界内,并且可以用于保持位于CAD对象210的内部容积内的几何形状的一部分。在图6中,选定部分620被提供用于剔除CAD对象210的说明性形状。在一些示例中,选定部分620可以是CAD对象210本身的边界,例如,以便修剪位于CAD对象210外部的图案实例的部分。
对于修剪操作610,实例标识引擎110可以确定CAD对象210的可应用于修剪操作610的经采样的点集合。具体地,实例标识引擎110可以将用于修剪操作610的查询区域Q标识为选定部分620。实例标识引擎110可以在所标识的查询区域Q内(特别是在修剪操作610的选定部分620内)对CAD对象210中的点采样。在图6中,实例标识引擎110获得从选定部分620采集的经采样的点集合630,并且将经采样点集合630作为输入提供给反演ML模型205。反演ML模型205可输出图案实例的选定子集640,其可特定于针对修整操作610采集的经采样的点集合630。
在图6所示的示例中,图案实例的选定子集640可以指定CAD对象210的编程化图案的二十一(21)个特定几何块,其中反演ML模型205可以映射到选定部分620。对象实体化引擎112可以通过对包括在修剪操作610的选定部分620中的CAD对象210的图案实例的几何形状实体化来对图案实例的选定子集640的几何形状(在图6中示出为实体化的几何形状650)实体化。
在图6的特定实例中,实例标识引擎110可利用基于ML的技术来标识可应用于修剪操作610的二十一(21)个特定图案实例,并且在执行修剪操作610时,对象实体化引擎112可将二十一(21)个特定图案选择性地实体化成几何形式,同时确定CAD对象210的其它十六(16)个图案实例保持为编程形式。在一些实现方式中,对象实体化引擎112可以通过将实体化几何形状650修剪到CAD对象210的选定部分620之外来执行修剪操作610。
这样,实例标识引擎110和对象实体化引擎112可以支持用于修剪操作的基于ML的选择性实体化。
虽然在图4、图5和图6中描述了用于射线投射、切片和修剪CAD操作的示例性选择性实体化,但是本文描述的基于ML的选择性实体化特征也可以一致地应用于任何类型的CAD操作。例如,对于质量属性计算,实例标识引擎110可以标识对其执行质量属性计算的可覆盖CAD对象或特定对象部分的查询区域Q。曲面细分(Tessellation)CAD操作同样可以包括实例标识引擎110可以标识的特定查询区域Q(例如,特定对象组件、在当前CAD应用视图中可见的CAD对象的一部分等)。以如本文所述的一致的方式,针对质量属性计算操作、曲面细分操作以及由CAD系统支持的任何其它类型的CAD操作,可以执行由实例标识引擎110进行的在所标识的查询区域Q中的经采样的点集合的确定、由反演ML模型205进行的选定子集的输出、以及由对象实体化引擎112进行的选择性实体化。
图7示出了逻辑700的示例,系统可以实现该逻辑700以支持基于ML的选择性实体化。例如,计算系统100可以将逻辑700实现为硬件、存储在机器可读介质上的可执行指令或者两者的组合。计算系统100可经由实例标识引擎110和对象实体化引擎112来实现逻辑700,通过该实例标识引擎110和对象实体化引擎112,计算系统100可执行或执行逻辑700作为支持基于ML的选择性实体化的方法。以下,以实例标识引擎110和对象表示引擎112为例对逻辑700进行说明。然而,系统的各种其它实现选项是可能的。
在实施逻辑700时,实例标识引擎110可以确定用于表示对象的几何形状的编程化图案的图案实例的选定子集(702)。实例标识引擎110可以通过确定可应用于对CAD对象执行的CAD操作的CAD对象的经采样的点集合(704)、将经采样的点集合作为输入提供给反演ML模型,该反演ML模型被训练以输出用于CAD对象的输入点的编程化图案的给定图案实例(706)、以及针对采样点集合确定由反演ML模型提供的图案实例的输出集合作为选定子集(708)来这样做。在实施逻辑时,对象实体化引擎112可以实体化图案实例的选定子集的几何形状,以对对象执行操作(710)。
图7所示的逻辑700提供了说明性的示例,通过该示例,计算系统100可以支持CAD对象的基于ML的选择性实体化。本文还设想逻辑700中的附加或替代步骤,该附加或替代步骤包括根据在此针对实例标识引擎110、对象实体化引擎112或其任何组合描述的任何特征。
图8示出了支持CAD对象的基于ML的选择性实体化的计算系统800的示例。计算系统500可以包括处理器810,该处理器810可以采用单个或多个处理器的形式。一个或多个处理器810可以包括中央处理单元(CPU)、微处理器、或适合于执行存储在机器可读介质上的指令的任何硬件设备。系统800可以包括机器可读介质820。机器可读介质820可以采用存储可执行指令的任何非瞬时性电子、磁性、光学或其它物理存储设备的形式,所述可执行指令例如为图8中示出的示例标识指令822和对象实体化指令824。因此,机器可读介质820例如可以是随机存取存储器(RAM)(诸如动态随机存取存储器(DRAM))、闪存、自旋转移转矩存储器、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘等。
计算系统800可以通过处理器810执行存储在机器可读介质820上的指令。执行指令(例如,实例标识指令822和/或对象实体化指令824)可以使得计算系统800执行本文描述的任何基于ML的选择性实体化特征,包括根据关于实例标识引擎110、对象实体化引擎112或两者的组合描述的任何特征。
例如,由处理器810执行实例标识指令822可使得计算系统800确定用于表示CAD对象的几何形状的编程化图案的图案实例的选定子集,包括通过确定可应用于CAD操作的CAD对象的采样点集合以对CAD对象执行;将所述采样点集合作为输入提供给反演ML模型,所述反演ML模型被训练以针对所述CAD对象的输入点输出所述编程化图案的给定图案实例;以及确定由反演ML模型提供的用于采样点集合的图案实例的输出集作为所选择的子集。对象实体化指令824的执行可导致计算系统800化所选图案实例子集的几何形状,以对所述CAD对象执行所述CAD操作。
可以经由实例标识指令822、对象实体化指令824或两者的组合来实现本文所述的任何附加或替代特征。
以上描述的包括有实例标识引擎110和对象实体化引擎112的系统、方法、设备和逻辑可以以许多不同的方式以多种不同的硬件、逻辑、电路以及存储在机器可读介质上的可执行指令的组合来实施。例如,实例标识引擎110、对象实体化引擎112、或其组合可以包括控制器、微处理器、或专用集成电路(ASIC)中的电路,或者可以用分立逻辑或部件来实施,或者可以用组合在单个集成电路上或分布在多个集成电路之间的其它类型的模拟或数字电路的组合来实施。产品,例如计算机程序产品,可以包括存储介质以及存储在介质上的机器可读指令,当在端点、计算机系统或其它设备中执行时,所述存储介质和机器可读指令使所述设备根据以上描述中的任何一者(包括根据实例标识引擎110、对象实体化引擎112或其组合的任何特征)来执行操作。
本文描述的系统、设备和引擎(包括实例标识引擎110和对象实体化引擎112)的处理能力,可以分布在多个系统部件之间,例如在多个处理器和存储器之间,可选地包括多个分布式处理系统或云端/网络元件。参数、数据库和其它数据结构可以被分开存储和管理,可以被合并到单个存储器或数据库中,可以以许多不同的方式被逻辑地和物理地组织,并且可以以包括有数据结构(例如链表)、哈希表或者隐式存储机制的多种方式来实施。程序可以是单个程序的一部分(例如子例程)、分开的程序、分布在多个存储器和处理器上的程序、或以多种不同的方式(例如库(例如共享库))来实施。
尽管上面已经描述了各个示例,但是更多的实施方式也是可行的。
Claims (15)
1.一种方法,包括:
通过计算系统:
确定编程化图案的图案实例的选定子集,所述编程化图案用于表示计算机辅助设计(CAD)对象的几何形状,所述确定编程化图案的图案实例的选定子集包括:
确定所述CAD对象的经采样的点集合,所述经采样的点集合可应用于对所述CAD对象执行的CAD操作;
将所述经采样的点集合作为输入提供给反演机器学习(ML)模型,所述反演机器学习(ML)模型被训练以输出用于所述CAD对象的输入点的所述编程化图案的给定图案实例;以及
针对所述经采样的点集合来确定由所述反演ML模型提供的图案实例的输出集合,作为所述选定子集;以及
实体化所述图案实例的选定子集的几何形状,以对所述CAD对象执行所述CAD操作。
2.根据权利要求1所述的方法,还包括:通过以下步骤来训练所述反演ML模型:
生成用于所述反演ML模型的训练数据集合,包括通过以下步骤来生成用于所述反演ML模型的训练数据集合:
针对表示所述CAD对象的所述几何形状的所述编程化图案的每个给定图案实例来确定采样点,所述采样点位于包含所述给定图案实例的几何块内;以及
将所述训练数据集合确定为每个几何块与位于所述几何块内的所述采样点之间的映射;以及
利用所生成的训练数据集合来训练所述反演ML模型。
3.根据权利要求1或2所述的方法,其中,每个几何块唯一地包含单个图案实例,并且其中,基于包含特定图案实例的所述几何块来训练所述反演ML模型以输出所述特定图案实例。
4.根据权利要求1至3中任一项所述的方法,其中,所述CAD操作包括射线投射操作,并且包括:
沿着所述射线投射操作的投射射线对所述CAD对象中的点采样;
通过沿着所述投射射线实体化所述CAD对象的所述图案实例的几何形状来实体化所述选定子集的几何形状;以及
通过对所述选定子集的实体化几何形状执行射线表面相交计算来执行所述射线投射操作。
5.根据权利要求1至3中任一项所述的方法,其中,所述CAD操作包括切片操作,并且包括:
在所述切片操作的切片平面中对所述CAD对象中的点采样;
通过实体化所述切片平面中的所述CAD对象的所述图案实例的几何形状来实体化所述选定子集的几何形状;以及
通过计算所述选定子集的实体化几何形状与所述切片平面之间的相交曲线来执行所述切片操作。
6.根据权利要求1至3中任一项所述的方法,其中,所述CAD操作包括用于去除所述CAD对象的选定部分之外的部分所述编程化图案的修剪操作,并且包括:
在所述CAD对象的所述选定部分中对所述CAD对象中的点采样;
通过在所述选定部分中实体化所述CAD对象的所述图案实例的几何形状来实体化所述选定子集的几何形状;以及
通过修剪所述CAD对象的所述选定部分之外的实体化几何形状来执行所述修剪操作。
7.根据权利要求1至6中任一项所述的方法,包括:在不实体化所述编程化图案的未选定图案实例的情况下实体化所述图案实例的选定子集的所述几何形状。
8.一种系统,包括:
实例标识引擎,其配置成通过以下来确定编程化图案的图案实例的选定子集,所述编程化图案用于表示计算机辅助设计(CAD)对象的几何形状:
确定所述CAD对象中的经采样的点集合,所述经采样的点集合可应用于对所述CAD对象执行的CAD操作;
将所述经采样的点集合作为输入提供给反演机器学习(ML)模型,所述反演机器学习(ML)模型被训练以输出用于所述CAD对象的输入点的所述编程化图案的给定图案实例;以及
针对所述经采样的点集合来确定由所述反演ML模型提供的图案实例的输出集合,作为所述选定子集;和
对象实体化引擎,其配置成实体化所述图案实例的选定子集的几何形状,以对所述CAD对象执行所述CAD操作。
9.根据权利要求8所述的系统,其中,所述实例标识引擎还被配置成通过以下来训练所述反演ML模型:
生成用于所述反演ML模型的训练数据集合,通过以下来生成用于所述反演ML模型的训练数据集合:
针对表示所述CAD对象的所述几何形状的所述编程化图案的每个给定图案实例来确定采样点,所述采样点位于包含所述给定图案实例的几何块内;以及
将所述训练数据集合确定为每个几何块与位于所述几何块内的所述采样点之间的映射;以及
利用所生成的训练数据集合来训练所述反演ML模型。
10.根据权利要求9所述的系统,其中,每个几何块唯一地包含单个图案实例,并且其中,基于包含特定图案实例的所述几何块来训练所述反演ML模型以输出所述特定图案实例。
11.根据权利要求8至10中任一项所述的系统,其中,所述CAD操作包括射线投射操作,并且其中:
所述实例标识引擎被配置成:沿着所述射线投射操作的投射射线对所述CAD对象中的点采样;并且
所述对象实体化引擎被配置成:
通过沿着所述投射射线实体化所述CAD对象的所述图案实例的几何形状来实体化所述选定子集的几何形状;以及
通过对所述选定子集的实体化几何形状执行射线表面相交计算来执行所述射线投射操作。
12.根据权利要求8至10中任一项所述的系统,其中,所述CAD操作包括切片操作,并且其中:
所述实例标识引擎被配置成:在所述切片操作的切片平面中对所述CAD对象中的点采样;并且
所述对象实体化引擎被配置成:
通过实体化所述切片平面中的所述CAD对象的所述图案实例的几何形状来实体化所述选定子集的几何形状;以及
通过计算所述选定子集的实体化几何形状与所述切片平面之间的相交曲线来执行所述切片操作。
13.根据权利要求8至10中任一项所述的系统,其中,所述CAD操作包括用于去除所述CAD对象的选定部分之外的部分所述编程化图案的修剪操作,并且其中:
所述实例标识引擎被配置成:在所述CAD对象的所述选定部分中对所述CAD对象中的点采样;并且
所述对象实体化引擎被配置成:
通过在所述选定部分中实体化所述CAD对象的所述图案实例的几何形状来实体化所述选定子集的几何形状;以及
通过修剪所述CAD对象的所述选定部分之外的实体化几何形状来执行所述修剪操作。
14.根据权利要求8至13中任一项所述的系统,其中,所述对象实体化引擎被配置成:在不实体化所述编程化图案的未选定图案实例的情况下实体化所述图案实例的选定子集的所述几何形状。
15.一种非瞬时性机器可读介质,包括指令,所述指令在被处理器执行时使得计算系统执行根据权利要求1至7中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/064615 WO2021112847A1 (en) | 2019-12-05 | 2019-12-05 | Machine learning-based selective incarnation of computer-aided design objects |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115087982A true CN115087982A (zh) | 2022-09-20 |
Family
ID=69024673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980103542.2A Pending CN115087982A (zh) | 2019-12-05 | 2019-12-05 | 计算机辅助设计对象的基于机器学习的选择性实体化 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220405447A1 (zh) |
EP (1) | EP4070226A1 (zh) |
CN (1) | CN115087982A (zh) |
WO (1) | WO2021112847A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018031904A1 (en) * | 2016-08-12 | 2018-02-15 | Siemens Product Lifecycle Management Software Inc. | Computer aided design with high resolution lattice structures using graphics processing units (gpu) |
US10723079B2 (en) * | 2017-08-23 | 2020-07-28 | Lawrence Livermore National Security, Llc | Fast, efficient direct slicing method for lattice structures |
-
2019
- 2019-12-05 EP EP19828447.3A patent/EP4070226A1/en active Pending
- 2019-12-05 WO PCT/US2019/064615 patent/WO2021112847A1/en unknown
- 2019-12-05 US US17/777,525 patent/US20220405447A1/en active Pending
- 2019-12-05 CN CN201980103542.2A patent/CN115087982A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4070226A1 (en) | 2022-10-12 |
US20220405447A1 (en) | 2022-12-22 |
WO2021112847A1 (en) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109145352B (zh) | 用于学习取图像作为输入的函数的数据集 | |
JP7014589B2 (ja) | コンピューティングリソースによって処理される複数のゾーンへの3dシーンの自動区分化 | |
CN108073682B (zh) | 基于参数视图函数查询数据库 | |
CN109767495A (zh) | 3d部件的增材制造 | |
US9971335B2 (en) | Hybrid dynamic tree data structure and accessibility mapping for computer numerical controlled machining path planning | |
JP2020109659A (ja) | 編集可能なフィーチャツリーの推測のためにニューラルネットワークを学習すること | |
CN111381919A (zh) | 形成用于推断可编辑特征树的数据集 | |
CN103150416B (zh) | 设计由深度元素表示的建模体 | |
CN111383327A (zh) | 使用弱类型定义进行建模 | |
US10083264B1 (en) | Systems and methods for implicit surface modeling | |
US20160042106A1 (en) | Generating a cad model from a finite element mesh | |
Jacquemin et al. | Smart cloud collocation: geometry-aware adaptivity directly from CAD | |
CN110929435B (zh) | 3d打印中的圈闭支撑区域的空间感知检测 | |
Vyatkin et al. | Real-time deformations of function-based surfaces using perturbation functions | |
Morell-Giménez et al. | Efficient tool path computation using multi-core GPUs | |
CN115087982A (zh) | 计算机辅助设计对象的基于机器学习的选择性实体化 | |
Velez et al. | Real-time part detection in a virtually machined sheet metal defined as a set of disjoint regions | |
Jacobson | Part II: Automatic Skinning via Constrained Energy Optimization | |
KR20080044221A (ko) | 컴퓨터를 이용한 3차원 이미지의 형상화 처리방법 | |
Vetsch et al. | Neuralmeshing: Differentiable meshing of implicit neural representations | |
Zhang et al. | Machining Simulation Application Based on Improved Marching Cubes Algorithm | |
JP2008533614A (ja) | 整合輪郭プロファイルを生成するシステム及び方法 | |
CN111383342A (zh) | 使用弱类型定义进行灵活建模 | |
Yalçınkaya et al. | Variable voxel computing method-innovative approaches to reduce the computing load in voxel-based solid modeling and new representation methods | |
Taime et al. | A new semantic segmentation approach of 3D mesh using the stereoscopic image colors |
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 |