在受约束的非对称细分网格中的拓扑结构变化的制作方法

文档序号:11519912阅读:223来源:国知局
在受约束的非对称细分网格中的拓扑结构变化的制造方法与工艺



背景技术:

本发明的实施例总体上涉及计算机程序和系统的领域,并且具体地涉及产品设计和模拟的领域。在市场上提供用于零件或零件的组件的设计和模拟的多个现有的产品和模拟系统。这样的系统一般采用计算机辅助设计(cad)和计算机辅助工程(cae)程序。这些系统允许用户构造、操纵以及模拟对象或对象的组件的复杂三维模型。这些cad和cae系统因此在具有面的某些情况下使用边缘或线来提供经建模的对象的表示。可以用各种方式(例如,非均匀有理b样条(nurbs))来表示线、边缘、面或多边形。

这些cad系统管理经建模的对象的零件或零件的组件,其主要是几何结构的规范。具体而言,cad文件包含规范,几何结构由规范产生。根据几何结构,产生表示。规范、几何结构和表示可以存储在单个cad文件或多个cad文件中。cad系统包括用于向设计者表示经建模的对象的图形工具;这些工具专用于复杂对象的显示。例如,组件可包含数千个零件。

cad和cae系统的出现允许对象的各种各样的表示可能性。一个这样的表示是有限元素分析(fea)模型。术语“fea模型、有限元素模型(fem)、有限元素网格和网格”在本文中可互换地使用。fem一般表示cad模型,并且因此可以表示一个或多个零件或整个组件。fem是被互连以产生被称为网格的栅格的称为节点的点的系统。因此,fem可以由顶点、边缘和/或面表示。fem(包括边缘、顶点和面)可以以使得fem具有其表示的基础对象或对象的特性的方式进行编程。可以为fem的每个实体(例如,边缘、面和顶点)存储额外的信息以完善描述。例如,有限元素模型可以根据本领域中已知的原理而被编程以具有结构特性,例如其表示的对象的质量、重量和刚度。此外,fem可以包括信息,例如fem的各种实体的吸引和用于识别的标记。当fem或如在本领域中已知的其它这样的对象表示以这样的方式进行编程时,其可以用于执行其表示的对象的模拟。例如,fem可以用于表示车辆的内舱、围绕结构的声学流体以及任何数量的真实世界对象。此外,cad和cae系统连同fem一起被用于模拟工程系统。例如,cae系统可以用于模拟车辆的噪声和振动。



技术实现要素:

本发明的实施例提供用于修改三维(3d)模型的有限元素网格表示的方法和系统。

本发明的实施例通过由用户定义有限元素网格的对称约束来开始,有限元素网格表示主体(subject)3d模型,其中对称约束包括要被对称地修改的有限元素网格的两个非对称区。接着,这样的实施例识别在两个非对称区之间的对应的有限元素,并且响应于用户交互,对两个非对称区的至少一个有限元素执行拓扑结构操纵。进而,在与至少一个元素相对应的所识别的有限元素上对称地执行拓扑结构操纵。根据实施例,对称地执行操纵导致有限元素网格的两个非对称区在拓扑结构上被对称地修改,表示主体3d模型中的拓扑结构上的对称修改。

在实施例中,识别两个非对称区之间的对应的有限元素包括识别两个非对称区的对称边缘、顶点和面。替代的实施例还包括确定局部对称平面,所述局部对称平面由有限元素网格的两个非对称区的质心定义并垂直于由有限元素网格的两个非对称区定义的方向。此外,使用所确定的局部对称平面,这样的实施例还可以包括更新对称约束和所识别的对应的有限元素以反映所执行的拓扑结构操纵。根据实施例,更新对称约束包括重新构造与两个非对称区中的每个区相关联的相应边缘轮廓以及重新构造与两个非对称区中的每个区相关联的相应边界面。

由实施例执行的拓扑结构操纵可以是本领域中已知的任何这种拓扑结构修改。在一个这种实施例中,拓扑结构操纵包括以下各项中的至少一项:面挤压、边缘切割、面细分、斜边切割、和面去除。

在替代的实施例中,定义对称约束包括以下各项中的至少一项:识别第一组经连接的面和第二组经连接的面,识别平面和一组经连接的面,识别一组面,以及识别平面。根据又一实施例中,对称约束只应用于有限元素网格的子部分。在另一个实施例中,利用相应的唯一标记来识别有限元素网格的两个非对称区的元素。

在本发明的实施例中,定义对称约束包括确定在两个非对称区之间的分离形状。在这样的实施例中,分离形状可以是平面。此外,在又一实施例中,在识别在两个非对称区之间的对应的有限元素中使用分离形状。

本发明的替代的实施例涉及用于修改3d模型的有限元素网格表示的计算机系统。这样的系统包括处理器和存储器,存储器具有存储在其上的计算机代码指令,其中处理器和具有计算机代码指令的存储器被配置为使系统实现本文中所述的各种实施例。在一个这样的实施例中,处理器和具有计算机代码指令的存储器使系统:响应于第一用户交互作用,定义代表主体3d模型的有限元素网格的对称约束,对称约束包括要被对称地修改的有限元素网格的两个非对称区;以及识别在两个非对称区之间的对应的有限元素。此外,在这样的计算机系统实施例中,处理器和具有计算机代码指令的存储器还使系统响应于第二用户交互作用而对两个非对称区的至少一个有限元素执行拓扑结构操纵,并且在与至少一个元素相对应的所识别的有限元素上对称地执行拓扑结构操纵。根据实施例,对称地执行操纵导致有限元素网格的两个非对称区在拓扑结构上被对称地修改,并且表示主体3d模型中的对称拓扑结构修改。

根据计算机系统的实施例,在识别两个非对称区之间的对应的有限元素时,处理器和具有计算机代码指令的存储器还被配置为使得系统识别两个非对称区的对称边缘、顶点和面。此外,根据另一实施例,处理器和具有计算机代码指令的存储器还被配置为使得系统确定局部对称平面,所述局部对称平面由有限元素网格的两个非对称区的质心定义并垂直于由有限元素网格的两个非对称区定义的方向,并且使用所确定的局部对称平面来更新对称约束和所识别的对应的有限元素以反映所执行的拓扑结构操纵。在又一实施例中,在更新对称约束时,处理器和具有计算机代码指令的存储器还被配置为使得系统:重新构造与两个非对称区中的每个区相关联的相应边缘轮廓以及重新构造与两个非对称区中的每个区相关联的相应边界面。

根据计算系统的实施例,拓扑结构操纵包括以下各项中的至少一项:面挤压、边缘切割、面细分、斜边切割和面去除。在又一个实施例中,对称约束只应用于有限元素网格的子部分。此外,根据另一个实施例,在定义对称约束中,处理器和具有计算机代码指令的存储器还被配置为使系统识别以下各项中的至少一项:第一组经连接的面和第二组经连接的面、平面和一组经连接的面、一组面以及平面。在又一实施例中,利用相应的唯一标记来识别有限元素网格的两个非对称区。

在一个这样的计算机系统实施例中,在定义对称约束中,处理器和具有计算机代码指令的存储器还被配置为使得系统确定在两个区之间的分离形状。在识别两个区之间的对应的有限元素时实施例利用分离形状。此外,在又一实施例中,分离形状是平面。

本发明的另一实施例涉及用于修改表示3d模型的有限元素网格的云计算实施方式。这样的实施例涉及在跨网络与一个或多个客户端的通信中由服务器执行的计算机程序产品,计算机程序产品包括计算机可读介质。计算机可读介质包括程序指令,其当由处理器执行时使得:响应于第一用户交互作用,定义有限元素网格的对称约束,有限元素网格表示主体3d模型,对称约束包括要被对称地修改的有限元素网格的两个非对称区;以及识别在两个非对称区之间的对应的有限元素。此外,在这样的实施例中,程序指令当被执行时还使得:响应于第二用户交互作用,对两个非对称区的至少一个有限元素执行拓扑结构操纵并且在与至少一个元素相对应的所识别的有限元素上对称地执行拓扑结构操纵。在这样的实施例中,对称地执行操纵导致有限元素网格的两个非对称区在拓扑结构上被对称地修改,并表示主体3d模型中的对称拓扑结构修改。

本申请涉及在本申请的优先权日在epo并由同一申请人提交的、标题为“modificationofaconstrainedasymmetricalsubdivisionmesh”并且具有相同的发明人的申请,其全部教导通过引用被并入本文中。在其它示例当中,对本申请的两个非对称区的至少一个所识别的对应的有限元素的操纵可以是如在相关申请中所述执行的操纵,并且此外这两个申请可以利用用于定义对称约束、识别对应的有限元素并相应地执行操纵的相同或类似的方法。

附图说明

前述内容将根据本发明的示例性实施例的以下的更具体的描述而显而易见,如在附图中所示的,其中相似的附图标记在全部不同的视图中指代相同的部件。附图并不一定是按照比例的,相反强调的是说明本发明的实施例。

图1描绘了可以在实施例中利用的表面和有限元素网格。

图2示出了具有根据本发明的实施例的原理的受到对称约束的部分的有限元素网格。

图3描绘了可以在一个或多个实施例中利用的具有几何差异和对称拓扑结构的有限元素网格。

图4示出了由实施例提供的示例性功能,其中可以移动网格并且维持对称约束。

图5描绘了由本发明的示例性实施例提供的功能。

图6是示出根据实施例的原理的修改有限元素网格的计算机实现的方法的流程图。

图7示出了根据实施例定义的对称约束。

图8描绘了包括根据示例实施例的原理定义的对称约束的有限元素网格。

图9是具有根据实施例的方法定义的对称约束区的有限元素网格。

图10描绘了根据实施例对称地约束的有限元素网格。

图11示出了分析可以在实施例中利用的有限元素网格的方法。

图12描绘了具有可以在本发明的实施例中利用的唯一标记系统的有限元素网格。

图13a-k示出了具有可以利用本发明的实施例的原理来执行的拓扑结构变化的有限元素网格。

图14描绘了根据示例性实施例的在约束创建时的有限元素网格和在修改之后的有限元素网格。

图15a-d描绘了利用实施例的原理的有限元素网格的拓扑结构变化。

图16描绘了受到根据实施例的原理定义的对称约束的有限元素网格的拓扑结构变化。

图17是定义根据实施例的对称约束的计算机自动化的方法的流程图。

图18是根据示例性实施例的原理利用对称约束修改网格的计算机实现的方法的流程图。

图19是根据实施例的原理的用于修改有限元素网格的计算机系统的简化方框图。

图20是可以实现本发明的实施例的计算机网络环境的简化图。

具体实施方式

本发明的示例性实施例的描述如下。

本发明的实施例涉及完全由表示3d模型的细分网格定义的细分表面。更具体地,实施例处理“对称形状”的概念,其可以是cad软件中的标准功能。实施例提供用于提供这样的功能的更有效的方法和系统。

