首页> 中国专利> 用于计算机辅助设计和制造的利用不同物理模拟的宏观结构拓扑生成

用于计算机辅助设计和制造的利用不同物理模拟的宏观结构拓扑生成

摘要

用于使用生成式设计过程进行物理结构的计算机辅助设计的方法、系统和设备、包括介质编码的计算机程序产品,其中将物理结构的三维(3D)模型产生为包括晶格、中空部、孔及其组合,其包括:获得对象的设计准则;以及使用生成式设计过程迭代地修改对象的3D拓扑和形状,生成式设计过程采用宏观结构表示(例如,使用水平集方法)结合物理模拟,物理模拟将空隙放置在对象的生成式模型的实体区域中或者将实体放置在空隙区域中;以及提供对象的生成式设计的3D模型,以用于使用一个或多个计算机控制的制造系统制造对应于对象的物理结构。所述提供可包括生成用于制造机器的指令,制造机器可采用各种制造系统和技术,包括增材制造、减材制造和铸造制造方法。

著录项

说明书

相关申请的交叉引用

本申请在美国法典第35篇第119条(e)款下要求2018年11月9日提交的名称为“MACROSTRUCTURE TOPOLOGY GENERATION WITH DISPARATE PHYSICAL SIMULATION FORCOMPUTER AIDED DESIGN AND MANUFACTURING”的美国专利申请号62/758,404的权益,所述专利申请通过引用以其整体并入本文。

背景技术

本说明书涉及物理结构的计算机辅助设计,所述物理结构可使用增材制造、减材制造和/或其他制造系统和技术来制造。

已经开发出计算机辅助设计(CAD)软件并将其用于生成对象的三维(3D)表示,并且已经开发出计算机辅助制造(CAM)软件并将其用于制造那些对象的物理结构(例如,使用计算机数控(CNC)制造技术)。通常,CAD软件使用边界表示(B-Rep)格式存储正在建模的对象的几何的3D表示。B-Rep模型是指定建模3D对象的实体部分与非实体部分之间的边界的一组连接表面元素。在B-Rep模型(通常称为B-Rep)中,使用光滑且精确的数学表面将几何存储在计算机中,这与可能难以在CAD程序中起作用的网格模型的离散且近似的表面形成对比。

此外,CAD程序已经与增材制造系统和技术结合使用。增材制造(也称为实体自由形式建造或3D打印)是指其中在一系列层或横截面中由原材料(大体上是粉末、液体、悬浮液或熔融实体)构建3D对象的任何制造过程。增材制造的实例包括熔丝建造(FFF)和选择性激光烧结(SLS)。此外,减材制造是指其中通过切除毛坯材料(大体上是大于3D对象的“坯料”或“工件”)的部分而由毛坯材料构建3D对象的任何制造过程。

另外,已经设计出CAD软件以便对要制造的零件或较大零件系统中的一个或多个零件执行3D几何自动生成(生成式设计)。这种3D几何自动化生成通常局限于由CAD软件的用户指定的设计空间,并且3D几何生成通常受设计目标和约束支配,所述目标和约束可由CAD软件的用户或另一方限定并导入CAD软件中。设计目标(诸如使废料或所设计零件的重量最小化)可用于将几何生成式过程朝向更好的设计驱使。设计约束可包括针对单独零件的结构完整性约束(即,在零件的使用期间在预期结构载荷下零件不应失效的要求)和较大系统所强加的物理约束(即,在使用期间零件不干扰系统中的另一个零件的要求)两者。此外,某种CAD软件已经包括使用各种大小、厚度和密度的晶格和蒙皮来促进3D几何增强的工具,其中晶格由在结点处彼此连接的梁或支柱组成,并且蒙皮是覆盖或封装晶格的壳体结构。此类工具允许重新设计3D零件以使其重量更轻,同时仍然维持期望的性能特性(例如,刚度和柔韧度)。此类软件工具已经使用可用于生成可制造的晶格结构的各种类型的晶格拓扑。

发明内容

本说明书描述与使用生成式设计过程进行物理结构的计算机辅助设计相关的技术,其中可将物理结构的三维(3D)模型产生为包括晶格、中空部、孔及其组合,并且其中然后可使用增材制造、减材制造和/或其他制造系统和技术来制造包括这些设计特征的物理结构。

大体上,本说明书中描述的主题的一个或多个方面可以一种或多种方法来体现,所述一种或多种方法包括:由计算机辅助设计程序获得要制造的对象的设计空间、用于所述对象的物理模拟的设置、所述对象的至少一个设计目标以及所述对象的至少一个设计约束;以及由所述计算机辅助设计程序使用生成式设计过程迭代地修改所述对象的生成式模型的三维拓扑和所述三维拓扑的一个或多个外部形状两者,所述生成式设计过程将所述生成式模型的所述三维拓扑表示为所述设计空间内的一个或多个实体区域与一个或多个空隙区域之间的一个或多个边界。所述修改可包括:根据所述三维拓扑的当前迭代和所述三维拓扑的所述一个或多个外部形状来改变用于所述物理模拟的本构模型,其中(i)根据所述设计空间内的所述一个或多个实体区域包括至少一个空隙而针对所述本构模型计算所述一个或多个实体区域,或者(ii)根据所述设计空间内的所述一个或多个空隙区域包括至少一个实体而针对所述本构模型计算所述一个或多个空隙区域;使用改变后的本构模型执行所述对象的所述物理模拟,以相对于所述至少一个设计目标和所述至少一个设计约束产生物理评估;根据所述物理评估计算所述当前迭代中的所述三维拓扑的所述一个或多个外部形状的形状改变速率;以及使用所述形状改变速率通过所述生成式设计过程更新所述对象的所述生成式模型。此外,所述一种或多种方法可包括:在所述修改完成对所述三维拓扑和所述三维拓扑的所述一个或多个外部形状两者的改变之后,由所述计算机辅助设计程序根据所述三维拓扑和所述三维拓扑的所述一个或多个外部形状来提供所述对象的三维模型,以用于使用一个或多个计算机控制的制造系统制造对应于所述对象的物理结构。

物理模拟可包括有限元分析(FEA)模拟。应注意,可使用各种类型的物理模拟。由本文档中描述的系统和技术执行的物理模拟可模拟一种或多种物理特性,并且可使用一种或多种类型的模拟。例如,可使用FEA(包括线性静态FEA)、有限差分法和物质点法。此外,除了其他可能性之外,对物理特性的模拟可包括模拟屈曲、自然频率、热通量、电通量或电磁通量以及材料固化特性。而且,可使用不同类型的生成式模型和生成式设计过程。

在一些实现方式中,生成式模型是三维拓扑和三维拓扑的一个或多个外部形状的水平集表示,并且生成式设计过程采用水平集拓扑优化方法来迭代地修改三维拓扑和三维拓扑的一个或多个外部形状。所述改变可包括:根据在由实体梁和空隙区域构成的晶格中的所述梁的统一厚度下将所述晶格的刚度表达为所述晶格的晶格拓扑和体积分数的函数的均质化晶格材料表示,改变本构模型。而且,所述方法可包括:在所述修改完成对所述三维拓扑和所述三维拓扑的所述一个或多个外部形状两者的改变之后,由所述计算机辅助设计程序根据所述物理模拟、所述至少一个设计目标和所述至少一个设计约束,在保持所述三维拓扑恒定的同时调整(i)所述晶格中的所述梁的厚度或(ii)所述晶格的密度;并且所述提供可包括:根据所述三维拓扑、所述三维拓扑的所述一个或多个外部形状和调整后的晶格来提供所述对象的所述三维模型。

在一些实现方式中,所述改变包括:根据所述一个或多个外部形状向内偏移以限定包括至少一个空隙的中空结构来改变本构模型。所述方法可包括:在所述修改完成对所述三维拓扑和所述三维拓扑的所述一个或多个外部形状两者的改变之后,由所述计算机辅助设计程序根据所述物理模拟、所述至少一个设计目标和所述至少一个设计约束,在保持所述三维拓扑的所述一个或多个外部形状恒定的同时调整所述中空结构的厚度。而且,所述提供可包括:根据所述三维拓扑、所述三维拓扑的所述一个或多个外部形状和所述中空结构的调整后的厚度来提供所述对象的所述三维模型。

在一些实现方式中,所述改变包括:根据(i)所述一个或多个外部形状向内偏移以限定包括至少一个空隙的中空结构,以及(ii)在由实体梁和空隙区域构成的晶格中的所述梁的统一厚度下将所述晶格的刚度表达为所述晶格的晶格拓扑和体积分数的函数的均质化晶格材料表示,改变本构模型。所述方法可包括:在所述修改完成对所述三维拓扑和所述三维拓扑的所述一个或多个外部形状两者的改变之后,由所述计算机辅助设计程序根据所述物理模拟、所述至少一个设计目标和所述至少一个设计约束,在保持所述三维拓扑的所述一个或多个外部形状恒定的同时调整所述中空结构的厚度;以及在所述修改完成对所述三维拓扑和所述三维拓扑的所述一个或多个外部形状两者的改变之后,由所述计算机辅助设计程序根据所述物理模拟、所述至少一个设计目标和所述至少一个设计约束,在保持所述三维拓扑的所述一个或多个外部形状和所述中空结构的调整后的厚度恒定的同时调整(i)所述晶格中的所述梁的厚度或(ii)所述晶格的密度。而且,所述提供可包括:根据所述三维拓扑、所述三维拓扑的所述一个或多个外部形状、所述中空结构的所述调整后的厚度和调整后的晶格来提供所述对象的所述三维模型。

本说明书中描述的主题的一个或多个方面还可以一种或多种方法来体现,所述一种或多种方法包括:由计算机辅助设计程序获得要制造的对象的设计空间、用于所述对象的物理模拟的设置、所述对象的至少一个设计目标以及所述对象的至少一个设计约束;以及由所述计算机辅助设计程序使用生成式设计过程迭代地修改所述对象的所述生成式模型的三维拓扑和所述三维拓扑的一个或多个外部形状两者,所述生成式设计过程采用水平集拓扑优化方法和所述生成式模型在所述设计空间中的水平集表示。所述修改包括:根据所述水平集表示的当前迭代以及在由梁和空隙区域构成的晶格中的所述梁的统一厚度下将所述晶格的刚度表达为所述晶格的晶格拓扑和体积分数的均质化晶格材料表示,改变用于所述物理模拟的本构模型;使用改变后的本构模型执行所述对象的所述物理模拟,以相对于所述至少一个设计目标和所述至少一个设计约束产生物理评估;根据所述物理评估计算所述当前迭代中的所述水平集表示的形状改变速率;以及通过所述水平集方法使用所述形状改变速率更新所述对象的所述水平集表示。

所述一种或多种方法还包括:在所述修改完成对所述三维拓扑和所述三维拓扑的所述一个或多个外部形状两者的改变之后,由所述计算机辅助设计程序根据所述物理模拟、所述至少一个设计目标和所述至少一个设计约束,在保持所述三维拓扑恒定的同时调整(i)所述晶格中的所述梁的厚度或(ii)所述晶格的密度;以及由所述计算机辅助设计程序根据所述三维拓扑、所述三维拓扑的所述一个或多个外部形状和调整后的晶格来提供所述对象的三维模型,以用于使用一个或多个计算机控制的制造系统制造对应于所述对象的物理结构。

所述修改可包括:根据所述晶格拓扑的均质化晶格材料表示的本构矩阵来调整所述均质化晶格材料表示的所述体积分数。执行所述物理模拟可包括:使用基于贴体网格的求解器执行有限元分析模拟,并且通过在所述生成式模型的所述水平集表示的体素格网点与所述有限元分析模拟所使用的实体网格模型的元素之间映射几何场数据和有限元模拟数据来改变所述本构模型。改变用于所述物理模拟的所述本构模型可包括:根据所述水平集表示的所述当前迭代,(i)在所述三维拓扑的所述一个或多个外部形状外部使用空隙模拟元素,并且(ii)针对在所述三维拓扑的所述一个或多个外部形状内部的模拟元素使用所述均质化晶格材料表示。

所述获得可包括:接收指示限定所述设计空间的至少一部分的初始三维模型的输入。所述初始三维模型可限定所述设计空间的边界,改变用于所述物理模拟的所述本构模型可包括:根据所述水平集表示的所述当前迭代,(i)针对在所述三维拓扑的所述一个或多个外部形状外部但在所述设计空间的所述边界内部的模拟元素使用所述均质化晶格材料表示,并且(ii)在所述三维拓扑的所述一个或多个外部形状内部使用实体模拟元素。

计算所述形状改变速率可包括使用增广式拉格朗日法来计算平流传送速率。所述均质化晶格材料表示可将给定晶格的结构行为表达为各向异性实体材料,所述各向异性实体材料是特性近似等同于所述给定晶格的连续材料。所述一个或多个计算机控制的制造系统可包括增材制造机器,并且所述提供可包括:从所述三维模型生成用于所述增材制造机器的工具路径说明;以及使用所述工具路径说明通过所述增材制造机器制造对应于所述对象的所述物理结构。

本说明书中描述的主题的一个或多个方面可以一种或多种方法来体现,所述一种或多种方法包括:由计算机辅助设计程序获得要制造的对象的设计空间、用于所述对象的物理模拟的设置、所述对象的至少一个设计目标以及所述对象的至少一个设计约束;以及由所述计算机辅助设计程序使用生成式设计过程迭代地修改所述对象的生成式模型的三维拓扑和所述三维拓扑的一个或多个外部形状两者,所述生成式设计过程将所述生成式模型的所述三维拓扑表示为所述设计空间内的一个或多个实体区域与一个或多个空隙区域之间的一个或多个边界。所述修改包括:所述三维拓扑和所述三维拓扑的所述一个或多个外部形状向内偏移以在所述三维拓扑中限定中空结构的当前迭代来改变用于所述物理模拟的本构模型;使用改变后的本构模型执行所述对象的所述物理模拟,以相对于所述至少一个设计目标和所述至少一个设计约束产生物理评估;根据所述物理评估计算所述当前迭代中的所述三维拓扑的所述一个或多个外部形状的形状改变速率;以及使用所述形状改变速率通过所述生成式设计过程更新所述对象的所述生成式模型。所述一种或多种方法还包括:在所述修改完成对所述三维拓扑和所述三维拓扑的所述一个或多个外部形状两者的改变之后,由所述计算机辅助设计程序根据所述物理模拟、所述至少一个设计目标和所述至少一个设计约束,在保持所述三维拓扑的所述一个或多个外部形状恒定的同时调整所述中空结构的厚度;以及由所述计算机辅助设计程序根据所述三维拓扑、所述三维拓扑的所述一个或多个外部形状和所述中空结构的调整后的厚度来提供所述对象的三维模型,以用于使用一个或多个计算机控制的制造系统制造对应于所述对象的物理结构。

所述向内以限定所述中空结构的偏移可以是由所述计算机辅助设计程序的用户选择的恒定偏移。执行所述物理模拟可包括:使用基于贴体网格的求解器执行有限元分析模拟,并且通过在所述生成式模型的水平集表示的体素格网点与所述有限元分析模拟所使用的实体网格模型的元素之间映射几何场数据和有限元模拟数据来改变所述本构模型。计算所述形状改变速率可包括使用增广式拉格朗日法来计算平流传送速率。

调整所述中空结构的所述厚度可包括:从所述中空结构的一个或多个内部形状开始,使用所述生成式设计过程迭代地修改所述三维拓扑的所述一个或多个内部形状,包括根据所述三维拓扑和所述一个或多个内部形状的当前迭代来改变用于所述物理模拟的所述本构模型,使得在完成修改所述一个或多个内部形状之后,所述中空结构的所述厚度跨所述三维拓扑是变化的。所述生成式模型可包括所述三维拓扑的所述一个或多个内部形状和所述一个或多个外部形状的水平集表示,并且所述生成式设计过程可采用水平集拓扑优化方法来迭代地修改所述三维拓扑的所述一个或多个内部形状和所述一个或多个外部形状。所述一种或多种方法可包括:在所述中空结构的所述三维拓扑的不同区域中识别(i)应力水平、(ii)形成或去除支撑材料的容易性、(iii)在建造期间支持或抑制材料形成的能力和/或(iv)出于美学考虑的孔的可见性;以及对于所述不同区域相较于其余区域的子集,基于所识别的(i)应力水平、(ii)形成或去除支撑材料的容易性、(iii)在建造期间支持或抑制材料形成的能力和/或(iv)出于美学考虑的孔的可见性,确定所述中空结构的所述三维拓扑中用于形成或去除在制造期间使用的支撑材料的一个或多个孔的位置。所述获得可包括:接收指示限定所述设计空间的至少一部分的初始三维模型的输入。而且,所述一个或多个计算机控制的制造系统可包括增材制造机器,并且所述提供可包括:从所述三维模型生成用于所述增材制造机器的工具路径说明;以及使用所述工具路径说明通过所述增材制造机器制造对应于所述对象的所述物理结构。

本说明书中描述的主题的一个或多个方面可以一种或多种方法来体现,所述一种或多种方法包括:由计算机辅助设计程序获得要制造的对象的设计空间、用于所述对象的物理模拟的设置、所述对象的至少一个设计目标以及所述对象的至少一个设计约束;以及由所述计算机辅助设计程序使用生成式设计过程迭代地修改所述对象的生成式模型的三维拓扑和所述三维拓扑的一个或多个外部形状两者,所述生成式设计过程将所述生成式模型的所述三维拓扑表示为所述设计空间内的一个或多个实体区域与一个或多个空隙区域之间的一个或多个边界。所述修改包括:根据(i)所述三维拓扑和所述三维拓扑的所述一个或多个外部形状向内偏移以在所述三维拓扑中限定中空结构的当前迭代,以及(ii)在将由实体梁和空隙区域构成的晶格中的所述梁的统一厚度下所述晶格的刚度表达为所述晶格的晶格拓扑和体积分数的函数的均质化晶格材料表示,改变用于所述物理模拟的本构模型;使用改变后的本构模型执行所述对象的所述物理模拟,以相对于所述至少一个设计目标和所述至少一个设计约束产生物理评估;根据所述物理评估计算所述当前迭代中的所述三维拓扑的所述一个或多个外部形状的形状改变速率;以及使用所述形状改变速率通过所述生成式设计过程更新所述对象的所述生成式模型。

所述一种或多种方法还包括:在所述修改完成对所述三维拓扑和所述三维拓扑的所述一个或多个外部形状两者的改变之后,由所述计算机辅助设计程序根据所述物理模拟、所述至少一个设计目标和所述至少一个设计约束,在保持所述三维拓扑的所述一个或多个外部形状恒定的同时调整所述中空结构的厚度;在所述修改完成对所述三维拓扑和所述三维拓扑的所述一个或多个外部形状两者的改变之后,由所述计算机辅助设计程序根据所述物理模拟、所述至少一个设计目标和所述至少一个设计约束,在保持所述三维拓扑的所述一个或多个外部形状和所述中空结构的调整后的厚度恒定的同时调整(i)所述晶格中的所述梁的厚度或(ii)所述晶格的密度;以及由所述计算机辅助设计程序根据所述三维拓扑、所述三维拓扑的所述一个或多个外部形状、所述中空结构的调整后的厚度和调整后的晶格来提供所述对象的三维模型,以用于使用一个或多个计算机控制的制造系统制造对应于所述对象的物理结构。

所述修改可包括:根据所述晶格拓扑的均质化晶格材料表示的本构矩阵来调整所述均质化晶格材料表示的所述体积分数。物理模拟可包括有限元分析(FEA)模拟。应注意,可使用各种类型的物理模拟。由本文档中描述的系统和技术执行的物理模拟可模拟一种或多种物理特性,并且可使用一种或多种类型的模拟。例如,可使用FEA(包括线性静态FEA)、有限差分法和物质点法。此外,除了其他可能性之外,对物理特性的模拟可包括模拟屈曲、自然频率、热通量、电通量或电磁通量以及材料固化特性。而且,可使用不同类型的生成式模型和生成式设计过程。

执行所述物理模拟可包括:使用基于贴体网格的求解器执行有限元分析模拟,并且所述本构模型可通过在所述生成式模型的水平集表示的体素格网点与所述有限元分析模拟所使用的实体网格模型的元素之间映射几何场数据和有限元模拟数据来改变。计算所述形状改变速率可包括使用增广式拉格朗日法来计算平流传送速率。

调整所述中空结构的所述厚度可包括:从所述中空结构的一个或多个内部形状开始,使用所述生成式设计过程迭代地修改所述三维拓扑的所述一个或多个内部形状,包括根据(i)所述三维拓扑和所述一个或多个内部形状的当前迭代以及(ii)所述均质化晶格材料表示来改变用于所述物理模拟的所述本构模型,使得在完成修改所述一个或多个内部形状之后,所述中空结构的所述厚度跨所述三维拓扑是变化的。所述生成式模型可包括所述三维拓扑的所述一个或多个内部形状和所述一个或多个外部形状的水平集表示,并且所述生成式设计过程可采用水平集拓扑优化方法来迭代地修改所述三维拓扑的所述一个或多个内部形状和所述一个或多个外部形状。

所述一种或多种方法可包括:在所述中空结构的所述三维拓扑的不同区域中识别(i)应力水平、(ii)形成或去除支撑材料的容易性、(iii)在建造期间支持或抑制材料形成的能力、(iv)出于美学考虑的孔的可见性或(v)其组合;以及对于所述不同区域相较于其余区域的子集,基于所识别的(i)应力水平、(ii)形成或去除支撑材料的容易性、(iii)在建造期间支持或抑制材料形成的能力、(iv)出于美学考虑的孔的可见性或(v)其组合,确定所述中空结构的所述三维拓扑中用于形成或去除在制造期间使用的支撑材料的一个或多个孔的位置。

所述向内以限定所述中空结构的偏移可以是由所述计算机辅助设计程序的用户选择的恒定偏移。所述获得可包括:接收指示限定所述设计空间的至少一部分的初始三维模型的输入。所述均质化晶格材料表示可将给定晶格的结构行为表达为各向异性实体材料,所述各向异性实体材料是特性近似等同于所述给定晶格的连续材料。而且,所述一个或多个计算机控制的制造系统可包括增材制造机器,并且所述提供可包括:从所述三维模型生成用于所述增材制造机器的工具路径说明;以及使用所述工具路径说明通过所述增材制造机器制造对应于所述对象的所述物理结构。

本文所述的这些和其他方法可使用编码计算机辅助设计程序的非暂时性计算机可读介质来实现,所述计算机辅助设计程序可操作以使一个或多个数据处理设备执行所述方法。在一些实现方式中,一种系统包括:非暂时性存储介质,所述非暂时性存储介质具有存储在其上的计算机辅助设计程序的指令;以及一个或多个数据处理设备,所述一个或多个数据处理设备被配置来运行所述计算机辅助设计程序的所述指令以执行所述方法。此外,此类系统可包括增材制造机器或其他制造机器,并且所述一个或多个数据处理设备可被配置来运行所述计算机辅助设计程序的所述指令,以从所述三维模型生成用于此类机器的指令(例如,用于所述增材制造机器的工具路径说明),并且使用所述指令通过所述机器(例如,所述增材制造机器使用所述工具路径说明)制造对应于所述对象的所述物理结构。

可实施本说明书中描述的主题的特定实施方案以实现以下优点中的一个或多个。CAD程序可提供可从中挑选的多种不同的生成式设计综合方法,所述方法包括:基于水平集的拓扑优化,其提供用于拓扑优化的基本水平集方法;晶格和蒙皮优化,其提供晶格和蒙皮的厚度优化;混合拓扑优化,其提供使用晶格填充进行的拓扑优化;由内向外混合拓扑优化,其中在拓扑优化设计与原始设计空间之间的负空间中存在晶格填充;中空拓扑优化,其提供用于使用内部中空区域进行拓扑优化的方法;和/或混合-中空拓扑优化,其提供用于使用晶格填充和内部中空区域进行拓扑优化的方法。可使得用户能够混合和匹配不同的生成式设计综合方法以及多种输入设计变量,以产生有助于创建满足用户目标的新生成式设计的生成式设计过程。而且,一种或多种生成式设计过程可采用宏观结构拓扑生成结合以与不同于所述宏观结构拓扑生成的方式处理建模对象的不同物理模拟操作,这允许通过正在创建的生成式设计的类型的更准确结构特性来通知宏观结构拓扑生成。这可产生生成式设计的改进的拓扑和形状,所述改进的拓扑和形状达到要从生成式设计制造的对象的物理结构要求。

在拓扑优化过程期间在零件内部引入晶格可增加零件的比刚度(刚度/质量)并提高设计的可制造性,例如在使用增材制造时。通过考虑拓扑优化期间的晶格行为的影响,可提高零件的性能与重量比。此外,可基于产生具有高刚度的轻型设计的预期结构载荷来设计在拓扑优化主体内包含优化晶格结构的部件。

另外,可生成式设计中空结构部件,这可导致部件质量显著降低,同时仍然满足或超过指定的结构载荷要求。这可降低在制造此类部件时的材料使用,提高效率,使运输容易,并且降低制造和运输物理结构的成本。生成此类中空结构可产生与类似实体部件相比更好的强度重量比,尤其在弯曲载荷下。可对零件执行部件的拓扑优化,同时兼在部件的体积内维持中空内部。应注意,当通过在拓扑优化过程期间考虑正在设计的部件的中空结构方面,而不是在高安全系数和/或体积目标下进行实体拓扑优化,以便以后可使用标准几何操作对设计部件进行手动挖空时,可针对给定设计减小质量,同时维持或改进结构性能,而不存在拓扑优化之后结构响应显著变化的重大危险。

另外,可对对象的外表面的形状和拓扑与对象的内表面(限定中空内部的表面)的形状和拓扑两者进行优化。当对外表面的拓扑进行优化时,可在形状改变之后在激活/去激活元素时创建内表面,这意指仅需要保持蒙皮状元素层处于活动状态。此外,在每次迭代时不需要对外表面进行重新网格化,这可减少所需的处理资源并且可增加所述方法的可靠性。而且,所描述的中空拓扑优化途径可使得生成式设计过程能够扩展其综合形状的能力,这可使得能够使用生成式设计解决更多的设计问题。

最后,可将中空拓扑优化与基于晶格的拓扑优化相结合以获得两种生成式设计途径的益处。可通过将具有中空区域和晶格两者的设计对象的结构特性通知宏观结构拓扑生成式过程。这可通过达到要从生成式设计制造的对象的物理结构要求的生成式设计的改进的拓扑和形状,产生非常轻量且具有非常高刚度的甚至更好的生成式设计。除了刚度之外,取决于所使用的设计目标,可实现生成式设计的改进的拓扑和形状,诸如高效散热、较高/较低的自然振动模式。

以下附图和描述中阐述本说明书中描述的主题的一个或多个实施方案的细节。从描述、附图和权利要求将显而易见本发明的其他特征、方面和优点。

附图说明

图1A示出可用于设计和制造物理结构的系统的实例。

图1B示出设计和制造物理结构的过程的实例。

图2A示出窄带水平集的实例的图形表示。

图2B示出八叉树数据结构的实例的图形表示。

图2C示出初始设计构型与当前设计构型之间的几何映射的实例的图形表示。

图2D示出从实体网格到水平集格网的数据映射的实例的图形表示。

图3A示出生成要制造的对象的3D模型的一个或多个部分的过程的实例,其中所述过程包括使用一个或多个生成式设计过程进行的各种可用拓扑优化。

图3B示出来自拓扑优化迭代历史的快照的实例的图形表示。

图3C示出用于晶格和蒙皮的厚度优化的过程的实例的图形表示。

图3D示出不同晶格拓扑的实例的图形表示。

图3E示出用于使用晶胞产生晶格的过程的实例的图形表示。

图4A示出对正在生成式设计用于制造的对象的3D模型的一个或多个部分的晶格填充的拓扑进行优化的过程的实例。

图4B示出用于混合拓扑优化的设计工作流程的过程的实例。

图4C示出来自实体-晶格混合拓扑优化的输出的3D视图的实例的图形表示。

图4D示出图4C的来自实体-晶格混合拓扑优化的输出的切片视图的实例的图形表示。

图4E示出来自晶格-空隙混合拓扑优化的输出的3D视图的实例的图形表示。

图4F示出图4E的来自晶格-空隙混合拓扑优化的输出的切片视图的实例的图形表示。

图5A示出对正在生成式设计用于制造的对象的3D模型的一个或多个中空部分的拓扑进行优化的过程的实例。

图5B示出用于中空拓扑优化的设计工作流程的过程的实例。

图5C示出包含内部腔体的中空设计的实例的图形表示。

图5D示出来自图5C的中空设计的切片视图的实例的图形表示。

图5E示出中空水平集的实例的图形表示。

图5F示出中空水平集从中空到基本拓扑优化(TO)的转变的图形表示。

图6A示出对围绕正在生成式设计用于制造的对象的3D模型的一个或多个中空部分的结构的晶格填充的拓扑进行优化的过程的实例。

图6B示出用于混合-中空拓扑优化工作流程的过程的实例。

图6C示出包含内部腔体和晶格的混合-中空设计的实例的图形表示。

图6D示出图6C的混合-中空设计的切片视图的实例的图形表示。

图7A示出生成式设计的中空零件的实例,其中热图示出载荷路径以及在较低应力区域中的示例性孔位置。

图7B示出从给定孔到几何内部的各个点的距离的可视化。

图8是包括可编程为客户端或服务器的数据处理设备的数据处理系统的示意图。

各个附图中相同的附图标号和名称指示相同的元件。

具体实施方式

图1A示出可用于设计和制造物理结构的系统100的实例。计算机110包括处理器112和存储器114,并且计算机110可连接到网络140,网络140可以是专用网络、公用网络、虚拟专用网络等。处理器112可以是各自可包括多个处理器内核的一个或多个硬件处理器。存储器114可包括易失性和非易失性存储器两者,诸如随机存取存储器(RAM)和闪存RAM。计算机110可包括各种类型的计算机存储介质和装置(可包括存储器114)以存储在处理器112上运行的程序的指令,所述程序包括计算机辅助设计(CAD)程序116,所述CAD程序116实施三维(3D)建模功能并且包括用于通过物理模拟(例如,使用如所描述的至少一种水平集方法)进行拓扑优化的一种或多种生成式设计过程。由本文档中描述的系统和技术执行的物理模拟可模拟一种或多种物理特性,并且可使用一种或多种类型的模拟。例如,可使用有限元分析(FEA)(包括线性静态FEA)、有限差分法和物质点法。此外,对物理特性的模拟可包括计算流体动力学(CFD)、声学/噪声控制、热传导、计算注塑、电或电磁通量和/或材料固化模拟(材料固化模拟对于成型过程中的相变是有用的)。而且,CAD程序116可潜在地实施孔生成技术以支持制造和/或制造控制功能。

如本文所使用,CAD是指用于设计满足设计要求的物理结构的任何合适的程序,而不管所述程序是否能够与制造装备对接和/或控制制造装备。因此,CAD程序116可包括计算机辅助工程(CAE)程序、计算机辅助制造(CAM)程序等。程序116可在计算机110上本地运行,在一个或多个远程计算机系统150(例如,计算机110可通过网络140访问的一个或多个第三方提供商的一个或多个服务器系统)的计算机上远程运行,或在本地和远程运行。因此,CAD程序116可以是在两个或更多个单独的计算机处理器上协同操作的两个或更多个程序,因为在计算机110上本地操作的程序116可通过以下方式将处理操作(例如,生成式设计和/或物理模拟操作)卸载“到云”:使一个或多个计算机150上的一个或多个程序116执行卸载的处理操作。

CAD程序116在计算机110的显示装置120上呈现用户界面(UI)122,其可使用计算机110的一个或多个输入装置118(例如,键盘和鼠标)进行操作。应注意,虽然在图1A中被示出为单独的装置,但是显示装置120和/或输入装置118也可与彼此和/或与计算机110集成,诸如在平板计算机中(例如,触摸屏可以是输入装置118/输出装置120)。而且,计算机110可包括虚拟现实(VR)或增强现实(AR)系统或者可以是其一部分。例如,输入装置118/输出装置120可包括VR/AR输入手套118a和/或VR/AR耳机120a。在任何情况下,用户160与CAD程序116交互以创建和修改3D模型,所述3D模型可存储在3D模型文档130中。

在所示实例中,初始3D模型132是用于输入到生成式设计过程的种子模型。在此实例中,用户160已经限定生成式设计过程要对其进行操作以从起始3D模型132产生新3D模型的机械问题。在这种情况下,所限定问题是米歇尔型拱形问题,其中用户160已经指定域134和载荷情况136。然而,这只是许多可能实例中的一个。

在一些实现方式中,用户160(或其他人或程序)可指定要制造的对象的设计空间、用于对象的物理模拟(例如,FEA、CFD、声学/噪声控制、热传导、计算注塑模拟、电或电磁通量、材料固化等)的设置(例如,载荷和材料)、对象的至少一个设计目标(例如,使材料使用最小化)以及对象的至少一个设计约束(例如,体积约束)。在一些实现方式中,用于在物理模拟和生成式设计过程中使用的输入可包括:要在其中生成新3D模型的当前3D模型的一个或多个区域;限定在一个或多个不同方向上要由正在设计的物理结构承载的一个或多个载荷的载荷情况;一种或多种材料(例如,识别为设计空间的基线材料模型的一种或多种各向同性实体材料);要用作到生成式设计过程的输入的一种或多种种子模型类型;要使用的一种或多种生成式设计过程;和/或要在设计空间的一个或多个区域中使用的一种或多种晶格拓扑。到生成式设计和物理模拟过程的输入可包括:非设计空间;部件(例如,杆、轴承、壳体)的不同类型;一个或多个目标制造过程和相关联参数;应避免的障碍物几何;应包括在最终设计中的保留几何;以及与各个方面有关的参数,诸如设计的分辨率、综合的类型等。

而且,CAD程序116在UI 122中提供用户界面元素,以使得用户160能够指定上面所提到的各种类型的输入,并且这些输入中的全部(或各种子集)可在本文档中描述的生成式设计和物理模拟过程中使用。此外,CAD程序116的UI 122可使得用户160能够使用传统3D建模功能来设计零件(以构建3D设计模型的精确几何描述),然后在3D设计模型的一个或多个部分内所指定的设计空间中使用生成式设计和模拟过程。因此,如将了解,可使用本文档中描述的系统和技术来设计许多可能类型的物理结构,UI 122可用于为要制造的零件创建完整的机械问题定义,并且生成式设计和物理模拟过程可通过实现提高的性能而无需耗费时间的物理测试来加速新产品开发。

此外,如本文所述,CAD程序116实施至少一种生成式设计过程,所述生成式设计过程使得CAD程序116能够基于设计目标和约束自动地生成3D模型的一个或多个部分(或3D模型的整体),其中基于模拟反馈迭代地优化几何设计。应注意,如本文中所使用,“优化”(或“最优的”)并不意指在所有情况下都实现所有可能设计中的最佳设计,而是在给定可用处理资源的情况下,可从可在规定时间内生成的有限集可能设计中选择最佳(或接近最佳)的设计。设计约束可由用户160或由另一方限定并导入CAD程序116中。设计约束可包括针对单独零件的结构完整性约束(即,在零件的使用期间在预期结构载荷下零件不应失效的要求)和较大系统强加的物理约束(例如,零件包含在指定体积内以便在使用期间不干扰系统中的其他零件的要求)两者。

可使用可对3D模型的至少一部分的形状和拓扑进行优化的各种生成式设计过程。由CAD程序116对3D模型的几何设计进行的迭代优化涉及拓扑优化,所述拓扑优化是一种轻量化方法,其中通过使受制于设计约束的目标函数(例如,以体积作为约束的结构合规性)最小化来确定材料的最优分布。拓扑优化可使用多种数值方法来解决,所述数值方法可大致分类为两组:(1)材料或微观结构技术,以及(2)几何或宏观结构技术。微观结构技术是基于确定材料密度的最优分布,并且包括实体各向同性材料惩罚(SIMP)方法和均质化方法。在SIMP方法中,对中间材料密度进行惩罚以支持具有ρ=0或ρ=1,其分别表示空隙或实体。在均质化方法中,将中间材料密度视为复合材料。

相反,宏观结构技术将材料视为均质的,并且将正在产生的建模对象的三维拓扑表示为设计空间(也称为用于拓扑优化的域或域的子空间)内的一个或多个实体区域(其中具有均质材料)与一个或多个空隙区域(其中不具有材料)之间的一个或多个边界。一个或多个边界的形状在生成式设计过程期间进行优化,而拓扑则由于形状优化结合添加/去除和缩小/增长/合并空隙区域而在域中改变。因此,可通过使用宏观结构技术的生成式设计过程产生的最终优化拓扑的类型可在很大程度上取决于所述过程的种子几何内的空隙的数量和大小。

应注意,虽然图1A中仅示出一个种子模型132(其中此模型132包括围绕空隙区域的许多孔132B的复杂实体区域132A),但是应了解,对于任何给定生成式设计过程迭代,本文档中描述的生成式设计过程可采用两个或更多个种子几何/模型,以便改进拓扑和形状优化的最终结果。此外,在形状和拓扑优化过程期间,可将一个或多个空隙引入实体域中并且/或者可将一个或多个实体引入空隙域中,以便改进拓扑和形状优化的最终结果。因此,CAD程序116可包括各种类型的可用种子几何和中间过程几何引入,连同允许用户160设计他们自己的种子几何和中间过程几何引入的用户界面元素。同样,用户160可运行两次或更多次生成式设计过程迭代(保存每次迭代的结果),直到产生优选的生成式设计几何为止。

一旦用户160对生成式设计的3D模型感到满意,就可将3D模型存储为3D模型文档130,并且/或者使用3D模型生成式模型的另一种表示(例如,用于增材制造的.STL文件)。这可应用户160的请求或者鉴于用户对另一个动作的请求(诸如将3D模型132发送到可直接连接到计算机110或如图所示通过网络140连接的增材制造(AM)机器170或其他制造机械装置)进行。这可涉及在本地计算机110或云服务上执行以将3D模型132导出到要根据其进行制造的电子文档的后处理。应注意,电子文档(为简洁起见将简称为文档)可以是文件,但不一定对应于文件。文档可存储在保存其他文档的文件的一部分中、专用于所讨论的文档的单个文件中、或多个协调文件中。

在任何情况下,CAD程序116可向AM机器170提供文档135(其具有适当格式的工具路径说明)以创建完整的结构138,所述结构138包括优化的拓扑和形状(在此实例中为针对米歇尔型拱形问题生成的拱形设计)。AM机器170可采用一种或多种增材制造技术,诸如颗粒技术(例如,粉末床融合(PBF)、选择性激光烧结(SLS)和直接金属激光烧结(DMLS))、挤出技术(例如,熔融沉积造型(FDM),其可包括金属沉积AM)。另外,用户160可保存或传输3D模型以供以后使用。例如,CAD程序116可存储包括所生成3D模型的文档130。

在一些实现方式中,也可在制造过程中使用减材制造(SM)机器174(例如,计算机数控(CNC)铣床,诸如多轴、多工具铣床)。此类SM机器174可用于制备AM机器170将对其进行操作的初始工件。在一些实现方式中,通过AM机器170和/或使用铸造方法(例如,使用陶瓷壳体的熔模铸造(IC)或使用砂芯的砂模铸造(SC))生成部分完整的结构138,然后通过CNC机器174去除(例如,精加工)此部分完整的结构138的一个或多个部分以便形成完成的结构。而且,在一些实现方式中,CAD程序116可向SM机器174提供对应的文档135(其具有适当格式的工具路径说明,例如,CNC数控(NC)程序)以用于使用各种切割工具制造零件等。

在各种实现方式中,系统100的CAD程序116可实施如本文档中描述的一种或多种生成式设计过程。生成式设计过程寻求最佳的几何、拓扑或其两者。例如,生成式设计过程通过使受制于约束的性能相关的目标函数最小化来在替代设计中寻求最佳的几何形状:

最小化

使得g

其中s是与域的几何形状有关的设计变量的矢量,并且u是取决于s的状态变量的矢量(例如,位移)。附加约束(例如,均衡)由集合g

这是性能相关的目标函数相对于设计变量的导数。在基于晶格的方法中,s表示晶格厚度。在基于水平集的拓扑优化方法中,s表示实体区域的边界。

图1B示出设计和制造物理结构的过程的实例。例如由CAD程序116获得180设计变量以用于产生生成式3D模型。可通过使用设计变量(其可包括晶格、密度场和水平集)的不同组合来制定不同的生成式设计过程。在一些实现方式中,设计变量可包括(例如,通过UI122接收的)各种类型的输入,诸如在由系统100中的CAD程序使得可用的不同生成式设计综合方法之间进行的选择。在一些实现方式中,可用生成式设计综合方法包括:(1)基于水平集的拓扑优化,其提供用于拓扑优化的基本水平集方法;(2)晶格和蒙皮优化,其提供晶格和蒙皮的厚度优化;(3)混合拓扑优化,其提供使用晶格填充进行的拓扑优化;(4)由内向外混合拓扑优化,其中在拓扑优化设计与原始设计空间之间的负空间中存在晶格填充;(5)中空拓扑优化,其提供用于使用内部中空区域进行拓扑优化的方法;和/或(6)混合-中空拓扑优化,其提供用于使用晶格填充和内部中空区域进行拓扑优化的方法。

另外,设计变量是可能的,诸如(1)用于生成式设计几何产生的设计空间,例如设计或加载到CAD程序116中的边界表示(B-Rep)3D模型,所述设计空间用作所描述生成式设计过程的优化域的子空间;和/或(2)指定用于生成式设计几何产生的边界条件的一组输入实体,例如使用UI 122选择以指定子空间的B-Rep,所述一组输入实体保留用作与较大3D模型中的其他部件或单独3D模型的连接点。(例如CAD程序116)可响应于来自用户160的输入而使用设计变量的不同组合。例如,用户160可选择不同的生成式设计综合方法来在单个3D模型内的各个不同的设计空间内使用。

其他设计变量可包括用于物理模拟的设置,例如,要与正在生成式设计的零件的优化3D拓扑一起使用的所选择晶格拓扑的FEA模型或均质化晶格材料表示中的元素的密度。设计变量可包括各种设计目标和约束,诸如本文档中所描述的。此外,可例如由CAD程序116提供帮助用户指定设计变量的功能。例如,晶格推荐器可针对给定问题使用单个实体模拟提供对合适晶格设置的预测。在一些实现方式中,使用名称均为“METHOD AND SYSTEMFOR GENERATING LATTICE RECOMMENDATIONS IN COMPUTER AIDED DESIGN APPLICATIONS”的2017年4月26日提交的PCT公布号WO 2017/186786Al和2018年10月25日提交的美国申请号16/096,623中所描述的晶格推荐器,两个文献特此通过引用并入。

在指定生成式设计变量的情况下,例如由CAD程序116使用一种或多种生成式设计过程(例如,使用一种或多种所选择的生成式设计综合方法)产生185一个或多个3D模型。在一些实现方式中,一种或多种生成式设计过程可使用所描述的水平集方法,其中来自方程1、2和3的s表示使用一个或多个水平集隐式地表示的实体区域的边界,所述水平集是在笛卡尔背景格网上计算的有符号的距离值。在基于水平集的拓扑优化方法中,由一维高水平水平集函数表示结构的外部形状,并且由水平集函数值的变化代替形状和构型的变化,以便获得最优结构。水平集函数是指以下函数,所述函数指示其中设定初始结构的设计域的每个部分是对应于形成所述结构并且由材料占据的材料域(材料相)、其中形成空隙的空隙域(空隙相)、还是这两个域之间的边界,其中表示材料域的值与表示空隙域的值之间的预先确定的值表示材料域与空隙域之间的边界。

图2A示出窄带水平集200的实例的图形表示,其中水平集值在窄带外部是恒定的。水平集200在笛卡尔背景格网上相对于x轴、y轴和z轴(分别为202、204、206)绘制。比例尺208示出对应于在笛卡尔背景格网上计算的有符号的距离值的水平集的不同水平,包括对应于当前结构模型的水平集表示的0等值面。水平集表示可使得能够连续且清晰地表示最优结构的轮廓,并且在基于水平集方法进行结构优化的过程期间,可基于目标函数的拓扑导数将一个或多个空隙引入材料域中,从而允许拓扑变化(构型变化),诸如在材料域中引入孔。此外,在一些实现方式中,使用一个或多个八叉树数据结构来准确地解析几何,诸如图2B中的图形表示中所示的八叉树数据结构220的实例。八叉树数据结构220在笛卡尔背景格网上相对于x轴、y轴和z轴(分别为222、224、226)绘制。

如上面所提到,在一些实现方式中,可用生成式设计综合方法包括基于水平集的拓扑优化。基于水平集的拓扑优化涉及使用形状导数来优化设计域的形状,所述形状导数是有约束最小化问题相对于形状的导数。对水平集应用形状变化,从而允许形状修改期间的拓扑变化。这种类型的生成式设计过程的结果是将设计空间划分成实体区域和空隙区域,从而得到优化形状,其通常具有拓扑变化。对于这种类型的基于水平集的拓扑优化,以及本文档中描述的这种类型的基于水平集的拓扑优化的变型,可使用以下途径中的一种或多种。

考虑具有域Ω

u=0,在Γ

其中∈(u)是线性应变张量,D是四阶本构张量,u是位移矢量,f是外部载荷矢量,并且

最小化J(Ω,u) ((7)

受制于

u=0,在Γ

D∈(u)n=t,在Γ

其中可将合规性最小化用作目标函数:

图2C示出初始设计构型与当前设计构型之间的几何映射240的实例的图形表示。拓扑优化中的解空间可通过设计空间内的几何形状的不同扰动来限定。在此背景下,可限定将给定域246Ω映射到扰动域248Ωt中的线性映射242。通过这种映射,可将具有坐标x∈Ω的物质点映射244到以下上:

x

其中δv是规定常数矢量场,并且t是标量参数(参见图2C)。应注意,使用基于梯度的数学编程方法求解方程涉及使用目标函数在速率场的方向上的方向导数δv

可使用超过一种途径来获得目标函数的方向导数,以用于在基于梯度的优化方法中使用。适用于与基于梯度的优化方法一起使用的途径包括直接微分、半解析导数、伴随方法和有限差分。

对形状导数(方程13)求值可需要状态变量u在速率矢量δv的方向上的方向导数。这可通过使用链式法则看到:

但是在某些实现方式中,可使用以下伴随方法,所述伴随方法涉及形成拉格朗日量L(Ω,u,λ),其取决于域形状Ω、位移场u和拉格朗日参数λ

拉格朗日量的稳定条件(即δL(Ω,u,λ)=0)可得出一组完整的形状优化方程。例如,可通过考虑拉格朗日量相对于位移u的变化来给出合规性最小化(方程11)的伴随问题。在引入成本函数(方程11)并用散度定理修订域项之后:

对应边界值问题(称为伴随问题)可变成:

λ=0,在Γ

这可导致确定λ=-u是伴随问题的解。这意指对于合规性最小化问题(方程11),不需要明确解决伴随问题(方程17-19)。此类问题称为自伴问题,其中直接问题的解也产生伴随解。然而,这种情况并不常见,并且根据直接问题的本质和目标函数,可能必须求解不同的伴随问题。照原样使用拉格朗日量的优点包括识别:

此方程可使得能够将形状导数(方程13)表达为以下形式的边界积分:

在不失一般性的情况下,可假设某些边界变化与实际形状优化无关。在实体力学中,边界变化通常可具有以下形式:

δv=0,在Γ

δv=0,在Γ

δv≠0,在Γ

这意指在形状优化过程中,只有边界Γ

在不如方程22中所述地限制δv的情况下,拉格朗日量的变化可包含若干更多项。在形状的迭代优化期间,可将形状导数(方程23)用作梯度信息。为了实现目标函数的最大减小,可如下挑选边界扰动:

δv=-(2u·f-D∈(u):∈(u))。 (24)

可沿法向量的方向

仅使用合规性最小化目标(方程11)进行拓扑优化可产生覆盖整个设计空间的最优拓扑。因此,通常需要某种形式的体积约束。而且,在一些实现方式中,在拓扑优化期间对体积变化进行控制由于以下若干原因而可能是重要的:1)强加体积约束;2)对拓扑优化进度提供用户控制,例如,在初始迭代期间的较多体积变化以及在后来迭代期间的较少体积变化;以及3)确保满足不具有形状导数的任意约束。

应注意,约束存在形状导数可需要修改方程25中的形状变化速率。可考虑修改的目标函数,其中按以下方程中的惩罚参数μ对体积进行惩罚:

然后,对应的形状导数(方程25)可由以下方程给出:

其中μ沿着边界是恒定的。形状导数中(方程25)的速率项现在可具有附加项,如下:

v=-(2u·f-D∈(u):∈(u)+μ) (28)

在一些实现方式中,使用增广式拉格朗日法。某些途径(参见上面的体积控制)可能具有限制,诸如对于达到规定体积目标造成困难。本质上,设计的最终体积可取决于方程26中规定的μ的值。在此类情况下,可通过使用增广式拉格朗日法来实现达到规定设计约束目标。考虑以下拉格朗日量来进行合规性最小化,其中最终体积目标为V

然后形状导数可由以下方程给出:

其中惩罚参数λ、μ可按增序列更新,使得它们收敛到最优拉格朗日乘子。在一些实现方式中,可使用一种或多种启发式方法来更新惩罚参数。

在一些实现方式中,使用一个或多个基于贴体网格的求解器。将此类基于贴体网格的求解器与水平集方法一起使用涉及将数据从实体网格映射到笛卡尔格网(应注意,由于笛卡尔格网的结构化本质,逆映射是琐碎的)。这涉及如图2D所示的两个映射,图2D示出从实体网格262到水平集格网264的数据映射260的实例的图形表示。

可首先将实体网格元素中的数据(例如,应变能、冯·米塞斯应力)映射到实体网格节点。此映射可通过数据平均来实现。例如,通过对实体网格262中在实体节点n

如所提到的,以上途径可与下文结合图3A至图6D进行进一步描述的各种类型的基于水平集的拓扑优化一起使用。返回图1B,所有这些生成式设计的水平集方法以及本文档中描述的其他生成式设计过程可(例如在CAD程序116中)实现以提供以下两者:(1)用户对生成式设计过程以及生成式设计输出的后处理进行以形成对象的最终可接受3D模型的实质性控制;以及(2)用于提供生成式设计的3D模型以用于制造对应于对象的物理结构的控制功能。因此,生成式设计处理的结果可连同接受或拒绝设计的选项190例如在显示装置120上的UI 122中呈现给用户。

如果设计被拒绝,则图1B的过程可返回到例如由CAD程序116获得180新设计变量以用于产生新生成3D模型。一旦设计未被拒绝190,则图1B的过程就可例如由CAD程序116提供195 3D模型以用于使用一个或多个计算机控制的制造系统(例如,AM机器170、SM机器174和/或其他制造机器)来制造对应于对象的物理结构。提供195可涉及将3D模型发送或保存到永久存储装置,以用于使用一个或多个计算机控制的制造系统来制造对应于对象的物理结构。在一些实现方式中,提供195涉及:例如由CAD程序116使用3D模型生成195A用于计算机控制的制造系统的工具路径说明;以及例如由CAD程序116使用为增材制造机器生成的工具路径说明用计算机控制的制造系统来制造195B对应于对象的物理结构的至少一部分。

应注意,所提供195的3D模型可以是通过生成式设计综合方法产生185的3D模型或生成式设计输出的后处理版本。例如,在一些实现方式中,在提供195之前,可将通过生成式设计综合方法产生的3D网格模型转换成水密B-Rep 3D模型。在一些实现方式中,可使用2018年11月9日提交且名称为“CONVERSION OF GENERATIVE DESIGN GEOMETRY TOEDITABLE AND WATERTIGHT BOUNDARY REPRESENTATION IN COMPUTER AIDED DESIGN”的美国专利申请号62/758,053中所描述的系统和技术对生成式设计输出进行后处理。此外,在一些实现方式中,可使用2018年11月9日提交且名称为“FACILITATED EDITING OFGENERATIVE DESIGN GEOMETRY IN COMPUTER AIDED DESIGN USER INTERFACE”的美国申请号16/186,136中所描述的系统和技术对后处理生成式设计输出进行编辑。而且,下面结合图3A至图7B描述的生成式设计过程也可被实施为使用上面描述的后处理、编辑和/或提供195系统和技术。最后,虽然在提供用于生成式设计的多个选项的CAD程序的背景下进行描述,但是本文档中描述的生成式设计过程中的每一种都可在CAD程序中作为独立的生成式设计过程实施。因此,并非所有下面结合图3A至图7B描述的生成式设计过程都需要在任何给定实现方式中一起实施。

图3A示出生成要制造的对象的3D模型的一个或多个部分的过程(例如,如由图1A的CAD程序116所执行)的实例,其中所述过程包括使用一个或多个生成式设计过程进行的各种可用拓扑优化。识别300用于所选择生成式设计过程的设计空间、用于物理模拟的设置和其他输入。这可涉及例如通过显示装置120上的UI 122接收用户输入、从另一个程序或第三方源导入信息,并且/或者在给定实现方式中这些输入中的一个或多个可以是预限定的。

用于物理模拟的设置可包括要模拟的一个或多个物理特性和要执行的一种或多种类型的模拟(如上面所讨论),以及潜在地替代建模或其他近似方法。在一些实现方式中,物理模拟的类型是针对已经从其启动生成式设计过程的程序的所有用途或者鉴于程序中的特定背景预限定的。此外,用于物理模拟的设置包括至少一组载荷条件和/或与要执行的物理模拟的类型相关联的其他物理环境信息。

设计空间可以是要用作起始几何的初始3D模型或初始3D模型的一个或多个部分。在一些情况下,可将设计空间确定为所有初始几何的边界框,所述边界框用于指定载荷或与要执行的物理模拟的类型相关联的其他物理环境信息。在一些情况下,设计空间可以是无边界的。在一些实现方式中,可通过遗传算法或其他过程来自动设定要用作起始几何的设计空间的部分。例如,可将气泡状的孔(例如,孔132B)放入域中,并且可使用遗传算法来改变气泡大小和间距。而且,其他输入可取决于要执行的物理模拟的类型和/或要使用的生成式设计过程的类型。例如,当将在生成式设计过程中使用晶格时,其他输入可包括晶格拓扑、体积分数、单位大小和厚度。

当要使用的生成式过程采用基本水平集方法来进行拓扑优化时,针对设计空间将水平集初始化302A。应注意,水平集方法是宏观结构生成建模技术的实例,其中生成式模型将正在设计的对象表示为设计空间内的一个或多个实体区域(其中具有均质材料)与一个或多个空隙区域(其中不具有材料)之间的一个或多个边界。在这种情况下,在初始化之后,执行302B对建模对象的物理模拟,其中将每个实体区域视为均质实体材料并且将每个空隙区域视为其中不具有材料。

使用来自模拟的结果更新302C水平集,并且针对收敛进行检查302D。然后,模拟、更新和检查过程进行迭代,直到收敛为止。现在描述这种类型的宏观结构拓扑优化过程的详细实例。为简化表述,一起使用合规性最小化问题与惩罚体积(方程26)。而且,对于下面的所有详细实例,为便于表述,假定使用FEA进行物理模拟,但是也可使用上面所提到的其他物理模拟类型。

起始形状可简单地是设计空间或者设计空间与合适的种子几何的交集。可通过将起始形状转换为有符号的距离场(SDF)来创建初始水平集ψ

其中n

其中v是形状导数(方程28)。应注意,可使用一种或多种启发式形状更新方法,并且可鉴于形状导数所指定的移动方向使用移动水平集的第0等高线的一种或多种方法。FEA节点与水平集格网点之间的线性映射(参见上面的贴体求解器)可允许将FEA结果例如D∈(u):∈(u)传输到其中计算平流传送速率v的水平集。

一旦目标函数已经收敛,就可使用等高线法来提取最终水平集的表面,所述等高线法提取ψ的第0等高线。图3B示出来自拓扑优化迭代历史的快照320的实例的图形表示。针对快照320a、320b、320c、320d中的每一者,在图3B中示出水平集322和对应的FEA模型324。算法的实例如下:

算法1-基于水平集的拓扑优化

