首页> 中国专利> 可视化和浏览大规模生成设计数据集的技术

可视化和浏览大规模生成设计数据集的技术

摘要

设计应用程序配置为可视化和浏览大规模生成设计数据集。设计浏览器包括生成设计浏览器,合成浏览器和权衡浏览器的图形用户界面(GUI)引擎。设计浏览器显示设计空间中包含的多个设计选项的可视化。设计浏览器允许用户基于影响生成设计过程的输入参数以及与不同设计选项相关的各种设计特征来过滤设计空间。合成浏览器显示了包含多个不同设计选项的完全交互式合成体。合成浏览器提供了各种工具,这些工具允许用户通过与合成体的交互来过滤设计空间。权衡浏览器基于设计选项的不同排序显示权衡空间。不同的排序可能对应于不同设计师指定的竞争设计特征。

著录项

说明书

本申请要求于2018年4月23日提交的标题为“可视化和浏览大规模生成设计数据集的技术(Techniques for Visualizing and Exploring Large-Scale GenerativeDesign Datasets)”,序列号为62/661,461的美国临时专利申请的优先权,要求2019年3月19日提交的标题为“可视化和浏览大规模生成设计数据集的技术(Techniques forVisualizing and Exploring Large-Scale Generative Design Datasets)”,序列号为16/358,633的美国专利申请的优先权,并要求2019年3月19日提交的标题为“可视化和浏览大规模生成设计数据集的技术(Techniques for Visualizing and Exploring Large-Scale Generative Design Datasets)”,序列号为16/358,635的美国专利申请的优先权。这些相关申请的主题在此通过引用并入本文。

背景

各种实施方式的技术领域

本发明的实施例通常涉及计算机辅助设计技术,并且更具体地,涉及用于可视化和浏览大规模生成设计数据集的技术。

相关背景技术的描述

在生成的设计工作流中,设计人员分析工程问题并生成描述该工程问题的各个方面的问题定义。特别是,问题定义规定了任何给定设计应满足的不同设计标准,包括设计约束和设计目标。设计人员将问题定义输入到生成设计系统中,然后生成设计系统自动生成许多符合设计标准的设计选项。然后,设计人员查看不同的设计选项,并标识满足设计人员所持有的各种工程和/或美学标准的设计选项的子集。

上述方法的一个缺点是针对任何给定的问题定义生成设计系统会生成数以万计的设计选项。因此,有大量的数据供设计人员进行分析。设计人员通常通过忽略很大一部分生成的设计选项来解决此问题。但是,采用这种方法,设计人员最终可能会忽略并且不考虑经过设计人员适当分析和考虑后会发现是满足工程和/或美学标准的许多“良好”设计。

上述方法的另一个缺点是,不同的设计师通常对于给定的设计方案是否满足某项工程和/或美学标准有不同的意见。这种观点上的分歧会降低让多个设计人员共同分析使用生成设计系统时通常生成的众多设计选项的效率。设计人员通常通过考虑所生成的设计选项的子集来解决此问题,该子集仅满足参与设计过程的所有设计人员共同持有的工程和/或美学标准。但是,考虑到要考虑的设计方案太多,这种方法也可能导致许多潜在的“好的”设计被忽略而不予以考虑。

如前所述,本领域所需要的是用于分析大规模生成设计数据集的更有效的技术。

发明内容

各种实施例包括用于分析设计选项的计算机实现的方法,所述方法包括:基于与工程设计问题相关的问题定义生成设计选项集;基于所述设计选项集生成图像集,其中,所述图像集中包括的每个图像与不同的α值相关联;组合所述图像集以生成第一合成体(composite),所述第一合成体指示与所述设计选项集中包括的每个设计选项相关联的边界的至少一部分;接收与所述第一合成体的第一用户交互;以及基于所述第一用户交互以及从所述第一用户交互导出的一个或更多个几何准则,生成设计选项的子集。

相对于现有技术,所公开的设计应用程序的至少一个技术优势在于,可以更有效地浏览通常与生成设计过程相关联的大规模数据集,以识别最符合工程和/或美学标准的设计选项。因此,所公开的设计应用程序使设计人员免于费力地分析大量设计选项中的每个设计选项。

附图说明

为了能够详细地理解本发明各个实施方式的上述特征的方式,可以通过参考实施例来对本发明的概念进行更详细的描述,这些实施例已在上面简要地概述了,其中一些实施例在附图中示出。然而,应注意,附图仅示出了本发明的典型实施例,因此不应视为对本发明范围的限制,因为本发明可以允许其他等效实施例。

图1示出了被配置为实现本发明的一个或更多个方面的系统;

图2是根据本发明的各种实施例的图1的设计应用程序的更详细的说明;

图3A示出了根据本发明的各种实施例的示例性问题定义;

图3B示出了根据本发明的各种实施例的示例性设计空间;

图4是根据本发明的各种实施例的图2的设计浏览器的更详细的图示;

图5是根据本发明的各种实施例的图2的合成浏览器的更详细的图示;

图6示出了根据本发明的各个实施例的图2的图形用户界面(GUI)引擎如何生成合成图像;

图7A示出了根据本发明的各种实施例的图2的GUI引擎如何通过凿子工具过滤设计空间;

图7B示出了根据本发明的各个实施例的图2的GUI引擎如何通过选择工具过滤设计空间;

图7C示出了根据本发明的各个实施例的图2的GUI引擎如何通过边缘工具过滤设计空间;

图8是根据本发明的各个实施例的用于生成表示设计空间的一部分的合成图像的方法步骤的流程图;

图9是根据本发明的各种实施例的图2的权衡浏览器的更详细的图示;

图10是根据本发明的各种实施例的用于生成具有一个或更多个竞争设计特征的设计选项的子集的方法步骤的流程图。