如本文中所提到的,本发明的实施例涉及cad和3d模型。图1描绘了由网格101定义的一个这样的表面100。设计者例如可以利用本发明的实施例来增加效率,同时修改网格101。因此,有效地反映对表面100的期望修改。

很多所制造的对象是对称的或具有对称的一些部分,例如屏幕和电视机、电话、头戴式耳机、马克杯(mugs)、汽车座椅等。此外,很多真实世界对象本身或其部分可以是非对称的,但对称地对这些部分产生变化依然可能是合乎需要的。因此,对维持表示真实世界对象的有限元素网格的对称特性的约束是在cad软件中的有用功能。本发明的实施例可以用于增加在几乎任何对象的设计和建模中的效率,因为大部分对象包含可以利用本发明的实施例的原理来约束的局部或全局对称或非对称部分。例如,可以在具有针对用户的拇指的槽的计算机鼠标、具有针对扬声器或按钮位置的非对称边界的电视机、移动电话、以及具有两个不同尺寸的手指孔的一对剪刀的设计中使用本发明的实施例。在本文中所述的方法和系统的示例中,3d模型表示头戴式耳机,并且对称约束涉及两个耳机,并且操纵是由cad设计者执行以修改两个耳机中的任一个的形状和/或定位的设计操作。在又一实施例中,3d模型表示汽车的后座椅,并且整个座椅受到对称约束。因此,当对例如座椅的左头枕进行改变时,可以有效且自动地利用本发明的实施例的原理来对右头枕执行这个改变。

在现有技术中处理问题的主要方式是提供从普通细分网格和平面构建或看到整个对称网格(即,从原始网格创建完全对称的网格)的方式。然而,虽然这样的现有解决方案允许用户创建完整的对称网格,这意味着在拓扑结构上和在几何上是对称的,这从人机工程学观点来看不一定是对以上所提及的所制造的对象的设计的最有效的解决方案。然而,现有的解决方案不提供可能需要的所有功能。因此提出一种方法和系统作为改进,该方法和系统允许用户:只将网格的子部分定义为对称的;修改对称区的右侧或左侧;具有与对称拓扑结构的一些几何差异;在不同的地方中朝着所选定平面移动网格而不破坏对称约束;和/或改善或简化细分表面并保持对称约束尽可能远。除其它功能外,现有的解决方案不提供前面提到的功能。

如上所述,为整个细分网格和平面设计现有的解决方案。本发明的实施例利用在细分网格内部被约束的对称区,并且在网格的整个修改中维持这个约束。这改进了人机工程学。

本发明的实施例提供现有的方法不支持的很多功能。例如,本发明的实施例只允许网格的子部分被约束为对称的。图2示出了网格220,其中只有部分221被约束为关于平面224是对称的。此外,实施例实现功能,其中对称区的右侧或左侧可以被修改。这个功能允许例如对称区221的左侧222和/或右侧223被修改。此外,如图3中所示的,本发明的实施例支持利用对称拓扑结构来创建几何差异。在图3中,有限元素网格331和332在拓扑结构上是等同的,但在几何上是不同的。除了其它原因以外,网格332还包括在与相应的边缘335和336不同的角度下的边缘333和334。因此,网格331和332本身在拓扑结构上关于339和340是对称的,但它们在几何上关于那些相同的平面不是对称的。

另外的实施例提供用于移动网格而不破坏对称约束的能力。图4描绘了被约束为朝着平面441是对称的第一位置442a处的网格440。随后,网格440移动到位置442b并被修改(从443a到443b所示的差别)。通过利用平面441严格地定义网格440的对称约束,用户能够总是利用约束修改形状,并朝着所选定的平面将网格移动到不同的地方而不破坏对称约束。本发明的实施例可以通过在约束的定义之后不考虑平面数据来实现此。这个解决方案允许为将被移动的网格的所有元素维持对称操纵。这也实现了对非对称网格的操纵。例如,在图4中,网格440关于平面441是非对称的,并且因此通过不利用平面数据,在对称约束被定义之后,网格440可以相对于平面441移动,如在框442b中所示的,并且可以维持对称约束。根据实施例,这可以在网格440被移动之后通过确定新对称平面来实现。

另外的实施例提供要改善或简化的有限元素网格的功能,同时一直保持对称约束为尽可能多的修改。图5描绘了网格550和所修改的网格551,其中通过所需的各种修改以得到所修改的网格551,维持对称约束。虽然实施例通过很多修改来维持对称约束,在替代的实施例中,存在对可以被执行的修改的限制,同时维持对称约束。例如,在特定的条件(例如强烈和破坏性拓扑结构的修改被执行)的实施例中,可能难以识别对称区的轮廓。在实施例中,提供功能以当约束不能被维持时编辑对称约束和/或重新定义对称约束。

没有进行已知的尝试来定义、存储并维持这样的“对称约束”以能够执行前面提到的功能。在本发明的实施例中,对称区通过在网格本身上被验证并创建来进行定义。约束通过在网格表面中的集成被“存储”,并且被流式传送和复制,以使得网格表面不再是简单的基本网格。此外,通过在网格的两侧上执行所有操作(例如,顶点平移、面挤压和面移除)来维持约束。没有已知的cad或其它软件之前对此成功地处理。

