一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在拓扑优化期间分配材料时在实体模型中保持形状的方法与流程

2021-11-20 02:23:00 来源:中国专利 TAG:


1.本发明涉及计算机辅助绘图,更具体地,涉及拓扑优化。


背景技术:

2.在计算机辅助设计(cad)中,基于几何建模和实体建模方法,在计算机中描述了三维(3d)几何模型。基于物理载荷条件,拓扑优化可用于优化3d模型中的材料分配(例如减小质量,同时保持负载情况下的性能)。所得到的几何形状可用作进一步cad设计的参考。被建模的部件(例如3d建模的部件)可以最初由具有特定边界形状(例如孔和/或切口)的材料块所限定。各种性能约束(例如方向载荷(力点)限制和/或外部尺寸限制)可以置于该部件上。在一些情况下,需要重新成形该部件以保持边界形状并符合性能参数,同时减小成品部件的体积和/或质量。
3.当前,这种拓扑优化是通过处理由3d元素所表示的部件模型来执行,该3d元素例如是被表示为四边形网格的六面体元素,或者被表示为三角形网格的四面体元素。例如,拓扑优化可以使用达索系统公司(例如在3dexperience平台中)开发的强大且流行的拓扑优化软件包tosca来执行。在3dexperience中tosca的拓扑优化开始于具有常规的有限元法(fem)元素、常规载荷和常规约束的常规fem问题。拓扑优化使用相同的有限元(例如六面体、四面体...)来迭代地重新分配元素中的密度。然而,涉及可能具有数百个或数千个fem元素的3d模型的重新映射的计算复杂性可能计算量比较大,从而导致和/或计算时间和/或计算资源的过度使用。因此,工业上需要解决这些缺陷中的一个或多个。


技术实现要素:

4.本发明的实施例提供了一种在拓扑优化期间分配材料时在实体模型中保持形状的方法。简要地描述,接收部件的3d几何模型,3d几何模型具有边界形状。对几何模型进行预处理,以生成可变空隙网格并生成表示边界形状的冻结网格。将几何模型划分为多个体素,并根据优化过程针对每个体素调节密度值。从体素数据中提取等值面网格,并在已提取的等值面网格和可变空隙网格之间导出网格布尔交集。在网格布尔交集和冻结网格之间,执行网格布尔并集。
5.本发明的其它系统、方法和特征对于本领域中具有普通技能的人员在研究以下附图和详细描述之后,将是显而易见的或者变得显而易见。意图是使所有这些附加的系统、方法和特征包括在本说明书中、涵盖在本发明的范围内并由所附的权利要求所保护。
附图说明
6.附图被包括以提供对本发明的进一步理解,且附图被结合在本说明书中并构成本说明书的一部分。附图中的部件不必按比例绘制,而是强调其放置以清楚地说明本发明的原理。附图示出了本发明的实施例,并与说明书一起用于解释本发明的原理。
7.图1a为示出了初始几何模型的示意图,该初始几何模型限定了界定最终模型的边
界的设计空间。
8.图1b为示出了通过图1a的初始几何模型所生成的、用于生成初始体素化模型的体素化网格的示意图。
9.图2a描绘了通过优化解算器对图1b的初始体素化模型进行处理而得到的拓扑优化体素模型。
10.图2b示出了通过对图2a的拓扑优化体素模型进行处理而得到的体素已提取的等值面网格模型的透视图。
11.图2c示出了图2b的体素已提取的等值面网格模型的俯视图。
12.图3a描绘了具有围绕空隙区域的选定的冻结表面的几何块。
13.图3b描绘了围绕图3a的选定的冻结表面的增厚区域的选择。
14.图3c描绘了图3b的增厚区域的孤立视图。
15.图4a为描绘了第一实施例的可变空隙网格的预处理的流程图。
16.图4b为描绘了第一实施例的冻结网格的预处理的流程图。
17.图5a示出了以实体(顶部)和线框(底部)表示图1b的初始地理模型的可变空隙网格。
18.图5b示出了以实体(顶部)和线框(底部)表示表面优化的等值面网格。
19.图5c示出了以实体(顶部)和线框(底部)表示最终布尔等值面网格。
20.图6为示出了第一方法实施例中的迭代阈值调节的图。
21.图7a为描绘了第二实施例的可变空隙网格的预处理的流程图。
22.图7b为描绘了第二实施例的冻结网格的预处理的流程图。
23.图8为示出了第二方法实施例的迭代阈值调节的图。
24.图9为示出了用于执行本发明的功能的系统的示例的示意图。
25.图10a为用于执行第一方法实施例的系统的框图。
26.图10b为用于执行第二方法实施例的系统的框图。
具体实施方式
27.下文的限定对于解释应用于本文所公开的实施例的特征的术语是有用的,且仅意味着限定本公开中的要素。
28.如本公开中所使用的,“实体建模”通常是指对由实体材料块所形成的模型进行虚拟操作,以保持所选定的物理特征和空隙,同时去除不需要的材料和/或调节剩余材料的密度以满足尺寸和性能参数。在本文中,模型的区域是指可变区域、空隙区域和冻结区域。可变区域是指模型中材料密度可根据模型约束而变化的部分。空隙区域是指模型中不存在材料的部分。冻结区域是设计者希望在模型优化之后保持不变的固定材料面。
29.如本公开中所使用的,“体素”是指可用于粗略估计三维建模对象的质量的一组均匀的三维块。尽管本文所描述的实施例通常涉及立方体形状的体素,但是在可替代的实施例中可使用不同形状的体素。
30.如本公开中所使用的,“网格”是指用于对邻接表面进行建模的三角形的数学织物。
31.如本公开中所使用的,“解算器”是指软件模块,该软件模块被配置为接收模型的
参数和用于模型的期望操作的标准作为输入,并导出经调节和/或操作的输出。特定的解算器可以针对特定的任务,例如,本文所详细描述的拓扑优化解算器为基于体素的解算器。
32.现在,将详细参考本发明的实施例,其示例在附图中示出。在可能的情况下,可以在附图和说明书中使用相同的附图标记来表示相同或相似的部件。
33.如背景技术部分所述,尽管直接根据fem元素对3d模型中的材料分配进行的优化精确地保持了特定的边界,但是该过程计算量比较大,这可导致计算机资源的过度使用和/或结果的等待时间过长。
34.本文所描述的实施例涉及一种更有效的方法,该方法使用常规的体素元素(例如立方体)来对3d对象进行建模以进行拓扑优化。体素简化了拓扑优化,且在计算机资源和时间使用方面,体素运算的操作通常非常高效。在调节体素模型以用于拓扑优化/操作(例如,通过基于体素的拓扑优化解算器1024)之后,可进一步处理所得到的体素模型,以通过已知的等值面提取方法(例如,移动立方体方法和/或双轮廓方法)获得平滑的三角形网格或四边形网格。然而,基于优化的体素模型的等值面通常无法精确地保持所期望模型的边界形状。本文的实施例涉及当使用基于体素的解算器时对于边界形状的保持。
35.如图10a所示,xdesign设计指导功能模块1010使用基于体素的拓扑优化解算器1024将初始几何模型100转换为拓扑优化模型。在图10a所示的第一实施例中,xdesign设计指导功能模块1010包括输入模型和加载条件子模块1012、拓扑优化子模块1014和结果显示子模块1016。输入模型和加载条件模块1012使用预处理模块1022。在第一实施例中,如下文进一步描述的,预处理模块1022使用实体建模和布尔模块1032以及网格生成模块1034。结果模块1026使用等值面生成模块1036和网格布尔模块1038。
36.如图1b所示,初始几何模型100(例如cad模型)被离散成均匀的体素立方体。xdesign设计指导功能模块1010使用如下三种情况,其中,局部几何形状用于保持拓扑优化问题中所期望的特征。这三种情况对应于用户希望在拓扑优化模型中保持的、初始几何模型的如下三种类型的区域:
37.1、可变区域:由数个几何模型所限定的设计空间;
38.2、空隙区域:由数个几何模型所限定的所需的空的空间;和
39.3、冻结区域:在优化之后用户想要保持的面。
40.可变区域、空隙区域和冻结区域中的每一个区域由几何模型所限定,且可以为任何形状。通常,空隙区域和冻结区域是不可变的,而xdesign设计指导功能模块1010对可变区域进行操作,以满足拓扑优化模型所期望的物理特性和性能特性。
41.用户希望最终结果能够保持原始空隙和冻结区域的几何形状,以确保准确性。由于体素因其性质而仅能表示体积模型的近似值,因此所得到的体素模型无法精确地表示所限定的区域。任何几何模型只能被离散成小的常规尺寸的体素的集合,而这些体素被称为体素模型。
42.图1a为示出了初始几何模型100的示意图,该初始几何模型限定了界定最终模型的边界的设计空间。图1b为示出了通过图1a的初始几何模型所生成的、用于生成初始体素化模型150的体素化网格的示意图。
43.优化过程通过改变体素的密度来重新分配初始体素化模型150的质量。如下文进一步描述的,在拓扑优化之后,在结果模块1026(图10a)中计算阈值,以滤除较不重要的体
素并满足用户所限定的目标质量减小率。用户还可以基于设计要求手动地调节阈值以增加或去除体素。例如,该优化过程针对每个体素计算体素密度参数值,并设置相应的阈值,高于该阈值的体素可以被保留,而低于该阈值的体素可以被去除。
44.在优化之后,基于这样的阈值去除一些体素,从而得到拓扑优化体素模型200;然而,拓扑优化体素模型200通常仍然是仅粗略估计所期望模型且无法得到平滑表面的体素块的集合。为了获得平滑的结果,从拓扑优化体素模型200的体素数据中提取等值面(三角形网格或四边形网格),从而得到体素已提取的等值面网格模型250。然而,由于已经使用体素来粗略估计三种类型的区域,因此所得到的体素已提取的等值面网格模型250无法精确地表示初始几何模型100的特征。例如,在表面边界处可能缺少材料,即,应该延伸到边界的材料,原因是去除了体素,或者可能存在突出到旨在成为空隙的区域中的材料,其中,保留的体素的一部分穿过边界并延伸到空隙区域中。由优化过程得到的体素已提取的等值面网格模型250无法精确地获得所期望的表面。
45.图2a示出了拓扑优化体素模型200中的体素粗略估计如何不保留初始几何模型100的平滑表面。即使在平滑之后,体素已提取的等值面网格模型250同样无法精确地表示初始几何模型100的平滑表面。圆柱形部分120旨在具有圆形横截面的孔,同样,椭圆形部分130旨在具有平滑的椭圆形横截面。凹形区域140旨在呈半球形。如可在图2a

2c中所看到的,体素已提取的等值面网格模型250无法保留初始几何模型100的预期表面形状。
46.本发明的示例性实施例提供了一种通过使用几何布尔运算来保持形状的系统化和可靠的方法,该方法在来自基于体素的拓扑优化解算器1024的结果中保持形状。两个示例性实施例提供不同的实现方式。第一示例性方法实施例使用网格布尔方法,网格布尔方法限定三种类型的区域并将这些区域离散成网格。根据基于体素的拓扑优化解算器1024的结果生成流形等值面网格。使用一系列网格布尔运算来最终确定结果,从而在所得到的模型中精确地保持所需的形状。
47.第二示例性方法实施例使用距离场布尔方法。在第二实施例中,在高水平下限定三种类型的区域以生成定向距离场。基于体素的拓扑优化解算器1024的结果生成具有相应的定向距离场的等值面网格。使用一系列定向距离场布尔运算来提供最终的定向距离场,并根据最终的定向距离场生成等值面网格,从而精确地在所得到的模型中保持来自初始几何模型100的空隙/冻结边界区域。
48.第一示例性方法实施例(网格布尔)可以被描述为一系列以下一般步骤。首先,预处理模块1022(图10a)组合可变区域、空隙区域和冻结区域以及相关几何模型的网格生成。从这样的区域中收集体素数据,并由拓扑优化解算器模块1024(图10a)对体素数据进行优化,以产生具有指定密度值的体素的优化体素模型。等值面生成模块1036基于给定的阈值,从优化体素模型中提取等值面网格。最后,网格布尔模块1038使用网格布尔运算来修改等值面,以产生所保持的几何模型的形状。
49.给定几何模型100(例如框或另一形状),对于标准拓扑优化问题,用户首先限定几何模型100内的可变区域。用户限定所施加的载荷,和/或对几何模型100的一个或多个面、边和/或顶点施加约束。另外,用户可识别被保持的一个或多个表面(即,冻结区域)以及可能需要为空的区域(即,没有材料的空隙区域)。这些区域中的每一个区域可以表示为地理模型,且几何模型中的每一个几何模型被三角形划分成网格以供后续处理。在预处理模块
中,使用包括交集、并集和差集的实体建模布尔运算。给定3d空间中的两个实体模型m1和m2,三个布尔运算被定义为:
50.交集为3d空间r3中属于m1和m2的所有点
[0051][0052]
并集为3d空间r3中属于m1或m2的所有点
[0053][0054]
差集为3d空间r3中属于m1但不属于m2的所有点
[0055][0056]
布尔运算是实体建模的标准函数。如下参照图4a描述对可变区域和空隙区域的处理。对于可变区域,所有选定的可变区域几何模型410合并成一个组合的可变区域420。对于空隙区域,所有选定的空隙几何模型415合并成一个空隙模型425。如框430所示,从可变区域合并模型420中减去空隙区域合并模型425。通过网格生成模块440将所得到的几何模型三角形划分成可变空隙网格450。
[0057]
如下针对图4b和图3a

3c描述对冻结区域的处理。应注意,流程图中的任何过程描述或框应被理解为表示包括用于在过程中实现特定逻辑功能的一个或多个指令的模块、段、代码部分或步骤,且可替代的实现方式包括在本发明的范围内,在本发明的范围内,根据所涉及的功能,功能可以按照与所示出或所讨论的顺序不同的顺序执行,包括按照基本上同时或按照相反的顺序执行,正如本发明的领域的技术人员所理解的那样。
[0058]
如框460所示,用户选定块100中的一个或多个冻结区域120、130、140的面。如框465所示,用户例如通过限定包括有围绕所期望的空隙区域的一部分块状材料100的体积来指定要保持的材料区域的厚度。通过实体建模增厚方法,将面120、130、140增厚为实体模型。如框470所示,增厚方向朝向所属模型的内部,且如果面120、130、140增厚到所属模型的边界之外,则必须切掉额外的体积,从而仅保持增厚模型与所属模型的交集(布尔运算)。用于每个面120、130、140的增厚模型合并以形成一个冻结模型,该冻结模型包括与所选定的面120、130、140相对应的增厚部分320、330、340。最后,如框490所示,通过网格生成模块480将冻结模型离散成可变空隙网格300。上文所描述的预处理结合了三角形划分的几何模型,从而为执行后续处理作准备,下文对此进行详细描述。
[0059]
根据拓扑优化问题的设置计算立方体设计空间。对于基于体素的拓扑优化解算器1024,通过常规尺寸的体素(例如立方体)来离散化每个几何模型。例如,立方体设计空间被划分为32*32*32个体素或64*64*64个体素。在其它示例中,可以使用更高的分辨率,例如128*128*128、256*256*256。给每个体素分配介于0和1之间的密度值。根据对应体素所占据的几何模型中的材料密度。密度0表示在体素维度内没有材料或为空隙区域,而密度1表示体素维度充满材料,或者体素包括冻结区域。
[0060]
对于可变区域,在几何模型的任何边界内和/或在几何模型的任何边界上所映射的所有体素被收集和标记为包括可变材料。被标记为可变的体素的密度值可以通过基于体素的拓扑优化解算器1024来调节。
[0061]
对于空隙区域,收集被映射到几何模型中不包含任何材料的部分的所有体素,并
用固定的零材料(值0)标记所有体素。
[0062]
对于冻结区域,接触所选定的面的所有体素被标记为满材料(值1)。这确保了冻结区域的所有部分被满材料体素所包围。
[0063]
该信息确保了基于体素的拓扑优化解算器1024根据区域划分产生体素结果。
[0064]
几何模型和体素之间的关系可以通过不同的方式来确定。例如,待测试的模型的显示三角形网格可以用于体素测试。网格的每个三角形为模型的边界,且接触三角形的体素是原始模型的边界。可以遍历所有网格三角形以找到边界上的所有体素。为了收集所有的内部体素,从内部体素开始,然后迭代地搜索由边界体素所界定的所有邻近体素。
[0065]
基于体素的拓扑优化解算器1024接收体素的初始密度值和载荷条件作为输入。如下文进一步描述的,基于体素的拓扑优化解算器1024被配置为最小化由用户限定的最大质量所约束的模型的依从性。基于体素的拓扑优化解算器1024产生具有与所计算的优选结果相对应的体素的密度值的输出。
[0066]
基于体素的拓扑优化解算器1024通过迭代地改变被标记为属于可变区域的体素的密度值来最小化模型的依从性,可变区域具有介于0和1之间但不包括0和1的值。基于体素的拓扑优化解算器1024可以给不同的可变区域的体素分配不同的密度值。密度值可视为指示每个体素的相对重要性。密度值越小,则体素越不重要。密度值越大,则体素越重要。
[0067]
基于体素的拓扑优化解算器1024修改可变区域中体素的密度值。空隙区域的体素总是具有密度值0。冻结区域的体素总是具有密度值1。
[0068]
基于体素的拓扑优化解算器1024解决了以下优化问题:
[0069][0070]
服从:
[0071]
其中u是位移矢量,f是力矢量。k(x)是作为密度值矢量x的函数的刚度矩阵。v(x)是材料质量,v0是初始材料质量。r是用户指定的固定的质量减小比。
[0072]
目的是找到在服从约束条件的情况下使得依从性c(x)=u
t
k(x)u最小化的密度值矢量x,约束条件如下:1、质量比不大于用户指定的质量减小比;2、满足载荷条件;3、密度值介于0和1之间。
[0073]
基于体素的拓扑优化解算器1024的输出为用于所有体素的密度数据阵列。然后,用户可以将密度阈值设置在0和1之间,以滤除具有较小值的体素并保持那些具有较大值的体素。可以使用传统的移动立方体方法来将密度值映射的体素模型转换为网格表面,以产生三角形网格。随后,可以生成流形网格作为等值面。所得到的拓扑优化的等值面网格250(图5b)为三角形网格。
[0074]
在可变区域边界处,例如在可变区域和冻结区域之间的边界或可变区域和空隙区域之间的边界处,等值面可以延伸到可变区域之外,但不超过一个体素尺寸。在空隙区域边界处,等值面可以延伸到空隙区域内,但不超过一个体素尺寸。在冻结区域,等值面可以延伸到冻结区域之外,但不超过一个体素尺寸。所得到的等值面可以看作是对原始的可变区域、空隙区域和冻结区域的粗略估计。
[0075]
图5a

5b示出了网格布尔技术的输入,而图5c示出了输出。对于图5a

5c中的每一个图,上方的图示出了实体绘制,下方的图示出了线框绘制。如图5a

5c所示,可以例如通过网格布尔模块来应用网格布尔技术,以去除由体素模型转换所导致的等值面的表面材料不规则性。网格布尔运算类似于实体建模布尔运算。网格布尔运算(例如交集、并集和差集)可以应用于三角形网格或四边形网格。网格布尔模型在拓扑优化的等值面网格250和可变空隙网格100之间执行网格相交,以产生结果网格(未示出),然后在结果网格和冻结网格300之间执行网格合并。在最终的网格500中精确地保持所有边界形状。
[0076]
用户可以增加体素密度阈值以允许更多的材料或更多的体素来用于等值面提取,或者可以减小体素密度以包括更少的材料或更少的体素来用于等值面提取。例如,可以将调节体素密度实现为用户的迭代过程。如图6所示,如果修改密度阈值,则重新生成拓扑优化的等值面网格250,并利用可变空隙网格100和冻结网格300重新执行网格布尔,以生成最终结果500。如框620所示,输入体素密度数据610、载荷数据611和边界条件612提供给基于体素的拓扑优化解算器1024模块,以通过优化输入参数来生成基于体素的模型。如框630所示,通过基于体素的模型生成等值面模型。如框640所示,通过等值面模型和可变空隙网格642的网格二进制交集来产生网格交集模型。如框650所示,结果网格660通过网格交集模型和冻结网格652的网格二进制合并来产生。可以通过调节密度阈值632并重复框630、640和650,来迭代地调节结果网格660。
[0077]
在用于优化3d cad模型的表面的方法的第二实施例中,使用定向距离场方法及其布尔运算,而非使用网格布尔(根据第一实施例),来获得最终结果。距离场布尔的优点是简单和快速。在第二实施例中,从三个输入区域(可变区域、空隙区域和冻结区域)中的每一个和最终等值面网格生成定向距离场。定向距离场布尔运算用于生成保持所需形状的最终等值面网格。
[0078]
如图10b所示,根据第一实施例,在第二实施例中,xdesign设计指导功能模块1010使用基于体素的拓扑优化解算器1024将初始几何模型100转换为拓扑优化模型。xdesign设计指导功能模块1010包括输入模型和加载条件子模块1012、拓扑优化子模块1014和结果显示子模块1016。输入模型和加载条件模块1012使用预处理模块1022。在第二实施例中,如下文进一步描述的,预处理模块1022使用实体建模和布尔模块以及距离场函数模块1035。结果模块1026使用等值面生成模块1036和距离场函数布尔模块1037。实体几何模型被多个闭合表面所包围。空间中的闭合表面s可以由函数f(x,y,z)=0,(x,y,z)∈s来表示。该函数不是唯一的。一个自然选择是带符号的距离场f(x,y,z)=dist((x,y,z),s),(x,y,z)∈r3,其是从一个点(x,y,z)到表面s的带符号的距离。如果点在模型之外,则距离为正。如果点在模型之内,则距离为负。给定两个表面s1和s2以及它们的带符号的距离场函数f1和f2,这三个布尔运算可以表示为:
[0079]
交集:max(f1(x,y,z),f2(x,y,z))=0
ꢀꢀ
(公式4)
[0080]
并集:min(f1(x,y,z),f2(x,y,z))=0
ꢀꢀ
(公式5)
[0081]
差集:max(f1(x,y,z),

f2(x,y,z))=0
ꢀꢀ
(公式6)
[0082]
假设几何模型体素化,如上文关于第一实施例所述,则可以在设计空间中在距离场体素模型的体素的中心对带符号的距离函数进行采样,以针对距离场体素模型的每个体素生成距离值的矢量。基于体素的拓扑优化解算器1024以类似于第一实施例的输出密度数
据的方式,针对距离场体素模型的每个体素生成距离数据。然后从距离场体素模型中提取场距离等值面。
[0083]
带符号的距离场不保持尖锐的或有折痕的特征。相反,定向距离场方法是保持特征的扩展。通过标量距离进行扩展,沿着x轴、y轴和z轴的三个距离值的矢量用于限定定向距离场:
[0084][0085]
dist
i
((x,y,z),s)是沿着i轴的带符号的距离函数,其中i轴是x轴、y轴或z轴。布尔运算也可以扩展到x轴、y轴、z轴中的每个轴。例如,s1和s2之间的交集为:
[0086][0087]
在第二实施例中,由于距离方向已知,所以定向距离值比第一实施例中带符号的标量距离更容易计算。通过沿着x方向、y方向或z方向的任何点,光线可以被投射以与表面相交,然后计算距相交点的距离。
[0088]
第二实施例的定向距离场方法的步骤在图7a和图7b中示出,下文参照图4a和图4b对图7a和图7b进行讨论,以突出第一实施例(图4a

4b)和第二实施例(图7a

7b)之间的差异。在如图7a所示的第二实施例预处理中,生成可变空隙距离场,而非网格。类似地,在图7b中生成冻结距离场,而非网格。直接从可变空隙模型和冻结模型生成定向距离场。从区域中收集体素数据,并通过解算器模块对体素数据进行优化以产生优化体素模型。对于可变区域,所有选定的可变区域几何模型710合并成一个组合的可变区域720。对于空隙区域,所有选定的空隙几何模型715合并成一个空隙区域合并模型725。如框730所示,从可变区域合并模型720中减去空隙区域合并模型725。应注意,框710、715、720、725和730基本上类似于第一实施例的框410、415、420、425和430。如框750所示,在从解算器结果获得等值面网格之后,定向距离场生成块740产生可变空隙等值面距离场。
[0089]
如图7b所示,在第二实施例中,对冻结区域的处理类似于第一实施例(图4b),除了生成距离场作为最终产品,而非网格之外。如框760所示,用户选定块100中的一个或多个冻结区域120、130、140的面。如框765所示,用户例如通过限定包括有围绕所期望的空隙区域的一部分块状材料100的体积来指定要保持的材料区域的厚度。通过实体建模增厚方法,将面120、130、140增厚为实体模型。如框770所示,增厚方向朝向所属模型的内部,且如果面120、130、140增厚到所属模型的边界之外,则必须切掉额外的体积,这意味着仅保持增厚模型与所属模型的交集(布尔运算)。用于每个面120、130、140的增厚模型合并以形成一个冻结模型,该冻结模型包括与所选定的面120、130、140相对应的增厚部分320、330、340。最后,如框790所示,通过距离场生成模块780将冻结模型离散成可变空隙距离场300。上文所描述的预处理组合了三角形划分的几何模型,从而为执行后续处理作准备,下文对此进行详细描述。
[0090]
在第二实施例中,可以例如通过距离场函数布尔模块1037应用距离场布尔技术,而非网格布尔运算,以去除由体素模型转换所导致的等值面的表面材料不规则性。可以将诸如交集、并集和差集的距离场布尔运算应用于三角形网格或四边形网格。距离场函数布尔模型1037执行拓扑优化的等值面距离场和可变空隙距离之间的距离场交集,以产生结果距离场(未示出),然后执行结果距离场和冻结距离场之间的距离场合并。在最终的距离场中精确地保持所有边界形状。
[0091]
与第一实施例一样,用户可以增加体素密度阈值以允许更多的材料或更多体素来用于等值面提取,或者可以减小体素密度以包括更少的材料或更少的体素来用于等值面提取。例如,可以将调节体素密度实现为用户的迭代过程。如图8所示,如果修改密度阈值,则重新生成拓扑优化的等值面网格250,并利用可变空隙距离场和冻结距离场300重新执行距离场布尔,以生成最终结果。如框620所示,输入体素密度数据610、载荷数据611和边界条件612提供给基于体素的解算器模块,以通过优化输入参数来生成基于体素的模型。如框630所示,通过基于体素的模型生成等值面模型。如框835所示,生成等值面模型的距离场数据。如框840所示,通过所生成的距离场和可变空隙距离场842的距离场二进制交集来产生距离场交集模型。如框850所示,通过可变空隙交集模型和冻结距离场852的距离场二进制合并来产生结果距离场。如框860所示,通过等值面提取从结果距离场产生结果网格870。可以通过调节密度阈值632并重复框630、835、840、850和860,来迭代地调节结果网格870。为了更好地支持原始模型中的尖锐的或有折痕的几何特征,可以使用扩展的移动立方体方法或双轮廓方法。
[0092]
如前文所提到的,用于执行以上详细描述的功能的本系统可以为计算机,其示例在图9的示意图中示出。系统900包含处理器502、存储设备504、存储器506、输入和输出(i/o)设备510(或外围设备)以及允许在系统900内进行通信的本地总线或本地接口512,存储器506中存储有限定上述功能的软件508。如本领域已知的,本地接口512可以是例如但不限于一个或多个总线或者其它有线连接或无线连接。本地接口512可以具有附加元件以能够进行通信,为了简单起见而省略了附加元件,例如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器。此外,本地接口512可以包括地址、控制和/或数据连接,以使得能够在上述组件之间进行适当的通信。
[0093]
处理器502是用于执行软件尤其是存储在存储器506中的软件的硬件设备。处理器502可以是任何定制的或商业上可获得的单核或多核处理器、中央处理单元(cpu),与本系统900相关联的若干处理器中的辅助处理器、基于半导体的微处理器(处于微芯片或芯片组的形式)、宏处理器、或者通常用于执行软件指令的任何装置。
[0094]
存储器506可以包括易失性存储器元件(例如随机存取存储器(ram,诸如动态随机存取存储器(dram)、静态随机存取存储器(sram)、同步动态随机存取存储器(sdram)等))和非易失性存储器元件(例如只读存储器(rom)、硬盘驱动器、磁带、光盘只读存储器(cdrom)等)中的任何一个或组合。此外,存储器506可以结合电、磁性、光学和/或其他类型的存储介质。应注意,存储器506可以具有分布式架构,其中各个组件彼此远离,但是均可以由处理器502访问。
[0095]
根据本发明,软件508限定由系统900所执行的功能。如下文所述,存储器506中的软件508可以包括一个或多个单独的程序,每个程序包含用于实现系统900的逻辑功能的可
执行指令的有序列表。存储器506可以包含操作系统(o/s)520。操作系统实质上控制系统900内的程序的执行,并提供调度、输入

输出控制、文件和数据管理、存储器管理以及通信控制和相关服务。
[0096]
i/o设备510可以包括输入设备,例如但不限于键盘、鼠标、扫描仪、麦克风等。此外,i/o设备510还可以包括输出设备,例如但不限于打印机、显示器等。最后,i/o设备510可以进一步包括经由输入和输出进行通信的设备,例如但不限于调制器/解调器(调制解调器;用于访问另一设备、系统或网络)、射频(rf)或其它收发器、电话接口、网桥、路由器或其它设备。
[0097]
如上文所说明的,当系统900在运行时,处理器502被配置为执行存储在存储器506内的软件508,以将数据传送到存储器506以及从存储器506传送数据,且通常根据软件508来控制系统900的操作。
[0098]
当系统900的功能在运行时,处理器502被配置为执行存储在存储器506内的软件508,以将数据传送到存储器506以及从存储器506传送数据,且通常根据软件508来控制系统900的操作。操作系统520由处理器502读取,也许在处理器502内被缓冲,然后被执行。
[0099]
当在软件508中实现系统900时,应注意,用于实现系统900的指令可以存储在任何计算机可读介质上,以供任何与计算机相关的设备、系统或方法使用或者与任何与计算机相关的设备、系统或方法结合使用。在一些实施例中,这样的计算机可读介质可以对应于存储器506和存储设备504之一或这两者。在本文档的上下文中,计算机可读介质是可以包含或存储计算机程序以供与计算机相关的设备、系统或方法使用或者与计算机相关的设备、系统或方法结合使用的电子、磁性、光学或其他物理设备或装置。用于实现该系统的指令可以体现在任何计算机可读介质中,以供处理器或其他这样的指令执行系统、装置或设备使用或者与处理器或其他这样的指令执行系统、装置或设备结合使用。尽管已通过示例的方式提及处理器502,但是在一些实施例中,这样的指令执行系统、装置或设备可以是任何基于计算机的系统、包含处理器的系统、或者可以从指令执行系统、装置或设备获取指令并执行指令的其它系统。在本文档的上下文中,“计算机可读介质”可以是能够存储、传送、传播或传输程序,以供处理器或其他这样的指令执行系统、装置或设备使用或者与处理器或其他这样的指令执行系统、装置或设备结合使用的任何装置。
[0100]
这样的计算机可读介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、装置、设备或传播介质。计算机可读介质的更具体的示例(非穷举列表)可包括以下:具有一个或多个线缆的电连接(电子)、便携式计算机磁盘(磁性)、随机存取存储器(ram)(电子)、只读存储器(rom)(电子)、可擦除可编程只读存储器(eprom、eeprom或闪速存储器)(电子)。光纤(光学)和便携式光盘只读存储器(cdrom)(光学)。应注意,计算机可读介质甚至可以是纸张或在其上打印程序的另一合适介质,因为可以通过例如纸张或其他介质的光学扫描来电子捕获程序,然后根据需要以适当的方式对程序进行编译、解释或其他处理,然后存储在计算机存储器中。
[0101]
在可替代的实施例中,系统900在硬件中实现,系统900可以利用以下技术(每种技术在本领域中是公知的)中的任何一种或组合来实现:离散逻辑电路(其具有用于在数据信号上实现逻辑功能的逻辑门)、专用集成电路(asic,其具有适当的组合逻辑门)、可编程门阵列(pga)、现场可编程门阵列(fpga)等。
[0102]
对于本领域技术人员将显而易见的是,在不脱离本发明的范围或精神的情况下,可以对本发明的结构进行各种修改和变化。鉴于上述内容,意图是使本发明涵盖本发明的修改和变化,只要本发明的修改和变化落入所附权利要求及其等同物的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献