具体实施方式

在以下描述中,阐述了许多具体细节以提供对本发明的更透彻的理解。然而,对于本领域的技术人员将显而易见的是,可在没有这些具体细节中的一个或更多个的情况下实践本发明。

如上所述,设计人员可以实现生成设计过程以生成包括满足特定设计标准的各种设计选项的设计空间。但是,设计空间可以包含大量的设计选项。因此,设计人员可能难以在设计空间中导航以识别最能符合设计人员所拥有的各种功能和/或美学原理的设计选项的特定子集。当多个设计人员对相互配合以导航设计空间所需的功能和/或美学原则有不同的看法时,这些问题将变得更加复杂。

为了解决这些问题,各种实施例包括设计应用程序,该设计应用程序被配置为可视化和浏览大规模生成设计数据集。设计浏览器包括可生成设计浏览器的GUI引擎,合成浏览器和权衡浏览器。设计浏览器显示设计空间中包含的多个设计选项的可视化。设计浏览器允许用户基于影响生成设计过程的输入参数以及与不同设计选项相关的各种设计特征来过滤设计空间。合成浏览器显示了包含多个不同设计选项的完全交互式合成体。合成浏览器提供了各种工具,这些工具允许用户通过与合成体的交互来过滤设计空间。权衡浏览器基于设计选项的不同排序显示权衡空间。不同的排序可能对应于不同设计师指定的竞争设计特征。

相对于现有技术,所公开的设计应用程序的至少一个技术优势在于,可以更有效地浏览通常与生成设计过程相关联的大规模数据集,以识别最符合工程和/或美学标准的设计选项。因此,所公开的设计应用程序使设计人员免于费力地分析大量设计选项中的每个设计选项。所公开的设计应用程序的另一技术优点是,相对于潜在竞争的设计特征自动分析设计选项,以确定最有效地体现那些设计特征的设计选项的子集。因此,所公开的设计应用程序允许设计人员就哪些设计选项符合工程和/或美学标准具有不同意见,以更有效地协作以选择设计。因此,所公开的设计应用程序对于处理大规模数据集(例如通常与之相关的那些数据集)特别有用,例如那些通常与生成设计项目相关的数据集。由于这些原因,与先前的方法相比,所公开的技术表现出重大的技术进步。

系统总览

图1示出了被配置为实现本发明的一个或更多个方面的系统。如图所示,系统100包括一个或多个客户端110和通过网络150耦合在一起的一个或多个服务器130。给定的客户端110或给定的服务器130可以是任何技术上可行类型的计算机系统,包括台式计算机、膝上型计算机、移动设备、计算设备的虚拟化实例、分布式和/或基于云的计算机系统等等。网络150可以是任何技术上可行的互连通信链路集,包括局域网(LAN)、广域网(WAN)、万维网或因特网等等。

如进一步所示的,客户端110包括耦合在一起的处理器112、输入/输出(I/O)设备114和存储器116。处理器112包括被配置为处理数据和执行软件应用程序的任何技术上可行的硬件单元集。举例来说,处理器112可包括一个或多个中央处理器(CPU)。I/O设备114包括被配置为执行输入和/或输出操作的任何技术上可行的设备集,包括例如显示设备、键盘和触摸屏等等。

存储器116包括被配置为存储数据和软件应用程序的任何技术上可行的存储介质,例如硬盘、随机存取存储器(RAM)模块和只读存储器(ROM)。存储器116包括客户端设计应用程序120(0)。客户端设计应用程序120(0)是一种软件应用程序,当其由处理器112执行时,使处理器112与驻留在服务器130内的相应的客户端设计应用程序120(1)交互操作,如下文将更详细描述的。

服务器130包括耦合在一起的处理器132、I/O设备134和存储器136。处理器132包括被配置为处理数据和执行软件应用程序的任何技术上可行的硬件单元集,诸如一个或多个CPU。I/O设备134包括被配置为执行输入和/或输出操作的任何技术上可行的设备集,诸如显示设备、键盘或触摸屏等等。

存储器136包括被配置为存储数据和软件应用程序的任何技术上可行的存储介质,诸如,例如硬盘、RAM模块和ROM。存储器136包括服务器端设计应用程序120(1)。服务器端设计应用程序120(1)是一种软件应用程序,当其由处理器132执行时,使处理器132与客户端设计应用程序120(0)交互操作,如上所述。

在操作中,客户端设计应用程序120(0)基于从用户接收的输入来生成问题定义122。问题定义122规定各种设计约束,设计目标以及与要解决的工程问题相关的其他设计标准。服务器端设计应用程序120(1)分析问题定义122,并实施生成设计过程,以基于问题定义122生成设计空间124。设计空间124包括多个设计选项126。每个设计选项126均满足问题定义122中提出的各种设计标准。客户端设计应用程序120(0)执行各种技术以可视化并浏览设计空间124中包含的多个设计选项126。客户端设计应用程序120(0)还执行各种技术以进行过滤设计选项126以产生设计选择128。设计选择128满足与一个或多个用户相关的各种工程和/或美学标准。

通常,客户端设计应用程序120(0)和服务器端设计应用程序120(1)共同代表分布式软件实体的不同部分。因此,为简单起见,客户端设计应用程序120(0)和服务器端设计应用程序120(1)在本文中统称为设计应用程序120。下面结合图2更详细地描述设计应用程序120。

软件总览

图2是根据本发明的各种实施例的图1的设计应用程序的更详细的说明。如图所示,设计应用程序120包括生成设计引擎200和GUI引擎210。

生成设计引擎200处理问题定义122以生成设计空间124。具体而言,生成设计引擎200基于问题定义122执行生成设计过程以生成设计空间124中包括的每个设计选项126。在一个实施例中,生成设计引擎200可以执行多目标求解器和/或拓扑生成算法来生成设计选项126。下面结合图3A更详细地描述问题定义122的示例。下面结合图3B更详细地描述设计空间124的示例。

GUI引擎210生成表示一些或全部设计空间124的GUI 220。GUI引擎210接收用户输入212,然后基于用户输入212过滤设计选项126以产生设计选择128。这样,设计选择128为设计选项126的子集。GUI引擎210包括用户可以与之交互以使GUI引擎210过滤设计选项126的各种子模块。

具体地,GUI 220包括设计浏览器222,合成浏览器224和权衡浏览器226。设计浏览器222提供可视化工具,该可视化工具允许用户有效地浏览设计空间124。下面结合图4更详细地描述设计浏览器222。合成浏览器224允许用户与多个设计选项126的合成模型进行交互以过滤那些设计选项并生成一些或全部设计选择128。下面会结合图5-8更详细地描述合成浏览器224。权衡浏览器226包括用于基于从多个用户接收的输入来对设计选项126进行排序以产生一个或多个设计选择128的实用程序。下面会结合图9-10更详细地描述权衡浏览器226。

如上所述,生成设计引擎200基于问题定义122执行生成设计过程以生成设计空间124和其中包括的设计选项126。图3A-3B阐述了示例性问题定义122和经由生成设计过程生成的相应设计空间124。

示例性问题定义和相应的设计空间

图3A阐述了根据本发明的各种实施例的示例性问题定义。问题定义122通常涉及要解决的工程问题。在所示的示例中,工程问题是对一种可以支持特定负载的结构的需求。该结构需要放置在上部支撑件和下部支撑件之间,并应具有足够的强度来支撑特定的负载。问题定义122以所示方式捕获这些不同的设计标准。

更具体地,问题定义122包括上部支撑件300和下部支撑件310,其中负载302被施加到上部支撑件300。问题定义122还包括其中可以发生生成设计过程的生成区域320,以及其中不能发生生成设计过程的非生成区域330。

基于问题定义122,图2的生成设计引擎200执行迭代生成设计过程,以程序方式生成解决上述工程设计问题并满足问题定义122中列出的各种设计标准的设计选项126。例如,生成设计引擎200可以执行多目标求解器和/或拓扑生成算法来生成三维(3D)结构集,该结构集将生成区域320内的上部支撑件300和下部支撑件310耦合在一起并具有足够的强度以支持负载302。生成设计引擎200执行生成设计过程,以生成并填充具有设计选项126的设计空间124,如下面将结合图3B更详细地描述的。

图3B示出了根据本发明的各个实施例的示例性设计空间。设计空间124对应于上面结合图3B提到的工程问题,并且包括设计选项126(0)至126(N)。每个设计选项126包括满足图3A的问题定义122中提出的设计标准的几何形状。

生成设计引擎200可以在设计空间124内生成大量设计选项126。例如,生成设计引擎200可以生成一万个都满足问题定义122中列出的设计标准的设计选项126。某些设计选项126可以包括类似的几何形状,例如设计选项126(0)和126(1),而其他设计选项126可以包括不同的几何形状,例如设计选项126(1)和126(N)。通常,设计选项126包括任何技术上可行的几何结构,包括规则结构以及不规则结构。

在一个实施例中,生成设计引擎200可以通过改变生成设计过程的一个或多个输入参数来生成不同的设计选项126。在另一实施例中,生成设计引擎200还可以通过改变问题定义122中提出的一个或多个值来生成设计选项126,从而潜在地使包括在设计空间124中的设计选项126的数量增加很多。

因为设计空间124可以包括大量设计选项126,并且由于那些设计选项126可以具有一定范围的不同类型的几何图形,所以用户通常无法以任何合理的时间手动地逐一分析每个设计选项126。换句话说,设计空间124包含了用户不忽略潜在的可行设计选项126就无法处理的大量数据。为解决此问题,图2的GUI引擎210生成了GUI 220中的设计浏览器222,合成浏览器224,以及权衡浏览器226,以向用户提供各种工具,以可视化,浏览和过滤设计空间124,如下文更详细描述的。

用于浏览设计空间的设计浏览器

图4是根据本发明各种实施例的图2的设计浏览器的更详细的说明。如图所示,设计浏览器222包括设计查看器400,多属性网格410,输入参数420,设计特征430和设计排序440。

设计查看器400描绘了设计空间124中包括的各种设计选项126。设计查看器400还可以描绘设计选项126的任何子集。可以将设计选项显示为单点,缩略图或交互式3D模型,以及其他表示形式。多属性网格410描绘了基于不同的设计特征集相对于轴集(set ofaxes)放置的设计选项126的分类。

输入参数420包括可以由用户操纵以改变各种输入参数的值的单属性控制器422。每个输入参数通常对应于先前讨论的生成设计过程的输入。例如,给定的输入参数可以是图3A的负载302的特定值。用户可以操纵给定的单属性控制器422,以便为相应的输入参数设置特定的值范围。作为响应,GUI引擎210更新设计查看器400和/或多属性网格410以过滤掉那些具有落在该值范围之外的输入参数的设计选项126。以这种方式,单属性控制器422使用户可以有效地浏览设计空间124。每个单属性控制器422还指示表示不同设计选项126的不同参数值的设计选项126的分布。

设计特征430包括可以由用户操纵以改变各种设计特征的值的单属性控制器432。每个设计特征通常对应于与设计选项126相关联的突现特征(emergent property)。例如,给定的设计特征可以是相应的设计选项126的权重值。类似于上述的单属性控制器422,用户可以操纵给定的单属性控制器432,以便为相应的设计特征设置特定范围的值。作为响应,GUI引擎210更新设计查看器400和/或多属性网格410以过滤掉那些具有落在该值范围之外的设计特征的设计选项126。以这种方式,单属性控制器432使用户能够有效地浏览设计空间124。每个单属性控制器432还指示代表不同设计选项126的不同设计特征值的设计选项126的分布。

设计排序440包括一个或多个排序442以及排序集控件444。用户可以操纵每个排序控件444来调整应用于相应设计选项属性的权重值。给定的设计选项属性可以是输入参数或设计特征。基于应用于排序控件444的设置,GUI引擎210在排序442内对设计选项126进行排序。排序442指示基于在排序控件444中阐述的权重值排序的设计选项126的分布。

基于与用户的交互,GUI引擎210逐渐过滤设计空间124以抑制不满足各种选择标准的设计选项126的显示。用户可以通过上面讨论的不同GUI控件来指定各种选择标准。当过滤出不满足选择标准的设计选项126时,设计查看器400显示越来越少的设计选项126。设计查看器400还显示了其余设计选项126的更多详细版本。用户还可以通过与合成浏览器224的交互来与多个设计选项126的合成版本进行交互,如下面将结合图5-8更详细地描述的。

用于过滤设计空间的合成浏览器

图5是根据本发明的各种实施例的图2的合成浏览器的更详细的图示。如图所示,合成浏览器224包括合成体500,在所示示例中,合成体500是基于图3B的设计选项126(0),126(1)和126(N)生成的。

GUI引擎210生成合成体500以彼此结合地显示与多个设计选项126相关联的各种轮廓。通过这种方法,可以更容易地将具有相似或不相似特征的设计选项126相互比较。GUI引擎210在合成浏览器224中公开了一组工具,该组工具允许用户基于与合成体500的交互来过滤设计空间124。特别地,合成浏览器224包括凿子工具510,选择工具520和边缘工具530。下面分别结合图7A,7B和7C更详细地描述这些不同的工具。

GUI引擎210可以使用几种不同的技术来生成合成体500。在实践中,GUI引擎210基于与不同设计选项126相关联的3D模型渲染图像集,然后将图像集与变化的α值合成在一起,如下面结合图6更详细描述的。

图6示出了根据本发明的各个实施例的图2的GUI引擎如何生成合成图像。如图所示,GUI引擎210利用每个设计选项126执行渲染操作以生成不同的图像600。每个图像600是与给定设计选项126相关联的3D模型的二维(2D)渲染。GUI引擎210计算每个图像600的不同α值。给定的α值可以具有介于0和1之间的任何值。在所示的示例中,图像600(0),600(1)和600(N)的α值是A,B和C。GUI引擎210基于关联的α值对图像600执行α混合处理以生成合成体500。

在一个实施例中,GUI引擎210可以针对图像序列600顺序地执行上述α混合处理。在这样做时,GUI引擎210可以取决于图像600在序列中的位置向每个图像600分配α值。对于具有位置编号P

大体上参考图5-6,上述合成方法在计算上是有效的,因此允许GUI引擎210基于用户输入实时地更新合成体500。例如,GUI引擎210可以接收指示合成体500应当以3D旋转的用户输入。作为响应,GUI引擎210可以旋转与每个基础设计选项126相关联的3D模型,渲染表示这些3D模型的旋转版本的图像集,然后将图像合成在一起以生成合成体500的更新版本。引擎210可以足够快地执行这些步骤,以允许将合成体500的平滑旋转显示给用户。

在一个实施例中,GUI引擎210可以通过组合与多个设计选项126相关联的3D模型集并且然后基于那些组合的模型渲染单个图像来生成合成体500。GUI引擎210还可通过将旋转操作应用于组合模型并渲染另一图像来响应于用户输入来生成合成体500的旋转版本。在另一个实施例中,GUI引擎210可以通过执行结合图6描述的具有一组预渲染图像的α混合方法来生成合成体500。

如上所述,设计浏览器224公开了一组工具,该组工具允许用户与合成体500交互以过滤不满足用户提出的某些选择标准的设计选项126。以下将结合图7A-7B更详细地描述这些工具。

图7A示出了根据本发明的各个实施例的图2的GUI引擎如何通过凿子工具过滤设计空间。如图所示,用户使用凿子工具510指示合成体500上的位置700。基于位置700,GUI引擎210对每个基础3D模型执行命中测试,以确定位置700与设计选项126(N)相交但未与设计选项126(0)和126(1)相交。作为响应,GUI引擎210滤出设计选项126(N)并重新生成合成体500以不包括从设计选项126(N)导出的任何图像。以这种方式,凿子工具510允许用户选择设计选项126不应包括任何材料的特定区域,并消除在那些特定区域中包括材料的任何设计选项126。

图7B示出了根据本发明的各个实施例的图2的GUI引擎如何通过选择工具过滤设计空间。如图所示,使用选择工具520,用户指示合成体500上的位置710。基于位置710,GUI引擎210对每个基础3D模型执行命中测试,以确定位置710与设计选项126(0)和126(1)相交,但不与设计选项126(N)相交。作为响应,GUI引擎210滤出设计选项126(N)并重新生成合成体500以不包括从设计选项126(N)导出的任何图像。利用这种技术,选择工具520允许用户选择设计选项126应包括材料的特定区域,并消除在那些特定区域中不包括材料的任何设计选项126。

图7C示出了根据本发明的各个实施例的图2的GUI引擎如何通过边缘工具过滤设计空间。如图所示,使用边缘工具530,用户在合成体500的一部分上跟踪弧线730。GUI引擎210分析弧线730,然后生成相邻点732和相邻点734。相邻点732和734位于弧线730的相对两侧。GUI引擎730对与每个基础设计选项126相关联的3D模型执行命中测试,以确定相邻点732和734中的任何一个是否与该3D模型相交。

在每个相邻点732与给定3D模型相交并且每个相邻点734与给定3D模型不相交的情况下,GUI引擎210确定弧730沿着给定3D模型的边缘驻留。然后,GUI引擎210过滤设计选项126,以消除缺少与弧730对齐的边缘的任何设计选项126。在所示示例中,GUI引擎210确定弧730沿着设计选项126(N)的边缘驻留,但不存在沿着设计选项126(0)和126(1)的任何边缘驻留。因此,GUI引擎210抑制设计选项126(0)和126(1)并且重新生成合成体500以不包括从设计选项126(0)和126(1)导出的任何图像。以这种方式,边缘工具530允许用户指示设计选项126应具有的特定几何特征,并消除缺少这些特定几何特征的任何设计选项126。下面结合图8更详细地描述了上述各种技术。

图8是根据本发明的各个实施例的用于生成表示设计空间的一部分的合成图像的方法步骤的流程图。尽管结合图1至图7C的系统描述了方法步骤,但是本领域技术人员应理解,被配置为以任何顺序执行方法步骤的任何系统都在本发明的范围内。

如图所示,方法800在步骤802开始,其中图2的生成设计引擎200生成设计选项集。生成设计引擎200分析问题定义122,然后生成包含设计选项126的设计空间124。这样做时,生成设计引擎200执行生成设计过程。在一个实施例中,生成设计引擎200可以执行多目标求解器和/或拓扑生成算法以生成设计选项126。

在步骤804中,图2的GUI引擎210基于设计选项集来渲染图像集。每个图像是与给定设计选项126相关联的3D模型的2D渲染。在一个实施例中,在生成设计引擎200最初生成设计选项126之后,GUI引擎210可以预渲染所述图像集。

在步骤806,GUI引擎210为每个图像计算不同的α值。给定的α值可以为零到一之间的任何值。在一个实施例中,GUI引擎210可以针对每个图像生成不同的α值,该α值取决于序列中图像的位置。对于序列中具有位置编号P

在步骤808中,GUI引擎210基于不同的α值对图像集进行合成以生成合成图像。GUI引擎210使用在步骤806中生成的α值执行α混合过程。GUI引擎210可以顺序地使用结合步骤806描述的技术对图像进行合成。

在步骤810,GUI引擎210将合成图像输出到显示设备。GUI引擎210可以以计算有效的方式执行步骤804、806、808和810,因此可以基于用户输入实时生成和/或更新合成体。例如,GUI引擎210可以执行这些步骤以基于从用户接收到的旋转命令来生成合成体的旋转的版本。

在步骤812中,GUI引擎210确定合成图像中的点集。GUI引擎210可基于用户与凿子工具510,选择工具520和边缘工具530中的任何一个的交互来确定该点集。点集可以分别对应于例如图7A和7B中所示的位置700和710中的任何一个,或图7C中所示的弧形730。

在步骤814,GUI引擎210将点集投影到每个设计选项中以产生一组命中结果。特别地,GUI引擎210利用点集和与每个设计选项126相关联的不同3D模型执行命中测试。GUI引擎210然后生成指示点集中的哪些点与哪些3D模型相交的命中测试结果。

在步骤816,GUI引擎210基于命中结果生成设计选项的子集。取决于所确定的点集的特定工具,GUI引擎210执行不同的操作。如果使用凿子工具510确定点集,则GUI引擎210抑制具有与点集相交的3D模型的任何设计选项126,如以上结合图7A所描述的。如果使用选择工具520确定点集,则GUI引擎210抑制具有不与该点集相交的3D模型的任何设计选项126,如以上结合图7B所述。如果使用边缘工具510确定点集,则GUI引擎210抑制具有缺少对应于那些点的边缘的3D模型的任何设计选项126,如以上结合图7C所描述的。

在步骤818,GUI引擎210基于设计选项的子集更新合成图像。GUI引擎210生成设计选择128以反映经由步骤816生成的设计选项126的子集,然后更新合成体以仅包括从其余3D模型导出的图像。GUI引擎210可以基于剩余的3D模型来重新渲染图像,或者简单地重新计算对应图像的α值并重复α混合过程。

总体上参考图5-8,到目前为止描述的技术的一个优点是GUI引擎210可以基于用户输入有效地过滤设计空间124,以便减少需要由用户在视觉上进行分析的设计选项126的数量。因此,用户可以比传统技术更有效地浏览设计空间124。

GUI引擎210还执行附加技术来分析与不同用户相关联的设计选项126的不同排序之间的权衡,如下面将结合图9-10更详细地描述的。

用于约束设计空间的权衡浏览器

图9是根据本发明的各种实施例的图2的权衡浏览器(tradeoff explorer)的更详细的图示。如图所示,权衡浏览器226包括权衡空间900,该权衡空间900包括排序轴902(0)和902(1)。权衡空间900包括相对于排序轴902绘制的设计选项126。权衡浏览器226还包括图4的设计排序440。设计排序440包括排序442(0)和442(1)以及排序控件444。在操作中,权衡浏览器226从多个用户接收指示设计选项126不同排序的输入。GUI引擎210处理不同的排序,然后用根据那些排序组织的设计选项126填充权衡空间900。这样做,GUI引擎210基于不同的排序442来配置每个排序轴902,然后相对于那些排序轴定位每个设计选项126。

在所示的示例中,GUI引擎210接收来自两个用户的输入,然后基于该输入生成排序442(0)和442(1)。然后,GUI引擎210根据排序442(0)和442(1)用设计选项126填充权衡空间900。具体地,GUI引擎210基于排序442(0)来配置排序轴902(0),并且基于排序442(1)来配置排序轴902(1)。对于给定的设计选项126,GUI引擎210然后确定用于在权衡空间900内定位给定的设计选项126的坐标集。GUI引擎210基于给定设计选项126在排序442(0)和442(1)内的排序来确定该坐标集。例如,假设给定的设计选项126在排序442(0)内排序第32,在排序442(1)内排序第16。GUI引擎210然后可以相对于排序轴902(0)和902(1)以(X,Y)坐标为(32,16)来定位给定的设计选项126。

通过上述方法,GUI引擎210生成权衡空间900以在视觉上描绘不同设计选项126满足两个或多个排序的程度。那些排序可以由对哪个设计选项126最有效地满足各种工程和/或美学标准有不同意见的不同用户生成。因此,设计选项126在权衡空间900内的定位反映了相对于那些不同排序的不同设计选项126之间的权衡。例如,驻留在权衡空间900的左上象限中的设计选项126可以根据排序442(0)排序较高,但是根据排序442(1)排序较低。相反,驻留在权衡空间900的右下象限中的设计选项126根据排序442(0)排序较低,但是根据排序442(1)排序较高。

在一个实施例中,GUI引擎210基于用户输入自动生成排序442。用户输入反映应该具有更高排序的样本设计选项126。GUI引擎210分析用户输入中指示的一个或多个高排序的样本设计选项126,然后基于那些设计选项126与高排序的设计选项126的相似度来对其他设计选项126进行排序。除其他方法外,GUI引擎210可以基于与那些设计选项126相关联的设计特征430确定设计选项126之间的相似性。GUI引擎也可以使用样本设计选项126执行上述技术,而样本设计选项126的排序也应较低。这样做时,GUI引擎210分析一个或多个排序较低的样本设计选项126,然后基于那些设计选项126与排序较低的设计选项126有多不同来对其他设计选项126进行排序。

一旦GUI引擎210生成并填充了权衡空间900,GUI引擎210然后分析设计选项126在权衡空间900中的位置,以标识根据一个或两个排序442被高排序的设计选项126的子集910。设计选项126的该子集910可以类似或相等地满足工程和/或美学标准或两个用户,或者可以表示不同工程和/或美学标准之间的权衡。GUI引擎210可以执行几种不同的技术来标识设计选项126的子集。

在一个实施例中,GUI引擎210可以确定包括设计选项126的帕累托边界,该设计选项126使反映排序442(0)和442(1)两者的度量最大化。在另一个实施例中,GUI引擎210可以生成与设计选项126相交的凸包,该设计选项使到排序轴902(0)和902(1)的总距离最小。在又一个实施例中,GUI引擎210可以识别落入权衡空间900的特定几何形状区域或包络内的设计选项126。

通过上述技术,GUI引擎210基于不同的排序442自动分析和可视化设计选项126之间的权衡。当这些排序非常不同或彼此不一致时,这些技术特别有用。特别是,具有不同工程和/或美学标准的不同用户可以对设计选项126进行不同排序。GUI引擎210通过自动识别可以满足两个用户的工程和/或美学标准的特定设计选项126来促进这些不同用户之间的合作。下面将结合图10更详细地描述了上述各种技术。

图10是根据本发明的各种实施例的用于生成具有一个或多个竞争设计特征的设计选项的子集的方法步骤的流程图。尽管结合图1-2和9的系统描述了方法步骤,但是本领域技术人员将理解,配置成以任何顺序执行方法步骤的任何系统都落在本发明的范围内。

如所示,方法1000在步骤1002开始,其中图2的生成设计引擎200生成设计选项集。生成设计引擎200基于问题定义122经由生成设计过程生成设计空间124和设计选项126。步骤1002类似于以上结合图8描述的方法800的步骤802。

在步骤1004,GUI引擎210确定与每个设计选项相对应的设计特性集。GUI引擎210可以分析设计选项126的物理特性,评估设计选项126的几何属性,确定设计选项的各种工程特性126,依此类推。一般而言,在步骤1004,GUI引擎210为每个设计选项126确定任何技术上可行的突现特征集。

在步骤1006,GUI引擎210基于第一用户输入来生成设计选项集的第一排序。在一个实施例中,第一用户输入指示应被高排序的设计选项集126和/或应被低排序的设计选项集126。第一用户可以例如通过手动地对几个设计选项126进行排序来提供第一用户输入。GUI引擎210可以基于那些其他设计选项126分别与高排序和低排序的设计选项126m有多相似或不相似来分析第一用户输入并对其他设计选项126进行排序。当确定任何两个设计选项126之间的相似性和/或不相似性时,GUI引擎210可以比较与那些设计选项126相关联的相应设计特性的值。

在步骤1008,GUI引擎210基于第二用户输入来生成设计选项集的第二排序。在一个实施例中,第二用户输入指示应该被高排序的设计选项集126和/或应该被低排序的设计选项集126,如以上结合步骤1006所述的那样。第二用户通常提供第二用户输入,尽管在某些情况下,只有一个用户可以提供第一用户输入和第二用户输入。在一些情况下,由于第一用户和第二用户之间的观点差异,第一排序和第二排序可以彼此显著不同。

在步骤1010中,GUI引擎210生成包括设计选项集的权衡空间。GUI引擎210处理在步骤1006和1008生成的第一和第二排序,然后基于这些排序在权衡空间900中组织设计选项126。这样做,GUI引擎210基于不同的排序来配置每个排序轴902,然后相对于那些排序轴来定位每个设计选项126。