图6是根据本发明的实施例的原理的用于修改有限元素网格的计算机实现的方法660的流程图。方程660通过定义有限元素网格的对称约束来开始,其中对称约束包括在步骤661对称地修改的两个非对称区。根据实施例,两个非对称区均包括一组网格元素,例如面、顶点和/或边缘。根据方法660的实施例,有限元素网格代表主体3d模型。可以使用各种方法(例如,识别第一组经连接的面和第二组经连接的面、识别平面和一组经连接的面、识别一组面和识别平面)来定义约束。此外,方法660的实施例可以利用用于定义本文中所述的对称约束的任何方法或方法的组合。以下关于图7-10在本文中描述关于用于定义可以在方法660中利用的对称约束的方法的另外的细节。例如,在实施例中,主体网格显示在监视器上,并且用户使用鼠标、触摸屏或本领域中已知的任何用户/界面方法来选择包括对称区的网格的面、边缘和/或顶点。在另一实施例中,可以通过选择对称的平面来识别对称约束。此外,对称约束可以被定义为包括网格的任何部分,例如整个网格或有限元素网格的一些子部分。

如在上文中所述的,方法660定义包括要被对称地修改的两个非对称区的对称约束。方法660的实施例可以用于修改各种有限元素网格,其中例如网格是非对称的,但需要对称地执行修改。这样的网格的示例在图2中被描绘,在上文中被描述,其中网格220包括对称约束221,其包括两个非对称区222和223。根据实施例,在步骤661定义对称约束包括确定在两个非对称区之间的分离形状。在这样的实施例中,分离形状可以是期望的任何这样的形状。此外,根据实施例,分离形状可以是默认形状,例如在这两个区之间的平面。此外,在又一实施例中,分离形状被识别为位于两个非对称区的质心处并垂直于在这两个区之间的方向的平面。根据实施例,可以使用本领域中已知的任何方法来确定所述平面和质心。例如,可以使用等式:σnagia=0。此外,在其它示例当中,可以使用每个区的每个闭合轮廓的质心来识别在这两个区之间的方向。在这样的示例中,在那两个质心之间的区段可以定义在这两个区之间的方向。在图2中描绘了示例性分离形状224。此外,虽然方法660定义包括两个非对称区的对称约束,本发明的实施例不被这样限制,并且在替代的实施例中,对称约束可以包括两个对称区。

在步骤661定义对称约束之后,方法660在步骤662继续并识别在两个非对称区之间的对应的有限元素。根据实施例,识别对应的元素包括识别两个区的对称边缘、顶点和面。例如关于图12整体描述了对应的有限元素的示例。例如,在图12中描绘的顶点(7,13)和(6,16)和面(7,13)都可被考虑为可以在方法660的步骤662期间识别的对应的元素。此外,根据实施例,在步骤662识别对应的有限元素可以包括识别在两个非对称区之间的所有这样的对应的元素,或替代地任何数量的对应的元素。在实施例中,使用近邻传播方法(例如以下关于图11在本文中所述的方法)在步骤662自动识别对应的元素。还进一步地,在又一实施例中,可以响应于操纵(即例如,在挤压面之后)仅识别对应的有限元素,随后可以识别对应的对称顶点。在方法660的另一实施例中,当在步骤661定义对称形状时确定的分离形状可以用于在步骤662识别在两个区之间的对应的元素。例如,所定义的分离形状用于识别这两个区,并且使用本文中所述的原理,可以识别这两个区的对应的元素。

方法660的又一实施例对受到所定义的约束的每个元素利用相应的唯一标记。这些唯一标记进而可以在步骤662在识别在两个非对称区之间的对应的有限元素时被使用。以下关于图12在本文中描述了关于唯一标记的另外的细节。

在步骤661定义对称约束并在步骤662识别对应的有限元素之后,方法660通过在步骤663执行对两个非对称区的至少一个所识别的对应的有限元素的拓扑结构操纵来继续。根据实施例,可以响应于用户输入或命令而执行操纵。本发明的实施例可以提供功能以实现本领域中已知的任何拓扑结构。示例性拓扑结构操纵包括面挤压、边缘切割、面细分、斜边切割和面移除。

响应于在步骤663的操纵,拓扑结构操纵进而在步骤664在与至少一个元素相对应的所识别的有限元素上被对称地执行。换句话说,在例如面上执行拓扑结构操纵之后,在其它非对称区中在对应的面上对称地自动执行操纵。这样的功能的示例在图13a-k中被描绘并且在下本文中被描述。在步骤664对称地执行操纵导致有限元素网格的两个非对称区在拓扑结构上被非对称地修改。此外,在步骤663和664的这样的修改可以表示主体3d模型中的非对称修改。

在方法660的实施例中,在步骤664对称执行操纵包括确定局部对称平面,所述局部对称平面由至少一个有限元素和与至少一个元素相对应的所识别的有限元素定义并垂直于由至少一个有限元素和与至少一个元素相对应的所识别的有限元素定义的方向。此外,这样的实施例使用局部对称平面来计算拓扑结构操纵的对称变换,并且进而在与至少一个有限元素相对应的所识别的有限元素上执行所计算的对称变换。在示例性实施例中,计算并执行确切的对称变换,例如,如果面挤压1厘米,则对应的面也挤压1厘米。在另一实施例中,计算并执行比例变换。例如,如果10厘米高的面挤压2厘米,则对应的面也被挤压其高度的20%。

根据方法660的实施例,有限元素网格是3d模型的表示。如在本文中所述的,3d模型以及因而表示同一对象的有限元素模型可以代表任何种类的真实世界对象,例如汽车、电话和运动设备等。有限元素模型可以根据本领域中已知的原理被编程以具有结构特性,例如其表示的对象的质量和刚度。因此,方法660的实施例可以用于提高在这样的真实世界对象的设计中的效率,其中期望对称修改。