输入:(Ω,D

输出:(Ω

//根据设计空间将水平集ψ初始化

1:ψ

//迭代直到满足收敛公差c

2:i=0

3:当i=0或|J

//将FEA元素的本构模型设定为空隙D

4:

//制定并求解FEA问题

5.

6.u-K

//计算平流传送速率

7:

//求解哈密顿雅可比并获得新水平集ψ

8:

9:ψ

//计算目标

10:

//使迭代递增

11:i←i+1

12:结束循环

//获得最终水平集作为实体区域

13:

应注意,针对任意目标和约束对此算法进行泛化可能需要进行修改,诸如以下。在第6行中,应解决计算每个目标和约束的形状导数所需的任何伴随问题(参见上面的伴随方法)。在第7行中,应使用增广式拉格朗日法(参见上面的增强拉格朗日方量法)来组合不同的形状导数以产生单个平流传送速率。有关大体上对生成式设计过程实施这些修改的进一步细节,参见下面的用于有约束形状优化的增广式拉格朗日算法。

返回图3A,当要使用的生成式过程是晶格和蒙皮优化时,针对设计空间对晶格和蒙皮模型304A进行初始化,其中将设计空间划分成由蒙皮包围的晶格。应注意,晶格是布置为3D构型(拓扑)的一组实体材料梁,而蒙皮是包裹在晶格材料周围的实体材料薄壳。在初始化之后,执行304B对建模对象的物理模拟,并且使用将应力比与晶格中的梁的厚度联系起来的启发式方法,使用来自模拟的结果来更新304C模型的晶格模型部分。迭代执行此模拟304B和更新304C过程,直到收敛304D。现在描述此晶格和蒙皮优化的详细实例。

图3C示出用于晶格和蒙皮的厚度优化的过程340的实例的图形表示。晶格和蒙皮优化可以是两步式过程,其中在第一步中创建统一厚度的晶格和蒙皮,随后进行由全应力设计原理驱动的晶格和蒙皮厚度的优化。例如,可(由计算机自动地或响应于用户输入)将初始实体域Ω342划分344为蒙皮(Ω

图3D示出不同晶格拓扑360的实例的图形表示。例如,将不同的晶格拓扑360示出为晶胞(例如,尺寸为1×1×1的立方体)。不同的晶格拓扑360包括X拓扑362、格网拓扑364、tetra拓扑366、八隅体拓扑368、雪花拓扑370和vin tile拓扑372。其他晶格拓扑也是可能的。晶格设计创建可通过划分原始设计空间以获得用于晶格创建的体积子集

可存在预先计算的晶格晶胞库,以用于在晶胞内部创建不同的晶格微观结构T。输出晶格可取决于以下参数:1)晶格拓扑T:表示不同的晶格微观结构;2)单位大小矢量u={u

图3E示出用于使用晶胞产生晶格的过程380的实例的图形表示。过程380包括从设计空间382和晶胞384转变到填充有晶胞的设计空间386,然后转变到具有优化梁厚度的最终晶格388。

蒙皮创建的输入可包括设计域表面的一个或多个用户选择的子集,以下称为蒙皮区域

在一些实现方式中,采取线性弹性大小优化途径。晶格和蒙皮可分别由n

其中B

最小化J(Ω

受制于Ku=f (36)

t

在全应力设计中,目标函数可以是体积和应力的加权和

可使用晶格优化过程的启发式途径(例如,下面的算法2)来优化方程35-37的有约束厚度优化问题。

几何初始化涉及晶格和蒙皮的创建(参见上面的晶格和蒙皮创建)。晶格可使用晶格拓扑T、单位大小u、偏移矢量f和晶格厚度变量的最小界限t

用于模拟的FEA模型可分别使用梁和壳体元素来表示晶格和蒙皮。FEA模型可由梁、壳体和实体元素组成,而几何模型可使用梁和壳体厚度值来创建晶格和蒙皮,其中实体区域保持不变。在优化过程的每次迭代期间,可根据对应厚度设计变量的当前值来更新所有梁和壳体元素的刚度。一旦求解FEA模型,就可计算每个晶格梁端部和壳体多边形顶点处的应力比。此应力比信息可用于例如使用启发式规则或另一种途径来更新厚度以用于下一次迭代。

算法2–晶格和蒙皮厚度优化:

输入:(T,u,f,t

输出:

//使用最小厚度创建晶格和蒙皮

1.

2.

//将晶格和蒙皮中的所有元素处的厚度初始化为最小厚度

3.

//迭代直到满足收敛公差c

4.i=0

5.当i=0或|J

//使用所述元素中的顶点的厚度计算元素刚度

6.

//制定并求解FEA问题

7.

8.u=K

//计算每个顶点处的应力比

9.

//根据应力比计算厚度增量

10.

//在不违反界限的情况下更新厚度

11.

//计算目标

12.

//使迭代递增

13.i←i+1

14.结束循环

应注意,上面第10行中的f是来自不同载荷情况的应力比的函数。例如,可使用Patnaik等人的“Optimality of a Fully Stressed Design”,NASA/TM–1998-207411中所设计的全应力设计(FSD)方法。应注意,可使用适用于将应力比(或其他模拟数据)转换成厚度调整量的其他方法。

返回图3A,当要使用的生成式过程采用晶格混合水平集方法进行拓扑优化时,针对设计空间对水平集进行初始化306A。应注意,因为水平集方法是宏观结构生成建模技术的实例,所以生成式模型(例如,水平集)将正在设计的对象表示为设计空间内的一个或多个实体区域(其中具有均质材料)与一个或多个空隙区域(其中不具有材料)之间的一个或多个边界。然而,在混合拓扑优化(如在本文档中所描述)的情况下,执行306B对建模对象的物理模拟,其中将实体区域的至少一部分视为在其中具有至少一个空隙(例如,宏观结构生成建模技术将其视为实体、物理模拟将其视为部分地包含呈晶格形式的空隙的事物),或者将空隙区域的至少一部分视为在其中包含至少一个实体(例如,宏观结构生成建模技术将其视为空隙、物理模拟将其视为部分地包含呈晶格形式的实体材料的事物)。

使用来自模拟的结果更新306C水平集,并且针对收敛进行收敛306D。然后,模拟、更新和检查过程进行迭代,直到收敛为止。现在描述这种类型的宏观结构混合拓扑优化过程的详细实例,其中可一起使用拓扑优化和格构来产生包含实体或空隙以及晶格的最终设计。但是不是通过用晶格代替(所生成拓扑的)实体或空隙区域来手动创建这种设计(这可导致次优设计),而是可在拓扑优化期间考虑晶格行为的影响,这可导致改进的结构设计,诸如更坚固或更耐用的零件、更少的材料使用或其组合,诸如改进的强度与重量比。

为了将拓扑优化期间的晶格行为考虑在内,可为晶格创建均质化晶格材料表示。均质化晶格材料表示将由梁和空隙区域构成的晶格的刚度在晶格中的梁的统一厚度下表达为晶格拓扑和晶格的体积分数(以及可能地其他晶格设置)的函数。例如,可用晶格拓扑(例如,晶格拓扑360)中的每一个可具有针对其产生的代表性体积元素(RVE)。可使用用于创建晶格的代表性体积元素(RVE)的一种或多种方法,包括名称均为“METHOD AND SYSTEMFOR GENERATING LATTICE RECOMMENDATIONS IN COMPUTER AIDED DESIGN APPLICATIONS”的2017年4月26日提交的PCT公布号WO 2017/186786 Al和2018年10月25日提交的美国申请号16/096,623中所描述的方法。

RVE概念可假设微观结构的特定形状/图案在晶格中重复。因此,代替对整个晶格结构进行建模,可使用适当的周期性边界条件对形状/图案的重复部分(RVE)进行建模。一旦计算出RVE的行为,就可将重复部分进行均质化并表示为各向异性材料。因此,可将晶格微观结构表示为具有等同特性的连续材料。这些等同特性可通过适当的微机械建模过程获得,例如使用均质化方法来针对不同晶格拓扑创建代表性体积元素。均质化中广泛使用的晶格是八隅体晶格及其分析计算的RVE。可构建数值计算的晶格RVE特性的数据库,以用于在混合拓扑优化中使用。因此,混合拓扑优化可使用均质化晶格RVE将格构与基于水平集的拓扑优化相结合。

多种晶格拓扑类型(参见例如图3D)可用于晶格创建。每种拓扑类型可具有独特的结构行为,并且在用于优化结构部件时可产生不同的最优设计。此外,结构行为可随基体材料、晶格取向、单位大小和厚度而变化。因此,在各种实现方式中,可存在将拓扑优化与晶格结构集成在一起的不同水平。

为了集成到拓扑优化方法中,可将晶格刚度表达为材料密度(体积分数)和晶格拓扑类型的函数。可使用取决于晶格拓扑类型的特征长度c

可使用线性弹性本构模型将均质化晶格的行为表示为:

其中σ和E分别包含由下式给出的柯西应力张量和对应的应变张量的分量:

σ

应注意,对于各向同性线性弹性材料,本构矩阵可由下式给出:

其中E、v分别表示杨氏模量和泊松比。

此外,方程40中的应力和应变不是晶格梁中的应力和应变,而是均质化RVE的应力和应变。因此,应将晶格梁中的应力和应变信息转换为均质化RVE的应力和应变信息。首先,可作为表面牵引力在RVE的边界上施加应力。例如,可通过施加统一的表面牵引力t=u

另外,由于RVE表示潜在地无限重复的形状/图案,所以应当应用周期性边界条件。最后,由于晶格布局和取向,RVE示出各向异性材料特性。在本申请中,晶格可被认为是与由下式给出的本构矩阵没有对称平面的各向异性材料:

参考方程40,

∈=[d

由于在拓扑优化期间可改变晶格体积分数,因此限定本构矩阵

d

其中

未知多项式系数可通过针对x

生成完整的晶格RVE数据库涉及针对若干离散x

首先,可选择D中在所请求x

{x

x

在每个数据点处,可对方程48中的基的矢量求值。通过堆叠基的行矢量,可生成以下nx4矩:

同样,可收集所有数据点处的d

第二,若所选择数据点包括x

第四,可使用线性回归确定方程48中的多项式系数。

b

第五,一旦根据方程54计算出未知系数,就可使用方程48计算在给定

d

图4B示出例如如由图1A的CAD程序116执行的用于混合拓扑优化的设计工作流程的过程440的实例。在过程440中,可在保持晶格厚度恒定的同时优化拓扑。针对统一厚度晶格对拓扑进行优化442。由于两个可能的选项448和450,从过程440可得到两种类型的设计。在446处,可关于是否在优化拓扑设计内部(对比在优化拓扑设计外部)具有晶格进行检查。第一选项涉及将设计空间划分为实体和晶格区域,在这种情况下,可使用算法3执行实体晶格拓扑优化450,诸如图4C和图4D所示。

图4C示出来自实体晶格混合拓扑优化的输出的3D视图460的实例的图形表示。图4D示出图4C的来自实体晶格混合拓扑优化的输出的切片视图470的实例的图形表示。如图所示,晶格462位于实体区域464周围的拓扑优化表面的外部。这是由内而外的混合拓扑优化的实例,其中晶格填充存在于拓扑优化设计与原始设计空间之间的负空间中。

第二选项涉及将设计空间划分为晶格和空隙区域,在这种情况下,可使用算法4执行晶格空隙拓扑优化448,诸如图4E和图4F所示。图4E示出来自晶格-空隙混合拓扑优化的输出的3D视图480的实例的图形表示。图4F示出图4E的来自晶格-空隙混合拓扑优化的输出的切片视图490的实例的图形表示。如图所示,晶格482在拓扑优化表面484的内部。这是提供具有晶格填充的拓扑优化的混合拓扑优化的实例。

应注意,一些实现方式包括第一选项或第二选项,而一些实现方式包括两个选项并且允许用户针对任何给定设计空间基于美学、结构完整性或其他原因选择要执行的混合晶格拓扑优化的类型。此外,一些实现方式还包括在晶格厚度保持恒定的情况下对结构的拓扑进行优化442之后如何对晶格中的梁的可变厚度进行优化444的选择。在一些实现方式中,所执行的晶格厚度优化的类型取决于先前执行的拓扑优化的类型(例如,鉴于均质化过程中的潜在不准确性(例如,对于粗分辨率晶格),可执行不同类型的厚度优化)。

例如,可在452处针对在拓扑优化442期间使用的晶格的分辨率进行检查,并且如果使用了精细分辨率晶格,则可使用选项454(例如,使用算法5的晶格密度优化);否则,可使用选项456(例如,使用算法2的晶格厚度优化)。应注意,构成“精细分辨率晶格”的晶格的分辨率在给定实现方式中可通过实验确定,并且/或者可使用启发式规则(例如,晶格晶胞体积/总体积<0.02意指晶格是精细的)。

现在描述如何使用水平集方法执行混合拓扑优化的详细实例。为简化算法,可使用合规性最小化问题与惩罚体积(方程26)。

算法3中列出示例性实体晶格设计过程,其中起始形状和水平集与算法1的起始形状和水平集完全相同。与晶格和蒙皮优化(算法2)不同,可将起始晶格厚度(和对应的体积分数)可设定为接近最大允许值的高值。使用上面概述的方法可获得对应的晶格本构模型(参见均质化)。用于模拟的FEA模型包括遍及正在优化的生成式设计空间的实体区域的实体元素。接下来,可迭代地优化形状,直到目标函数已经收敛为止。在每次迭代中,可像在基本拓扑优化方法中那样更新FEA模型中每个元素e的本构模型D,但是可给予在水平集外部的元素晶格本构模型D

算法3-实体晶格混合拓扑优化

输入:(T,u t

输出:(Ω

//根据设计空间将水平集ψ初始化

1.ψ

//设定初始晶格厚度

2.t

//计算初始晶格体积分数并获得晶格本构模型D

3.

4.D

//迭代直到满足收敛公差c

5.i=0

6.当i=0或|J

7.

//制定并求解FEA问题

8.

9.u=K

//计算平流传送速率

10.

//求解哈密顿雅可比并获得新水平集ψ

11.

12.ψ

//计算目标

13.

//使迭代递增

14.i←i+1

15.结束循环

//获得最终水平集作为实体区域

16.

//获得最终晶格区域

17.Ω

可将晶格区域确定为原始设计空间与实体区域之间的差。在一些实现方式中,可使用OpenVDB方法来提取最终水平集。应注意,可使用网格、B-Rep或水平集空间来以可用于下一阶段的形式提取最终水平集。

晶格空隙设计过程(算法4)与实体晶格过程(算法3)在两个步骤上有所不同。例如,在步骤7中,可改变元素更新规则以设定水平集内部的元素的晶格本构模型D

算法4-晶格-空隙混合拓扑优化

输入:

输出:(Ω

//根据设计空间将水平集ψ初始化

1.ψ

//将初始晶格厚度设定为最大厚度的75%

2.

//计算初始晶格体积分数并获得晶格本构模型D

3.

4.D

//迭代直到满足收敛公差c

5.i=0

6.当i=0或|J

//将FEA元素的本构模型设定为晶格D

7.

//制定并求解FEA问题

8.

9.u=K

//计算平流传送速率

10.

//求解哈密顿雅可比并获得新水平集ψ

11.

12.ψ

//计算平流传送速率

13.

14.i←i+1

15.结束循环

//获得最终水平集作为晶格区域

16.

最后,在步骤16中,最终水平集的第0等高线表面可限定晶格区域。在一些实现方式中,可使用OpenVDB方法来提取最终水平集。应注意,可使用网格、B-Rep或水平集空间来以可用于下一阶段的形式提取最终水平集。

一旦使用算法3或4获得晶格区域的优化拓扑,就可使用晶格和蒙皮厚度优化过程进行晶格厚度优化(参见上面的晶格和蒙皮优化)。这可能需要改变FEA模型,其中在对厚度进行优化之前,将具有晶格RVE的实体元素替换为梁元素。替代地,可使用具有等同晶格特性(RVE)的实体元素来进行厚度优化,如算法5中所概述。应注意,当使用精细分辨率晶格时,此方法可更相关。当使用厚度优化过程时,这种晶格可导致FEA模型中的大量的梁元素(参见上面的晶格和蒙皮优化)。

在算法5中,厚度设计变量可由晶格区域中每个实体元素处的体积分数表示。在算法开始时,将厚度值初始化为最小厚度t

在优化结束时,可在晶格区域中创建实际晶格几何,其中每个梁处的厚度值是从用于模拟的实体网格映射的。为此,可在FEA节点与水平集格网点之间使用相同的线性映射(请参见上面的贴体求解器)。

算法5-晶格密度优化

输入:(T,u,t

输出:

//将晶格区域中的所有元素处的晶格厚度初始化为最小厚度的厚度

1.

//迭代直到满足收敛公差c

2.i=0

3.当i=0或|J

//计算体积分数并更新晶格本构模型

4.

5.D

//制定并求解FEA问题

6.K=∫

7.u=K

//计算每个顶点处的应力比

8.

//根据应力比计算厚度增量

//(例如,α=.5,β=0.1,γ=0.5)

9.

//在不违反界限的情况下更新厚度

10.

//计算目标

11.

//使迭代递增

12.i←i+1

13.结束循环

//在将实体元素处的厚度映射到水平集格网之后创建晶格

14.Ω

应注意,尽管上面的详细实例使用水平集表示和水平集方法,但是可使用其他宏观结构类型的拓扑优化系统和技术。

图4A示出(例如如由图1A的CAD程序116执行的)针对正在生成式设计用于制造的对象的3D模型的一个或多个部分对晶格填充的拓扑进行优化的过程的实例。例如由CAD程序116获得400设计准则、边界条件和/或其他设计变量。这可涉及例如通过显示装置120上的UI 122接收用户输入、从另一个程序或第三方源导入信息,并且/或者在给定实现方式中这些输入中的一个或多个可以是预限定的。

边界条件可以是机械问题定义和输入实体,所述输入实体保留以用作与较大3D模型中的其他部件或单独3D模型的连接点。在一些实现方式中,获得400包括例如通过显示装置120上的UI 122来接收输入400,所述输入400指示限定用于对象的拓扑优化的设计空间的至少一部分的初始3D模型。在一些实现方式中,例如通过显示装置120上的UI 122使得用户能够从UI中示出的组件选择多个零件,并且使得用户能够指示载荷点并远离设计的区域。然后,软件(例如,CAD程序116)可将这些的逆用作设计空间。还可接收400其他输入,诸如所选择晶格拓扑。

设计准则可包括一个或多个设计目标以及一个或多个设计约束。设计目标可包括使要制造的对象的一个或多个成本函数最小化并且/或者使其一个或多个效用函数最大化的那些目标。在一些实现方式中,设计目标包括以下中的一者或多者:(1)使材料使用(例如,废料)最小化;(2)使重量最小化;(3)使制造时间最小化;(4)使工具寿命最大化;(5)使去除支撑材料的能力最大化;(6)以设定自然频率为目标(例如,实现减振的较高/较低的自然振动模式);以及(7)零件在结构内的定位和包装(例如,用于电路致动的电子部件(包括为组件中的部件之间的布线预留空间、限制布线长度)和/或用于结构健康监测的部件,以及确保每个部件可独立地或用有限数量的步骤添加/移除的组件考虑)。设计约束可包括解决制造要求和/或解决使用要求的那些约束。在一些实现方式中,设计约束包括以下中的一者或多者:(1)制造约束,其将几何限制为可制造的那些几何(例如,其中不使用单独支撑材料的AM过程的最小自支撑角度,这在适当时受制于构建方向;或者AM或SM过程的机械访问约束,诸如3轴、5轴和/或2.5轴CNC约束);(2)热机械约束;(3)材料分数或变化约束;(4)结构完整性;(5)刚度;(6)合规性;(7)应力准则(例如,用于制造或使用的冯·米塞斯或Tsai-Wu应力);(8)物理约束(不干扰较大的零件系统);以及(9)破坏约束(例如,脆性弹性分数抗性)。在一些实现方式中,设计准则包括使对体积、应力、位移、屈曲安全系数和/或自然频率约束的合规性最小化,但是可将所述方法推广到其他设计目标和约束,包括使体积、与目标(合规机构)的偏差(例如,最小二乘方偏差)和/或设计相关载荷(压力载荷)最小化。

在一些实现方式中,例如由图1A的CAD程序116获得400用于要制造的对象的设计空间、用于对象的物理模拟的设置、针对对象的至少一个设计目标以及针对对象的至少一个设计约束。由本文档中描述的系统和技术执行的物理模拟可模拟一种或多种物理特性,并且可使用一种或多种类型的模拟。例如,可使用FEA(包括线性静态FEA)、有限差分法和物质点法。此外,除了其他可能性之外,对物理特性的模拟可包括模拟屈曲、自然频率、热通量、电通量或电磁通量以及材料固化特性。应注意,用于物理模拟的设置对于不同的物理模拟来说将是不同的。

例如由CAD程序116使用生成式设计过程迭代地修改405对象的生成式模型的三维拓扑和所述三维拓扑的一个或多个外部形状两者,所述生成式设计过程采用水平集拓扑优化方法和生成式模型在设计空间中的水平集表示。例如,这可包括使用基于梯度的算法来优化对象模型的3D拓扑和形状。在一些实现方式中,迭代修改405涉及使用上面结合图3A(混合晶格)和图4B至图4F描述的系统和技术。

在用于拓扑优化的混合晶格途径中,使用均质化晶格材料表示,其中所述均质化晶格材料例如使用对应于不同晶格拓扑的RVE将由梁和空隙区域构成的晶格的刚度表达为晶格拓扑和晶格的体积分数的函数,如上所述。应注意,体积分数是晶胞大小和梁厚度的函数,并且可使用另外的晶格设置,如上面所提到。可使用各种产生RVE的途径。通常,均质化晶格材料表示可将给定晶格的结构行为表达为各向异性实体材料,所述各向异性实体材料是特性近似等同于给定晶格的连续材料。可使用各种均质化方法,诸如数值均质化和分析均质化,并且/或者可使用实验数据来限定均质化晶格材料表示。

在一些实现方式中,迭代修改405包括根据晶格拓扑的均质化晶格材料表示的本构矩阵来调整405A均质化晶格材料表示的体积分数。在一些实现方式中,在保持单位大小恒定的同时改变梁厚度。在一些实现方式中,改变单位大小,但是这可能导致具有混合单位大小的晶格,这在制造期间可能带来挑战。在一些实现方式中,在初始拓扑优化期间使用统一晶格。

在任何情况下,都改变405B正在迭代修改的模型的当前迭代以进行物理模拟。这可涉及:在晶格中的梁的统一厚度下,根据水平集表示的当前迭代和均质化晶格材料表示改变405B用于物理模拟的本构模型。在一些实现方式中,改变405B用于物理模拟的本构模型包括:诸如上面结合算法4所述,根据水平集表示的当前迭代,(i)在三维拓扑的一个或多个外部形状外部使用空隙模拟元素,并且(ii)针对在三维拓扑的一个或多个外部形状内部的模拟元素使用均质化晶格材料表示。例如,空隙元素可具有其中杨氏模量降低到常规实体材料杨氏模量的约0.001的本构模型(参见方程43和44),并且晶格元素可使用晶格的本构模型,如上面在章节标题均质化、随晶格体积分数的变化和针对任意晶格特性预测RVE下所解释的。

在一些实现方式中,改变405B用于物理模拟的本构模型包括:根据水平集表示的当前迭代,(i)针对在三维拓扑的一个或多个外部形状外部但在设计空间的边界内部的模拟元素使用均质化晶格材料表示,并且(ii)在三维拓扑的一个或多个外部形状内部使用实体模拟元素。应注意,在FEA中,每个元素具有促成整体刚度矩阵的刚度矩阵。对此刚度矩阵求逆之后,可获得解(应力、位移等)。在制定元素刚度矩阵时,实体元素刚度矩阵可使用线性弹性材料模型,而晶格元素可使用晶格RVE本构模型。此外,设计空间的边界可由(例如,如由用户指定的)初始三维模型限定。

使用改变的本构模型执行405C对象的物理模拟,以相对于至少一个设计目标和至少一个设计约束产生物理评估。如上面所提到,可使用各种类型的物理模拟,因此可产生各种类型的物理评估。在一些实现方式中,执行405C物理模拟涉及使用基于贴体网格的求解器执行有限元分析模拟,并且本构模型通过在生成式模型的水平集表示的体素格网点与有限元分析模拟所使用的实体网格模型的元素之间映射几何场数据和有限元模拟数据来改变405B。在一些实现方式中,基于实体网格的模拟可以是非贴体的,例如,是使用体素求解器求解的。

根据物理评估计算405D当前迭代中的水平集表示的形状改变速率。应注意,这是不同目标和约束开始起作用的地方。在一些实现方式中,计算405D形状改变速率涉及使用本文所述的增广式拉格朗日法来计算平流传送速率,诸如当存在多个形状导数时。然后,在下一次迭代之前,例如通过水平集方法使用形状改变速率来更新405E对象的水平集表示。例如,更新405E可使用通过增广式拉格朗日法(ALM)获得的平流传送速率。

在修改405完成对三维拓扑和三维拓扑的一个或多个外部形状两者的改变之后,在保持三维拓扑恒定的同时,例如由CAD程序116根据物理模拟、至少一个设计目标和至少一个设计约束来调整410晶格中的梁的厚度或晶格的密度。例如,参见算法2和算法5的步骤10中的厚度优化,并且还参见算法5的步骤4,其中将厚度转换为等效密度。应注意,可使用密度执行晶格厚度优化。

在针对优化3D拓扑对晶格进行调整之后,可根据三维拓扑、三维拓扑的一个或多个外部形状以及调整的晶格提供415对象的三维模型,以用于使用一个或多个计算机控制的制造系统来制造对应于对象的物理结构。这可涉及如上面结合图1B描述的提供195。因此,提供415可包括生成用于增材制造机器、减材制造机器或其他机器、系统或装置的指令(例如,工具路径说明)。应注意,所描述的过程不需要与任何特定的制造系统或技术一起使用。

返回图3A,当要使用的生成式过程采用中空水平集方法进行拓扑优化时,针对设计空间对水平集进行初始化308A。应注意,水平集方法是宏观结构生成建模技术的实例,其中生成式模型将正在设计的对象表示为设计空间内的一个或多个实体区域(其中具有均质材料)与一个或多个空隙区域(其中不具有材料)之间的一个或多个边界。然而,在中空拓扑优化的情况下,如本文档中所描述,执行308B对建模对象的物理模拟,其中将实体区域的至少一部分视为在其中具有空隙(即,宏观结构生成建模技术将其视为实体、物理模拟将其视为包含中空区域的事物)。

使用来自模拟的结果更新308C水平集,并且针对收敛进行检查308D。然后,模拟、更新和检查过程进行迭代,直到收敛为止。中空拓扑优化方法可通过观察到以下情况而得到激励:常见的非实体结构元件(诸如工字梁、夹层板和管子)可通过将材料放置远离中性轴来实现质量减轻。

与实体结构元件相比,可去除中性轴附近的材料和/或将其重新分配到更远处以变得更轻和/或更硬。非实体结构元件通常可实现比其实体对应物更好的强度重量比,尤其是在弯曲的情况下。但是中空拓扑优化过程不是使用运行具有高安全系数和/或体积目标的基本拓扑优化、然后使用标准几何操作手动转换为中空结构的朴素途径,而是可考虑拓扑优化期间中空内部的影响,这可产生改进的结构设计,诸如更坚固或更耐用的零件、更少的材料使用或其组合,诸如改进的强度与重量比。

与保持中空结构的蒙皮厚度恒定或仅使用全应力设计算法(例如,算法2)来优化蒙皮厚度以产生可变蒙皮厚度相比,这可提供益处,因为所描述的中空拓扑优化过程的拓扑优化阶段可补充或受益于中空过程和厚度优化。与在基于整体实体几何执行实体拓扑优化之后向生成几何中添加腔体(这可使在拓扑优化期间结构响应显著改变并且/或者损失实体几何体所享有的任何最优特性)相比,这可改进所完成设计的结构响应。此外,应注意,所描述的中空拓扑优化无需将拓扑改变限制到壳体表面。除实体材料的外部拓扑之外,还可优化中空的内部拓扑。

现在描述这种类型的宏观结构拓扑优化过程的详细实例,其中可一起使用拓扑优化和中空结构物理模拟来产生最终设计,所述最终设计在一个或多个中空腔体周围包含实体材料。可修改基于水平集的拓扑优化方法以产生中空设计,诸如图5C和图5D所示。图5C示出包含内部腔体的中空设计560的实例的图形表示。图5D示出中空设计560的切片视图562的实例的图形表示,由此露出内部腔体564。可使用如下所述的水平集方法来执行中空拓扑优化。为简化算法,可使用合规性最小化问题与惩罚体积(方程26)。

图5B示出例如如由图1A的CAD程序116执行的用于中空拓扑优化的设计工作流程的过程540的实例。过程540类似于过程440(参见上面的混合拓扑优化),因为过程540具有两个主要步骤。设计工作流程可用于在于第一步骤中在保持中空蒙皮厚度t

图5E示出中空水平集570的实例的图形表示。外部水平集ψ

因此,可通过使设计水平集的第0等高线沿负法向量方向偏移以创建中空蒙皮来实现中空设计。偏移量t

Γ

接下来,可使用在中空拓扑优化期间使用的相同厚度t

算法6中列出在拓扑优化阶段期间使用的设计过程,其中起始形状和水平集与算法1的起始形状和水平集完全相同。用于模拟的FEA模型于正在优化的生成式设计空间的实体区域的非中空部分中包括实体元素。在每次迭代中,都可创建中空设计(参见上面的设计工作流程)。接下来,可像在基本拓扑优化方法中那样更新FEA模型中每个元素e的本构模型D,但是在更新每个元素的本构模型时,使用(例如,使用布尔差运算计算出的)外部和内部水平集之间的差(即ψ

步骤10中的形状导数使用一些附加项来考虑中空区域。下式给出平流传送速率的确切表达:

其中v(x)是来自基本拓扑优化的平流传送速率(方程28),并且K

应注意,在算法6中,拓扑优化在步骤11中仅平流传送外部水平集ψ

算法6-中空拓扑优化

输入:(Ω,D

输出:(Ω

//根据设计空间将水平集ψ初始化

1.ψ

//迭代直到满足收敛公差c

2.i=0

3.当i=0或|J

//使设计水平集偏移以创建中空水平集

4.ψ

5.ψ

//将FEA元素的本构模型设定为空隙D

6.

//制定并求解FEA问题

7.

8.u=K

//计算中空形状导数和平流传送速率

9.

10.

//求解哈密顿雅可比并获得新水平集ψ

11.

12.ψ

//计算目标

13.

//使迭代递增

14.i←i+1

15.结束循环

//获得最终中空水平集

16.ψ

//获得最终实体区域

17.

最终实体区域的提取可由外部水平集与内部水平集之间的布尔差的第0等高线限定。在一些实现方式中,可使用OpenVDB方法来提取最终水平集。应注意,可使用网格、B-Rep或水平集空间来以可用于下一阶段的形式提取最终水平集。

中空拓扑优化的第二阶段544可包括使用算法2、1或7优化中空区域的厚度。应注意,当使用厚蒙皮时,算法1和7可更相关,因为这两种算法都可使用FEA模型中的实体元素表示蒙皮区域。当使用算法2时,可将蒙皮表示为FEA模型中的壳体元素。当表示厚壳体时,算法2的数值准确性会降低。

当使用基本水平集算法1时,可在保持外部形状恒定的同时对来自最终迭代的表示腔体的内部水平集ψ

算法1中的其他步骤可保持不变。此过程可高效地优化限定中空设计的腔体的形状,这可在所生成设计中产生超过一个腔体。

使用先前描述的晶格和蒙皮厚度优化过程(参见上面的晶格和蒙皮优化)可能需要改变FEA模型,其中在优化厚度之前用壳体元素替换实体元素。在一些实现方式中,如算法7中所概述,使用实体元素进行厚度优化。算法7是晶格密度优化(算法5)的表皮等效物。设计变量可包括蒙皮区域中的每个多边形顶点的厚度值,这些值在算法开始时被初始化为最小厚度t

算法7-蒙皮厚度优化

输入:D

输出:

//将蒙皮区域中的所有元素处的蒙皮厚度初始化为最小厚度

1.

//迭代直到满足收敛公差c

2.i=0

3.当i=0或|J

//根据蒙皮创建水平集

4.ψ

//将FEA元素的本构模型设定为空隙D

5.

//制定并求解FEA问题

6.K=∫

7.u=K

//计算每个顶点处的应力比

8.

//根据应力比计算厚度增量

//使用例如α=0.5,β=0.1,γ=0.33

9.

//在不违反边界的情况下更新厚度

10.

//计算目标

11.

//使用当前厚度值更新蒙皮

12.Ω

//使迭代递增

13.i←i+1

14.结束循环

//在将实体元素处的厚度映射到水平集格网之后创建晶格

15.Ω

应注意,尽管上面的详细实例使用水平集表示和水平集方法,但是可使用其他宏观结构类型的拓扑优化系统和技术。

图5A示出(例如,如由图1A的CAD程序116执行的)对正在生成式设计用于制造的对象的3D模型的一个或多个中空部分的拓扑进行优化的过程的实例。例如由CAD程序116获得500设计准则、边界条件和/或其他设计变量。这可涉及例如通过显示装置120上的UI 122接收用户输入、从另一个程序或第三方源导入信息,并且/或者在给定实现方式中这些输入中的一个或多个可以是预限定的。

边界条件可以是机械问题定义和输入实体,所述输入实体保留以用作与较大3D模型中的其他部件或单独3D模型的连接点。在一些实现方式中,获得500包括例如通过显示装置120上的UI 122来接收输入500,所述输入500指示限定用于对象的拓扑优化的设计空间的至少一部分的初始3D模型。在一些实现方式中,例如通过显示装置120上的UI 122使得用户能够从UI中示出的组件选择多个零件,并且使得用户能够指示载荷点并远离设计的区域。然后,软件(例如,CAD程序116)可将这些的逆用作设计空间。还可接收500其他输入,诸如中空结构偏移值输入(例如,由CAD程序116的用户选择用于在拓扑优化期间限定中空结构的恒定偏移)。

设计准则可包括一个或多个设计目标以及一个或多个设计约束。设计目标可包括使要制造的对象的一个或多个成本函数最小化并且/或者使其一个或多个效用函数最大化的那些目标。在一些实现方式中,设计目标包括以下中的一者或多者:(1)使材料使用(例如,废料)最小化;(2)使重量最小化;(3)使制造时间最小化;(4)使工具寿命最大化;(5)使去除支撑材料的能力最大化;(6)以设定自然频率为目标(例如,实现减振的较高/较低的自然振动模式);以及(7)零件在结构内的定位和包装(例如,用于电路致动的电子部件(包括为组件中的部件之间的布线预留空间、限制布线长度)和/或用于结构健康监测的部件,以及确保每个部件可独立地或用有限数量的步骤添加/移除的组件考虑)。设计约束可包括解决制造要求和/或解决使用要求的那些约束。在一些实现方式中,设计约束包括以下中的一者或多者:(1)制造约束,其将几何限制为可制造的那些几何(例如,其中不使用单独支撑材料的AM过程的最小自支撑角度,这在适当时受制于构建方向;或者AM或SM过程的机械访问约束,诸如3轴、5轴和/或2.5轴CNC约束);(2)热机械约束;(3)材料分数或变化约束;(4)结构完整性;(5)刚度;(6)合规性;(7)应力准则(例如,用于制造或使用的冯·米塞斯或Tsai-Wu应力);(8)物理约束(不干扰较大的零件系统);以及(9)破坏约束(例如,脆性弹性分数抗性)。在一些实现方式中,设计准则包括使对体积、应力、位移、屈曲安全系数和/或自然频率约束的合规性最小化,但是可将所述方法推广到其他设计目标和约束,包括使体积、与目标(合规机构)的偏差(例如,最小二乘方偏差)和/或设计相关载荷(压力载荷)最小化。

在一些实现方式中,例如由图1A的CAD程序116获得500用于要制造的对象的设计空间、用于对象的物理模拟的设置、针对对象的至少一个设计目标以及针对对象的至少一个设计约束。由本文档中描述的系统和技术执行的物理模拟可模拟一种或多种物理特性,并且可使用一种或多种类型的模拟。例如,可使用FEA(包括线性静态FEA)、有限差分法和物质点法。此外,除了其他可能性之外,对物理特性的模拟可包括模拟屈曲、自然频率、热通量、电通量或电磁通量以及材料固化特性。应注意,用于物理模拟的设置对于不同的物理模拟来说将是不同的。

例如由CAD程序116使用生成式设计过程来迭代地修改505对象的生成式模型的三维拓扑和所述三维拓扑的一个或多个外部形状两者,所述生成式设计过程将生成式模型的三维拓扑表示为设计空间内的一个或多个实体区域与一个或多个空隙区域之间的一个或多个边界。例如,这可包括使用基于梯度的算法来优化对象模型的3D拓扑和形状,或者使用其他算法,诸如进化算法和随机算法。此外,生成式模型可以是三维拓扑的一个或多个外部形状的水平集表示,并且可采用水平集拓扑优化方法。在一些实现方式中,迭代修改505涉及使用上面结合图3A(中空)和图5B至图5F描述的系统和技术。

改变505A正在迭代修改的模型的当前迭代以用于物理模拟。这可涉及根据三维拓扑和三维拓扑的一个或多个外部形状向内偏移以在三维拓扑中限定中空结构的当前迭代来改变505A用于物理模拟的本构模型。例如,可执行505A布尔差运算。在一些实现方式中,向内限定中空结构的偏移是由计算机辅助设计程序的用户选择的恒定偏移(如上面所提到),由此设定中空结构的初始厚度。在一些实现方式中,针对给定制造过程从已知良好值的数据库检索初始厚度。通常,制造过程决定了最小壁厚。

使用改变的本构模型执行505B对象的物理模拟,以相对于至少一个设计目标和至少一个设计约束产生物理评估。如上面所提到,可使用各种类型的物理模拟,因此可产生各种类型的物理评估。在一些实现方式中,执行505B物理模拟涉及使用基于贴体网格的求解器执行有限元分析模拟,并且通过在生成式模型的水平集表示的体素格网点与有限元分析模拟所使用的实体网格模型的元素之间映射几何场数据和有限元模拟数据来改变505A本构模型。在一些实现方式中,基于实体网格的模拟可以是非贴体的,例如,是使用体素求解器求解的。

根据物理评估计算505C当前迭代中的三维拓扑的一个或多个外部形状的形状改变速率。例如,这可涉及根据算法6中的第9行和第10行计算505C中空形状导数和平流传送速率。应注意,这是不同目标和约束开始起作用的地方。在一些实现方式中,计算505C形状改变速率涉及使用本文所述的增广式拉格朗日法来计算平流传送速率,诸如当存在多个形状导数时。

然后,在下一次迭代之前,使用形状改变速率更新505D对象的生成式模型。例如,更新505D可使用通过增广式拉格朗日法(ALM)获得的平流传送速率。在一些实现方式中,使用水平集方法,诸如上面在算法6中的第11行和第12行中所示。在一些实现方式中,可使用非水平集表面操纵,诸如T样条或网格中的B-Rep控制点移动或节点移动。

在修改505完成对三维拓扑和三维拓扑的一个或多个外部形状两者的改变之后,在保持三维拓扑的一个或多个外部形状恒定的同时,例如由CAD程序116根据物理模拟、至少一个设计目标和至少一个设计约束来调整510中空结构的厚度。例如,参见算法2、算法1和算法7,以及图5B。

在一些实现方式中,调整510中空结构的厚度包括:从中空结构的一个或多个内部形状开始,使用生成式设计过程迭代地修改三维拓扑的一个或多个内部形状,包括根据三维拓扑的当前迭代和一个或多个内部形状来改变用于物理模拟的本构模型,使得在完成修改一个或多个内部形状之后,中空结构的厚度跨三维拓扑是变化的。在一些实现方式中,水平集方法用于优化中空结构的外部形状和/或内部形状。

因此,生成式模型可以是三维拓扑的一个或多个内部形状和一个或多个外部形状的水平集表示,并且生成式设计过程可采用水平集拓扑优化方法来迭代地修改三维拓扑的一个或多个内部形状和一个或多个外部形状。在一些实现方式中,可使用其他宏观结构表示进行生成式设计,其中生成式设计过程将生成式模型的三维拓扑表示为设计空间内的一个或多个实体区域与一个或多个空隙区域之间的一个或多个边界。例如,用于表示中空区域轮廓的其他选项包括其他表面建模技术。例如,外表面可以是网格、T样条或具有以固定偏移量创建的辅助内表面的B-Rep表面,并且可使用经典形状优化方法对外表面进行形状优化。

此外,在一些实现方式中,可在中空结构的三维拓扑的不同区域中识别515:(i)应力水平、(ii)形成或去除支撑材料的容易性、(iii)在建造期间支持或抑制材料形成的能力和/或(iv)出于美学考虑的孔的可见性。然后,对于所述不同区域相较于其余区域的子集,可基于所识别的(i)应力水平、(ii)形成或去除支撑材料的容易性、(iii)在建造期间中支持或抑制材料形成的能力和/或(iv)出于美学考虑的孔的可见性,确定520中空结构的三维拓扑中用于形成或去除在制造期间使用的支撑材料的一个或多个孔的位置。

在对中空结构的厚度进行调整之后(并且潜在地在确定一个或多个孔的一个或多个位置之后),可根据三维拓扑、三维拓扑的一个或多个外部形状以及中空结构的调整的厚度提供525对象的三维模型,以用于使用一个或多个计算机控制的制造系统制造对应于对象的物理结构。这可涉及如上面结合图1B描述的提供195。因此,提供525可包括生成用于增材制造机器、减材制造机器或其他机器、系统或装置的指令(例如,工具路径说明)。应注意,所描述的过程不需要与任何特定的制造系统或技术一起使用。

返回图3A,当要使用的生成式过程采用混合-中空水平集方法进行拓扑优化时,针对设计空间对水平集进行初始化310A。应注意,水平集方法是宏观结构生成建模技术的实例,其中生成式模型将正在设计的对象表示为设计空间内的一个或多个实体区域(其中具有均质材料)与一个或多个空隙区域(其中不具有材料)之间的一个或多个边界。然而,在混合-中空拓扑优化的情况下,如本文档中所描述,执行310B对建模对象的物理模拟,其中将实体区域的至少一部分视为在其中具有部分空隙区域和完整孔隙两者(即,宏观结构生成建模技术将其视为实体、物理模拟将其视为在中空区域周围部分地包含晶格结构的事物)。

使用来自模拟的结果更新310C水平集,并且针对收敛进行检查310D。然后,模拟、更新和检查过程进行迭代,直到收敛为止。现在描述这种类型的宏观结构拓扑优化过程的详细实例,其中组合格构与拓扑优化和中空结构物理模拟以产生最终设计,所述最终设计在一个或多个中空腔体周围包含晶格。可修改基于水平集的拓扑优化方法,以使用中空拓扑优化(其中仅在设计表面附近存在材料,且内部中空区域周围的材料蒙皮的厚度和拓扑未经优化)和混合拓扑优化(其中在拓扑优化期间使用均质化晶格表示(诸如RVE)来创建具有晶格的设计)两者。通过组合中空和混合拓扑优化方法,可产生对象(例如,独立结构或较大结构的零件或部件)的3D模型,所述3D模型包含中空区域和晶格两者,所述晶格在所述对象的外部极限处位于一个或多个中空腔体之间。

图6C示出包含内部腔体和晶格的混合-中空设计660的实例的图形表示。图6D示出混合-中空设计660的切片视图662的实例的图形表示,由此露出内部腔体664和内部晶格666。可如下所述使用水平集方法来执行混合-中空拓扑优化。为简化算法,可使用合规性最小化问题与惩罚体积(方程26)。

图6B示出例如如由图1A的CAD程序116执行的用于混合-中空拓扑优化工作流程的过程640的实例。过程640是三步式过程,其中在步骤642中,在保持晶格和中空蒙皮厚度t

算法8中列出基于水平集的混合-中空设计过程的实例,其中起始形状和水平集与算法1的起始形状和水平集完全相同。中空蒙皮厚度可恒定为t

接下来,可迭代地优化形状,直到目标函数已经收敛为止。在每次迭代中,可如参考图5B所描述创建中空设计。接下来,可像在基本拓扑优化方法中那样更新FEA模型中每个元素e的本构模型D,但是在更新每个元素的本构模型时,使用(例如,使用布尔差运算计算出的)外部和内部水平集之间的差(即ψ

算法8-混合-中空拓扑优化

输入:(T,u,t

输出:(Ω

//根据设计空间将水平集ψ初始化

1.ψ

//设定初始晶格厚度

2.t

//计算初始晶格体积分数并获得晶格本构模型D

3.

4.D

//迭代直到满足收敛公差c

5.i=0

6.当i=0或|J

//使设计水平集偏移以创建中空水平集

7.ψ

8.ψd=ψ

//将FEA元素的本构模型设定为晶格D

9.

//制定并求解FEA问题

10.

11.u=K

////计算中空形状导数和平流传送速率

12.

13.

//求解哈密顿雅可比并获得新水平集ψ

14.

15.ψ

//计算目标

16.

//使迭代递增

17.i←i+1

18.结束循环

//获得最终中空水平集

19.ψ

//获得最终晶格区域

20.

一旦使用算法8获得中空晶格区域的优化拓扑,就可使用蒙皮厚度优化算法(算法7)或晶格-空隙混合拓扑优化算法(算法4)的修改版本进行中空蒙皮厚度优化。

当使用后者时,可在保持外部形状恒定的同时对来自最终迭代的表示腔体的内部水平集ψ

算法4中的其他步骤可保持不变。此过程可高效地优化腔体的形状,从而产生厚度可变的中空蒙皮。使用算法7还可能需要对步骤5中的FEA元素更新规则进行以下修改,而其他步骤保持不变:

晶格厚度优化阶段可使用未经修改的算法5。应注意,FEA模型包括可表示设计空间的实体元素。晶格的存在可通过使用均质化晶格表示(诸如晶格RVE)(参见上面的均质化来考虑。此外,应注意,尽管上面的详细实例使用水平集表示和水平集方法,但是可使用其他宏观结构类型的拓扑优化系统和技术。

图6A示出(例如,如由图1A的CAD程序116执行的)针对正在生成式设计用于制造的对象的3D模型的一个或多个中空部分周围的结构对晶格填充的拓扑进行优化的过程的实例。例如由CAD程序116获得600设计准则、边界条件和/或其他设计变量。这可涉及例如通过显示装置120上的UI 122接收用户输入、从另一个程序或第三方源导入信息,并且/或者在给定实现方式中这些输入中的一个或多个可以是预限定的。

边界条件可以是机械问题定义和输入实体,所述输入实体保留以用作与较大3D模型中的其他部件或单独3D模型的连接点。在一些实现方式中,获得600包括例如通过显示装置120上的UI 122来接收输入600,所述输入600指示限定用于对象的拓扑优化的设计空间的至少一部分的初始3D模型。在一些实现方式中,例如通过显示装置120上的UI 122使得用户能够从UI中示出的组件选择多个零件,并且使得用户能够指示载荷点并远离设计的区域。然后,软件(例如,CAD程序116)可将这些的逆用作设计空间。还可接收600其他输入,诸如所选择晶格拓扑和/或中空结构偏移值输入(例如,由CAD程序116的用户选择用于在拓扑优化期间限定中空结构的恒定偏移)。

设计准则可包括一个或多个设计目标以及一个或多个设计约束。设计目标可包括使要制造的对象的一个或多个成本函数最小化并且/或者使其一个或多个效用函数最大化的那些目标。在一些实现方式中,设计目标包括以下中的一者或多者:(1)使材料使用(例如,废料)最小化;(2)使重量最小化;(3)使制造时间最小化;(4)使工具寿命最大化;(5)使去除支撑材料的能力最大化;(6)以设定自然频率为目标(例如,实现减振的较高/较低的自然振动模式);以及(7)零件在结构内的定位和包装(例如,用于电路致动的电子部件(包括为组件中的部件之间的布线预留空间、限制布线长度)和/或用于结构健康监测的部件,以及确保每个部件可独立地或用有限数量的步骤添加/移除的组件考虑)。设计约束可包括解决制造要求和/或解决使用要求的那些约束。在一些实现方式中,设计约束包括以下中的一者或多者:(1)制造约束,其将几何限制为可制造的那些几何(例如,其中不使用单独支撑材料的AM过程的最小自支撑角度,这在适当时受制于构建方向;或者AM或SM过程的机械访问约束,诸如3轴、5轴和/或2.5轴CNC约束);(2)热机械约束;(3)材料分数或变化约束;(4)结构完整性;(5)刚度;(6)合规性;(7)应力准则(例如,用于制造或使用的冯·米塞斯或Tsai-Wu应力);(8)物理约束(不干扰较大的零件系统);以及(9)破坏约束(例如,脆性弹性分数抗性)。在一些实现方式中,设计准则包括使对体积、应力、位移、屈曲安全系数和/或自然频率约束的合规性最小化,但是可将所述方法推广到其他设计目标和约束,包括使体积、与目标(合规机构)的偏差(例如,最小二乘方偏差)和/或设计相关载荷(压力载荷)最小化。

在一些实现方式中,例如由图1A的CAD程序116获得600用于要制造的对象的设计空间、用于对象的物理模拟的设置、针对对象的至少一个设计目标以及针对对象的至少一个设计约束。由本文档中描述的系统和技术执行的物理模拟可模拟一种或多种物理特性,并且可使用一种或多种类型的模拟。例如,可使用FEA(包括线性静态FEA)、有限差分法和物质点法。此外,除了其他可能性之外,对物理特性的模拟可包括模拟屈曲、自然频率、热通量、电通量或电磁通量以及材料固化特性。应注意,用于物理模拟的设置对于不同的物理模拟来说将是不同的。

例如由CAD程序116使用生成式设计过程来迭代地修改605对象的生成式模型的三维拓扑和所述三维拓扑的一个或多个外部形状两者,所述生成式设计过程将生成式模型的三维拓扑表示为设计空间内的一个或多个实体区域与一个或多个空隙区域之间的一个或多个边界。例如,这可包括使用基于梯度的算法来优化对象模型的3D拓扑和形状,或者使用其他算法,诸如进化算法和随机算法。此外,生成式模型可以是三维拓扑的一个或多个外部形状的水平集表示,并且可采用水平集拓扑优化方法。在一些实现方式中,迭代修改605涉及使用上面结合图3A(混合-中空)和图6B至图6D描述的系统和技术。

在用于拓扑优化的混合-中空途径中,使用均质化晶格材料表示,其中所述均质化晶格材料例如使用对应于不同晶格拓扑的RVE将由梁和空隙区域构成的晶格的刚度表达为晶格拓扑和晶格的体积分数的函数,如上所述。应注意,体积分数是晶胞大小和梁厚度的函数,并且可使用另外的晶格设置,如上面所提到。可使用各种产生RVE的途径。通常,均质化晶格材料表示可将给定晶格的结构行为表达为各向异性实体材料,所述各向异性实体材料是特性近似等同于给定晶格的连续材料。可使用各种均质化方法,诸如数值均质化和分析均质化,并且/或者可使用实验数据来限定均质化晶格材料表示。

在一些实现方式中,迭代修改605包括根据晶格拓扑的均质化晶格材料表示的本构矩阵来调整605A均质化晶格材料表示的体积分数。在一些实现方式中,在保持单位大小恒定的同时改变梁厚度。在一些实现方式中,改变单位大小,但是这可能导致具有混合单位大小的晶格,这在制造期间可能带来挑战。在一些实现方式中,在初始拓扑优化期间使用统一晶格。

在任何情况下,都改变605B正在迭代修改的模型的当前迭代以进行物理模拟。这可涉及根据三维拓扑和三维拓扑的一个或多个外部形状向内偏移以在三维拓扑中限定中空结构的当前迭代、在晶格中的梁的统一厚度下的均质化晶格材料表示,改变605B用于物理模拟的本构模型。例如,可执行605B布尔差运算以限定中空结构,并且在布尔差的3D区域内使用均质化晶格材料表示。

在一些实现方式中,向内以限定中空结构的偏移是由计算机辅助设计程序的用户选择的恒定偏移(如上面所提到),由此设定中空结构的初始厚度。在一些实现方式中,针对给定制造过程从已知良好值的数据库检索初始厚度。通常,制造过程决定了最小壁厚。在任何情况下,使用均质化晶格材料表示代替原本将是三维拓扑的一个或多个外部形状与其向内偏移之间的实体材料的事物。因此,可生成式设计具有内部中空和围绕那些内部中空的晶格的结构,诸如图6D所示。

使用改变的本构模型执行605C对象的物理模拟,以相对于至少一个设计目标和至少一个设计约束产生物理评估。如上面所提到,可使用各种类型的物理模拟,因此可产生各种类型的物理评估。在一些实现方式中,执行605C物理模拟涉及使用基于贴体网格的求解器执行有限元分析模拟,并且通过在生成式模型的水平集表示的体素格网点与有限元分析模拟所使用的实体网格模型的元素之间映射几何场数据和有限元模拟数据来改变605B本构模型。在一些实现方式中,基于实体网格的模拟可以是非贴体的,例如,是使用体素求解器求解的。

根据物理评估计算605D当前迭代中的三维拓扑的一个或多个外部形状的形状改变速率。例如,这可涉及根据算法8中的第12行和第13行计算605D中空形状导数和平流传送速率。应注意,这是不同目标和约束开始起作用的地方。在一些实现方式中,计算605D形状改变速率涉及使用本文所述的增广式拉格朗日法来计算平流传送速率,诸如当存在多个形状导数时。

然后,在下一次迭代之前,使用形状改变速率更新605E对象的生成式模型。例如,更新605E可使用通过增广式拉格朗日法(ALM)获得的平流传送速率。在一些实现方式中,使用水平集方法,诸如上面在算法8中的第14行和第15行中所示。在一些实现方式中,可使用非水平集表面操纵,诸如T样条或网格中的B-Rep控制点移动或节点移动。

在修改605完成对三维拓扑和三维拓扑的一个或多个外部形状两者的改变之后,在保持三维拓扑的一个或多个外部形状恒定的同时,例如由CAD程序116根据物理模拟、至少一个设计目标和至少一个设计约束来调整610中空结构的厚度。例如,参见算法4和算法7,以及图6B。

在一些实现方式中,调整610中空结构的厚度包括:从中空结构的一个或多个内部形状开始,使用生成式设计过程迭代地修改三维拓扑的一个或多个内部形状,包括根据(i)三维拓扑的当前迭代和一个或多个内部形状以及(ii)均质化晶格材料表示来改变用于物理模拟的本构模型,使得在完成修改一个或多个内部形状之后,中空结构的厚度跨三维拓扑是变化的。在一些实现方式中,水平集方法用于优化中空结构的外部形状和/或内部形状。

因此,生成式模型可以是三维拓扑的一个或多个内部形状和一个或多个外部形状的水平集表示,并且生成式设计过程可采用水平集拓扑优化方法来迭代地修改三维拓扑的一个或多个内部形状和一个或多个外部形状。在一些实现方式中,可使用其他宏观结构表示进行生成式设计,其中生成式设计过程将生成式模型的三维拓扑表示为设计空间内的一个或多个实体区域与一个或多个空隙区域之间的一个或多个边界。例如,用于表示中空区域轮廓的其他选项包括其他表面建模技术。例如,外表面可以是网格、T样条或具有以固定偏移量创建的辅助内表面的B-Rep表面,并且可使用经典形状优化方法对外表面进行形状优化。

在修改605完成对三维拓扑和三维拓扑的一个或多个外部形状两者的改变之后,并且在调整610之后,在保持三维拓扑的一个或多个外部形状和调整的中空结构的厚度两者恒定的同时,例如由CAD程序116根据物理模拟、至少一个设计目标和至少一个设计约束来调整615晶格中的梁的厚度或晶格的密度。例如,参见算法2和算法5的步骤10中的厚度优化,并且还参见算法5的步骤4,其中将厚度转换为等效密度。应注意,可使用密度执行晶格厚度优化。

此外,在一些实现方式中,可在中空结构的三维拓扑的不同区域中识别620:(i)应力水平、(ii)形成或去除支撑材料的容易性、(iii)在建造期间支持或抑制材料形成的能力和/或(iv)出于美学考虑的孔的可见性。然后,对于所述不同区域相较于其余区域的子集,可基于所识别的(i)应力水平、(ii)形成或去除支撑材料的容易性、(iii)在建造期间中支持或抑制材料形成的能力和/或(iv)出于美学考虑的孔的可见性,确定625中空结构的三维拓扑中用于形成或去除在制造期间使用的支撑材料的一个或多个孔的位置。

在对中空结构的厚度和晶格进行调整之后(并且潜在地在确定一个或多个孔的一个或多个位置之后),可根据三维拓扑、三维拓扑的一个或多个外部形状、中空结构的调整的厚度以及调整的晶格提供630对象的三维模型,以用于使用一个或多个计算机控制的制造系统制造对应于对象的物理结构。这可涉及如上面结合图1B描述的提供195。因此,提供630可包括生成用于增材制造机器、减材制造机器或其他机器、系统或装置的指令(例如,工具路径说明)。应注意,所描述的过程不需要与任何特定的制造系统或技术一起使用。

现在相对于厚壳体表示的形状导数描述用于实现用于中空拓扑优化和/或混合-中空拓扑优化的宏观结构类型的拓扑优化系统和技术的进一步细节。

令Σ为欧氏空间中光滑、水密的定向表面,其具有指向Σ外部的“自由空间”的方向的法向矢量场N

Ω

直白地说,Ω

Ω

应注意,通常所谓的

∑可允许变形。变形可由可表示为

一旦∑变形,那么∑

可使用最速下降法找到某个目标函数Φ:

Φ(∑

对于足够小的ε,其中DΦ

使用就θ

考虑以下形式的目标函数。令

Φ(∑):=Φ

可假设已知如何计算Φ

Φ

其中

对于足够小的ε。Ω的函数G

Φ的形状导数可用Φ

因此,期望形状导数公式为:

应注意,可简单地将y用作∑

回想一下,形状导数的确切公式的实用性在于:它应允许挑选θ

存在两种方式继续进行。第一种方式是应用提取下降方向的希尔伯特空间方法。第二种方式是将变量的变化应用于Σ

其中Jac是n的雅可比行列式,并且是基于以下事实:对于所有x∈∑,proj

事实证明,可确定n的雅可比行列式。在微分几何的某种帮助下,可证明Jac(x)=1+hH

因此,如我们的最速下降程序将∑朝向Φ的最优方向更新所要求的,θ

除了上述用于中空拓扑优化和/或混合-中空拓扑优化的细节之外,形状导数可用于辅助对对象的生成式设计的3D模型进行后处理,诸如以解决制造考虑。对于许多制造工艺来说,建造具有中空内部结构的零件仍然具有挑战性。通常在制造期间使用支撑材料以使得能够将原材料形成为期望形状。例如,粉末床融合(PBF)金属增材制造(AM)可使用金属颗粒或支撑结构,熔模铸造(IC)可使用陶瓷壳,并且砂模铸造(SC)可使用内部砂芯。通常需要在制造期间提供支撑材料,随后需要在事后移除,因为支撑材料在制造期间将占据零件的内部。

为了使得能够实际形成和去除支撑材料,可自动生成孔以穿通中空几何的外部蒙皮,其中这些孔放置在设计的较低应力区域中。图7A示出生成式设计的中空零件700的实例,其中热图示出载荷路径以及在较低应力区域中的示例性孔位置705。孔放置位置705的实例指示孔如何可位于设计的较低应力区域中,如由孔位于热图的蓝色区域中所指示,所述蓝色区域对应于来自载荷路径的较低应力。

对于孔放置的考虑可包括但不限于:(1)冯·米塞斯(VM)应力的量和位置;(2)形成或去除支撑材料的容易性;(3)在建造期间中支持或抑制材料形成的能力;以及(4)出于美学考虑的孔的可见性。对于给定中空几何,可使用拓扑形状导数来找到放置孔的最优位置。然后可使用形状优化来优化此孔的形状。上面的示例性目标是合规性最小化。然而,可将额另外的目标(诸如去除支撑材料的能力的量度)用作目标,或者可使用多个目标。

例如,可如下度量提取材料的能力。首先,假设每个内部腔体充满粉末。取表面上的任何点(潜在的孔位置)。现在计算从给定粒子到孔位置的最短距离。例如,图7B示出从给定孔720到中空几何730内部的各个点725的距离的可视化。通过针对所有粒子计算此距离并将其相加,总和便是取出支撑材料的容易度的示例性量度。可针对表面上的所有点计算此距离连同表面梯度,并且可将此目标和梯度与合规性最小化的目标和梯度相结合。

因此,可出于可制造性原因(例如,增材制造粉末去除、支撑砂模铸造模芯等)在优化中空壳体中自动生成孔。这些孔可如上所述自动地或半自动地放置,并且具有参数,诸如孔大小、孔的数量等。在一些实现方式中,上面描述的孔放置过程由CAD程序116执行,并且用户例如通过UI 112控制孔参数以及孔位置的最终批准。

可开发解决有约束形状优化问题的算法,其中要在等式和不等式约束的混合下使形状函数(例如,体积或合规性)最小化。这些约束可使用形状函数(例如,目标体积、聚合应力量度或聚合位移量度)。可使用不同的算法来处理非聚合(亦称逐点)约束,诸如形状的每个点处的应力的范数。通常,优化问题可具有以下形式:

s.t.G

G

对于Ω中满足线性弹性PDE的u

在优化矢量变量的标量函数的经典设置中,增广式拉格朗日法可最简单地应用于以下形式的等式约束优化问题:

s.t.g

增广式拉格朗日法是所谓的惩罚方法的增强。惩罚方法考虑惩罚目标函数

惩罚方法的问题在于:由于条件不佳,c值的增序列会使得越来越难以在数值上使L

并且还维持拉格朗日乘子的序列μ

增广式拉格朗日算法的一般框架可能需要增加惩罚参数的方法和收紧公差的方法

1.挑选最终公差T

2.设定k=0。以初始公差c

3.当未收敛到公差T

a.对问题

b.检查约束满足

(i)如果约束不满足在公差T

(ii)如果约束满足在公差T

c.设定公差T

d.使k递增。

应注意,上面算法的特征在于更新拉格朗日乘子。这可如下理解。迭代k处的增强拉格朗日量的无约束最小值满足

当然,等式约束优化方程76的解x

g

在增广式拉格朗日算法中,由于期望确保迭代x

将经典等式约束增广式拉格朗日算法良好地扩展到经典不等式约束情况可取决于两个事实。对于事实1,问题

s.t.g

等同于问题

方程82中的新z变量称为松弛变量,并且在可行最优值处满足

对于事实2,方程82的增强拉格朗日量为

并且可如下对增广式拉格朗日算法中产生的无约束优化进行分解和部分求解:

其已经引入

结果是,可通过对修改的拉格朗日量函数应用增广式拉格朗日算法(参见上面的等式约束)来求解不等式约束方程81。

其梯度(在一些操纵后)为

应注意,为完整起见,方程84中出现在z变量内的最小化的解。代入此解得出方程85。为简单起见,以如下形式对在z变量内的最小化进行重新措辞

其中a,b,s是固定参数,其可如下进行求解。

第一步是代入y:=z

Φ

=min{as+bs

=amax{s,-a/2b}+b[max{s,-a/2b}]

在s=g

为简单起见,可应用增广式拉格朗日算法求解具有一个标量等式约束和一个标量不等式约束的方程73-75。然后,可将Ω∈Adm解译成意指Ω满足以下形式的可容许性约束。每个Ω∈Adm的表面包含预限定端口;每个Ω∈Adm包含预限定保留(keep-in)区域;并且每个Ω∈Adm避免预限定阻进(keep-out)区域。

针对等式和不等式约束两者可模仿经典增广式拉格朗日算法(参见上面的等式约束),但针对满足容许性约束的形状,则可对其进行改编。增强拉格朗日量限定为

其中

dL

其中dF(Ω)、dG

从一般原则还已知,可通过在一定时间内相对于由L

现在可如下给出用于求解方程73-75的增广式拉格朗日算法。它需要增加惩罚参数的方法以及用于收紧公差的方法。

1.挑选最终公差T

2.设定k=0。以初始c

3.将形状Ω

4.当未收敛到公差T

a.将无约束的基于梯度的形状优化算法应用于问题

b.检查约束满足。

(i)如果约束不满足在公差T

(ii)如果约束满足在公差T

c.设定公差T

d.使k递增。

图8是包括数据处理设备800的数据处理系统的示意图,所述数据处理设备800可编程为客户端或服务器。数据处理设备800通过网络880与一台或多台计算机890连接。尽管在图8中仅示出一台计算机作为数据处理设备800,但是可使用多台计算机。数据处理设备800包括各种软件模块,其可分布在应用层与操作系统之间。这些可包括可执行和/或可解译软件程序或库,包括实现上面描述的系统和技术的一个或多个3D建模程序804的工具和服务。因此,3D建模程序804可以是CAD程序804,并且可(例如,使用用于生成式设计的基于水平集的方法)实现一个或多个生成式设计过程,以进行拓扑优化和物理模拟操作(有限元分析(FEA)或其他操作)。此外,程序804可潜在地实施制造控制操作(例如,生成和/或应用工具路径说明以实现设计对象的制造)。所使用的软件模块的数量可随实现方式的不同而变化。此外,软件模块可分布在通过一个或多个计算机网络或其他合适的通信网络连接的一个或多个数据处理设备上。

数据处理设备800还包括硬件或固件装置,所述硬件或固件装置包括一个或多个处理器812、一个或多个附加装置814、计算机可读介质816、通信接口818以及一个或多个用户接口装置820。每个处理器812能够处理用于在数据处理设备800内执行的指令。在一些实现方式中,处理器812是单线程或多线程处理器。每个处理器812能够处理存储在计算机可读介质816上或存储装置(诸如附加装置814)上的指令。数据处理设备800使用通信接口818(例如通过网络880)与一台或多台计算机890通信。用户接口装置820的实例包括显示器、照相机、扬声器、麦克风、触觉反馈装置、键盘、鼠标和VR和/或AR装备。数据处理设备800可将实现与上面描述的程序相关联的操作的指令存储在例如计算机可读介质816或一个或多个附加装置814(例如,硬盘装置、光盘装置、磁带装置和固态存储装置中的一者或多者)上。

本说明书中描述的主题的实施方案和功能操作可在数字电子电路系统中、或在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等效物)中、或它们中的一者或多者的组合中实现。本说明书中描述的主题的实施方案可使用编码在非暂时性计算机可读介质上以供由数据处理设备执行或者控制数据处理设备的操作的计算机程序指令的一个或多个模块来实现。计算机可读介质可以是制成品(诸如计算机系统中的硬盘驱动器或通过零售渠道出售的光盘),或者是嵌入式系统。计算机可读介质可单独获得,并且之后编码有计算机程序指令的一个或多个模块,例如,在通过有线或无线网络递送计算机程序指令的一个或多个模块之后。计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储器装置或它们中的一者或多者的组合。

术语“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,举例来说包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,所述设备还可包括为讨论中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、运行时环境或它们中的一者或多者的组合的代码。另外,所述设备可采用各种不同的计算模型基础设施,诸如网络服务、分布式计算和格网计算基础设施。

计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以任何合适形式的编程语言(包括编译或解译语言、说明性或程序性语言)编写,并且它可以任何合适的形式部署,包括作为独立程序或作为模块、部件、子例程、或适用于在计算环境中使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可存储在保存其它程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、在专用于讨论中的程序的单个文件中、或多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可被部署以在一台计算机上或在位于一个地点或跨多个地点分布且由通信网络互连的多台计算机上执行。

本说明书中描述的过程和逻辑流程可由一个或多个可编程处理器进行,所述可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程还可由专用逻辑电路系统执行(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)),并且设备也可实现为专用逻辑电路系统。

举例来说,适用于执行计算机程序的处理器包括通用微处理器和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于进行指令的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置(例如,磁盘、磁光盘或光盘),或者可操作地耦接以从一个或多个大容量存储装置接收数据、或将数据传递到一个或多个大容量存储装置、或进行两者。然而,计算机不必具有此类装置。而且,计算机可嵌入在另一个装置中,仅举数例而言,所述另一个装置例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储装置(例如,通用串行总线(USB)闪存驱动器))。适用于存储计算机程序指令和数据的装置包括所有形式的非易失性存储器、介质和存储器装置,举例来说包括:半导体存储器装置,例如,EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)和闪存存储器装置;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路系统补充或并入专用逻辑电路系统中。

为了提供与用户的互动,本说明书中描述的主题的实施方案可在具有以下项的计算机上实现:用于向用户显示信息的显示装置(例如,LCD(液晶显示器)显示装置、OLED(有机发光二极管)显示装置或另一种监视器),以及用户可借以向计算机提供输入的键盘和定点装置(例如,鼠标或追踪球)。也可使用其他种类的装置来提供与用户的互动;例如,向用户提供的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何合适的形式接收来自用户的输入,包括声音、语音或触觉输入。

计算系统可包括客户端和服务器。客户端和服务器大体上彼此远离,并且通常通过通信网络进行交互。客户端与服务器之间的关系借助于在相应计算机上运行且彼此之间具有客户端-服务器关系的计算机程序产生。本说明书中描述的主题的实施方案可在计算系统中实现,所述计算系统包括后端部件(例如,作为数据服务器),或者包括中间件部件(例如,应用服务器),或者包括前端部件(例如,具有用户可借以与本说明书中描述的主题的实现方式进行交互的图形用户界面或浏览器用户界面的客户端计算机),或者是此类后端部件、中间件部件或前端部件中的一者或多者的任何组合。所述系统的部件可由任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的实例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,互联网)和对等网络(例如,自组织对等网络)。

尽管本说明书包含许多实施细节,但是这些不应解释为是对所要求保护的范围或可要求保护的范围的限制,而应解释为是对所公开主题的特定实施方案所特定的特征的描述。本说明书中在单独实施方案的背景下描述的某些特征也可以组合方式在单个实施方案中实施。相反地,在单个实施方案的背景下描述的各个特征也可单独地或以任何合适子组合的方式在多个实施方案中实施。而且,尽管上文将特征描述为以某些组合的方式起作用且甚至最初是这样要求的,但是来自所要求组合的一个或多个特征在一些情况下可从所述组合剔除,并且所要求组合可针对子组合或子组合的变更。

类似地,虽然附图中以特定次序描绘操作,但这不应理解为要求以所示特定次序或按顺序次序执行此类操作或者执行所有图示操作以达到期望结果。在某些情况下,多任务和并行处理可能是有利的。而且,在上文描述的实施方案中的各个系统部件的分离不应理解为在所有实施方案中都要求这种分离,而应理解为所描述的程序部件和系统大体上可一起集成在单个软件产品中或者封装到多个软件产品中。

因此,已经描述本发明的特定实施方案。其他实施方案在以下权利要求的范围内。另外,权利要求中阐述的动作可以不同次序执行且仍达到期望结果。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号