在步骤1012,GUI引擎210基于第一排序和第二排序在权衡空间内组织设计选项集。在一个实施例中,对于给定的设计选项126,GUI引擎210可以基于设计选项126在第一和第二排序中如何排序来生成一组笛卡尔坐标。然后,GUI引擎210基于那些坐标将设计选项126定位在权衡空间900内。通常,给定设计选项126在权衡空间900内的位置反映了如何根据第一和第二排序对设计选项126进行排序。

在步骤1014,GUI引擎210基于设计选项集生成帕累托边界。帕累托边界可以沿着包括所有设计选项126的包络的凸边驻留。可以使用任何技术上可行的技术组来确定帕累托边界。在一个实施例中,GUI引擎210可以基于第一和第二排序为每个设计选项126计算度量,然后在最小化度量的帕累托边界内递增地包括设计选项126。

在步骤1016,GUI引擎210确定沿帕累托边界(Pareto frontier)驻留的设计选项的子集。设计选项126的子集可以对应于图1中所示的设计选择128。当使用以上结合步骤1014描述的技术计算边界时,设计选项126的子集也可以定义帕累托边界。设计选项的子集126可以满足第一用户和第二用户的工程和/或美学标准,因此代表每个用户持有的不同意见之间的公平权衡。本领域技术人员将理解,本文描述的技术可以应用于在与工程设计问题相关的选项之外的多种不同选项之间进行权衡。

总之,设计应用程序被配置用来可视化和浏览大规模生成设计数据集。设计浏览器包括可生成设计浏览器的GUI引擎,合成浏览器和权衡浏览器。设计浏览器显示设计空间中包含的多个设计选项的可视化。设计浏览器允许用户基于影响生成设计过程的输入参数以及与不同设计选项相关的各种设计特征来过滤设计空间。合成浏览器显示了包含多个不同设计选项的完全交互式合成体。合成浏览器提供了各种工具,这些工具允许用户通过与合成体的交互来过滤设计空间。权衡浏览器基于设计选项的不同排序显示权衡空间。不同的排序可能对应于不同设计师指定的竞争设计特征。

相对于现有技术,所公开的技术的至少一个技术优势在于,可以更有效地浏览通常与生成设计过程相关联的大规模数据集,以识别最符合工程和/或美学标准的设计选项。除其他外,所公开的技术使设计人员不必分析由生成设计系统生成的每个设计选项。所公开的技术的另一技术优势在于,相对于潜在竞争的设计特征自动地分析设计选项,以确定最有效地体现那些设计特征的设计选项的子集。因此,所公开的技术允许设计师在评估和选择设计时就哪些设计选项符合工程和/或美学标准具有不同意见,以更有效地协同工作。因此,所公开的技术对于处理大规模数据集特别有用,例如通常与生成设计项目相关的数据集。这些技术优势代表相对于现有技术方法的一种或更多种技术进步。

1.一些实施例包括一种用于分析设计选项的计算机实现的方法,所述方法包括:基于与工程设计问题相关的问题定义,生成设计选项集;基于所述设计选项集生成图像集,其中,所述图像集中包括的每个图像与不同的α值相关联;组合所述图像集以生成第一合成体,所述第一合成体指示与所述设计选项集中包括的每个设计选项相关联的边界的至少一部分;接收与所述第一合成体的第一用户交互;以及基于所述第一用户交互以及从所述第一用户交互导出的一个或多个几何准则,生成设计选项的子集。

2.根据条款1所述的计算机实现的方法,其中,生成所述设计选项集包括:确定所述问题定义中包括的至少一个设计准则;基于所述至少一个设计准则执行生成设计过程,其中,所述设计选项集中包括的每个设计选项均满足所述至少一个设计准则;以及基于所述设计选项集的第一排序来过滤所述设计选项集,其中所述第一排序指示所述设计选项集中包括的每个设计选项包括第一设计特征的程度。

3.根据条款1-2中任一项所述的计算机实现的方法,其中,所述设计选项集合中包括的每个设计选项包括不同的三维模型,并且生成所述图像集包括针对每个不同的三维模型执行不同的渲染操作。

4.根据条款1-3中任一项所述的计算机实现的方法,其中,组合所述图像集包括将排序集分配给所述图像集,以及基于所述排序集对所述图像集执行一个或更多个α混合操作。

5.根据条款1-4中任一项所述的计算机实现的方法,其中,生成设计选项的子集包括:基于与所述第一合成体的第一用户交互,生成点集;以及基于所述点集和所述一个或更多个几何准则过滤所述设计选项集。

6.根据条款1-5中的任一项的计算机实现的方法,其中,基于所述点集和所述一个或更多个几何准则来过滤所述设计选项集包括:确定与第一设计选项相关联的三维模型的一部分与所述点集中包括的至少一个点相交;以及在所述设计选项的子集中包括所述第一设计选项。

7.根据条款1-6中任一项所述的计算机实现的方法,其中,基于所述点集和所述一个或更多个几何准则来过滤所述设计选项集包括:确定与第一设计选项相关联的三维模型的一部分不与所述点集合中包括的任何点相交;以及在所述设计选项的子集中包括所述第一设计选项。

8.根据条款1-7中任一项所述的计算机实现的方法,其中,基于所述点集和所述一个或更多个几何准则来过滤所述设计选项集包括:确定与第一设计选项相关联的三维模型的边缘部分沿着所述点集中包括的点序列驻留;以及在所述设计选项的子集中包括所述第一设计选项。

9.根据条款1-8中的任一项所述的计算机实现的方法,还包括:响应于指示所述第一合成体应该旋转的用户输入,基于所述第一合成体生成第二合成体。

10.根据条款1-9中任一项所述的计算机实现的方法,还包括:基于所述设计选项集生成三维模型集;组合所述三维模型集以生成第二合成体;基于第二用户与所述第二合成体交互,生成设计选项的第二子集。

11.一些实施例包括一种存储程序指令的非暂时性计算机可读介质,该程序指令在由处理器执行时,使所述处理器通过执行以下步骤来分析设计选项:基于与工程设计问题相关的问题定义,生成设计选项集;基于所述设计选项集生成图像集,其中,所述图像集中包括的每个图像与不同的α值相关联;组合所述图像集以生成第一合成体,所述第一合成体指示与所述设计选项集中包括的每个设计选项相关联的边界的至少一部分;接收与所述第一合成体的第一用户交互;以及基于所述第一用户交互以及从所述第一用户交互导出的一个或更多个几何准则,生成设计选项的子集。

12.根据条款11所述的非暂时性计算机可读介质,其中,生成所述设计选项集的步骤包括:确定所述问题定义中包括的至少一个设计准则;基于所述至少一个设计准则执行生成设计过程,其中,所述设计选项集中包括的每个设计选项均满足所述至少一个设计准则;以及基于所述设计选项集的第一排序来过滤所述设计选项集,其中所述第一排序指示所述设计选项集中包括的每个设计选项包括第一设计特征的程度。

13.根据条款11-12中的任一项所述的非暂时性计算机可读介质,其中,所述设计选项集合中包括的每个设计选项包括不同的三维模型,并且生成所述图像集包括针对每个不同的三维模型执行不同的渲染操作。

14.根据条款11-13中的任一项所述的非暂时性计算机可读介质,其中,组合所述图像集的步骤包括将排序集分配给所述图像集,以及基于所述排序集对所述图像集执行一个或更多个α混合操作。

15.根据条款11-14中的任一项所述的非暂时性计算机可读介质,还包括基于分配给所述第一图像的第一排序来为所述图像集中的第一图像生成第一α值。

16.根据条款11-15中的任一项所述的非暂时性计算机可读介质,其中,组合所述图像集的步骤包括基于所述第一α值对所述第一图像和第二图像进行α混合。。

17.根据条款11-16中的任一项所述的非暂时性计算机可读介质,其中,生成所述设计选项的子集的步骤包括:基于与所述第一合成体的第一用户交互,生成点集;以及基于所述点集和所述一个或更多个几何准则过滤所述设计选项集。

18.根据条款11-17中的任一项的非暂时性计算机可读介质,其中,基于所述点集和所述一个或更多个几何准则来过滤所述设计选项集包括:确定与第一设计选项相关联的三维模型的一部分与所述点集中包括的至少一个点相交;以及在所述设计选项的子集中包括所述第一设计选项。

19.根据条款11-18中的任一项的非暂时性计算机可读介质,其中,基于所述点集和所述一个或更多个几何准则来过滤所述设计选项集包括:确定与第一设计选项相关联的三维模型的一部分不与所述点集合中包括的任何点相交;以及在所述设计选项的子集中包括所述第一设计选项。

20.一些实施例包括一种系统,包括:存储软件应用程序的存储器;以及执行所述软件应用程序以执行以下步骤的处理器:基于与工程设计问题相关的问题定义,生成设计选项集;基于所述设计选项集生成图像集,其中,所述图像集中包括的每个图像与不同的α值相关联;组合所述图像集以生成第一合成体,所述第一合成体指示与所述设计选项集中包括的每个设计选项相关联的边界的至少一部分;接收与所述第一合成体的第一用户交互;以及基于所述第一用户交互以及从所述第一用户交互导出的一个或更多个几何准则,生成设计选项的子集。

以任何方式,在任何权利要求中记载的任何权利要求要素和/或在本申请中描述的任何要素的任何和所有组合都落入本发明和保护的预期范围内。

已经出于说明的目的呈现了各个实施例的描述,但是并不旨在是穷举性的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。

当前实施例的各方面可以体现为系统、方法或计算机程序产品。因此,本公开的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了通常在本文中可以全部称为“模块”或“系统”的软件和硬件方面的实施例的形式。此外,本公开的各方面可以采取具有在其上包含有计算机可读程序代码的一个或更多个计算机可读介质中包含的计算机程序产品的形式。

可以利用一个或更多个计算机可读介质的任何组合。所述计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁、光、电磁、红外或半导体系统、装置或设备,或前述的任何适当组合。计算机可读存储介质的更具体示例(非穷尽列举)将包括以下内容:具有一根或更多根电线的电连接,便携式计算机磁盘,硬盘,随机存取存储器(RAM),只读存储器(ROM),可擦除可编程只读存储器(EPROM或闪存),光纤,便携式光盘只读存储器(CD-ROM),光学存储设备,磁存储设备或前述的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是任何有形介质,其可以包含或存储供指令执行系统、装置或设备使用或与其结合使用的程序。

上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。将理解的是,流程图和/或框图中的每个框以及流程图和/或框图中的框的组合可以由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器。所述指令在经由计算机或其他可编程数据处理装置的处理器执行时,使得能够实现在流程图和/或框图的一个或更多个框中指定的功能/动作。这样的处理器可以是但不限于通用处理器、专用处理器、应用程序专用处理器或现场可编程门阵列。

附图中的流程图和框图示出了根据本公开的各个实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以表示代码的模块、段或部分,其包括用于实现一个或更多个指定逻辑功能的一个或更多个可执行指令。还应注意,在一些替代实现方式中,框中指出的功能可以不按图中指出的顺序发生。例如,实际上可以基本上同时地执行连续示出的两个框,或者有时可以以相反的顺序执行这些框,这取决于所涉及的功能。还应注意,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。

尽管前述内容针对本公开的实施例,但是在不脱离本公开的基本范围的情况下,可以设计本公开的其他和进一步的实施例,并且本公开的范围由所附权利要求确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号