可以利用本发明的实施例,从而使网格受到任何数量的对称约束。因此,对称约束可以作为网格的部分进行累积,因而通过对有限元素网格的多个部分对称地执行操纵来为用户增加设计效率。多个约束可以被定义为具有相同或不同组的有限元素的网格。此外,方法660的实施例可以用于同时对有限元素网格的多个元素执行拓扑结构修改。例如,一次可以挤压若干面,并且进而可以使用本文中所述的实施例的原理对称地挤压在另一对称区中的每个对应的面。此外,本发明的示例性实施例还可以包括在适当的情况下忽略所定义的约束的功能。例如,在用户选择被包括在两个非对称区中的多个元素的情况下,可以确定设计意图,以便于当在这两个非对称区中同时对元素作出变化时忽略对称约束。这可能在例如用户将整个网格二等分的情况下是必要的。关于图13e在下文中描述了关于这种功能的细节。

根据本文中所述的原理定义和存储对称约束提供了在网格修改的大部分情况下重新构造受到约束的网格的两个部分的能力。此外,本文所述的方法还确保在每次修改(切割、挤压、细分、斜边切割等)之后右边缘和左边缘轮廓的重新构造。

在步骤663和664利用方法660执行的拓扑结构变化可以例如产生具有额外的面、边缘和顶点的主体有限元素网格。因此,方法660的实施例提供了用于更新所定义的对称约束和所识别的对应的有限元素的功能以在步骤663和664反映拓扑结构变化。方法660的一个这样的实施例还包括确定局部对称平面,所述局部对称平面由有限元素网格的两个非对称区的质心定义并垂直于由有限元素网格的两个非对称区定义的方向。进而,使用所确定的局部对称平面,这样的实施例更新对称约束和所识别的对应的有限元素以反映在步骤663和664所执行的拓扑结构操纵。根据实施例,更新对称约束包括重新构造与两个对称区中的每个区相关联的相应边缘轮廓,以及重新构造与两个非对称区中的每个区相关联的相应边界面。关于图15a-d在本文中描述了关于这样的方法的另外的细节。

实施例可以利用各种技术来定义对称约束。一种这样的方法利用具有在一组面当中的右元素和左元素对的自动计算来定义对称约束。其它实施例提供使用户成对地定义所约束的元素的方式。可以在实施例中利用的一种示例性方法是利用经连接的面的两个单独组来定义对称约束。在这样的实施例中,可以自动检测平面,这两个组关于该平面是对称的。

图7描绘了在由面771的左边组和面772的右边组定义的网格770上的对称约束。在这样的示例中,用户可以选择两个组的面771和772或选择面的组的其中之一771或772,以定义对称约束。在这个示例中,中心面773和774不受到约束。此外,在这样的示例中,可以例如通过计算在左组771和右组772之间的质心并考虑在两组面771和772之间的方向来自动识别平面775,面771的左组和面772的右组关于平面775是对称的。在这样的示例中,所计算的质心识别在这两组面之间的中点,并且然后对称平面被识别为包含质心并正交于(即垂直于)在两个区之间的方向的平面。

图8示出了另一示例性实施例,其中对称约束由面的两个单独组定义。在网格880上的对称约束包括面881和882的单独组,每个组包括五个面。可以与在图7中所描绘的前面提到的示例实施例类似地自动确定平面885,组881和882关于平面885是对称的。

图9示出了具有根据又一实施例的原理定义的对称约束的网格990。在图9中所描绘的实施例中,使用一组面991来定义约束。在这样的实施例中,这组面991的一半992位于平面994的一侧上,并且这组991的另一半993位于平面994的另一侧上。在这个示例性实施例中,在约束由单组面定义的情况下,平面994可以再次被自动识别。

此外,虽然本发明的实施例提供功能,其中只有有限元素网格的一部分受到对称约束,本发明的实施例不限于这样的方法。图10描绘了有限元素网格1000,其中整个网格受到约束。如在图10中所描绘的,左部分1001和右部分1002受到关于平面1003的对称约束。

对称约束还可以由平面和一组经连接的面定义。在这样的实施例中,随后可以识别中间接合点以重新得到单独的对称区。还进一步地,实施例可以利用平面来识别对称区,其中该平面可以由网格的元素(例如顶点、面和/或边缘)定义。虽然描述了用于定义对称区的各种不同功能,但实施例可以在任何组合中使用这些功能。此外,可以使用相同或不同组的所选定面来为网格定义约束。

实施例还可以包括确保在受到对称约束的顶点、边缘和/或面之间存在对应性的功能。一个这样的示例性实施例依赖于基于网格的拓扑结构的递归算法以确定对应性。在实施例中,这通过分析每个对称区的轮廓来执行。在图11中描绘了这样的示例,其中网格1100被分析以确认在受到约束的顶点、边缘和面之间的对应性。这样的实施例从轮廓的边缘1101开始,并且从网格结构识别相邻循环1102。从循环1102和循环1102的定向中,顶点和边缘以正确的顺序被重新得到并一起成对。一旦循环1102被处理,这样的方法就接着移动到下一循环1103并类似地识别顶点和边缘。这在网格1100的两侧上被执行,并且一旦两个区域的所有元素被处理,方法就停止并且所有元素成对。以这种方式,因为有限元素网格的约束区的边缘轮廓和边界面是相关联的,所以这两组经连接的面(即,约束的一侧和约束的另一侧)的所有元素在近邻传播中是2乘2地相关联的。此外,当做出这样的确定时,在接合点上的元素(例如,平面的对称性)可以是其自身的对称元素,但在这样的实施例中,选定面在没有对称面的情况下没有被留下。

本发明的实施例还存储在每个对称区中所包含的每个元素(面、边缘或顶点)的对应性。这实现在两个方向上(例如,从右到左和从左到右)跨对称平面应用修改的能力。许多约束可以被定义为具有相同或不同组的选定面的网格。约束以有效的方式被存储,以使得可以执行所有情形,并且本发明可以通过对网格的任何种类的修改来维持两个对称区定义。这意味着通过细分网格的所有修改来保持两组面、边缘和/或顶点。在一些实施例中,还可以存储右面的轮廓、左面的轮廓、以及右和左轮廓的每个边缘的边界面。关于图12在下文中描述了关于前面提到的存储的另外的细节。

本发明的实施例可以利用用于识别有限元素网格的元素的唯一标记系统。图12描绘了在具有网格1220b上所描绘的标记的有限元素网格1220a上的一个这样的示例性标记系统。在实施例中,可以在网格中使用标记(例如数字)来识别面和顶点。图12描绘了具有识别顶点的唯一数字的网格1220b。面可以类似地被标记。例如,可以用标记17来识别由顶点5、6、7和8划界的面1221。在又一实施例中,可以使用给面划界的顶点来识别面。类似地,边缘可以利用唯一的标识符被识别或者边缘可以由它们的两个顶点标记来识别。例如,边缘1222可以被识别为边缘(1,2)。

在这个示例性实施例中,存储分别与顶点(11,12,9,10)和(5,8,4,1)有关的右轮廓1223和左轮廓1224。类似地,实施例可以对轮廓1223和1224的相对边界面完成相同的事。本发明的实施例还可以存储每对对称顶点以及每对对称面。例如,可以存储所有对的对称顶点(7,13)、(6,16)、(3,14)、(2,15)、(8,12)、(5,11)、(4,9)和(1,10)。还可以类似地存储除其它面以外的对称面,例如面(17,19)和(1221,1225)。实施例可以对每个边缘使用唯一标识符,或每个边缘可以由其相应的顶点标记识别。例如,左轮廓包括边缘(5,8)、边缘(8,4)、边缘(4,1)和边缘(1,5),并且右轮廓包括边缘(11,12)、边缘(12,9)、边缘(9,10)和边缘(10,11)。

图13a-k描绘了利用本发明的实施例实现的各种拓扑结构变化。图13a描绘了原始受约束的网格1330。网格1330关于平面1340受约束。因此,除了其它方面,左侧区1343包括面1331、1332、1335和1338并且右侧区1344包括面1333、1337、1334和1336。此外,左侧区1343包括边缘1341并且右侧区包括边缘1342。虽然网格1330和约束应用于网格1330的附加有限元素,但仅需要描述图13b-k中所描绘的各种拓扑结构变化的那些元素已经被分配附图标记。

图13b分别描绘了面1335和1336的挤压1350和1351。根据实施例,例如用户可以挤压面1335从而产生挤压1350,并且随后,因为网格1330受到如本文中所述的对称约束,所以在对应的面1336上自动地执行挤压1351。图13c分别类似地描绘了面1331、1332、1333和1334的挤压1352、1353、1354和1355。再次,通过利用本发明的实施例,用户可以在受到约束的一个区上执行挤压,例如属于右侧区1344的面1333和1334,并且有限元素网格在拓扑结构上被自动对称地修改,从而产生挤压1352和1353。

图13d描绘了边缘1341的垂直边缘切割1357。这进而产生了边缘1342的拓扑结构上的对称边缘切割1358。如本文中所述,本发明的实施例包括用于在约束与设计意图相矛盾的情况下忽略约束的功能。这例如可能发生在用户同时修改受到约束的两个区中的元素时。如图13e中所示的,一个这样的示例是水平切割整个网格1330e的水平切割1360。当执行这样的操作时,忽略约束。在执行切割1360之后,在其它情况下出现不正确的结果,尝试对称地执行切割1360。然而,如果例如只有左侧区被切割,即在平面1340e的左侧的元素上执行切割,那么根据本发明的实施例的原理,然后对称地执行切割,从而切割平面1340e的右侧的元素。

图13f描绘了可以使用本发明的实施例执行的又一拓扑结构操纵。在图13f中,细分1361的原始网格1330的面1338,并且作为响应,在面1337上对称地执行该细分从而产生被细分的面1362。

图13g描绘了右侧1344被斜边切割的情况下的示例。斜边切割操作用至少两个边缘(或边缘的组)代替边缘(或边缘的组)以便于“挤压”所产生的表面。在图13g中,右侧1344g被斜边切割并且这导致左侧1343被对称地斜边切割,如左侧1343g所示。图13h和13i描绘了分别在面1338和1337上执行的斜边切割1363、1364、和1365、和1366。还进一步地,另一示例性拓扑结构变化是面移除。图13j和13k示出了被去除的原始网格1330的面1334。如针对本文中所述的其它示例,在去除面1334之后,去除面1331从而导致网格在拓扑结构上被对称地修改。

