CN116740302A - 处理细分曲面 - Google Patents

处理细分曲面 Download PDF

Info

Publication number
CN116740302A
CN116740302A CN202310255366.2A CN202310255366A CN116740302A CN 116740302 A CN116740302 A CN 116740302A CN 202310255366 A CN202310255366 A CN 202310255366A CN 116740302 A CN116740302 A CN 116740302A
Authority
CN
China
Prior art keywords
subdivision surface
tetrahedral
subdivision
mesh
delaunay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310255366.2A
Other languages
English (en)
Inventor
A·J·M·阿洛姆
N·杜尼
M·罗利奥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of CN116740302A publication Critical patent/CN116740302A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本公开涉及一种细分曲面处理的计算机实现的方法。该细分曲面形成真实世界3D对象的表面表示。该方法包括:提供包括细分曲面的约束四面体Delaunay网格。该网格是共形的并且包括四面体的一个或多个集合,每个集合表示细分曲面的各部分之间的间隙,每个间隙具有低于预先定义的阈值的尺寸。该方法还包括:确定要添加到细分曲面中的网格的一个或多个四面体面的集合,包括最小化目标函数,该目标函数包括惩罚由向细分曲面进行面添加而造成的表面创建的项。该最小化在Delaunay网格的给定四面体面集合要被添加到细分曲面的约束下。对于一个或多个间隙中的每个间隙,给定四面体面集合包括网格化间隙的四面体面。

Description

