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

一种基于计算机的方法与流程

2022-02-22 02:07:16 来源:中国专利 TAG:


1.本发明涉及计算机辅助绘图,更涉及拓扑优化,尤其涉及一种基于计算机的方法。


背景技术:

2.在计算机辅助设计(computer aided design,cad)中,基于几何建模和实体建模方法在计算机中描述3d几何模型。基于物理负荷条件,拓扑优化可用于优化3d模型中的材料分布,例如,在负荷下保持性能的同时减少质量。所得的几何形状可以用作进一步cad设计的参考。可以首先从具有特定边界形状(例如孔和/或切口)的材料块中定义建模部件,例如3d建模部件。可以在部件上施加各种性能约束,例如方向负荷(力点)和/或外部尺寸限制。在某些情况下,需要重新形成部件以保留边界形状并符合性能参数,同时减少成品部件的体积和/或质量。
3.当前,该拓扑优化通过对由3d元素(例如以四边形网格表示的六面体元素或以三角形网格表示的四面体元素)表示的部件模型进行处理来执行。例如,可以使用tosca来执行拓扑优化。tosca是由达索系统(dassault systemes)例如以3d体验平台(3dexperienceplatform)推出的一款功能强大且流行的拓扑优化软件包。3d体验平台中tosca的拓扑优化从采用常规fem元素、负荷和约束条件的常规fem问题入手。拓扑优化使用相同的有限元(例如六面体、四面体等)来迭代地重新分布元素密度。然而,将可能具有成百上千个fem元素的3d模型的重绘包含在内的计算的复杂性可能是计算密集的,从而导致计算资源和/或计算时间的过度占用。因此,该行业中需要解决这些缺点中的一个或多个。


技术实现要素:

4.本发明的实施例提供了一种用于在利用距离场进行拓扑优化期间分配材料时保留实体模型中的形状的方法。简单来说,接收具有边界形状的部件的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的示意图,该初始几何模型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的所有点
51.且(等式1);
52.并集是3d空间r3中属于m1或属于m2的所有点
53.或(等式2);
54.差集是3d空间r3中属于m1但不属于m2的所有点
55.且(等式3)。
56.布尔运算是实体建模的标准功能。下面参照图4a来描述对可变区域和孔隙区域的处理。对于可变区域,将所有选择的可变区域几何模型410合并为一个组合的可变区域420。对于孔隙区域,将所有选择的孔隙几何模型415合并为一个孔隙模型425。如框430所示,从可变区域合并模型420中减去孔隙区域合并模型425。所得的几何模型通过网格生成模块440三角化分解成变孔隙网格450。
57.下面参照图4b和图3a至图3c来描述对冻结区域的处理。应当注意的是,如本发明领域的技术人员所理解的,流程图中的任何过程描述或方框应理解为表示用于在该过程中实施特定逻辑功能的包括一条或多条指令的模块、分段、代码部分或步骤,并且替代性实施方式也包括在本发明的范围内,其中取决于所涉及的功能,这些功能可以不按所示出或讨论的顺序执行,包括基本上同时地或按相反的顺序执行。
58.如框460所示,用户选择材料块100中的一个或多个冻结区域120、130、140的面。如框465所示,用户例如通过限定包括材料块100的围绕所需的孔隙区域的一部分的体积来指定要保持的材料区域的厚度。通过实体建模加厚方法,将面120、130、140加厚成为实体模型。加厚方向朝着归属模型的内部,并且如果将面120、130、140加厚到超出归属模型的边界,则必须切除额外的体积,因此仅保持加厚模型与归属模型模型的交集(布尔运算),如框470所示。各个面120、130、140的加厚模型被合并以形成一个冻结模型,该冻结模型包括与所选面120、130、140相对应的加厚部分320、330、340。最后,如框490所示,由网格生成模块480将冻结模型离散化为变孔隙网格300。上述预处理将用于三角化的几何模型进行组合以为进行后处理做准备,后处理将在下文中进行详细描述。
59.根据拓扑优化问题的设置来计算立方设计空间。对于基于体素的拓扑优化求解器1024,每个几何模型被离散化为规则大小的体素,例如立方体。例如,立方设计空间被划分为32
×
32
×
32体素或64
×
64
×
64体素。在其他示例中,可以使用更高的分辨率,例如128
×
128
×
128、256
×
256
×
256。根据相应体素在几何模型中所占的材料密度,为每个体素指定一介于0至1之间的密度值。0密度指示在体素尺寸内没有材料或在体素尺寸内的孔隙区域,而1是指体素尺寸内充满材料或者体素包括冻结区域。
60.对于可变区域,映射到几何模型的任何边界内部和/或边界上的所有体素被收集并标记为包括可变材料。标记为可变的体素的密度值可以由基于体素的拓扑优化求解器
1024来调整。
61.对于孔隙区域,将映射到几何模型的不包括任何材料的部分的所有体素被收集并标记为固定的零材料(值为0)。
62.对于冻结区域,与选定面接触的所有体素被标记为满材料(值为1)。这确保了冻结区域的所有部分都被满材料体素包围。
63.该信息确保了基于体素的拓扑优化求解器1024能根据区域划分来产生体素结果。
64.几何模型和体素之间的关系可以以不同的方式来确定。例如,要测试的模型的显示三角形网格可以用于对体素进行测试。网格的每个三角形都是模型的边界,并且接触三角形的体素是原始模型的边界。可以遍历所有网格三角形以找出边界上的所有体素。为了收集所有内部体素,从内部体素开始,然后迭代搜索由边界体素界定的所有邻近体素。
65.基于体素的拓扑优化求解器1024接收体素的初始密度值和负荷约束条件作为输入。如在下文中进一步描述的,基于体素的拓扑优化求解器1024被配置为将由用户限定的最大质量所约束的模型的合规性最小化。基于体素的拓扑优化求解器1024产生具有与计算的优选结果相对应的体素密度值的输出。
66.基于体素的拓扑优化求解器1024通过迭代地改变被标记为属于可变区域的体素的密度值来将模型的合规性最小化,可变区域中的体素的密度值具有介于0至1之间、但不包括0和1的值。基于体素的拓扑优化求解器1024可以为不同的可变区域体素指定不同的密度值。密度值可以被视为指示每个体素的相对重要性。密度值越小,体素越不重要。密度值越大,体素越重要。
67.基于体素的拓扑优化求解器1024修改可变区域中的体素的密度值。孔隙区域的体素始终具有为0的密度值。冻结区域的体素始终具有为1的密度值。
68.基于体素的拓扑优化求解器1024解决了以下优化问题:
69.min
x
c(x)=u
t
k(x)u,
70.满足:
71.u是位移矢量。f是力矢量。k(x)是刚度矩阵,其是密度值矢量x的函数。v(x)是材料质量,并且v0是初始材料质量。r是固定的用户指定的质量减少比。
72.目的是找到使满足如下约束条件的合规性c(x)=u
t
k(x)u最小化的密度值矢量x:1、质量比不大于用户指定的质量减少比;2、满足负荷条件;3、密度值在0至1之间。
73.基于体素的拓扑优化求解器1024的输出是所有体素的密度数据的阵列。然后,用户可以将密度阈值设置为0到1之间,以滤除具有较小值的体素并保留具有较大值的体素。可以使用传统的行进立方体方法将密度映射的体素模型转换为网格表面,以生成三角形的网格。随后,可以生成流形网格作为等值面。所得的拓扑优化的等值面网格250(图5b)是三角形网格。
74.在可变区域边界处,例如在可变区域与冻结区域之间的边界或在可变区域与孔隙区域之间的边界处,等值面可以在一个体素大小内延伸到可变区域之外。在孔隙区域边界处,等值面可以在一个体素大小内延伸到孔隙区域内。在冻结区域,等值面可以在一个体素
大小内延伸到冻结区域之外。所得的等值面可以被看作是原始的可变区域、孔隙区域和冻结区域的粗略近似。
75.图5a至图5b示出了网格布尔技术的输入,而图5c示出了输出。对于图5a至图5c中的每一个,在顶部图中示出了实线渲染,并且在下面示出了线框渲染。如图5a至图5c所示,可以例如通过网格布尔模块来应用网格布尔技术,以去除由体素模型转换产生的等值面的表面材料不规则。网格布尔运算类似于实体建模布尔运算。网格布尔运算(诸如交集、并集和差集)可以应用于三角形或四边形网格。网格布尔模型在拓扑优化的等值面网格250和变孔隙网格100之间执行网格交集以产生结果网格(未示出),然后在结果网格和冻结网格300之间执行网格并集。所有边界形状都精确地保留在最终网格500中。
76.对于等值面提取,用户可以增加体素密度阈值以使得有更多的材料或更多的体素,或降低体素密度以包括更少的材料或更少的体素。例如,用户可以将调整体素密度实施为迭代过程。如图6所示,如果修改了密度阈值,则重新生成拓扑优化的等值面网格250,并以变孔隙网格100和冻结网格300重新执行网格布尔,以生成最终结果500。如框620所示,将输入体素密度数据610、负荷数据611和边界条件612提供给基于体素的拓扑优化求解器1024模块,以通过优化输入参数来生成基于体素的模型。如框630所示,由基于体素的模型生成等值面模型。如框640所示,通过等值面模型与变孔隙网格642之间的网格二元交集来产生网格交集模型。如框650所示,通过网格交集模型与冻结网格652之间的网格二元并集来产生结果网格660。可以通过调整密度阈值632并重复框630、640和650来迭代地调整结果网格660。
77.在用于优化3d cad模型表面的方法的第二实施例中,使用定向距离场方法及其布尔运算代替使用(如同第一实施例的)网格布尔来得到最终结果。距离场布尔的优点是简单和快速。在第二实施例中,由三个输入区域(可变区域、孔隙区域和冻结区域)中的每一个以及最终的等值面网格生成定向距离场。使用定向距离场布尔运算来生成最终等值面网格,该最终等值面网格保留了所需的形状。
78.如图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,这三个布尔运算可以表示为:
79.交集:max(f1(x,y,z),f2(x,y,z))=0
ꢀꢀ
(等式4),
80.并集:min(f1(x,y,z),f2(x,y,z))=0
ꢀꢀ
(等式5),
81.差集:max(f1(x,y,z),-f2(x,y,z))=0
ꢀꢀ
(等式6)。
82.假设如以上关于第一实施例所述将几何模型体素化,则可以在设计空间的距离场
体素模型的体素的中心对有向距离函数进行采样,从而为距离场体素模型的每个体素生成距离值矢量。基于体素的拓扑优化求解器1024以与第一实施例的输出密度数据相似的方式,为距离场体素模型的每个体素生成距离数据。然后从距离场体素模型中提取场距离等值面。
83.有向距离场不保留尖锐特征或褶皱特征。相反,定向距离场方法是保留特征的扩展。从标量距离扩展,使用沿着x、y和z轴的三个距离值的矢量来限定定向距离场:
[0084][0085]
disti((x,y,z),s)是沿着i轴的有向距离函数,其中i轴是x轴、y轴或z轴。布尔运算也可以扩展到x轴、y轴、z轴中的每个轴。例如,s1和s2之间的交集为:
[0086][0087]
在第二实施例中,定向距离值比第一实施例的标量有向距离更容易计算,原因是距离方向是已知的。可以从沿着x、y或z方向的任何点投射光线以与曲面相交,然后可以计算到相交点的距离。
[0088]
在图7a和图7b中示出了第二实施例的定向距离场方法的步骤,图7a和图7b在下面参照图4a和图4b来讨论以突出第一实施例(图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加厚成为实体模型。加厚方向朝着归属几何体的内部,并且如果将面120、130、140加厚到超出归属模型的边界,则必须切除额外的体积,这意味着仅保留加厚模型与归属模型模型的交集(布尔运算),如框770所示。每个面120、130、140的加厚模型被合并以形成一个冻结模型,该冻结模型包括与所选择的面120、130、140相对应的加厚部分320、330、340。最后,如框790所示,由距离场生成模块780将冻结模型离散化为变孔隙距离场300。上
述预处理将三角化分解的几何模型组合以为后处理做准备,后处理将在下文进行详细描述。
[0090]
在第二实施例中,可以例如由距离场函数布尔模块1037应用距离场布尔技术来代替网格布尔运算,以去除由体素模型转换产生的等值面的表面材料不规则。距离场布尔运算(诸如交集、并集和差集)可以应用于三角形或四边形网格。距离场函数布尔模型1037在拓扑优化的等值面距离场与变孔隙距离之间执行距离场交集,以产生结果距离场(未示出),然后在结果距离场和冻结距离场之间执行距离场并集。所有边界形状都精确地保留在最终距离场中。
[0091]
与第一实施例一样,对于等值面提取,用户可以增加体素密度阈值以使得有更多的材料或更多的体素,或降低体素密度以包括更少的材料或更少的体素来。例如,用户可以将调整体素密度实施为迭代过程。如图8所示,如果修改了密度阈值,则重新生成拓扑优化的等值面网格250,并以变孔隙距离场和冻结距离场300重新执行距离场布尔,以生成最终结果500。如框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,其中存储有限定了上述功能的软件508;输入输出(i/o)设备510(或外围设备);以及本地总线或本地接口512,其使得能够在系统900内进行通信。如在本领域中已知的,本地接口512例如可以是,但不限于,一条或多条总线,或其他有线或无线连接。本地接口512可以具有诸如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器之类的附加元件,以能够进行通信;为了简化起见,这些附加元件被省略了。此外,本地接口512可以包括地址连接、控制连接和/或数据连接,以使得能够在前述组件之间进行适当的通信。
[0093]
处理器502是用于执行软件,特别是存储在存储器506中的软件的硬件设备。处理器502可以是任何定制的或市售的与本系统900相关联的多个处理器中的单核或多核处理器、中央处理器(cpu)、辅助处理器,基于半导体的微处理器(以微芯片或芯片组的形式)、宏处理器或通常用于执行软件指令的任何设备。
[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进行数据通信,并且通常根据软件508来控制系统900的运行。
[0098]
当系统900的功能处于运行中时,处理器502被配置为执行存储在存储器506内的软件508,以与存储器506进行数据通信,并通常根据软件508来控制系统900的操作。操作系统520被处理器502读取,可能被缓冲在处理器502内,然后被执行。
[0099]
当系统900以软件508实施时,应当注意,用于实施系统900的指令可以存储在供任何与计算机相关的设备、系统或方法使用或与计算机相关的设备、系统或方法联合使用的任何计算机可读介质上。在一些实施例中,这种计算机可读介质可以对应于存储器506和存储设备504之一或这两者。在本文的上下文中,计算机可读介质是供与计算机相关的设备、系统或方法使用或与计算机相关的设备、系统或方法联合使用的能够包含或存储计算机程序的电子、磁、光学或其他物理设备或工具。用于实施该系统的指令可以包含在供处理器或其他这样的指令执行系统、装置或设备使用或与处理器或其他这样的指令执行系统、装置或设备联合使用的任何计算机可读介质中。尽管已经通过示例的方式提及了处理器502,但是在某些实施例中,这种指令执行系统、装置或设备可以是任何基于计算机的系统、包含处理器的系统、装置或设备或能够从指令执行系统、装置或设备中提取指令并执行指令的其他系统。在本文的上下文中,“计算机可读介质”可以是供处理器其他这样的指令执行系统、装置或设备使用或与处理器或其他这样的指令执行系统、装置或设备联合使用的能够存储、通信、传播或传输程序的任何工具。
[0100]
这种计算机可读介质可以是例如但不限于电子、磁、光学、电磁、红外或半导体系统、装置、设备或传播介质。计算机可读介质的更具体示例(非详尽列表)将包括以下:具有一根或多根电线的电连接(电子)、便携式计算机软盘(磁)、随机存取存储器(ram)(电子)、只读存储器(rom)(电子)、可擦可编程只读存储器(eprom、eeprom或闪存)(电子)、光纤(光学)和便携式光盘只读存储器(cdrom)(光学)。注意,计算机可读介质甚至可以是在其上能打印程序的纸张或其他合适的介质,因为可以通过例如对纸张或其他介质进行光学扫描来电子地捕获程序,然后对其进行编译、解释,或必要时以适当的方式进行其他处理,然后存储在计算机存储器中。
[0101]
在替代性实施例中,在系统900以硬件实施的情况下,系统900可以利用以下各自在本领域中是众所周知的技术中的任何一种或组合来实施:用于在数据信号上实现逻辑功能的具有逻辑门的离散逻辑电路、具有适当组合逻辑门的专用集成电路(asic)、可编程门阵列(pga)、现场可编程门阵列(fpga)等。
[0102]
对于本领域技术人员将显而易见的是,在不脱离本发明的范围或精神的情况下,可以对本发明的结构进行各种修改和改变。鉴于前述内容,旨在是使本发明涵盖本发明的
修改和变型,只要这些修改和变型落入所附权利要求及其等同变换的范围内即可。
再多了解一些

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

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

相关文献