本发明的实施例允许用户快速和容易地创建具有对应于网格的一些部分或完整的网格的区的3d细分表面。这可以极大地减少执行对有限元素网格的设计变化所花费的时间。图14示出了在约束创建时的原始有限元素网格1440a和在设计变化被执行之后的网格1440b的示例。在图14中,网格1440a被定义为具有应用于整个网格1440a的对称约束。进而,当在网格上执行设计变化时,它们又只需要由用户在对称约束的一侧上执行。因此,加速设计过程以更快地产生经修改的网格1440b。此外,这可以加速完成3dcad模型1441。

如在本文中所述的,本发明的实施例的方法可以以定义对称约束开始。可以通过选择用户想要维持为对称的区的面来定义对称约束。在定义约束之后,用户可以开始整个形状的修改。图15a示出了网格1550,其中选择了左侧1551上的面。默认平面zx1554用于使约束的左侧1551与约束的右侧1555分离。在选择面并识别平面(这可以包括使用默认平面1554)之后,计算轮廓1552和1553。在实施例中,反馈被提供给用户以指示所选择的面和对应的面可以被识别出,以便于创建对称区。在实施例中,可以通过弹出消息或通过视觉指示(例如突出显示轮廓1552和1553)来提供这个反馈。此外,本发明的实施例可以通过本领域中已知的任何手段向用户提供进一步的反馈:约束被成功地创建。当约束被成功地创建时,每个面、边缘和顶点具有其自身的对应的面、边缘和顶点。此外,申请人要注意到,虽然在整个说明书中使用了术语“左”和“右”以便于描述平面的与另一侧对称的一侧上的有限元素,但实施例不被这样限制,并且实施例可以利用跨任何形状/方向定义的对称约束。

图15b描绘了网格1550,其中,唯一标记系统用于识别网格1550的各种有限元素。图15c示出了在边缘被切割之后的网格1550。在该示例中,边缘(5,1)被切割,对对应的对称边缘(11,10)做相同的事。在轮廓中,边缘(5,1)被两个边缘(5,18)和(18,1)替代,并且边缘(11,10)被两个边缘(11,17)和(17,10)替代。通过更新轮廓,本发明的实施例可以响应于拓扑结构变化而更新受到对称约束的网格的元素和与元素相关的所存储的数据。

图15d描绘了与图15c类似的功能,然而示出了在已经执行挤压时的功能。在图15c中,边缘(1,4)被三个边缘(1,17)、(17,20)、以及(20,4)替代。同样,对对称边缘(10,9)做相同的事,对称边缘(10,9)被三个边缘(10,24)、(24,23)和(23,9)替代。

本发明的实施例提供了优于提供约束功能的现有方法的多个优点。一个这样的优点是用于吸收拓扑结构变化而保持对称约束的能力。在实施例中,这通过重新构造两个边缘轮廓和受约束的相关联的边界面来实现。在这样的实施例中,边缘轮廓被当作顶点链并且总是存在于新的网格(即,在操作之后的网格)中顶点被过滤。根据这样的实施例,当对轮廓进行修改时,重新得到由顶点链组成的新轮廓。一旦这被完成,在操作之前处于轮廓中的顶点从计算中被移除(即,过滤)以重新得到被插入到新的轮廓中作为操作的结果的新顶点。根据这一点,对另一侧上的对应的成对顶点进行识别以更新其它轮廓。根据实施例,当在受到对称约束的网格上执行操作时,如果早先的轮廓的两个顶点不是新网格的边缘的部分(即,不再是邻近的),那么填充两个顶点之间的空间以便于使轮廓闭合。本发明的实施例可以使用两个顶点之间的最短路径来填充轮廓。这样的方法有助于使对称轮廓以及整个“对称区”稳定,因为这些区可以由从轮廓到区中的所有元素的传播来定义。

本发明的实施例提供了用于维持通过所有拓扑结构变化的约束的功能。实施例还整合了所有的新的顶点、面和边缘。例如,如关于图15a-d在上文中所述的,原始轮廓(及相关联的面)被轮廓替代,其中每个边缘已经被一个或多个边缘替代、被移除、或保持不变。对于被另一面替代的、被去除的、或保持不变的边界面也是如此。

在本发明的示例性实施例中,约束的产生修改了所存储的网格的模型,但不会修改网格的形状。以这种方式,约束成为原始网格的部分。因此,利用实施例的原理的网格可以被交互式地识别。例如,在非对称的网格的元素(面、边缘或顶点)可以通过其对称元素来进行修改的情况下,例如在挤压面的情况下;或者如果受约束的元素在一起被修改,则维持拓扑结构对称,但约束与非对称元素一起继续。这样的示例在图16中被描绘,其中网格1660具有约束以及非对称元素,例如元素1661和1662。

图17是根据本发明的实施例的用于修改有限元素网格的计算机自动化的方法1770的流程图。当用户开始在步骤1772通过选择面、边缘和/或选择/定义对称平面时,方法1770开始1771。用户可以根据本领域中已知的任何方法来选择面/边缘/顶点/平面。例如,通过使用鼠标在显示器上选择面。替代地,用户可以在触摸屏上或通过输入面标记或位置来选择面。类似的方法可以用于平面选择和定义。当平面被定义或选择时,方法1770继续进行以在步骤1776识别两个轮廓。当面被选择时,接着在步骤1773确定是否存在具有自由边缘的面的两个封闭和分离的组。如果没有具有自由边缘的两个分离且封闭的组,则在步骤1774默认使用平面zx。如果存在具有自由边缘的两个分离且封闭的组,则在步骤1775在面的两个区之间计算组之间的正中平面。在通过步骤1773-1775继续进行或在步骤1772定义平面之后,方法1770继续在步骤1776识别对称约束的两个轮廓。使用受到如下文中所述的约束的面和平面识别轮廓。两个轮廓是受到约束的在对称平面的相对侧上的网格元素的轮廓线。根据实施例,轮廓由选定区的“边界”边缘组成。根据又一实施例,当在如本文中所述的拓扑结构修改期间插入新的顶点时,每个轮廓由链接点组成并且由两个顶点之间的最接近的路径定义。两个轮廓是受到约束的在对称平面的相对侧上的网格元素的轮廓线。在图15中示出并且在上文中示出了示例性轮廓1552和1553。在步骤1776识别出轮廓之后,在步骤1777确定顶点、面和边缘的所有对称对。可以使用本文中所述的任何方法(例如,在上文中关于图11所述的近邻传播方法)在步骤1777识别对称对。进而,步骤1776的所识别的轮廓和步骤1777的所计算的对称对又接着被测试以确定正确的约束是否可在步骤1778被定义。根据实施例,测试过程浏览元素(例如面、边缘和顶点)的组,并且确定每个元素是否具有一对。在步骤1778的测试确定是否存在具有产生两个相似组的面、边缘和顶点的两组边界面的两个轮廓。换句话说,测试确定每个面、边缘和顶点是否具有对应的面、边缘和顶点。当满足步骤1778的条件时,在步骤1779创建约束,当不满足条件时,方法1770重新开始1771。在替代的实施例中,用户可以不接受失败的测试并在测试失败时识别成对的元素。

图18是根据示例性实施例的原理修改具有对称约束的网格的计算机实现的方法1880的流程图。方法1880开始1881并在步骤1882确定被修改(例如斜边切割)的元素或多个元素是否具有对称性。因为方法1880的实施例允许用户一次修改多个元素,对在每个对称区中修改的每个元素进行测试以确定其是否具有适当的对称性。该方法重新开始1881,如果每个元素不具有对称性。然而,当每个约束的每个选定元素具有对称性时,在步骤1883计算每个元素的对称变换,并且进而在步骤1884执行每个对称变换。可以使用本领域中已知的原理来计算对称变换。此外,在实施例中,对于每个修改的顶点、边缘或面,重新得到变换t(例如,移动矢量、变换矩阵、加权值)。进而,计算局部对称平面(成对点的中点、从质心计算的对称平面和由两个成对点定义的法线)。随后,对应的对称变换(矩阵)应用于这个原始变换t以计算要被应用于成对元素(顶点或边缘或面)的对称修改。

图19是根据本发明的实施例的可以用于执行fem修改的基于计算机的系统1930的简化方框图。系统1930包括总线1935。总线1935用作系统1930的各种部件之间的互连。连接到总线1930的是用于将各种输入和输出设备(例如,键盘、鼠标、显示器、扬声器等)连接到系统1930的输入/输出设备接口1938。中央处理单元(cpu)1932连接到总线1935并且提供计算机指令的执行。存储器1937为执行计算机指令提供数据的易失性存储。存储器1936为软件指令提供非易失性存储,例如操作系统(未示出)。系统1930还包括用于连接到本领域中已知的任何种类的网络(包括广域网(wan)和局域网(lan))的网络接口1931。

应当理解的是,可以用很多不同的方式实现本文中所述的示例性实施例。在一些实例中,本文中所述的各种方法和机器均可以由物理、虚拟或混合通用计算机(例如,计算机系统1930)或计算机网络环境(例如,以下关于图20描述的计算机环境2000)来实现。可以例如通过将软件指令载入存储器1937或非易失性储存器1936中以用于由cpu1932执行来将计算机系统1930转换为执行本文中所述的方法(例如660、1770和/或1880)的机器。本领域中的普通技术人员应当进一步理解,系统1930及其各种部件可以被配置为执行本文中所述的本发明的任何实施例。此外,系统1930可以实现利用操作地在内部或在外部耦合到系统1930的硬件、软件和固件模块的任何组合的本文中所述的各种实施例。

图20示出了可以实现本发明的实施例的计算机网络环境2000。在计算机网络环境2000中,服务器2001通过通信网络2002链接到客户端2003a-n。环境2000可以用于允许客户端2003a-n单独地或与服务器2001组合地来执行本文中所述的任何方法(例如,660、1770和/或1880)。

可以采用硬件、固件或软件的形式来实现实施例或其方面。如果在软件中实现,则软件可以存储在被配置为使处理器能够载入软件或其指令的子集的任何非暂态计算机可读介质。处理器随后执行指令并被配置为操作或使得装置以如本文中所述的方式进行操作。

此外,固件、软件、例程或指令在本文中可以被描述为执行数据处理器的某些动作和/或功能。然而,应当认识到,在本文中包含的这样的描述仅仅是为了方便,并且这样的动作事实上由计算设备、处理器、控制器或执行固件、软件、例程、指令等的其它设备产生。

应当理解,流程图、方框图和网络图可以包括更多或更少的元件,这些元件被不同地布置或被不同地表示。但还应当理解,某些实施方式可以规定块和网络图以及块和网络图的数量,从而示出以特定的方式实现的实施例的执行。

因此,还可以用各种计算机架构、物理、虚拟、云计算机和/或其一些组合来实现另外的实施例,并且因此本文中所述的数据处理器旨在仅出于说明的目的而不是作为实施例的限制。

虽然本发明已经参考其示例性实施例被特别示出和描述,但本领域中的技术人员将理解,可以在形式和细节上做出各种改变而不偏离由所附权利要求涵盖的本发明的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1