处理细分曲面
技术领域
本公开涉及计算机程序和系统领域,更具体地,涉及一种用于处理形成真实世界3D对象的表面表示的细分曲面的方法、系统和程序。
背景技术
市场上提供了许多用于对象的设计、工程和制造的系统和程序。CAD是计算机辅助设计的缩写,例如,它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的缩写,例如,它涉及用于模拟未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的缩写,例如,它涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户界面对技术的效率起着重要的作用。这些技术可以嵌入到产品生命周期管理(PLM)系统中。PLM指代一种商业策略,它帮助公司共享产品数据,应用公共过程,并利用公司知识来从概念到产品生命周期结束开发产品,贯穿扩展企业的概念。Dassault Systèmes提供的PLM解决方案(商标为CATIA、ENOVIA和DELMIA)提供了:工程中心,用于组织产品工程知识;制造中心,用于管理制造工程知识;以及企业中心,用于实现企业集成和连接到工程和制造中心。总之,该系统提供了开放的对象模型,将产品、过程、资源链接起来,以实现动态的、基于知识的产品创建和决策支持,从而推动优化的产品定义、制造准备、生产和服务。
在该上下文和其他上下文中,通常使用对形成真实世界3D对象的表面表示的细分曲面进行的处理。
在该上下文中,仍然需要一种改进的方法来处理形成真实世界3D对象的表面表示的细分曲面。
发明内容
因此提供了一种处理细分曲面的计算机实现的方法。细分曲面形成真实世界3D对象的表面表示。该方法包括:提供包括细分曲面的约束四面体Delaunay网格。该Delaunay网格是共形的并且包括四面体的一个或多个集合。每个集合表示细分曲面的各部分之间的相应间隙。每个相应间隙具有低于预先定义的阈值的尺寸。该方法还包括:确定要添加到细分曲面的Delaunay网格的一个或多个四面体面的集合。该确定包括最小化目标函数。该目标函数包括惩罚由向细分曲面进行面添加而造成的表面创建的项。该最小化在Delaunay网格的给定四面体面集合要被添加到细分曲面的约束下。对于一个或多个间隙中的每个间隙,给定四面体面集合包括网格化间隙的四面体面。
该方法可以包括以下中的一项或多项:
-所述最小化包括提供将Delaunay网格的四面体分入第一组和第二组的初始分类,该第一组包括在细分曲面的边界框内部的四面体,所述最小化以将四面体分入第一组和第二组的分类作为自由变量,所述约束是网格化所述一个或多个间隙的四面体属于第一组;
-所述最小化输出将四面体分入第一组和第二组的分类,所述分类定义在第一组和第二组之间的分界面(interface),并且确定要添加到细分曲面中的Delaunay网格的一个或多个四面体面的集合还包括另一最小化,以通过修改在第一组和第二组之间的分界面来进一步最小化目标函数;
-所述另一最小化(S50)包括:
o遍历Delaunay网格中位于分界面上而不是在细分曲面上的点,并且对于每个点评估移动该点是否进一步最小化目标函数;
o确定一个或多个角度,所述一个或多个角度由网格的边缘在所遍历的点处形成并且值低于预先定义的阈值,并且对于每个确定的角度,插入将成为分界面的一部分的点,以便使该角度变平;
-所述项为以下类型
其中,ω∈Ω并且Ω是第一组和第二组中所有四面体分类的集合,是在分类ω中在第一组和第二组之间的分界面,S是细分曲面;
-目标函数还包括以下类型的项:
其中,α是正实数;
-目标函数还包括以下类型的项:
其中,πD0(ω)是分类ω中分类到第二组D0中的所有四面体的面的集合;
-提供约束四面体Delaunay网格包括:
o提供(S10)细分曲面;
o使细分曲面共形并将所述细分曲面插入四面体Delaunay网格中(S20)。
-所述方法还包括:在确定要添加到细分曲面中的Delaunay网格的一个或多个三角形的集合之前,
o局部细化每个间隙的四面体网格;
-确定要添加到细分曲面中的Delaunay网格的一个或多个四面体面的集合被迭代,每个迭代包括:在最小化之前,修改给定四面体面集合;
-表面表示形成至少一个流体域的定界;和/或
-表面表示车身的外表面。
还提供了一种包括用于执行所述方法的指令的计算机程序。
还提供了一种在其上记录有所述计算机程序的计算机可读数据存储介质。
还提供了一种系统,包括耦合到存储器的处理器,所述存储器上记录有所述计算机程序。处理器还可以耦合到图形用户界面。
附图说明
现在将参考附图描述非限制性示例,其中:
-图1至图17示出了方法;以及
-图18示出了系统的示例。
具体实施方式
参考图1的流程图,提出了一种处理细分曲面的计算机实现的方法。细分曲面形成了真实世界3D对象的表面表示。该方法包括提供S10-S20包括细分曲面的约束四面体Delaunay网格。该Delaunay网格是共形的并且包括四面体的一个或多个集合。每个集合表示细分曲面的各部分之间的相应间隙。每个相应间隙具有低于预先定义的阈值的尺寸。该方法还包括:确定要添加到细分曲面中的Delaunay网格的一个或多个四面体面的集合。该确定包括最小化S40目标函数。该目标函数包括惩罚由向细分曲面进行面添加而造成的表面创建的项。该最小化在Delaunay网格的给定四面体面集合要被添加到细分曲面的约束下。对于一个或多个间隙中的每个间隙,给定四面体面集合包括网格化间隙的四面体面。
这构成了用于处理细分曲面的改进方法。
注意,该方法以改进细分曲面的质量的方式处理形成真实世界3D对象的表面表示的细分曲面。实际上,细分曲面以小尺寸(即,小于预先定义的阈值的尺寸)的间隙为特征,该间隙对应于尚未建模或尚未细分曲面(即通过要处理的细分曲面,即输入细分曲面)的3D对象的表面的部分。换言之,在细分曲面的各部分之间存在间隙,而这些部分应该被细分曲面,因为它们对应于真实世界3D对象的材料部分,并且该方法填充了这些间隙。为此,该方法使用包括细分曲面的约束四面体Delaunay网格,并确定要添加到细分曲面的网格的一个或多个四面体面(即,三角形)。该确定在网格化间隙中的一个或多个间隙的四面体面要被添加到细分曲面的约束下(即,对于一个或多个间隙中的每个间隙,给定四面体面集合包括网格化间隙的四面体的超集的一些四面体面)。因此,该方法填充尚未细分曲面的间隙,即,对它们细分曲面。这以改进细分曲面质量的方式修改细分曲面(通过向细分曲面添加四面体面,即,三角形),因为间隙被填充,并且细分曲面因此变得或趋向于变得水密,并更准确地表示形成3D对象的材料。此外,所使用的Delaunay网格是共形的,并且因此没有自交叉点,这也有助于改进质量。此外,确定要添加到细分曲面的四面体面,在前面讨论的约束下,最小化了由于将面(即,四面体面,即,三角形)添加到细分曲面而导致的表面的创建。换言之,该方法填充细分曲面的各部分之间的间隙,并因此将四面体面添加到细分曲面,从而创建表面,同时使由此创建的表面量最小化。因此,该方法填充了间隙,同时倾向于尊重真实世界3D对象的表面表示。创建太多的表面会在过大的程度上修改细分曲面的几何形状,从而不再能准确地表示真实世界对象,而该方法因此避免了这种情况。
此外,在设计用于处理细分曲面的方法时考虑到该方法可以是自动化的(即,该方法的所有步骤可以自动执行),由此减少用户-机器交互和处理细分曲面所需的时间。因此,该方法避免或至少减少对细分曲面的手动处理,特别是对间隙的手工填充。细分曲面的手动处理可能需要用户和计算机之间的大量直接和物理交互,即,用户和计算机之间使用触觉设备的交互(例如,鼠标点击和/或其他移动,例如拖放、对触敏显示器的触摸、击键),这将需要很长的处理时间,并且将客观地导致用户的生理负担。实际上,全手动处理需要如此多的交互(例如,点击),以至于对用户的手、手指和/或手臂上造成生理负担,这可能导致生理疲劳(例如,重复性劳损)。该方法避免了这一点,从而改进了处理任务的人类工程学。此外,与非自动处理方法相比,细分曲面处理的时长显著减少(例如,从100小时减少到10小时)。
此外,在设计该方法时考虑到根据该方法的细分曲面处理可以在计算机上高效地执行,减少CPU和/或GPU资源的消耗,并减少存储器使用和占用。实际上,设计该方法的目的是不依赖于规则网格或细分曲面(或包括细分曲面的空间,例如,3D空间)的八叉树离散化。用规则网格或八叉树来处理细分曲面以填充间隙高度依赖于网格/八叉树的精度,通常需要很高的精度才能准确地建模真实世界的3D对象。然而,这些间隙的尺寸非常小(例如,预先定义的阈值可以是10mm或更小),这将要求网格/八叉树的精度和分辨率很高,以至于CPU和/或GPU资源的消耗以及处理所需的存储器使用和占用将高得不可接受(甚至在一些计算机上不可行)。例如,从存储器资源和CPU/GPU资源的角度来看,在计算机上在CAD软件中加载高精度的汽车模型是至关重要的。作为示例,这可能需要三十分钟。在另一示例中,如果模型在服务器上并且必须加载到客户端计算机上,则以高精度加载汽车模型在服务器和客户端服务器之间的带宽方面是至关重要的。相反,该方法依赖于Delaunay三角网格质量(即,共形,即无自交叉),其中插入细分曲面并执行优化,该优化确定要被添加到细分曲面的四面体面。因此,Delaunay网格的分辨率和精度对计算中的CPU和/或GPU和存储器使用没有影响或实际上没有影响,Delaunay网格是与作为网格或八叉树的结构化网格相反的非结构化网格。相反,CPU和/或GPU和存储器使用取决于三角形(即,四面体面)的数量,因为这些三角形/四面体面对应于优化的自由变量。与基于网格或八叉树的解决方案相比,这大大减少了CPU和/或GPU和存储器的使用,例如,对于相同精度的输入几何形状的捕获,与基于网格或八叉树的解决方案相比,所要求保护的方法的存储器使用少一个或两个数量级。
该方法输出经处理的细分曲面,该细分曲面是输入细分曲面,但作为最小化的结果添加了三角形,其可以高效地用于模拟中。事实上,因为经处理的细分曲面是高质量的,没有具有自交叉,并且具有填充的间隙,它可以高效地用于将细分曲面用作真实世界3D对象的离散化的模拟中。因为细分曲面是高质量的,所以模拟在具有高质量时更准确,具有较少的数字伪影。此外,整个模拟过程可以是自动化的,因为方法可以是自动化的。当随后将细分曲面用于模拟时,用于处理细分曲面的计算和存储器资源的改进使用更加重要,因为这种使用通常发生在设计和模拟过程中(例如,在下文讨论的下游制造之前),在这种情况下,设计和模拟经常被迭代。该模拟可以是CFD(计算流体动力学)模拟,表面表示在这种情况下形成至少一个流体域的定界,例如,车身的外表面。该方法处理该表面表示并填充间隙,从而使其在适当的位置处水密,由此改进了流体域的定界,并允许执行改进的流体模拟。模拟替代地可以是电磁模拟,其中要模拟的对象的所有表面都通过该方法连接,以便进行电磁计算。
输入细分曲面可以是车身外表面的表面表示,细分曲面例如源自设计过程。这个表面包括间隙。这可能源自设计过程,因为在设计阶段且在模拟或制造之前,设计者可能在没有细节(例如,在车身和雨刷之间的垫圈)的情况下设计汽车的整体车身结构设计。该方法处理该表面表示并填充表面表示的各部分之间的间隙,由此输出包括所有细节(例如,垫圈)的车身的水密表面表示。这允许在经处理的表面表示的基础上执行CDF模拟,例如,空气动力学模拟。由于表示车身的细分曲面是水密的,提高了模拟的精度和质量。最终,在设计和模拟的下游,这允许制造展示改进的空气动力学的汽车。该方法可以显著地处理具有特定几何形状(例如,A类车辆)或复杂几何形状(例如,带有雨刷、马达块、消声器的整车)的车身的情况,其中该方法仍然找到三角形来填充间隙,从而允许下游精确的CFD模拟。
真实世界3D对象可以是在该方法下游要制造的制造产品,即,诸如机械部件的可制造产品。该产品可以直接基于经处理的细分曲面来制造,即,经处理的细分曲面可以是该产品进一步下游制造的基础。因此,该方法可以包含于设计和制造过程中,该设计和制造过程可以包括:
-设计表示制造产品(例如,前面讨论的车身结构)的输入细分曲面;
-执行所述方法,从而通过填充输入细分曲面的各部分之间的间隙(例如,由此获得水密且详细的车身)来处理输入细分曲面,并输出经处理的细分曲面;
-可选地,基于经处理的细分曲面,执行对3D对象的物理行为或性能的模拟(例如,执行车身的CFD模拟,例如,空气动力学模拟);
-基于经处理的细分曲面来制造真实世界产品。
在设计和制造过程中包含该方法将在下文中进一步讨论。
现在进一步讨论该方法。
该方法用于处理细分曲面。处理细分曲面意味着获取细分曲面作为输入并执行细分曲面的修改,并输出修改后的细分曲面。在该方法的情况下,处理通过向细分曲面添加一个或多个三角形(即,四面体面)来修改细分曲面,以填充细分曲面中的间隙。将由该方法处理/修改的细分曲面(即,在添加三角形之前的细分曲面)可以称为“输入细分曲面”。
细分曲面可以源于获得该细分曲面的过程。该方法可以包括执行这种过程,作为该方法的初始步骤(即,在该方法的其他步骤之前)。本文中细分曲面是形成3D真实世界对象的表面表示(例如,表示其外表面或表皮,并因此形成3D对象的离散几何表面表示)的三角化表面。本文中离散几何表示是包括离散的多条数据的集合的数据结构。每一条数据表示在3D空间中定位的相应表面几何实体(例如,三角形)。每个几何实体表示3D对象的表面部分。几何实体的聚集(即,并集或并置)表示整个3D对象。获得细分曲面可以包括例如在CAD系统上的机械设计过程中设计细分曲面。本文中机械设计表示设计表示真实世界对象的细分曲面,使得其满足机械、物理使用和/或制造要求(这显著排除了仅出于美学目的而创建细分曲面)。获得细分曲面替代地可以包括作为3D重构过程的结果获得细分曲面,如下文所讨论的。
离散的几何表示在本文中是表面网格,每个几何实体是网格瓦片或面。网格是三角形网格(即,面是三角形)。网格可以从3D点云获得,例如,通过对3D点云进行三角剖分(例如,使用任何合适的三角剖分过程)。本文的3D点云可以来自例如在3D重构过程中对机械部件的物理测量。3D重构过程可以包括提供真实世界3D对象,提供各自被配置用于获取相应物理信号的一个或多个物理传感器,以及通过操作3D对象上的一个或多个物理传感器来获取一个或多个相应物理信号(即,用每个传感器扫描机械部件)。然后,根据任何已知技术,3D重构可以基于测量来自动确定3D点云和/或3D网格。一个或多个传感器可以包括多个(例如,RGB,和/或图像或视频)相机,并且确定可以包括运动结构分析。一个或多个传感器可以替代地或另外包括一个或多个深度传感器(例如,在RGB深度相机上),并且确定可以包括根据深度数据的3D重构。一个或多个深度传感器例如可以包括激光器(例如,激光雷达)或超声发射器-接收器。
该方法包括提供S10-S20包括细分曲面的约束四面体(即,3D)Delaunay网格。Delaunay网格是共形的。Delaunay网格的概念是公知的(见https://en.wikipedia.org/ wiki/delaunay_triangulation),而共形网格的概念也是公知的(见https:// en.wikipedia.org/wiki/Mesh_generation)。共形网格是具有CW复合体的结构的网格。这样的网格是不包括任何自交叉的网格,即,在网格的任意两个元素之间的交叉是两者或空洞集的子元素。Delaunay网格被限制为它是包括另一网格的Delaunay网格,即,细分曲面。提供Delaunay网格可以包括例如从(例如,远程)数据库或存储器中取回Delaunay网格,其中Delaunay网格已经存储以供获得。例如,取回可以包括访问数据库或存储器和下载Delaunay网格。替代地,提供约束Delaunay网格可以包括提供S10细分曲面(例如,通过如前所述获得细分曲面或通过从存储器中取回已经获得的细分曲面),并使细分曲面共形S20,以及将细分曲面插入S20四面体Delaunay网格中。使细分曲面共形意味着通过应用任何已知的适合于此目的的方法,将细分曲面转换成共形的细分曲面(即,转换成共形的三角网格)。如果输入细分曲面已经是共形的,那么S20只包括在四面体Delaunay网格中插入细分曲面。在四面体Delaunay网格中插入S20细分曲面意味着确定包括(即,作为网格化的一部分)细分曲面的Delaunay网格,即,Delaunay网格被约束为以细分曲面为特征。为此,可以应用任何已知的方法用于确定/生成约束Delaunay网格。
有两种主要方法可以将包含如交叉的不一致的细分曲面校正成干净的三角网格:
-基于表面的方法,包括识别补丁并明确地将其交叉,可能使用精确的算法。这些算法只局部修改输入补丁,但是由于数值的原因,不能保证一致的、体积表示的输出网格,以及
-基于体积的方法,使用带符号的距离网格作为中间表示,并能够产生有保证的重构。然而,这些算法由于全局重建阶段而丢失了来自输入细分曲面的许多信息,并且这种重采样受到底层体积网格分辨率的强烈影响。
在该方法中使细分曲面共形S20可以如在参考文献Bischoff等人的“StructurePreserving CAD Model Repair”中讨论的那样进行,该文献通过引用并入本文,并将上述两种方法结合起来,以通过使用裂纹和交叉附近的局部体素网格来限制副作用。替代地,在该方法中使细分曲面共形S20可以如在参考文献Campen等人的“Exact and Robust(Self-)Intersections for Polygonal Meshes”中讨论的那样进行,该文献通过引用并入本文,并且类似地,使用具有嵌套的二元空间分区的八叉树网格来实现局部体积表示,以实现细分曲面的鲁棒且精确的交叉。替代地,在该方法中使细分曲面共形S20可以如参考文献Attene的“Direct repair of self-intersecting meshes”中讨论的那样进行,该文献通过引用并入本文,并且其直接作用于输入细分曲面,并且只要可能就依赖于浮点算术,仅当出现歧义时才精确构造。替代地,在该方法中使细分曲面共形S20可以如实用指南和调查中讨论的那样进行,这些指南和调查可以在参考文献Tao Ju的“Fixing geometric errors onpolygonal models:A survey”和Campen等人的“A Practical Guide to Polygon MeshRepairing”中找到,两者均通过引用并入本文。参考文献Campen等人的“A PracticalGuide to Polygon Mesh Repairing”在参考文献Attene的“Direct repaif of self-intersecting meshes”中提出了多边形网格修复实用指南,其中采用了最先进的技术用于解决例如交叉等缺陷。
众所周知,Delaunay网格由四面体集合组成,每个四面体由四个四面体面(即,四个三角形)界定,每个四面体面本身由树边缘界定,每个树边缘本身由两个顶点界定。Delaunay网格或细分曲面的顶点也可称为“点”。Delaunay网格包括四面体的一个或多个集合,每个集合代表在细分曲面的各部分之间的相应间隙。换言之,在形成Delaunay网格的四面体中,存在四面体的一个或多个集合,这些一个或多个集合中的相应每个集合是代表细分曲面的各部分之间的相应间隙的四面体集合,即,该间隙网格化3D空间的一部分,该部分位于细分曲面的两个部分之间并代表这些部分之间的间隙,即,应该进行细分曲面的区域实际上不在输入细分曲面中。这些一个或多个间隙中的每个间隙都具有小于预先定义的阈值的尺寸。该尺寸可以是间隙或其边界框的最大维度,即,由网格化间隙的四面体或其边界框形成的体积的最大维度。阈值可以包括在1微米和10mm之间,例如1mm和5mm,例如,当输入细分曲面表示外车身表面(例如,在空气动力学模拟中要模拟的)时。该阈值可以由用户在该方法的初始阶段提供。该方法可以包括,例如作为初始步骤,或者例如在下文讨论的可选步骤S30期间,例如基于间隙的侧面来自动检测间隙。
除了提供S10-S20约束四面体Delaunay网格,该方法还包括确定要添加到细分曲面的Delaunay网格的一个或多个四面体面(即,三角形)的集合。这表示该方法在Delaunay网格的四面体中搜索哪些四面体具有应该添加到细分曲面中的面,以便一旦处理后细分曲面填充(即,对其进行细分曲面)一个或多个间隙(例如,为了填充尺寸低于预先定义的阈值的所有间隙)。将面(即,三角形)添加到细分曲面表示细分曲面被存储为计算机对象(例如,形成细分曲面的三角形的列表),面被存储在该相同的计算机对象中(例如,面被添加到形成细分曲面的三角形的列表中)。
确定要添加到细分曲面的四面体面的该集合包括在约束下最小化S40目标函数。在约束下最小化目标函数意味着该方法在函数的自由变量(或多个自由变量)的值中搜索函数达到最小值的值,该搜索受到约束的制约(即,搜索被限制在遵守约束的值)。为了执行最小化S40,该方法可以使用任何合适的已知最小化问题,例如,接近于模拟退火的元启发式方法。
目标函数是这样的函数:其包括惩罚通过对细分曲面进行面添加(即,四面体面添加,即三角形添加)而造成的表面创建的项。最小化的自由变量对应于Delaunay网格的四面体集合。因此,最小化搜索使目标函数最小化的这些四面体的配置。目标函数包括惩罚由面添加而造成的表面创建的项,即,当由于向细分曲面进行面添加而造成表面创建时,该项趋于大(即,具有大值),而目标函数的值将被最小化。因此,最小化搜索四面体面来添加到细分曲面,同时遵守输入细分曲面的初始几何和形状,因为通过面添加来将表面添加到细分曲面是受约束而发生的,但通过最小化项进行限制。因此,输入细分曲面的初始几何和形状倾向于被最小化所遵守,该最小化只向细分曲面添加那些确实需要添加以填充间隙的四面体面(即,间隙不会被添加的三角形过度填充)。此外,输入细分曲面的质量(例如,分辨率)也因此得以保持。可选地,目标函数可以包括另一项,该项允许该方法以改进的精度处理表示由开放表面界定或至少部分界定的几何形状的细分曲面,例如,对向细分曲面添加网格化3D建模对象的实孔的四面体面进行惩罚的项。目标函数可以另外或替代地包括又一项,该项是稳定项并将解的数量减少到最小化。
最小化在Delaunay网格的给定四面体面集合要被添加到细分曲面中的约束下。换言之,虽然最小化倾向于限制由向细分曲面进行面添加而造成的表面创建(因为惩罚表面创建的项将被最小化),但最小化被约束为向细分曲面添加至少一些四面体面,即,给定集合中的那些四面体面。对于一个或多个间隙中的每个间隙(例如,对于尺寸低于预先定义的阈值的一个或多个间隙中的每个间隙),该给定集合包括网格化间隙的四面体面(即,对于一个或多个间隙中的每个间隙,该给定集合的四面体面包括网格化间隙的四面体的超集合中的一些四面体面)。因此,约束保证要填充的间隙被四面体面填充,而目标函数中的所述项保证只有真正需要填充间隙的面被添加到细分曲面。给定集合可以包括其他四面体面,例如,网格化3D真实世界对象的内部部分(例如,内部)的四面体面。例如,给定集合可以包括在输入细分曲面的边界框内的所有四面体面。边界框可以是任何类型的边界框,例如,立方体、矩形立方体或球体。边界框也可以是由细分曲面形成的真实世界对象的边界体积,例如,由细分曲面形成的凸包。
最小化S40可以包括提供将Delaunay网格的四面体分入第一组和第二组的初始分类。分类可以是允许将网格的每个四面体与第一组或第二组相关联的任何计算机对象,例如,二进制值或标记的集合。分类可以例如是由分类函数在Delaunay网格的四面体上取的值的集合,即,集合的每个值分别对应于网格的相应四面体,并且是由分类函数在该四面体上取的值。分类函数可以具有两个值(即,在具有两个元素/值的集合中取其值,例如集合{0,1}):第一值指示属于第一组,以及第二值指示属于第二组。例如,第一值可以是0,第二值可以是1;或者第一值可以是1,第二值可以是0。替代地,这些值可以是标签。提供初始分类意味着初始化网格的四面体的值或标签。
在这种情况下,最小化S40以将四面体分入第一组和第二组的分类作为自由变量。换言之,最小化S40搜索使目标函数最小化的分类,并因此可以在该搜索期间修改四面体的分类。在这种情况下,约束是网格化所述一个或多个间隙的(例如,所有)四面体属于第一组。换言之,最小化S40可以仅在将网格化所述一个或多个间隙的四面体强制分类到第一组中的程度上修改四面体的分类(即,修改一些四面体的分类,例如通过修改这些四面体的分类函数的值)。约束例如可以是在输入细分曲面的先前讨论的边界框内的所有四面体被强制分类到第一组中,这特别意味着网格化间隙的四面体被强制分类到第一组中。
第一组包括(即,在初始分类中)在细分曲面的边界框内的四面体,例如,在细分曲面的边界框内的所有四面体。第二组可以包括(即,在初始分类中)所有其他三角形,即在边界框外部的三角形。如前所述,边界框可以是任何类型的边界框,例如,立方体、矩形立方体、球体或由细分曲面形成的真实世界对象的边界体积,例如,由细分曲面形成的凸包。第一组可以称为“内部”,而第二组可以称为“外部”。
由此,最小化S40可以输出分类,如果四面体分入第一组和第二组中最小化或趋向于最小化目标函数(即,目标函数达到输出分类的值,该值是或趋向于是其最小值)。输出的分类定义第一组和第二组之间的分界面。换言之,在输出的分类中,每个四面体要么属于第一组,要么属于第二组,并且存在各自被分类在第一组中的四面体和被分类在第二组中的四面体共享的三角形(即,四面体面)。这些三角形形成分界面,即,分界面由所有这些三角形(例如,其列表)组成。
确定要添加到细分曲面的Delaunay网格的一个或多个四面体面的集合还可以包括另一最小化S50,用于通过修改第一组和第二组之间的分界面来进一步最小化目标函数。换言之,该另一最小化S50具有与第一最小化S40相同的用于最小化的目标函数和相同的约束,但与以Delaunay网格的所有四面体的分类作为自由变量不同,该另一最小化S50以分界面作为自由变量。换言之,该另一最小化搜索分界面的修改(如果有的话)(例如,几何修改),这些修改进一步最小化目标函数,即与由最小化S40输出的分类的该函数值相比,目标函数值减小。最小化S40可以称为“第一最小化”,而另一最小化S50可以称为“第二最小化”。第二优化S50允许用变化的拓扑进行优化(因为分界面被修改),而第一最小化S40保留拓扑并且仅作用于分类。这种两步方法提高了结果的质量。
第二最小化S50可以包括遍历Delaunay网格中在分界面上但不在细分曲面上(即,在第一最小化S40之前在输入细分曲面上)的点。换言之,第二最小化逐个访问(即,探索)Delaunay网格中位于分界面上(即,由两组中的四面体共享)但不属于输入细分曲面的点(即,顶点)。在这种情况下,第二最小化S50还包括对于每个这样的点评估移动该点是否进一步最小化目标函数。移动点可以包括使该点沿着给定方向(例如,具有作为顶点的点的边的方向)更接近分界面的另一点,前提是这样做减少了目标函数的值。移动点可以修改四面体边缘(通过边缘交换或拆分),以便使上述移动成为可能(即,保持网格的一致性)。第二最小化S50还可以包括确定一个或多个角度,该一个或多个角度由网格的边缘在所遍历的点处形成,并且值低于预先定义的阈值。每个这样的角度是由Delaunay网格的两个三角形形成的角度,这两个三角形都属于分界面并且在分界面的点/顶点(即,所遍历的点)处相交。预先定义的阈值可以是90°(即,确定的角度是由分界面的相交/相连边缘形成的锐角),或者45°。在这种情况下,第二最小化S50包括,对于每个确定的角度,插入将是分界面的一部分的点,以便使角度变平(即,插入点为正在进行的最小化提供附加的自由度,目的是进一步优化目标函数,并因此使角度变平)。插入点意味着在Delaunay网格化中添加点。添加点可以包括在现有边缘上添加点,由此将边缘一分为二,和/或创建用于将该点连接到分界面的新点和边缘,所创建的点和边缘是分界面的一部分。
该项可以是如下类型:
其中ω∈Ω并且Ω是第一组和第二组中所有四面体分类的集合,是在分类ω中在第一组和第二组之间的分界面,S是细分曲面。
目标函数还可以包括以下类型的项:
其中α是正实数。α可以小于1,例如小于0.5,例如小于或等于0.1,例如等于0.01。该项是稳定项,它导致最小解的数量较少。
另外或替代地,目标函数还可以包括以下类型的项:
其中πD0(ω)是分类ω中被分类到第二组D0中的所有四面体的面的集合。该项惩罚了向细分曲面添加对网格化3D真实世界对象表面的实孔的四面体面,由此改进了在以开放表面为边界的几何形状上工作时(而不是作为表面壳体的组装制成的模型)的方法。
在示例中,目标函数可以是惩罚表面创建的项和上面讨论的其他项中的一个或两个项之和。在示例中,最小化问题是:
其中C(ω)是约束函数,当且仅当满足分类ω的约束时其值为真。
该方法还可以包括,在确定要添加到细分曲面中的Delaunay网格的一个或多个四面体面的集合之前,局部细化S30每个间隙的四面体网格化。局部细化四面体网格化可以通过任何已知的方法(例如,任何合适的Delaunay网格化方法)执行,并且包括将四面体添加到每个间隙的四面体网格化中(即,网格化间隙之一的Delaunay网格化的每个部分),例如通过添加顶点并将它们连接到现有顶点,从而局部细化网格化。局部细化可以包括确保没有网格化间隙的边缘连接由间隙分开的两个细分曲面部分。细化S30改进了后续优化S40(和可选的S50)的质量,因为它为优化提供了更多的自由度。
确定要添加到细分曲面中的Delaunay网格的一个或多个四面体面的集合可以被迭代S60。每次迭代包括,在最小化S40之前,修改给定四面体面集合,例如通过修改约束为网格化所述一个或多个间隙的四面体属于第一组,以及可选地修改Delaunay网格的四面体的初始分类。
如前所述,除了第一最小化S40和可选地第二最小化S50,该方法输出(即,在每次迭代S60,在适当的情况下)包括添加的四面体面(即,三角形)的经处理的细分曲面。例如,输入细分曲面可以是三角形的列表,输出细分曲面可以是由最小化S40和可选的最小化S50确定的所添加的三角形被添加的列表。该方法还可以包括基于输出细分曲面来执行体积网格化,即找到网格化真实世界对象的立体几何并且与网格化表面集合的输出细分曲面匹配的体积网格。这可以通过任何已知的方法来完成。
现在讨论该方法的实现方式。
通过为3D数值模拟提供一种非常鲁棒的生成四面体网格的方法,该实现方式可以用于3D模拟领域。通过提供增强的离散表面几何表示,该实现方式还可以用于模型准备,其中几何问题被解决。特别地,用自动离散非正则化联合运算,填充了几何形状中的间隙,并使几何形状联合起来。该实现方式提供了高精度:精确捕获输入离散几何形状(1微米精度),同时能够填充几何形状中10mm的间隙。该实现方式还提供了结果的一致性:提供了定义良好的结果,该结果可以比传热等表面更好地解释。该实现方式还改进了速度和存储器消耗,它们与预期的精度一样尽可能独立地受到控制(例如,与基于八叉树/网格的重新离散化相反)。
该实现方式在弹性和约束的3D Delaunay工作流中实现了包装过程。在该上下文中,该实现方式解决了在表示几何形状的内部和外部的两个域之间的四面体分类的优化问题(在约束下)。此外,在由约束3D Delaunay工作流生成的空间的四面体表示中执行该操作,与在近似网格或体素表示中执行的类似过程相比,该实现方式实现了非常精确的结果(就像通常通过从规则网格或八叉树中获得的空间离散化中获得的一样)。
该实现方式允许以下:
-高精度:精确捕获输入离散几何形状(1微米精度(默认精度),或更精确(根据要求)),
同时能够填充细分曲面中10mm(或更多)的间隙;
-一致性:提供一致和良好定义的结果,该结果可以直接和明确地解释为优化问题的结果;
-速度和存储器消耗是合理的,几乎依赖于捕获现有离散几何形状的预期精度;
-捕获域的能力,独立于它们的性质(例如内部或外部流体域);
-定义约束的可能性。例如:
o在其下绝对应该封闭间隙的距离;和/或
o一些表面必须暴露于域或不应暴露于域(例如,关闭流体域定义的盖子)。
实现方式遵循图2所示的流程图,它示出了该包装过程的全局方法。现在参照该流程图讨论实现方式,并且在不丧失任何一般性的情况下,用于示出涉及简单几何形状的示例,以便能够合理地很好地突出单形体积离散化内部的过程。这种几何形状是由一个封闭的圆柱和一个开放的圆柱隔开0.25mm的小距离制成的。图3示出了该几何形状的输入细分曲面。
步骤1:提供S10-S20包括细分曲面的共形约束Delaunay网格
该过程的第一步骤是将输入表面三角形插入到共形四面体网格中。如前所讨论的,在步骤1中可以使用任何方法来获得适当的约束Delaunay网格并使其共形。图4示出了这一步骤,并表明在该阶段,人们可以识别四面体的两个组成部分:封闭圆柱的内部40和外部42。开放的圆柱体的内部被认为是外部。
步骤2:体积网格的准备/局部细化体积网格
在步骤1中提供的四面体体积网格具有与输入表面网格直接相关的密度。该步骤允许细化和优化感兴趣区中的体积网格,以便为下一步骤中发生的优化提供足够的自由度。该步骤优化和细化包装过程要封闭的间隙内的体积。图5在与图4相同的位置示出了该步骤。这里要求的主要感兴趣区是接近0.3mm的表面之间的间隙,换言之,在两个圆柱之间的间隙。
步骤3:初始化分类
该步骤的主要目标是准备将驱动接下来两个步骤的约束(参见约束项C(ω))。主要地,哪些四面体必然在D0中,或者必然在D1中。图6在与图4-5相同位置示出了这一步骤,其中有4个四面体集合,标记为从S0到S3,例如,可以以如下方式初始化:
·S1、S2、S3属于D1(因为它们完全包含在几何形状的边界框内);
·S0被初始化为属于D0作为补充。
此外,这些域可以用来定义约束,用于如下所示应用的下一步骤:当且仅当在S1∪S3中的所有四面体被分类在D1中时,C(w)为真。
步骤4:在恒定网格拓扑处的分类的优化
该步骤使用包装问题的公式作为最小化问题。基本思想是在两个域D0和D1之间确定体积网格中所有四面体的相关分类,并使用用这些域之间的边界来定义包装表面。通常,对于常见的CFD应用,D0是流体域,而D1是固体域。
因此,目标在于找到:
其中
·Ω:所有四面体的集合{D0,D1}-分类(2^n个四面体可能性)。这意味着每个ω∈Ω都是域D0和D1之间的网格中的所有四面体的分类;
·在分类ω中在D0(ω)和D1(ω)中的四面体之间的边界(以三角形表示)
·S:输入表面细分曲面(在网格中以四曲面形式存在);
·πD0(ω):在分类ω中分类到D0中的所有四面体的面(三角形)的集合;
·C(ω):约束函数,当且仅当对于分类ω满足约束时其值为真;
·α是小数字。例如,1e-2。
约束C当前用于:
·捕获间隙:间隙内的四面体可以被检测到(例如,使用射线追踪技术),并被约束为属于给定的域。例如,当包装几何形状以便获得外部流体域时,必须将间隙内的物质从流体域中排除。当属于间隙的四面体被分类在外部流体域中时,这表示为C(ω)=f假;
·确保一些特定表面是否暴露在域中。例如,封闭流体域的盖子需要暴露在其给定一侧的流体域上。
这种约束系统非常灵活,并且可以用来提供更多的控制。
在该目标函数中的3项是:
·是允许最小化创建表面的数量并捕获精确的现有输入表面的主要项;
·是导致最小解的数量较少的稳定项;
·是在工作于以开放表面界定的几何形状(而不是作为表面壳体的组装而制成的模型)时改进方法的项。
为了执行该优化,该实现方式使用了接近模拟退火的元启发式方法。图7示出了该优化过程的结果。
步骤5:优化分类和网格拓扑
该步骤的目标是与步骤4相同的最小化问题,但通过还允许对体积网格进行动态修改(顶点插入、边缘或面交换)以达到更好的最小化解而进行了扩展。图8示出了这一步骤如何细化最终分类,并提供更平滑和更精确的分类,特别是在两个圆柱体之间的感兴趣区中。
步骤6:创建表面实体来表示包装表面
该步骤创建显式三角形实体,以便表示分隔两个域D0和D1的隐式表面。由于输入表面三角形是已经以四面体面的形式存在的,因此在体积网格中,只需创建由这种包装过程提出的额外三角形就可以对域进行分隔。
如流程图中所示,该过程的步骤3至6可以用不同的初始化(步骤3)和不同的约束(步骤4至5)迭代地应用多次,以便执行多域包装。例如,这是为了提取若干包装的流体和/或固体域以建模空气-水热交换器而可以应用的策略。
图9示出了整个过程的所产生的细分曲面。正如在这个简单用例中所预期的,可以看到所产生的细分曲面是完全兼容的,在两个圆柱体之间的间隙已经以一种相对平滑和一致的方式填充,并且开放的圆柱体已经封闭。
现在参考图10至图17(几何体:由BMW提供),简要讨论通过应用前面讨论的实现方式可以获得的结果的示例。
图10示出了代表车身表面部分的输入细分曲面的示例。图11示出了用该方法处理后的相同的细分曲面。
图12示出了代表车身表面部分的输入细分曲面的示例。图13示出了用该方法处理后的相同的细分曲面。
图14示出了代表车身表面部分的输入细分曲面的示例。图15示出了用该方法处理后的相同的细分曲面。
图16示出了代表车身表面部分的输入细分曲面的示例。图17示出了用该方法处理后的相同的细分曲面。
在所有这些示例中都可以看到,该方法处理输入细分曲面并输出高质量的细分曲面,其中的间隙被填充。
如前所述,该方法可以包含于设计和制造机械产品的设计和制造过程中,真实世界对象是机械产品。
“设计机械产品”指的是任何动作或一系列动作,这些动作至少是制造所述产品的建模对象过程的一部分。因此,该方法通常操纵建模对象,例如输入细分曲面、输出细分曲面、与输出细分曲面匹配的体积网格,以及可选地对应的CAD模型。建模对象向计算机提供机械产品的表示。建模对象是由存储在例如数据库中的数据定义的任何对象。扩展开来,表述“建模对象”指定数据本身。该方法可以包括从头创建建模对象。替代地,该方法可以包括提供先前创建的建模对象,然后修改建模对象。
建模对象可以表示在用例如CAD/CAE软件解决方案或CAD/CAE系统完成虚拟设计之后在现实世界中要进行制造的产品的几何形状,如下文所述。建模对象通常可以是3D建模对象,例如,表示诸如部件或部件的组装件的产品,或者可能表示产品的组装件。“3D建模对象”是指由允许其3D表示的数据建模的任何对象。3D表示允许从各个角度查看部件。例如,当用3D表示时,3D建模对象可以被处理并围绕其任何轴或围绕显示该表示的屏幕中的任何轴旋转。这特别排除了2D图标,它们不是3D建模的。3D表示的显示方便了设计(即,提高了设计者统计完成任务的速度)。这加快了工业中的制造过程,因为产品的设计是制造过程的一部分。机械产品可以是(例如,机械)部件或产品,或部件的组装件(或等效地是部件的组装件,因为从方法的观点来看,部件的组装件可以被视为部件本身,或者该方法可以独立地应用于组件的每个部件),或者更一般地是任何刚体组装件(例如,移动机构)。机械产品可以是各种和无限制的工业领域之一,包括:航空航天、建筑、构造、消费品、高科技设备、工业设备、运输、海洋和/或海上石油/天然气生产或运输。因此,通过该方法设计的建模对象可以表示可以是任何机械部件的工业产品,例如地面车辆(包括例如汽车和轻型卡车设备、赛车、摩托车、卡车和机动设备、卡车和公共汽车、火车)的部件,飞行器(包括例如机身设备、航空航天设备、推进设备、国防产品、航空设备、太空设备)的部件,舰艇(包括例如海军设备、商船、近海设备、游艇和工作船、船舶设备)的部件,通用机械部件(包括例如工业制造机械、重型移动机械或设备、安装设备、工业设备产品、金属制品、轮胎制造产品),以及机电或电子部件(包括例如消费电子产品、安全和/或控制和/或仪器产品、计算和通信设备、半导体、医疗器械和设备),消费品(包括例如家具、家居和园艺产品、休闲用品、时尚产品、耐用品零售商的产品、非耐用品零售商的产品),包装(包括例如食品和饮料以及烟草、美容和个人护理、家居产品包装)。
如上所述,建模对象可以是例如细分曲面或与该细分曲面匹配的体积网格,所述细分曲面是表示机械产品的建模对象,并且建模对象可以与表示机械产品的另一建模对象相关联,例如CAD模型。细分曲面或与其匹配的体积网格实际上可以从这样的CAD模型中获得,例如使用网格化(即,三角剖分)过程。相反地,细分曲面或与其匹配的体积网格可以转换成CAD模型。该方法可以用于涉及这种细分曲面或与其匹配的体积网格或者从其转换的CAD模型。该方法可以包括提供初始CAD模型,以及从CAD模型获得输入细分曲面,和/或将输出细分曲面或与其匹配的体积网格转换回CAD模型,从而获得更新后的CAD模型。CAD模型可以是3D CAD模型。因此,该方法可以用于设计表示机械产品的3D建模对象。
根据系统的类型,建模对象可以由不同种类的数据定义。系统实际上可以是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任意组合。在那些不同的系统中,建模对象由对应的数据定义。本领域技术人员可以相应地谈到CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统并不是彼此排斥的,因为建模对象可以由对应于这些系统的任何组合的数据来定义。因此,系统可能既是CAD、CAE又是PLM系统。
CAD解决方案另外表示至少适用于在建模对象的图形表示的基础上设计建模对象的任何系统、硬件的软件,例如,CATIA。在这种情况下,定义建模对象的数据包括允许表示建模对象的数据。例如,CAD系统可以使用边缘或线提供CAD建模对象的表示,在某些情况下使用面或表面。线、边或表面可以用各种方式表示,例如,非均匀有理B样条(NURBS)。具体地,CAD文件包含规范,根据这些规范可以生成几何形状,进而允许生成表示。建模对象的规范可以存储在单个CAD文件中,或者存储在多个CAD文件中。在CAD系统中,表示建模对象的文件的典型尺寸在每个部件1兆字节的范围内。并且建模对象通常可能是数千个部件的组装件。
CAE解决方案另外表示适用于分析建模对象的物理行为的任何解决方案、硬件的软件。有限元模型(FEM)是一种广为人知且应用广泛的CAE技术,以下等效地称为CAE模型。FEM通常涉及将建模对象划分为元素,即有限元网格,这些物理行为可以通过方程进行计算和模拟。这样的CAE解决方案由Dassaul Systèmes提供,商标为另一种正在发展的CAE技术涉及对由来自不同物理领域的多个组件组成的复杂系统的建模和分析,而无需CAD几何数据。CAE解决方案允许模拟,从而优化、改进和验证待制造的产品。这样的CAE解决方案由Dassault Systèmes提供,商标为/>
如前所述,通过获得输出细分曲面或与其匹配的体积网格(即,产品的CAE模型)来设计机械产品允许辅助设计过程和制造过程,由此目标是生产与设计模型对应的机械产品。在该内容中,输出细分曲面或体积网格是表示机械产品的模型,该机械产品可以在其设计的下游制造,例如在转换到相应的CAD模型时。因此,该方法可以是这种设计和/或制造过程的一部分,并用于获得机械产品的细分曲面或体积网格。如上所述,该方法可以将这种输出细分曲面或体积网格转换成相应的CAD模型。所述设计和/或制造过程可以在设计、编辑动作、测试、模拟和/或制造的进一步步骤中使用该细分曲面或体积网格,或其转换的CAD模型。换言之,该方法可以包含于设计和制造CAE过程中,在获得机械产品的CAE模型和/或确定CAE模型的设计变量的步骤中。这种过程可以称为“生产过程”,并且可以包括在执行该方法之后生产对应于真实世界对象的物理产品。
还提出了这样一种生产过程,其包括通过设计输入细分曲面来设计机械产品,通过执行所述方法来处理它,可选地找到与输出细分曲面匹配的产品的体积网格化,可选地执行模拟,可选地执行进一步的设计/编辑步骤,以及生产机械部件。生产过程可以使用该方法的输出或整个设计过程的输出来获得可以通过已知制造方法制造的设计机械产品的CAD模型。机械产品的生产可以包括任何已知的制造步骤,例如一个或多个增材制造步骤、一个或多个切割步骤(例如,激光切割或等离子切割步骤)、一个或多个冲压步骤、一个或多个锻造步骤、一个或多个模制步骤、一个或多个加工步骤(例如,铣削步骤)和/或一个或多个冲孔步骤。由于该方法改进了表示机械产品的模型的设计,因此该生产方法也改进了机械产品的制造,从而提高了制造过程(即,生产过程)的生产率。
除了设计之外,例如在生产过程的生产步骤(开始),可以(例如,通过任何已知的全自动CAE到CAD模型转换过程/算法,全自动地)将经处理的细分曲面或与其匹配的所述体积网格转换成CAD模型。然后,生产过程可以将这样的CAD模型(例如,完全自动地)导入CAD制造过程以制造机械产品。这样的导入CAD模型至少显著地对应于要通过CAD制造过程制造的这样的机械产品。换言之,在方法的最终输出相对于制造标准(例如,铣削方向或模制约束,和/或细化或装配公差)的转换之后,可以对导入的CAD模型进行进一步的编辑。
因此,生产过程可以包括以下步骤序列:
-(例如,自动地)应用方法,由此获得所述经处理的细分曲面或与其匹配的所述体积网格;
-(例如,自动地)将经处理的细分曲面或与其匹配的所述体积网格转换成前面讨论的CAD模型;
-可选地(即,取决于所使用的制造过程,机械产品的生产可以包括或不包括该步骤)(例如,
自动地)基于CAD模型来确定用于制造产品的生产/制造的生产文件和/或CAM文件;
-(例如,自动地)基于确定的生产文件或CAD模型生产/制造最初由细分曲面表示的机械产品。
将经处理的细分曲面或与其匹配的所述体积网格转换为CAD模型可以包括执行以下(例如,全自动)转换过程,该转换过程将细分曲面或体积网格作为输入并将其转换为包括表示建模机械产品的特征树的CAD模型。转换过程包括以下步骤(存在已知的全自动算法来实现这些步骤中的每一个):
-分割经处理的细分曲面或与其匹配的所述体积网格,从而获得将经处理的细分曲面或与其匹
配的所述体积网格分割成段的分割,例如,每个段表示对象的表面部分;
-通过处理段来检测CAD特征的几何形状,例如,包括检测段或段组,每个段或段组形成给定CAD特征几何形状(例如,挤压、旋转或任何规范原语),以及其可选的几何特性(例如,挤
压轴、旋转轴或轮廓);
-例如基于几何形状和/或其所述几何特性,参数化检测到的几何形状;
-基于所述部分的几何形状,例如通过聚集被检测为相同特征几何形状的一部分的相邻段,将CAD算子各自拟合到经处理的细分曲面或与其匹配的所述体积网格的相应部分;
-将几何形状和对应的CAD算子编码到特征树中;
-可选地,执行特征树,由此获得产品的B-rep表示;
-输出特征树和可选的B-Rep,该特征数和可选的B-rep形成CAD模型。
生产文件可以包括从CAD模型获得的制造提高模型。制造提高可以包括用于制造机械产品所需的所有数据,使得机械产品具有与CAD模型捕获的内容对应的几何形状和/或材料分布,可能达到制造容许误差。确定生产文件可以包括应用任何CAM(计算机辅助制造)解决方案以(例如,自动地)从CAD模型确定生产文件(例如,任何自动化的CAD到CAM转换算法)。
CAM解决方案表示适用于管理产品的制造数据的任何解决方案、硬件的软件。制造数据一般包括与要制造的产品、制造过程和所需资源有关的数据。CAM解决方案被用来规划和优化产品的整个制造过程。例如,它可以向CAM用户提供关于可行性、制造过程的持续时间或可以在制造过程的特定步骤中使用的诸如特定机器人的资源数量的信息;因此允许对管理或所需投资作出决定。CAM是继CAD过程和潜在的CAE过程之后的后续过程。例如,CAM解决方案可以提供与CAD模型中提供的挤压特征相关的加工参数或模制参数的信息。这种CAM解决方案由Dassault Systèmes提供,商标为CATIA、Solidworks或
因此,CAD和CAM解决方案密切相关。实际上,CAD解决方案侧重于产品或部件的设计,而CAM解决方案侧重于如何制造它。设计CAD模型是朝向计算机辅助制造的第一步。实际上,CAD解决方案提供了关键功能,例如基于特征的建模和边界表示(B-Rep),以减少在用CAM解决方案处理的制造过程中出错和精度损失的风险。实际上,CAD模型旨在要被制造。因此,它是要制造的对象的虚拟孪生,也称为数字孪生,有两个目标:
-检查要制造的对象在特定环境中的正确行为;以及
-确保要制造的对象的可制造性。
该机械产品可以是增材制造部件,即,要通过增材制造(即,3D打印)来制造的部件。在这种情况下,生产过程不包括确定生产文件的步骤,并且通过进一步将输出细分曲面和与其匹配的所述体积网格转换为CAD模型,直接且自动地向3D打印机馈送CAD模型,而直接进行到生产/制造步骤。3D打印机被配置为在被馈送表示机械产品的CAD模型时,根据CAD模型直接且自动地3D打印机械产品。换言之,3D打印机接收自动馈送给它的CAD模型,自动读取CAD模型,并通过将材料例如逐层地添加到一起来自动制造机械部件,以再现由CAD模型捕获的几何形状和/或材料的分布。3D打印机添加材料,从而在实际中准确地再现CAD模型捕获的几何形状和/或材料的分布,直至3D打印机的分辨率,并且可选地具有或不具有容许误差和/或制造校正。制造过程可以包括根据CAD模型自动确定、确定打印方向(例如,以最小化悬垂体积)(例如,在欧洲专利No.3327593中所描述的,其通过引用并入本文)、层切片(即,确定每层的厚度),以及3D打印机头的层状路径/轨迹和其他特性(例如,对于激光束,特性例如为路径、速度、强度/温度和其他参数)。
机械产品替代地可以是加工的部件(即,通过加工制造的部件),例如铣削的部件(即,通过铣削制造的部件)。在这种情况下,生产过程可以包括确定生产文件的步骤。该步骤可以通过任何合适的CAM解决方案自动地执行,以自动地从加工的部件的CAD模型获得生产文件。生产文件的确定可以包括自动检查CAD模型是否具有可能影响制造过程的任何几何特殊性(例如,错误或伪迹),并自动校正这种特殊性。例如,如果CAD模型仍然包括锋利的边缘(因为加工或铣削工具不能产生锋利的边缘),则可以不执行基于CAD模型的加工或铣削,并且在这种情况下,生产文件的确定可以包括自动对这种锋利边缘进行圆整或切角(例如,具有对应于加工工具的切削头半径(例如,基本上等于容许误差)的圆整或切角半径),从而可以进行基于CAD模型的加工或铣削。更一般地,生产文件的确定可以自动地包括在CAD模型内与加工或铣削工具的半径不兼容的圆整或切角几何形状,以实现加工/铣削。除了检查之外,生产文件的确定还可以包括自动确定加工或铣削路径,即,加工工具加工产品要采取的路径。路径可以包括用于加工的加工工具所遵循的一组坐标和/或参数化轨迹,并且确定路径可以包括基于CAD模型自动计算这些坐标和/或轨迹。该计算可以基于通过加工工具的CAD模型表示计算CAD模型的Minkowski减法的边界,例如在Dassault Systèmes于2013年12月13日提交的欧洲专利申请EP21306754.9中所讨论的,该专利申请通过引用并入本文。应当理解,路径可以是单一路径,例如工具连续跟随而不会中断与待切割材料的接触。替代地,路径可以是工具以特定顺序遵循的序列子路径的串联,例如工具连续不断地遵循每个序列子路径,而不会中断与待切割材料的接触。可选地,生产文件的确定随后可以包括自动设置机器参数,包括切割速度、切割/刺穿高度和/或开模冲程,例如基于所确定的路径和机器的规格。可选地,生产文件的确定随后可以包括自动配置嵌套,其中CAM解决方案决定部件的最佳取向以最大化加工效率。在加工或铣削部件的这种情况下,生产文件的确定因此产生并输出包括加工路径的文件,以及可选地设置的机器参数和/或配置的嵌套的规范。该输出的文件然后可以(例如,直接且自动地)馈送到加工工具,和/或加工工具然后可以(例如,直接且自动地)通过读取文件来编程,基于此,生产过程包括生产/制造步骤,其中机器根据生产文件对产品进行加工,例如通过直接且自动地执行生产文件。加工过程包括加工工具切割真实世界的材料块,以再现由CAD模型捕获的几何形状和/或材料的分布,例如直到容许误差(例如,对于铣削,数十微米)。
机械产品替代地可以是模制的部件,即,通过模制(例如,注射模制)制造的部件。在这种情况下,生产过程可以包括确定生产文件的步骤。该步骤可以通过任何合适的CAM解决方案自动执行,以从模制部件的CAD模型自动获得生产文件。生产文件的确定可以包括基于CAD模型自动执行一系列模制检查,以检查由所述CAD模型捕获的几何形状和/或材料的分布是否适合模制,以及如果CAD模型不适合模制,则自动执行适当的校正。检查可以包括:验证由CAD模型表示的虚拟产品与模具的维度一致,和/或验证CAD模型包括从模制本身已知的脱模产品所需的所有拔模角。然后,生产文件的确定还可以包括基于CAD模型来确定用于模制的液体材料的量,和/或使液体材料在模具内硬化/凝固的时间,并输出包括这些参数的生产文件。然后,生产过程包括(例如,自动地)基于输出文件执行模制,其中,在确定的硬化时间内,模具将液体材料成形为对应于由CAD模型捕获的几何形状和/或材料的分布的形状,例如直到容许误差(例如,达到拔模角的合并或拔模角的修改,用于脱模)。
机械产品替代地可以是冲压的部件,也可以称为“冲压部件”,即,在冲压过程中要制造的部件。在这种情况下,生产过程可以包括基于CAD模型自动确定生产文件。CAD模型表示冲压部件,例如,如果该部件要包括一些法兰,则可能具有一个或多个法兰,并且在后一种情况下可能具有要移除的额外材料,以便形成该部件的一个或多个法兰的展开状态。因此,CAD模型包括表示没有法兰的部件的部分(在一些情况下是整个部件)和可能表示法兰的外部额外贴片部分,其中可能有额外的材料(如果有的话)。该额外贴片部分可以在一定长度上呈现g2-连续性,然后在一定长度上呈现g1-连续性。生产文件的确定可以自动包括基于由CAD模型捕获的虚拟产品的几何形状和/或材料的分布来确定冲压机的参数,例如,冲压模具或冲头的尺寸和/或冲压力。如果CAD模型还包括要移除的额外材料的表示以便形成部件的一个或多个法兰的展开状态,则要移除的额外材料可以例如通过加工来切割,并且确定生产文件还可以包括确定对应的加工生产文件,例如,如前面所讨论的。如果存在一个或多个法兰,则确定生产文件可以包括确定g2-连续性和g1-连续性部分的几何规格,这些几何规格允许在冲压本身和移除额外材料之后,在折叠过程中朝向冲压的部件的内表面并沿着g2-连续性长度折叠法兰。由此确定的生产文件因此可以包括:冲压工具的参数,可选地用于折叠法兰的所述规格(如果有的话),以及可选地用于去除额外材料的加工生产文件(如果有的话)。然后,生产过程可以例如直接且自动地输出文件,并基于文件(例如,自动地)执行冲压过程。冲压过程可以包括冲压(例如,冲孔)一部分材料以形成由CAD文件表示的产品,该产品可能具有展开的法兰和额外的材料(如果有的话)。在适当的情况下,冲压过程随后可以包括基于加工生产文件来切割额外材料以及基于用于折叠法兰的所述规格来折叠法兰,由此在它们的g2-连续长度上折叠法兰,并给部件的外部边界光滑的方面。在后一种情况下,完成制造的部件的形状与其由CAD模型表示的虚拟对应物不同,其中额外的材料被移除并且法兰被折叠,而CAD模型表示具有额外材料的部件和处于展开状态的法兰。
CAD模型可以是基于特征的(例如,它可以包括特征树,并且可选地包括通过执行特征树获得的对应B-rep)。基于特征的3D模型允许(例如,在确定生产文件期间)检测和自动解决CAD模型中的几何误差,例如将影响制造过程的冲突。冲突是3D模型的两个部件之间的渗透,例如,由于它们的相对运动。此外,这种冲突有时只能经由根据基于CAD特征的模型的有限元分析来检测。因此,通过迭代修改特征参数和进行有限元分析,可以与CAD解决方案一起执行或自动执行冲突解决方案。
作为另一示例,基于特征的3D模型允许(例如,在确定生产文件的步骤中)经由计算机数控(CNC)自动创建用于机器的工具路径。通过CNC,每个待制造的对象都得到定制的计算机程序,存储在机器控制单元中并由机器控制单元执行,机器控制单元是附接到机器上的微型计算机。程序包含机械工具将遵循的指令和参数。铣床、车床、镂铣机、磨床和激光器是常见机械工具的示例,它们的操作可以用CNC实现自动化。
可以自动地从CAD文件生成定制计算机程序。因此,这样的生成可能容易出错,并且可以确保将CAD模型完美地再现到制造产品上。CNC被认为相比手工加工提供更高的精度、复杂性和重复性。其他益处包括更高的精度、速度和灵活性,以及诸如轮廓加工的能力,这允许铣削轮廓形状,包括那些在3D设计中产生的形状。
B-rep(即,边界表示)是机械部件的3D表示。具体地,B-rep是描述表示机械部件的3D建模对象的持久数据表示。B-rep可以是在表示机械部件的3D建模对象的设计阶段期间执行的计算和/或一系列操作的结果。当建模对象被表示时,在计算机屏幕上显示的机械部件的形状是B-rep(例如,其细分曲面)。在示例中,B-rep表示模型对象的一部分。
B-rep包括拓扑实体和几何实体。拓扑实体是:面、边和顶点。几何实体是3D对象:表面、平面、曲线、线、点。根据定义,面是表面的有界部分,称为支撑表面。边是曲线的有界部分,称为支持曲线。顶点是3D空间中的点。它们如下彼此相关。曲线的有界部分是由位于曲线上的两点(顶点)定义的。表面的有界部分是由它的边界定义的,这个边界是位于表面上的一组边。通过共享顶点连接面的边的边界。面是通过共享边连接的。如果两个面共享边,则这两个面是相邻的。类似地,如果两条边共享顶点,则它们是相邻的。在CAD系统中,B-rep将“由……界定”关系、拓扑实体与支撑几何之间的关系以及支撑几何的数学描述聚集在适当的数据结构中。B-rep的内部边是正好由两个面共享的边。根据定义,边界边不是共享的,它只界定一个面。根据定义,边界面由至少一个边界边界定。如果B-Rep的所有边都是内部边,则称它是闭合的。如果B-Rep包括至少一个边界边,则称它是开放的。闭合的B-Rep被用来建模厚的3D体积,因为它定义了(虚拟地)封闭材料的空间的内部部分。开放的B-Rep被用来建模3D外皮,它代表厚度足够小以至于可以忽略的3D对象。
与CAD建模中使用的任何其他表示类型相比,B-Rep的关键优势是它能够准确地表示任意形状的能力。所有其他正在使用的表示,如点云、距离场和网格,通过离散化来执行形状的近似。另一方面,B-Rep包含代表精确设计的表面方程,因此构成了用于进一步制造的真正“主模型”,无论是为CNC生成工具路径,还是为给定的3D打印机技术离散成正确的样本密度。换言之,通过使用B-Rep,3D模型可以是制造对象的精确表示。B-Rep还有利于模拟3D模型的行为。在应力、热、电磁或其他分析方面,它支持模拟网格的局部细化以捕捉物理现象,在运动学方面,它支持曲表面之间的真实接触建模。最后,B-Rep允许小的存储器和/或文件占用空间。首先,因为表示包含仅基于参数的表面。在例如网格的其他表示中,等效表面包含多达数千个三角形。其次,因为B-Rep不包含任何基于历史的信息。
该方法是计算机实现的。这意味着该方法的步骤(或基本上所有步骤)由至少一台计算机或类似的任何系统执行。因此,该方法的步骤由计算机执行,可能是完全自动地或半自动地执行。在示例中,该方法的至少一些步骤的触发可以通过用户-计算机交互来执行。所需的用户-计算机交互水平可能取决于所预见的自动化水平,并与实现用户愿望的需要保持平衡。在示例中,该水平可以是用户定义和/或预定义的。在方法的情况下,该方法的每个步骤可以自动执行,从而该方法可以完全自动化。
方法的计算机实现的典型示例是用适合于此目的的系统来执行该方法。系统可以包括耦合到存储器的处理器和图形用户界面(GUI),存储器上记录了包括用于执行所述方法的指令的计算机程序。存储器还可以存储数据库。存储器是适合于这种存储的任何硬件,可能包括几个物理上不同的部分(例如,一个用于程序,并且可能一个用于数据库)。
图18示出了系统的示例,其中系统是客户端计算机系统,例如,用户的工作站。
示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到总线的随机存取存储器(RAM)1070。客户端计算机还设置有与连接到总线的视频随机存取存储器1100相关联的图形处理单元(GPU)1110。视频RAM 1100在本领域中也被公知为帧缓冲器。大容量存储设备控制器1020管理对诸如硬盘驱动器1030的大容量存储设备的访问。适于有形地体现计算机程序指令和数据的大容量存储器设备包括所有形式的非易失性存储器,例如包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘和可移除磁盘;磁光盘。上述任何一项都可以由专门设计的ASIC(专用集成电路)补充或并入其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,例如光标控制设备、键盘等。在客户端计算机中使用光标控制设备以允许用户选择性地将光标定位在显示器1080上的任何期望位置。另外,光标控制设备允许用户选择各种命令,并输入控制信号。光标控制设备包括多个信号生成设备,用于向系统输入控制信号。通常,光标控制设备可以是鼠标,鼠标的按钮用于生成信号。替代地或另外,客户端计算机系统可以包括敏感板和/或敏感屏幕。
计算机程序可以包括可由计算机执行的指令,所述指令包括用于使上述系统执行所述方法的单元。程序可以记录在任何数据存储介质上,包括系统的存储器。程序可以例如以数字电子电路、或以计算机硬件、固件、软件或以它们的组合来实现。程序可以实现为装置,例如有形地体现在机器可读存储设备中的产品,以便由可编程处理器执行。方法步骤可以由执行指令程序的可编程处理器执行,以通过对输入数据进行操作并生成输出来执行方法的功能。因此,处理器可以是可编程的和耦合的,以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并将数据和指令发送到数据存储系统、至少一个输入设备和至少一个输出设备。应用程序可以用高级过程或面向对象的编程语言来实现,或者如果需要的话用汇编语言或机器语言来实现。在任何情况下,语言都可以是编译或解释语言。程序可以是完整的安装程序或更新程序。程序在系统上的应用在任何情况下都会导致执行该方法的指令。计算机程序可以替代地存储和执行在云计算环境的服务器上,该服务器跨网络与一个或多个客户端通信。在这种情况下,处理单元执行由程序组成的指令,由此导致在云计算环境上执行方法。

Claims (15)

1.一种用于处理细分曲面的计算机实现的方法,所述细分曲面形成真实世界3D对象的表面表示,所述方法包括:
-提供(S10-S20)包括所述细分曲面的约束四面体Delaunay网格,所述Delaunay网格是共形的并且包括四面体的一个或多个集合,每个集合表示所述细分曲面的各部分之间的相应间隙,每个相应间隙具有低于预先定义的阈值的尺寸;
-确定要添加到所述细分曲面的所述Delaunay网格的一个或多个四面体面的集合,所述确定包括最小化(S40)目标函数,所述目标函数包括惩罚由向所述细分曲面进行面添加而造成的表面创建的项,所述最小化(S40)在所述Delaunay网格的给定四面体面集合要被添加到所述细分曲面的约束下,对于一个或多个间隙中的每个间隙,所述给定四面体面集合包括网格化该间隙的四面体面。
2.根据权利要求1所述的方法,其中,所述最小化(S40)包括提供将所述Delaunay网格的四面体分入第一组和第二组的初始分类,所述第一组包括在所述细分曲面的边界框内部的四面体,所述最小化(S40)以将所述四面体分入所述第一组和所述第二组的分类作为自由变量,所述约束是网格化所述一个或多个间隙的四面体属于所述第一组。
3.根据权利要求2所述的方法,其中,所述最小化(S40)输出将所述四面体分入所述第一组和所述第二组的分类,所述分类定义在所述第一组和所述第二组之间的分界面,并且确定要添加到所述细分曲面的所述Delaunay网格的一个或多个四面体面的集合还包括另一最小化(S50),以通过修改在所述第一组和所述第二组之间的分界面来进一步最小化所述目标函数。
4.根据权利要求3所述的方法,其中,所述另一最小化(S50)包括:
-遍历所述Delaunay网格中位于所述分界面上而不是在所述细分曲面上的点,并且对于每个点评估移动该点是否进一步最小化所述目标函数;
-确定一个或多个角度,所述一个或多个角度由所述网格的边缘在所遍历的点处形成并且值低于预先定义的阈值,并且对于每个确定的角度,插入将成为所述分界面的一部分的点,以便使该角度变平。
5.根据权利要求2至4中任一项所述的方法,其中,所述项为以下类型
其中,ω∈Ω并且Ω是所述第一组和所述第二组中所有四面体分类的集合,是所述分类ω中在所述第一组和所述第二组之间的所述分界面,S是所述细分曲面。
6.根据权利要求5所述的方法,其中,所述目标函数还包括以下类型的项:
其中,α是正实数。
7.根据权利要求5或6所述的方法,其中,所述目标函数还包括以下类型的项:
其中,πD0(ω)是在分类ω中被分类到所述第二组D0中的所有四面体的面的集合。
8.根据权利要求1至7中任一项所述的方法,其中,提供所述约束四面体Delaunay网格包括:
-提供(S10)所述细分曲面;
-使所述细分曲面共形并且将所述细分曲面插入四面体Delaunay网格中(S20)。
9.根据权利要求1至8中任一项所述的方法,其中,所述方法还包括在确定要添加到所述细分曲面的所述Delaunay网格的一个或多个三角形的集合之前:
-局部细化(S30)每个间隙的四面体网格。
10.根据权利要求1至9中任一项所述的方法,其中,确定要添加到所述细分曲面的所述Delaunay网格的一个或多个四面体面的集合被迭代(S60),每个迭代包括:在所述最小化(S40)之前,修改所述给定四面体面集合。
11.根据权利要求1至10中任一项所述的方法,其中,所述表面表示形成至少一个流体域的定界。
12.根据权利要求11所述的方法,其中,所述表面表示车身的外表面。
13.一种包括指令的计算机程序,所述指令当在计算机上实现时,使所述计算机执行权利要求1至12中任一项所述的方法。
14.一种在其上记录有权利要求13所述的计算机程序的计算机可读数据存储介质。
15.一种计算机系统,包括存储器和耦合到所述存储器的处理器,所述存储器上记录有权利要求13所述的计算机程序。
CN202310255366.2A 2022-03-11 2023-03-10 处理细分曲面 Pending CN116740302A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP22305281.2 2022-03-11
EP22305281.2A EP4242976A1 (en) 2022-03-11 2022-03-11 Processing a tesselation

Publications (1)

Publication Number Publication Date
CN116740302A true CN116740302A (zh) 2023-09-12

Family

ID=80930272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310255366.2A Pending CN116740302A (zh) 2022-03-11 2023-03-10 处理细分曲面

Country Status (4)

Country Link
US (1) US20230290064A1 (zh)
EP (1) EP4242976A1 (zh)
JP (1) JP2023133279A (zh)
CN (1) CN116740302A (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2802324B1 (fr) * 1999-12-10 2004-07-23 Inst Francais Du Petrole Methode pour generer un maillage sur une formation heterogene traversee par une ou plusieurs discontinuites geometriques dans le but de realiser des simulations
EP4008526A1 (en) 2016-11-25 2022-06-08 Dassault Systèmes Orientation of a real object for 3d printing
US11334691B2 (en) * 2018-07-30 2022-05-17 Dassault Systemes Simulia Corp. Detection of gaps between objects in computer added design defined geometries

Also Published As

Publication number Publication date
JP2023133279A (ja) 2023-09-22
US20230290064A1 (en) 2023-09-14
EP4242976A1 (en) 2023-09-13

Similar Documents

Publication Publication Date Title
JP7235478B2 (ja) 3d部品の付加製造
JP7164295B2 (ja) 3dプリンティングのための現実の物体の向き付け
Kumar et al. Reverse engineering in product manufacturing: an overview
EP3340085B1 (en) B-rep of the result of a two-axis 3d printing process
EP4092558A1 (en) Parameterization of cad model
US11195330B2 (en) Generation of a structured 3D model from a raw mesh
CN116740302A (zh) 处理细分曲面
US20210200907A1 (en) 3D Modeled Object Of A Physical Prototype Of A Product
CN113283020A (zh) 机械部件的结构仿真
US20230306162A1 (en) Sketch-processing
US20230418990A1 (en) Cad feature tree generation
EP4266257A1 (en) 3d reconstruction from images
EP4345673A1 (en) Fillet detection method
EP4254252A1 (en) Gradient-based cad model optimization
EP4099206A1 (en) Processing a cad 3d model of a mechanical part
CN117313256A (zh) Cad特征树优化
JP2022179418A (ja) 材料の押し出し検出方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication