CN113283020A - 机械部件的结构仿真 - Google Patents
机械部件的结构仿真 Download PDFInfo
- Publication number
- CN113283020A CN113283020A CN202110123412.4A CN202110123412A CN113283020A CN 113283020 A CN113283020 A CN 113283020A CN 202110123412 A CN202110123412 A CN 202110123412A CN 113283020 A CN113283020 A CN 113283020A
- Authority
- CN
- China
- Prior art keywords
- rep
- face
- faces
- group
- thickening
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
Abstract
本发明主要涉及一种用于执行机械部件的结构仿真的B‑rep处理的计算机实现的方法。所述方法包括提供第一B‑rep。所述第一B‑rep形成代表所述机械部件的实体。所述方法进一步包括提供预先确定的厚度阈值。所述方法进一步包括基于所述第一B‑rep构建第二B‑rep。所述第二B‑rep形成代表所述机械部件的非流形对象。所述构建包括识别所述第一B‑rep的一个或多个薄区域。每一个薄区域具有比所述预先确定的厚度阈值小的厚度。所述构建进一步包括针对每一个识别的薄区域,计算识别的薄区域的相应中间表面。所述构建进一步包括由所述相应中间表面替换识别的薄区域。
Description
技术领域
本发明涉及计算机程序和系统的领域,并且尤其涉及用于执行机械部件的结构仿真的B-rep处理的方法、系统和程序。
背景技术
市场上提供有许多系统和程序用于对象的设计、工程和制造。CAD是计算机辅助设计的缩写,例如,它与用于设计对象的软件解决方案相关。CAE是计算机辅助工程的缩写,例如,它与用于仿真未来产品的物理行为的软件解决方案相关。CAM是计算机辅助制造的缩写,例如,它与用于定义制造过程和操作的软件解决方案相关。在这样的计算机辅助设计系统中,图形用户界面关于技术的效率起着重要作用。这些技术可以被嵌入在产品生命周期管理(PLM)系统中。PLM是指一种业务战略,可帮助企业在扩展企业的整个概念中针对从概念到使用寿命结束的对产品的开发而共享产品数据、应用通用流程以及利用企业知识。DassaultSystèmes(商标为CATIA、ENOVIA和DELMIA)提供的PLM解决方案提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心和使能企业集成和连接到工程中心和制造中心二者的企业中心。该系统共同提供了一个开放的对象模型,该开放的对象模型将产品、过程、资源链接在一起,以实现基于动态的、知识的产品创建和推动优化的产品定义、制造准备、生产和服务的决策支持。
在机械设计中,被设计的部件可以由以边界表示(B-rep)格式的虚体表示。出于结构数字仿真目的,经常使用实体(solid)的处理。
用于执行机械部件的结构仿真的B-rep处理的现有方法不能够产生满意的结果。
在这一上下文内,仍然需要用于执行机械部件的结构仿真的B-rep处理的改进方法。
发明内容
因此,提供一种用于执行机械部件的结构仿真的B-rep处理的计算机实现的方法。所述方法包括提供第一B-rep。所述第一B-rep形成代表所述机械部件的实体。所述方法进一步包括提供预先确定的厚度阈值。所述方法进一步包括基于所述第一B-rep构建第二B-rep。所述第二B-rep形成代表所述机械部件的非流形(manifold)对象。所述构建包括识别所述第一B-rep的一个或多个薄区域。每一个薄区域具有比所述预先确定的厚度阈值小的厚度。所述构建进一步包括针对每一个识别的薄区域,计算识别的薄区域的相应中间表面。所述构建进一步包括由所述相应中间表面替换所述识别的薄区域。
这构成了用于执行机械部件的结构仿真的B-rep处理的改进方法。
值得注意的是,所述第一B-rep形成代表所述机械部件的实体,所述实体具有代表所述机械部件的薄壁的一个或多个薄区域。换句话说,所述实体以一个或多个局部厚区域(即,局部厚体积/实体区域)以及一个或多个局部薄壁(即,薄的识别的区域)为特征。所述方法识别这些一个或多个局部薄壁。识别局部薄壁在机械设计/实体建模中尤其相关。
而且,所述薄区域/薄壁的识别是精确的,这得益于基于机械/结构考虑所确定的预先确定的厚度阈值。实际上,所述方法仅将所述第一B-rep的具有小于所述预先确定的厚度阈值的厚度的区域识别为所述薄区域,即,所述B-rep的真正薄区域,其是真正代表所述机械部件中从机械/结构角度被认为是薄壁的部件的区域。
而且,所述方法超出了对所述局部薄壁的识别,其本身已经在机械设计/实体建模方面相关,并且基于这些识别的薄区域/局部薄壁来计算第二B-rep。为此,所述方法显著地计算分别与识别的薄区域相应中间表面并且由相应计算的中间表面来替换每一个识别的薄区域。这一计算是构建第二B-rep的一部分,并且导致所述第二B-rep是良好近似于第一B-rep的混合表面/体积非流形对象。实际上,第一B-rep的薄壁与替换他们的中间表面良好地近似。这一近似是精确的,因为薄壁具有比厚度阈值低的厚度。这相当于说,所述方法通过由中间表面精确近似所述第一B-rep的薄壁来根据所述第一B-rep构建所述第二B-rep。产生的第二B-rep因而形成精确代表所述机械部件的非流形对象。在单个设计过程中精确地设计以薄区域和厚区域二者为特征的这样的第二B-rep的能力是所述方法对机械设计领域带来的改进。值得注意的是,所述方法避免了利用单独的设计过程对薄区域和厚区域的过长且繁琐的单独设计。
由所述方法构建的第二B-rep在机械设计方面尤其相关。值得注意的是,作为混合表面/体积对象的所述第二B-rep可以与包括2D和3D元件的混合网格一起网格化,这本身在机械设计和结构仿真的领域中是已知的。中间表面与2D元件网格化,并且第二B-rep的剩余实体部件与3D元件网格化。这样的混合网格允许按照快速和鲁棒的方式执行对机械部件的结构仿真。实际上,混合网格的表面/2D部件在结构仿真方面比体积/3D部件花费得更少。混合网格因而允许快速的结构仿真,即,比对3D网格执行的结构仿真更快。此外结构仿真是精确且鲁棒的,因为机械部件的薄区域由第二B-rep中的中间表面精确近似。这导致混合网格也是用于执行结构仿真的精确网格,确保了精确的结构仿真。
除了所述第二B-rep的构建,所述方法可以包括使所述第二B-rep网格化为混合网格并且基于所述混合网格执行所述机械部件的结构仿真。否则,所述方法在单个设计过程中构建第二B-rep、执行对所述第二B-rep的表面和体积网格化二者,并且接着执行快速且精确的结构仿真。所述方法因而可以形成结构仿真的改进过程,这与将是更长和繁琐的分别针对相同B-rep的薄部分和厚部分执行单独的2D和3D网格化和结构仿真过程相比较是显著不同的。
所述方法可以包括下面中的一个或多个:
–识别所述一个或多个薄区域包括确定分别是所述第一B-rep的一个或多个相邻且正切面的第一组和第二组,每一个第一组与相应的第二组局部平行并且与所述相应的第二组形成薄区域的边界的至少一部分;
–确定所述第一组和所述第二组包括:
确定分别与相应的其它面局部平行的所述第一B-rep的面;以及
将与第二确定的相邻和正切面局部平行的第一确定的相邻和正切面分组为第一组和第二组;
–确定所述面包括:
确定候选面,所述候选面是所述第一B-rep的第一面,所述第一面的点到所述第一B-rep的第二面的距离低于所述厚度阈值;并且
在候选面当中确定第一面和第二面,每一个第一面与相应的第二面局部平行;
–当发生下面情况时两个面局部平行:
所述面之间的最大距离与所述面之间的最小距离之间的比率低于1加上阈值;和/或
所述面之间的最大距离和所述面之间的最小距离之间的差值与所述面中的至少一个的对角线长度的比率低于G1连续性容忍角度的正切;
–计算针对每一个识别的薄区域的相应中间表面,包括针对与确定的相应第二组局部平行的每一个确定的第一组,计算所述第一组的第一加厚操作的结果与所述相应第二组的偏移操作的结果之间的相交作为中间表面;
–计算针对每一个识别的薄区域的相应中间表面包括,针对与确定的相应第二组局部平行的每一个确定的第一组,计算所述第一组的第一加厚操作的结果与所述相应第二组的偏移操作的结果之间的相交作为中间表面;
–所述偏移操作是所述相应第二组的外插的偏移,和/或所述第一加厚操作具有比所述厚度阈值更大的加厚距离。
–所述构建进一步包括计算所述第一B-rep的一个或多个局部厚区域,计算所述一个或多个厚区域包括:
针对与确定的相应第二组局部平行的每一个确定的第一组,计算所述第一组的第二加厚操作的结果与所述相应第二组的第三加厚操作的结果的相交;并且
从所述第一B-rep减去每一个计算的相交;
–所述第一组的所述第二加厚操作是所述第一组的外插的加厚,并且所述相应第二组的所述第三加厚操作是所述相应第二组的外插的加厚,所述第一组的外插和所述相应第二组的外插具有不同的外插值,和/或所述第三加厚操作和所述第二加厚操作分别具有比所述厚度阈值更大的加厚距离。
–所述替换包括通过对相应中间表面的边界边缘与相应计算的厚区域的划分边缘进行组装来对所述相应中间表面与所述相应计算的厚区域进行组装;
–所述方法进一步包括使所述第二B-rep网格化为混合网络;和/或
–所述方法进一步包括基于所述混合网格执行所述机械部件的结构仿真。
还提供一种包括用于执行所述方法的指令的计算机程序。
还提供一种其上记录有所述计算机程序的计算机可读存储介质。
还提供一种包括耦合到存储器的处理器以及图形用户界面的系统,所述存储器具有记录在其上的所述计算机程序。
附图说明
将通过下面的非限制性示例并且参照附图来描述本发明的实施例,其中:
图1和图2示出了所述方法的示例的流程图;
图3示出了所述系统的图形用户界面的示例;
图4示出了所述系统的示例;并且
图5到图75说明了所述方法。
具体实施方式
参照图1的流程图,提出一种用于执行机械部件的结构仿真的B-rep处理的计算机实现的方法。所述方法包括提供S10第一B-rep。所述第一B-rep形成代表所述机械部件的实体。所述方法进一步包括提供S10预先确定的厚度阈值。所述方法进一步包括基于所述第一B-rep构建S20第二B-rep。所述第二B-rep形成代表所述机械部件的非流形对象。所述构建S20包括识别S200所述第一B-rep的一个或多个薄区域。每一个薄区域具有比所述预先确定的厚度阈值小的厚度。所述构建S20进一步包括针对每一个识别的薄区域计算S210识别的薄区域的相应中间表面。所述构建S20进一步包括由所述相应中间表面替换所述识别的薄区域。
所述方法是计算机实现的。这意味着所述方法的步骤(或者基本上所有步骤)由至少一个计算机或者任意系统等执行。因而,所述方法的步骤由所述计算机可能全自动或者半自动地执行。在示例中,所述方法的至少一些步骤的触发可以经过用户-计算机交互来执行。所要求的用户-计算机交互的水平可以取决于所预见的自动化水平并且与实现用户希望的需要相平衡。在示例中,这一水平可以是用户定义和/或预先定义的。
方法的计算机实现的典型示例是利用适于这一目的的系统执行所述方法。所述系统可以包括耦合到存储器的处理器以及图形用户界面(GUI),所述存储器其上记录有计算机程序,所述计算机程序包括用于执行所述方法的指令。所述存储器还可以存储数据库。所述存储器是适于这样的存储的任意硬件,可能包括几个物理分立部件(例如,一个用于程序,并且可能一个用于数据库)。
所述方法通常操控作为建模对象的B-rep。建模对象是由例如存储在数据库中的数据定义的任意对象。通过扩展,表述“建模对象”指代数据本身。根据系统的类型,所述建模对象可以由不同种类的数据定义。所述系统可以实际上是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任意组合。在那些不同的系统中,建模对象由相对应的数据定义。人们因此可以说CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统不是彼此排他性的,因为建模对象可以由与这些系统的任意组合相对应的数据来定义。系统因而可以很好地是CAD系统和PLM系统二者,这从下面提供的对这样系统的定义中将变得明显。
CAD系统是指至少适于基于建模对象的图形表示来设计建模对象的任何系统,诸如CATIA。在这种情况下,定义建模对象的数据包括允许表示建模对象的数据。CAD系统可以例如使用边或线(在某些情况下利用面或表面)来提供CAD建模对象的表示。线、边或表面可以以各种方式表示,例如非均匀有理B样条曲线(NURBS)。具体而言,CAD文件包含可以从中生成几何图形从而允许生成表示的规范。建模对象的规范可以存储在单个CAD文件中,也可以存储在多个CAD文件中。表示CAD系统中建模对象的文件的典型大小在每部件1MB的范围内。并且建模对象通常可以是数千个部件的组件。
在CAD的上下文中,建模对象通常可以是3D建模对象,其例如表示产品,诸如部件或部件的组件、或者可能是产品组件。通过“3D建模对象”,它是指通过允许其3D表示的数据建模的任何对象。3D表示允许从所有角度查看部件。例如,当3D建模对象被3D表示时,可以处理3D建模对象并围绕其任何轴或围绕显示该表示的屏幕中的任何轴来旋转它们。特别是,这不包括未3D建模的2D图标。3D表示的显示有助于设计(即,提高设计人员统计地完成任务的速度)。由于产品的设计是制造过程的一部分,因此可以加快工业中的制造过程。
PLM系统是指适于管理表示物理制造产品(或待制造产品)的建模对象的任何系统。因此,在PLM系统中,建模对象由适合于制造物理对象的数据定义。这些通常可以是尺寸值和/或公差值。为了正确制造对象,拥有这样的值确实更好。
CAM解决方案是指适用于管理产品的制造数据的任何解决方案、硬件的软件。制造数据通常包括与要制造的产品、制造过程和所需资源有关的数据。CAM解决方案用于规划和优化产品的整个制造过程。例如,它可以向CAM用户提供关于可行性、制造过程的持续时间或可以在制造过程的特定步骤中使用的资源(诸如,特定机器人)的数量的信息;并且因此,允许决定管理或所需的投资。CAM是CAD过程和潜在CAE过程之后的后续过程。这种CAM解决方案由Dassault Systèmes以商标提供。
CAE解决方案是指适用于分析建模对象的物理行为的任何解决方案、硬件的软件。一种众所周知且广泛使用的CAE技术是有限元方法(FEM),其通常涉及将建模的对象划分为可以通过方程计算和模拟物理行为的元素。此类CAE解决方案由Dassault Systèmes以商标提供。另一种不断增长的CAE技术涉及复杂系统的建模和分析,复杂系统由来自不同物理领域的多个组件组成而没有CAD几何数据。CAE解决方案允许模拟,并且从而优化、改进和验证要制造的产品。此类CAE解决方案由Dassault Systèmes以商标提供。
PDM代表产品数据管理。PDM解决方案是指适用于管理与特定产品相关的所有类型数据的任何解决方案、硬件的软件。PDM解决方案可供参与产品的生命周期的所有参与者使用:主要是工程师,但也包括项目经理、财务人员、销售人员和买家。PDM解决方案通常基于面向产品的数据库。它允许参与者共享其产品的一致数据,并且因此防止参与者使用不同的数据。此类PDM解决方案由Dassault Systèmes以商标提供。
图3示出了系统的GUI的示例,其中系统是CAD系统。
GUI 2100可以是典型的类CAD的界面,具有标准菜单栏2110、2120,以及底部和侧面工具栏2140、2150。这样的菜单栏和工具栏包含一组用户可选择的图标,每个图标与如本领域中已知的一个或多个操作或功能相关联。这些图标中的一些与软件工具相关联,适于编辑和/或处理GUI 2100中显示的3D建模对象2000。软件工具可以被分组为工作台。每个工作台都包含软件工具的子集。特别地,其中工作台中的一个是版本工作台,适用于编辑建模产品2000的几何特征。在操作中,设计者可以例如预先选择对象2000的一部分并且然后通过选择适当的图标启动操作(例如,改变尺寸、颜色等)或编辑几何约束。例如,典型的CAD操作是在屏幕上显示的3D建模对象的打孔或折叠的建模。GUI可以例如显示与所显示的产品2000相关的数据2500。在该图的示例中,显示为“特征树”的数据2500及其3D表示2000涉及包括制动钳和盘的制动器组件。GUI还可以示出各种类型的图形工具2130、2070、2080,例如用于促进对象的3D定向,用于触发对编辑的产品的操作的模拟或渲染所显示的产品2000的各种属性。光标2060可以由触觉设备控制以允许用户与图形工具交互。
图4示出了该系统的示例,其中该系统是客户端计算机系统,例如,用户的工作站。
该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到总线的随机存取存储器(RAM)1070。客户端计算机还被提供有图形处理单元(GPU)1110,其与连接到总线的视频随机存取存储器1100相关联。视频RAM 1100在本领域中也称为帧缓冲器。大容量存储设备控制器1020管理对诸如硬盘驱动器1030的大容量存储器设备的存取。适合于有形地体现计算机程序指令和数据的大容量存储器设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM盘1040。前面的任何一个都可以由专门设计的ASIC(专用集成电路)补充或并入其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,诸如光标控制设备、键盘等。在客户端计算机中使用光标控制设备以允许用户选择性地将光标定位在显示器1080上的任何期望位置。此外,光标控制设备允许用户选择各种命令,并输入控制信号。光标控制设备包括多个信号发生设备,以用于向系统输入控制信号。通常,光标控制设备可以是鼠标,鼠标的按钮用于生成信号。可选地或另外地,客户端计算机系统可以包括敏感垫和/或敏感屏幕。
该计算机程序可以包括由计算机可执行的指令,该指令包括用于使上述系统执行该方法的单元。该程序可以记录在任何数据存储介质上,包括系统的存储器。该程序可以例如在数字电子电路中实现,或者在计算机硬件、固件、软件或它们的组合中实现。该程序可以实现为装置,例如有形地体现在机器可读存储设备中以用于由可编程处理器执行的产品。方法步骤可以由执行指令程序的可编程处理器执行,以通过对输入数据进行操作并生成输出来执行该方法的功能。因此,处理器可以是可编程的并且被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并将数据和指令发送到数据存储系统、至少一个输入设备和至少一个输出设备。如果需要,应用程序可以用高级过程或面向对象的编程语言实现,或者用汇编语言或机器语言实现。在任何情况下,语言可以是编译或解释语言。该程序可以是完整安装程序或更新程序。在任何情况下,程序在系统上的应用产生用于执行该方法的指令。
本文中的任意B-rep是3D建模对象,其可以代表真实世界中在利用例如CAD软件解决方案或者CAD系统完成其虚拟设计之后要被制造产品的几何形状,例如(例如机械)部件或者部件的组件(或者等同的部件的组件,因为从方法的角度看,部件的组件可以被看作部件本身,或者所述方法可以被独立应用于组件的每一个部件),或者更通常为任意刚性主体组件(例如,移动机制)。CAD软件解决方案允许在各种和非限制的工业领域中设计产品,所述各种和非限制的工业领域包括:航空、架构、构建、消费类商品、高科技设备、工业仪器、交通、海洋和/或离岸石油/气体生产或运输。本文的任意B-rep因而可以是代表工业产品的3D建模对象,所述工业产品可以是任意机械部件,例如地面车辆的部件(例如包括汽车和轻型卡车设备、赛车、摩托车、卡车和电动设备、卡车和巴士、火车),空中车辆的一部分(例如包括机身仪器、航天设备、推动力设备、防御产品、航空设备、空间设备)、海上车辆的一部分(例如包括海军设备、商船、离岸设备、帆船和工作船只、海底设备)、通用机械部件(例如包括工业制造机器、重型移动机器或设备、安装设备、工业设备产品、制造金属产品、轮胎制造产品)、机电或者电子部件(例如包括消费类电子产品、安全和/或控制和/或仪器产品、计算和通信设备、半导体、医疗设备和仪器)、消费类产品(例如包括装饰品、家用和园艺产品、休闲商品、流行产品、硬商品零售产品、软产品零售产品)、包装(例如包括实物和饮料和香烟、化妆品和个人护理、家用产品包装)。
在所述方法的上下文中,机械部件(即,由第一B-rep和第二B-rep表示)可以是以薄壁和厚区域为特征的任意机械部件。
例如,机械部件可以是航空部件,例如金属桩、纵梁或者框架。图5示出了机械部件的示例,其中该机械部件是航空金属桩。图6示出了机械部件的另一示例,其中该机械部件是航空金属桩。图7示出了机械部件的另一示例,其中该机械部件是航空纵梁。图8示出了机械部件的另一示例,其中该机械部件是航空框架。
可选地或者此外,机械部件可以是汽车部件,例如汽车建模部件。图9示出了机械部件的示例,其中该机械部件是汽车建模部件。这一汽车建模部件以用于外壳的薄壁和诸如加强板90和92的内部加强板连同诸如用于固定和制造目的的固定件94的局部厚装置为特征。典型的制造特征是诸如顶出垫96和98的顶出垫,这位于顶出垫就在其打开之后将部件远离模具推动的位置。
此外或者可选地,机械部件可以是用于汽车工业、航空工业、建筑设计工业或者轮船设计工业的铝突出部件。图10示出了机械部件的示例,其中机械部件是铝突出部件。这样的部件典型地基于以薄区域和厚区域为特征的平面轮廓,这导致推出实体上的薄壁和厚体积,如图10所示。
所述方法作为初始阶段可以包括设计代表机械部件的3D建模对象(即,第一B-rep)。“设计3D建模对象”指代至少是精心制作3D建模对象的过程的一部分的任意动作或者一系列动作。因而,所述方法可以包括从零开始创建3D建模对象。可选地,所述方法可以包括提供先前创建的3D建模对象,并且接着修改所述3D建模对象。
所述方法可以被包括在制造过程中,其可以包括在执行所述方法之后产生与所述第二B-rep相对应的物理产品。所述制造可以在基于所述第二B-rep的结构仿真之后执行,如先前提及和和随后描述的。在任意情况下,由所述方法构建的所述第二B-rep可以代表制造对象。所述制造对象可以是诸如部件或者部件的组件的产品。由于所述方法改进了所述第二B-rep的构建并且允许执行快速而精确的结构仿真,因此所述方法还改进了产品的制造并且因而增加了制造过程的生产率。
所述方法用于B-rep处理。B-rep处理指代用于修改B-rep的任意动作或者一系列动作。在所述方法的情况下,所述B-rep处理包括提供S10所述第一B-rep并且基于所述第一B-rep构建所述第二B-rep。在进一步讨论所述方法执行的所述B-rep处理之前,现在参照图11-图32来讨论所述方法中涉及的B-rep概念。
B-Rep模型包括拓扑实体和几何实体。拓扑实体是:面、边和顶点。几何实体是3D对象:表面、平面、曲线、线、点。通过定义,面是表面(即,支持表面)的边界部分。边是曲线(即,支持曲线)的边界部分。顶点是3D空间中的点。他们与彼此相关如下。曲线的边界部分由位于该曲线上的两个点(顶点)定义。表面的边界部分由其边界定义,这一边界是位于该表面上的边的集合。面的边界的边通过共享顶点而连接到一起。面通过共享边而连接到一起。通过定义,如果两个面共享边,则他们相邻。类似地,如果两个边共享顶点,则他们相邻。
图11和图12说明了由三个面形成的圆柱形槽的B-Rep模型:顶平坦平面以及两个侧圆柱面。图11示出了该槽的透视图。可视的面、边和顶点被编号。图12示出了所有面的分解图。复制的数字说明了边和顶点共享。面1是平面的边界部分。面一的边界包括边4和5,边4和5中的每一个由顶点10和11形成边界。它们二者具有相同的支持圆形。面2由全部位于无限圆柱形表面上的边6、8、5和13形成边界。面1和面2相邻,因为它们共享边5。面2和面3相邻,因为它们共享边8和13。面1和面3相邻,因为它们共享边4。
图13说明了B-Rep模型的“由……形成边界”拓扑关系。较高层的节点是面,中间层的节点是边并且较低层的节点是顶点。图14和图15说明了图14中示出的拓扑实体(面、边、顶点)和图15中示出的支持几何体(无限圆柱体、无限平面、无限线、点)之间的关系。在例如执行所述方法的CAD系统中,B-Rep模型在合适的数据结构中收集“由……形成边界”关系、拓扑实体和支持几何体之间的关系以及支持几何体的数学描述。
通过定义,B-Rep的内部边由正好两个面共享。共享边的面被认为彼此相冲突,或者与共享边相冲突。通过定义,边界边不被共享,它仅与一个面形成边界。通过定义,边界面与至少一个边界边相冲突。如果B-Rep的边全部是内部边,则该B-Rep被认为是闭合的。如果B-Rep包括至少一个边界边,则该B-Rep被认为是开放的。先前示例的B-Rep是开放的,因为边6和边7是边界边。相反,边4、5、8和13是内部边。通过添加由边6和7形成边界的类似盘的面14,闭合的B-Rep从图11和图12中示出的B-Rep获得,如在图16和图17中示出的。闭合B-Rep用于对厚3D体积建模,因为它定义了空间(虚拟)包围材料的内侧部分。开放B-Rep用于对3D皮肤建模,该3D皮肤是其厚度足够小而被忽略的3D对象。
B-Rep的对偶图是仅捕获面邻近性的逻辑图。其按照如下定义。对偶图的节点与B-Rep的面相关联并且对偶图的弧线与B-Rep的边相关联。如果与对偶图的弧线相关联的B-Rep边由分别与节点相关联的B-Rep面共享,则该对偶图的弧线连接该对偶图的两个节点。例如,图16中的圆柱形B-Rep的对偶图在图18中示出。弧线被标记有边编号。
B-Rep的每一个面组装有在支持表面的帮助下定义的法向量。首先,该法向量与支持表面的法向量共线。此外,对实体建模的闭合B-Rep的法向量指向材料的外侧。令F为B-Rep的面并且N为其外部法向量。令E为面F的边,X为边E上的点并且T为在点X处边E的归一化切线向量。通过定义,如果向量M=N×T指向面的内侧区域,则边E沿逆时针方向取向,如图19说明的。注意到,由于向量N和T被归一化和垂直,向量M被归一化。按照惯例,B-Rep的所有面的所有边沿逆时针方向取向,如在图20上说明的。
从数学的角度看,实体的标准B-Rep用于代表流形对象,这意味着,在局部,B-Rep将相邻空间实际上切割为两部分:实体的内侧和实体的外侧。尽管这一属性良好地适于真实生活制造的对象,但是它不能够代表有用的配置,类似多材料对象或者局部近似。例如,图21示出了由不同材料的几层制成的实体。分离材料的接口由通过相邻区域共享的面制成。图22示出了以加强板为特征的部件的传统B-Rep。图23示出了由表面近似的加强板,而相邻部件是体积,其表明是混合表面/体积对象。
非流形拓扑允许一致性模型支持这些情形。通过重用和扩展B-Rep数据结构,它捕获由多于两个面共享的边,如在图24中说明的。它捕获边界边并且位于它的边界面内侧,这意味着它不分离面的材料,如在图25中说明的。
如下面进一步讨论的,所述方法可以使用面外插和表面外插。通过定义,表面是平滑映射其中各种模型可以用于根据参数(u,v)计算点P(u,v),例如,Bezier、B-Spline、NURBS或者三角几何体。图26说明了作为参数域的图像的表面。在本公开的上下文中,外插过程用于延伸域[a,b]×[c,d],这意味着[a,b]×[c,d]被改变为[(1-e)a,(1+e)b]×[(1-e)c,(1+e)d],其中e>0是外插系数。如果映射P是曲率连续的,则这一过程产生曲率连续的外插表面。在本公开的上下文中,外插参数可以是e=0.01。图27说明了外插效果;虚线是外插之前的形状。对面进行外插是对其支持表面进行外插并且由基于外插的支持表面的偏离边界曲线来替换该面的边界曲线。支持表面的外插足够宽以包围该面的边界曲线偏移。图28说明了在支持表面P上定义的面f的外插。支持表面P被外插有e′>e,以使得外插的面Extrapol(f,e)能够在较宽的支持表面Extrapol(P,e′)上定义。
所述方法可以使用面的更具体的外插操作。这一操作的输入为:要外插的面f,外插参数e以及面的列表L={gk,k=1,2,…}。具体外插只是使面f中的与列表L中的面共享的边界边偏移。图29说明了面f根据面{g1,g2,g3}的具体外插。注意到,由于圆角面h不在列表{g1,g2,g3}中,因此,面f中的与该面h共享的边在外插中不涉及。
所述方法可以在示例中使用两个面的局部平行的概念以用于识别第一B-rep的薄区域。在讨论这一概念之前讨论两个基本定义:使面偏移和使面加厚。应该注意到,明确涉及法向量的外取向。给定B-Rep的面f和非负数λ,偏移操作是计算在距离处λ与面f平行的面的对象Offset(f,λ)。注意在面f的点x处的外法向量Nf(x)由下面定义:
Offset(f,λ)={x-λNf(x),x∈f}.
偏移操作由图30说明。加厚操作是计算对象Thick(f,λ),它是由面f及其偏移面在距离λ处包围的体积。它由下面定义:
Thick(f,λ)={x-sNf(x),x∈f,s∈[0,λ]}。
图31说明了加厚操作。
现在给出平行化和局部平行化的定义。如果对于每一个点x∈f,点x-λNf(x)位于面g上并且如果对于每一个点y∈g,点y-λNg(y)位于面f上,则两个面f和g在距离λ处平行。在本公开的上下文中,使用局部平行化的概念。如果存在λ>0使得面g∩Thick(f,λ)和面f∩Thick(g,λ)在某一距离处平行,则两个面f和g局部平行。图32上说明了局部平行化。黑实线代表平行的面f和g的相应部分,因而使得面f和g局部平行。
回来参照图1的流程图,所述方法包括提供S10第一B-rep。第一B-rep是代表机械部件的实体。换句话说,第一B-rep是闭合B-rep。提供S10第一B-rep可以包括创建第一B-rep,即,设计形成第一B-rep的3D建模对象,如先前讨论的。可选地,提供S10第一B-rep可以包括从(例如远端)存储器取回第一B-rep,创建第一B-rep之后,第一B-rep被存储在该存储器中。提供S10第一B-rep可以包括显示第一B-rep。
仍然参照图1的流程图,该方法进一步包括提供S10预先确定的厚度阈值。厚度阈值是厚度的值,例如为严格的正实数。提供S10预先确定的厚度阈值可以包括例如由用户选择厚度阈值,并且接着将其作为输入馈送到构建S20。用户可以通过定义厚度阈值的值来选择厚度阈值,例如基于关于机械部件的机械/结构考虑。例如,用户可以按照这样的方式确定厚度阈值以使得机械部件中具有低于该厚度阈值的厚度的的任何区域是出于结构和/或机械和/或制造考虑能够被中间表面良好近似的区域。
仍然参照图1的流程图,该方法进一步包括基于第一B-rep构建S20第二B-rep。“基于第一B-rep”意味着该构建以第一B-rep作为输入并且输出构建的第二B-rep,第二B-rep的构建考虑第一B-rep和厚度阈值。换句话说,第二B-rep从第一B-rep获得。第二B-rep形成非流形对象,即,具有非流形拓扑。换句话说,第二B-rep不是闭合B-rep并且包括实体闭合体积区域和表面区域。第二B-rep还代表机械部件,但是具有中间表面而不是体积,用于代表机械部件的薄区域,如先前讨论的并且如下文进一步讨论的。构建S20可以被自动执行(例如,由使用该构件S20来执行该方法的CAD系统),例如在完成提供S10之后。这意味着该方法可以自动构建第二B-rep,这使得该方法有效率。
仍然参照图1的流程图,构建第二B-rep包括识别S200第一B-rep的一个或多个薄区域。现在讨论识别S200一个或多个薄区域。
每一个薄区域是由第一B-rep的面形成边界的体积并且具有比厚度阈值小的厚度。厚度阈值用于构建S20的输入,以用于由识别S200使用。识别S200一个或多个薄区域可以包括寻找第一Brep的面并且检测面的组,每一个为具有比厚度阈值小的厚度的区域部分地形成边界。识别S200可以进一步包括将这样的组配对为第一组和第二组,以使得每一个对的第一组和第二组形成在局部与彼此平行的薄区域的边界部分。
现在参照图2的流程图来讨论识别S200的示例,图2示出了识别S200一个或多个薄区域的示例的流程图。
在示例中,识别S200一个或多个薄区域包括确定第一组和第二组,每一个组包括第一B-rep的一个或多个相邻和正切面。每一个第一组与相应的第二组局部平行并且与相应的第二组形成薄区域的边界的至少一部分。
如先前讨论的,当第一B-rep的两个面共享第一B-rep的边时,这两个面相邻。当沿着共享边的法向量之间的角度在G连续性容忍角度下时,这两个面正切,这在后面讨论。该方法确定第一和第二这样的组,例如通过确定每一个组的面。每一个确定的第一组形成薄区域之一的边界的一部分,确定的第二组与该第一组局部平行,形成该薄区域的边界的另一部分。所述部分和所述另一部分局部平行。实际上,第一组与第二组局部平行。两个组由比厚度阈值低的距离分离。确定这样的第一组和第二组允许通过仅检测其边界的一部分(即,由第一组和第二组构成的部分)而进行有效地识别。而且,这允许计算薄区域的中间表面,如下面进一步讨论的。
参照图2的流程图,确定第一组和第二组在示例中可以包括确定第一B-rep中的分别与相应的其它面局部平行的面。换句话说,确定第一组和第二组包括在这些示例中确定局部平行的第一面和第二面。在这些示例中,确定第一组和第二组进一步包括将与第二确定的相邻和正切面局部平行的第一确定的相邻和正切面分组S2200为第一组和第二组。
确定局部平行的第一面和第二面改进了所述方法的速度和效率。实际上,从而第一组和第二组的面不需要全部一次被识别,这将会是繁琐的。而是,该方法确定由第一面(即,第一组中)和与第一面局部平行的第二面(即,第二面属于与第一组局部平行的第二组)构成的每一个耦合。该方法接着对确定的耦合分组S2200以形成第一组和第二组。
确定与第二面局部平行的第一面可以包括验证第一面与第二面局部平行。例如,该方法可以寻找第一B-rep的面并且针对所寻找的面的耦合(couple)执行这样的验证。
仍然参照图2的流程图,在示例中,确定所述面包括确定S2000候选面。候选面是第一B-rep的第一面,其点到第一B-rep的第二面的距离低于厚度阈值。在这些示例中,确定所述面进一步包括在候选面当中确定S2100第一面和第二面。每一个第一面与相应的第二面局部平行。
这改进了面的确定,因为在这些示例中,这一确定进行为两个步骤。首先,确定候选面的耦合。接着,仅这些耦合的子集被保持用于形成确定的面,以便接着被分组S2200为第一组和第二组。这两步骤方案改进了鲁棒性。
确定S2000候选面可以包括寻找第一B-rep的面并且找到由第一面和第二面构成的每一个耦合,并且使得第一面具有到第二面的距离低于厚度阈值的点。第一面可以被称为“第一候选面”并且第二面可以被称为“第二候选面”。耦合可以被称为“候选面的耦合”。找到耦合可以包括寻找第一面并且检测位于到第一面的至少一个点的距离低于厚度阈值的位置处的至少一个第二面。应该理解,可以检测到几个这样的第二面,每一个与第一面的相应点相比较位于比厚度阈值低的距离处。在这种情况下,第一面是形成候选面的耦合的候选面,每一个候选面具有相应的第二面。
确定S2000候选面允许确定存在于第一面和第二面中的第一B-rep的面的每一个结合,第一面潜在地与第二面平行。接着保持在候选面当中确定S2100真正局部平行的第一面和第二面以完成面的确定。这使得该方法鲁棒且有效。
检测至少一个第二面可以包括:
–将第一面采样为采样点;并且
–针对每一个采样点,从采样点投射射线,并且如果且一旦投射的射线与第一B-rep的另一面在比厚度阈值低的距离处相交,则检测该另一面作为与第一面形成候选面的耦合的第二面。
确定候选面当中局部平行的第一面和第二面可以包括针对候选面的每一个耦合,验证该耦合的面局部平行,例如通过验证他们满足先前讨论的局部平行化的定义。如果耦合的面平行,则它们被确定为由与第二面局部平行的第一面构成的耦合。
在示例中,当满足下面条件时两个面局部平行:
–面之间的最大距离与面之间的最小距离之间的比率低于一加阈值;和/或
–面之间的最大距离和面之间的最小距离之间的差值与面中的至少一个的对角线长度的比率低于G1连续性容限角度的正切。
面的对角线长度可以被定义为面的两个点之间的最大距离,该距离是点之间的任意适合距离,例如欧氏距离。
换句话说,验证两个面局部平行可以包括:
–验证面之间的最大距离与面之间的最小距离之间的比率低于一加阈值;和/或
–验证面之间的最大距离和面之间的最小距离之间的差值与面中的至少一个的对角线长度的比率低于G1连续性容限角度的正切。
验证面之间的最大距离与面之间的最小距离之间的比率低于一加阈值允许从几何学的观点相对严格地验证面的几何局部平行性。阈值可以是小的正实数,例如小于1、0.5或者0.2,例如等于0.1。验证面之间的最大距离与面之间的最小距离之间的比率低于一加阈值可以包括:
–将面采样为采样点;
–对于面中的每一个面,将面的每一个采样点投影在另一面上;
–计算面中的一个面的采样点与其在另一面上的投影之间的每一个(例如,欧氏)距离,计算这样的距离当中的最大距离和最小距离,并且验证最大距离与最小距离之间的比率低于一加阈值;并且
–计算所述另一面的采样点与其在所述面上的投影之间的每一个(例如,欧氏)距离,计算这样的距离当中的最大距离和最小距离,并且验证最大距离与最小距离之间的比率低于一加阈值。
验证面之间的最大距离和面之间的最小距离之间的差值与面中的至少一个的对角线长度之间的比率低于G1连续性容限角度的正切允许从制造实际的角度验证面的局部平行化。实际上,G1连续性与工程圆角连续性相对应。因此,确保两个局部平行的面之间的角度在这一容限之下能够做出与通常制造约束相一致的标注。G1连续性的概念在机械设计中本身被已知。验证面之间的最大距离和面之间的最小距离之间的差值与面中的至少一个的对角线长度之间的比率低于G1连续性容限角度的正切可以包括:
–将面采样为采样点;
–对于面中的每一个面,将该面的每一个采样点投影在另一面上;
–计算面中的一个的采样点在另一面上的投影之间的每一个(例如,欧氏)距离,计算这样的距离当中的最大距离和最小距离,验证最大距离和最小距离之间的差值与所述面对角线长度之间的比率低于G1连续性容限角度的正切;并且
–计算所述另一面的采样点与其在所述面上的投影之间的每一个(例如,欧氏)距离,计算这样的距离当中的最大距离和最小距离,并且验证最大距离和最小距离之间的差值与所述另一面对角线长度之间的比率低于G1连续性容限角度的正切。
验证面之间的最大距离与面之间的最小距离之间的比率低于一加阈值以及面之间的最大距离和面之间的最小距离之间的差值与每一个面的对角线长度之间的比率低于G1连续性容限角度的正切两者,这改进了验证的效率和鲁棒性。
仍然参照图2的流程图,分组S2200可以通过适合于将确定的局部平行的第一面和第二面分组为第一组和第二组的任意已知方法执行。分组可以在示例中包括例如基于第一B-rep的对偶图来识别一方面确定的第一面与另一方面与确定的第一面分别平行的确定的第二面之间的邻近性和正切性。
返回参照图1的流程图,该方法进一步包括针对每一个识别的薄区域,计算S210识别的薄区域的相应中间表面。如先前讨论的,薄区域是第一B-rep的薄实体部分。B-rep的实体部分的中间表面是已知概念,并且计算S210相应中间表面可以通过任意已知的方法进行。
在示例中,其中识别S200一个或多个薄区域包括先前讨论的确定第一组和第二组,计算S210针对每一个识别的薄区域的相应中间表面可以包括,对于与确定的相应第二组局部平行的每一个确定的第一组,计算第一组的第一加厚操作的结果与相应第二组的偏移操作的结果之间的相交作为中间表面。
计算第一组的第一加厚操作的结果与相应第二组的偏移操作的结果之间的相交可以包括计算第一加厚操作和偏移操作,并且接着确定这些操作的相应结果的相交。这是计算中间表面的有效且简单的方式。这些操作的参数可以固定,例如作为计算S20的参数,以使得相交导致相应中间表面。例如,加厚操作的加厚距离可以大于厚度阈值但是相对接近于该厚度阈值,例如等于厚度阈值的1.1倍。偏移操作的偏移距离可以是加厚距离除以2的数量级,例如等于厚度阈值除以2。
偏移操作可以是相应第二组的外插的偏移。这允许安全地计算相交,因为外插的结果的边界曲线(是从相应第二组外插的面的组)远离第一加厚操作的结果的边界曲线。外插可以具有等于第一B-rep的代表尺寸的值的0.001倍的外插值。此外或者可选地,第一加厚操作具有大于厚度阈值的加厚距离,例如等于厚度阈值的1.1倍。这使得相交可靠,通过避免在计算相交时的正切配置。在示例中,偏移操作可以是相应第二组的外插的偏移并且第一加厚操作具有大于厚度阈值的加厚距离,例如等于厚度阈值的1.1倍。这改进了计算S210相应中间表面的鲁棒性。
仍然参照图1的流程图,在示例中,构建S20进一步包括计算S220第一B-rep的一个或多个局部厚区域。计算S220一个或多个厚区域包括,对于与确定的相应第二组局部平行的每一个确定的第一组,计算第一组的第二加厚操作的结果与相应第二组的第三加厚操作的结果之间的相交。计算S220一个或多个厚区域进一步包括从第一B-rep中减去每一个计算的相交。
计算第一组的第二加厚操作的结果与相应第二组的第三加厚操作的相交可以包括计算第二加厚操作和第三加厚操作,并且接着计算它们结果的相交。计算相交以使得每一个这样计算的相交是第一B-rep的薄壁,该薄壁基本上与相应识别的薄区域中的一个相对应。注意到,第三加厚操作和第二加厚操作二者的加厚距离可以是厚度阈值的数量级,例如等于厚度阈值的1.1倍。
第一组的第二加厚操作可以是对第一组的外插的加厚。此外,在这种情况下,相应第二组的第三加厚操作是对相应第二组的外插的加厚。并且,第一组的外插和相应第二组的外插在这种情况下具有不同的外插值。例如,第一组的外插可以具有等于第一B-re的代表尺寸的0.01被外插值,并且第二组的外插可以具有第一B-rep的代表尺寸的0.01倍的两倍的外插值。这避免了第二加厚操作和第三加厚操作的结果的横向面的重叠。此外或者可选地,第三加厚操作和第二加厚操作可以分别具有大于厚度阈值的加厚距离。这使得相交可靠,因为第一组的偏移(为第二加厚操作的结果形成边界)远离为第三加厚操作的结果形成边界的面。而且,这些结果的边界面共享相应的支持面。
从第一B-rep减去每一个计算的相交相当于从第一B-rep修剪薄壁。这可以通过对计算的薄壁计算联合,并且接着从第一B-rep中减去这一联合来执行。从而,从这一减法中仅保留第一B-rep的局部厚区域,即,该区域具有大于厚度阈值的厚度。
该方法进一步包括由相应中间表面替换识别的薄区域。这可以包括从第一B-rep修剪薄区域并且将中间表面组装到第一B-rep来代替修剪的薄区域。
仍然参照图1的流程图,替换可以包括使用相应计算的厚区域来组装S230相应中间表面。该组装通过使用相应计算的厚区域的划分边来组装相应中间表面的边界边来执行。这促进了第二B-rep的网格化。
现在讨论实现构建S20的算法。构建S20第二B-rep在该方法的示例中可以通过执行如下算法来执行,包括五个步骤。
算法的输入数据是第一B-rep S(也被称为实体S)和用户定义的厚度阈值t>0。换句话说,提供S10包括提供S10第一B-rep并且通过用户提供S10 t。算法的输出数据是第二B-rep,即由相邻体积和面制成的非流形对象。算法包括五个步骤。为了简化,实体S的边界面被编号为fi,i=1,…,n。
步骤1.识别S200一个或多个薄区域
步骤1.1候选局部平行面的耦合
步骤1的目的在于识别实体S内局部平行的面的所有耦合(fi,fj)。耦合按照这样的方式布置以使得j>i。算法利用相交操作。给定面fi和点x∈fi,函数Intersect(fi,x,fj,y)找到实体的面fj和点y∈fj以及其中λ>0是最小可能值并且小于厚度阈值。这一函数在图33中说明。
先前指令用于避免在下面解释的扫描期间的负效应。表T以重复和任意布置的潜在局部平行的面的结合连同距离为特征。表T(·)的元素按照下面寻址:T(i)是表的第i行。它由三元组T(i)=(f,g,d)构成,其中f和g是面标识符并且d是距离。接着,元素f由T(1,i)寻址,元素g由T(2,i)寻址并且元素d由T(3,i)寻址。表T现在根据词典编辑顺序进行分类。这意味着如果p′>p,则T(1,p′)>T(1,p),或者如果T(1,p′)=T(1,p),则T(2,p′)>T(2,p),或者如果T(2,p′)=T(2,p),则T(3,p′)≥T(3,p)。具体地说,这使得面的所有相同耦合连续。这样,通过线性扫描,能够识别存储在输出表C(·)中的候选局部平行的面的所有耦合。
步骤1.2.精确或者准/局部平行面的结合
候选局部平行面(f,g)或者精确平行(关于标准几何容限)或者准/局部平行。现在详细说明准平行化条件。得到面f的样本{xk,k=1,2,3,…}和面g的样本{yl,l=1,2,3,…}。对于每一个k,将点xk∈f投影在面g上,这产生点pk∈g并且保存距离ak=‖pk-xk‖。对于每一个l,将点yl∈g投影在面f上,这产生点ql∈f,并且保存距离bk=‖ql-yl‖。接着,标注amax=maxk ak、amin=mink ak、bmax=maxl bl、bmin=minl bl。使L(f)为面f的对角线长度,即,L(f)=max{‖p-q‖,p∈f,q∈f},并且使L(g)为面g的对角线长度,即,L(g)=max{‖p-q‖,p∈g,q∈g}。接着,如果下面成立,则面f和g为准/局部平行:
其中ε=2.3deg是G1连续性容限角度并且tanε≈0.04。将这一准则应用到候选局部平行面的所有耦合通常减小了集合K。
通过定义,横向面是连接两个局部平行面的输入实体S的面。横向面在进一步步骤中被重新用于外插目的。例如,图34中示出的实体的局部平行面的列表是(f1,f9)、(f3,f5)、(f5,f7),这意味着K={(1,9),(3,5),(5,7)}。横向面是f4、f6和f10。
步骤1.3.对与正切面局部平行的正切面进行分组
为了简化产生的中间表面的拓扑,必须识别与相邻和正切面的其它组局部平行的相邻和正切面的组。下一幅图中的最左图说明了其中一些分组是合适的情形。蛮力算法(brute force algorithm)将创建由许多相邻和正切面形成的复杂中间表面。分组算法的目标在于获得以更加简单的拓扑为特征的中间表面。
图35说明了局部平行面。图36说明了在不进行任何分组的情况下获得的中间表面。所有面的复杂度被拷贝到中间表面上。图37说明了当考虑组{f1,f2,f3,f4}和{f7,f8,f9}时并且当通过使最简单的组{f7,f8,f9}偏移来获得中间表面时该中间表面的拓扑。
根据下面的算法来执行分组。考虑输入实体的对偶图。与尖锐边相关联的弧形被标记为“1”并且与平滑边相关联的弧形别标记为“0”。在本公开的上下文中,连接两个相同节点的标记为“0”的多个弧形由单个弧形替换,如在图38中说明的。这对于切割弧形识别非常重要,如下面解释的。
在当前算法的上下文中,对偶图富有捕获局部平行面的耦合的弧形,因为它们在先前步骤中被计算。这些弧形被标记为“2”,意味着当面x和y局部平行时,对偶图的节点x和y与标记为“2”的弧形连接。这里标注为E的丰富对偶图是分组算法的输入数据。下一幅图说明了突出实体机器丰富的对偶图E。出于可读性,突出实体的前面和后面被忽略。在图39-图40所示的示例中,局部平行面的初始耦合为(f1,f12)、(f3,f10)、(f3,f11)、(f4,f8)、(f5,f7)。图39示出了实体的示例,并且图40示出了初始耦合与丰富的对偶图相对应。
第一步骤是收集标记为“2”的所有弧形以及它们到丰富对偶图E的子图形D中的入射节点。接着,其入射节点在图形D中的标记为“0”的弧形被添加,这产生图形H。图41说明了该示例的图形D。图42说明了该示例的图形H。
通过定义(参见F.Harary,Graph Theory,Addison-Wesley,1969,其通过引用被并入本文,如果去除所述弧形产生了该图形的新的连接组件(再次参见F.Harary,GraphTheory,Addison-Wesley,1969),则该图形的弧形为“切割弧形”。分组算法的关键步骤在于从图形H去除被标记为“0”的所有切割弧形,这产生图形H1。图43说明了去除连接节点f3和f4的弧形,其为切割弧形。左图为图形H并且右图为图形H1。
现在从图形H1去除标记为“2”的所有弧形,产生图形H2。接着,通过图形H2的连接组件来识别面的组。图44说明了图形H2的连接组件。图45示出了与相邻和正切面的组局部平行的相邻和正切面的产生的组。
使用图形H1的标记为“2”的弧形容易获得组之间的耦合,如在图45中说明的。组被标记为{fi,…,fj}并且他们包括必要多的元件。示例实体的组为{f10,f11}、{f4,f5}和{f7,f8}并且分组的面的产生的耦合为(f1,f12)、(f3,{f10,f11})、({f7,f8},{f4,f5})。
步骤2.局部中间表面
现在根据下面的算法来计算局部中间表面。新值t+被设置为比输入厚度阈值t更大的值,典型地为t+=1.1×t。t+存在的理由在于避免正切配置,如随后解释的。定义外插值e,典型地e=0.001×D,其中D为输入实体的代表尺寸。给定局部平行面的耦合(fi,fj),并且给定连接fi和fj的横向面的列表L,根据面fi创建体积Thick(fi,t+)。接着,根据面fj创建外插面Extrapol(fj,L,e)以及这一外插面的偏移面与耦合(fi,fj)相关联的局部中间表面表示为Mid(fi,fj)并且通过计算体积/面相交来获得:
外插的目标在于执行安全体积/面相交,因为(外插)面的边界曲线远离体积的边界。图46说明了由横向面f4连接的耦合(f3,f5)的局部中间表面。表面P是Thick(f3,t+)的边界中涉及的支持表面。它在这一步骤中被提及并且在进一步的步骤中被重新使用。
给定成对的组({f1,…,fn}、{f′1,…,f′m}),选择要偏移的侧以确定下面目标:
-以保真度捕获在最小中间表面上这一成对的组的复杂度,并且
-生成尽可能简单的最小中间表面。
为了实现这一目标,算法使用评估器。第一个是基于“准平行化”中涉及的面的面积比来测量成对的组({f1,…,fn}、{f′1,…,f′m})的复杂侧。第二个是基于拓扑(单元的数目和类型)和几何(表面的类型)标准来测量侧的简单度。
步骤3.局部薄壁
在这一步骤,算法通过使用体积来定位薄壁,在进一步步骤中,薄壁用于创建局部厚区域。对于局部平行面的每一个耦合(i,j)∈K,面fi和fj分别根据它们的连接横向面L被外插。面fi使用值e被外插并且面fj使用值2e被外插,被标注为Extrapol(fi,L,e)和Extrapol(fj,L,2e)。接着,通过使厚体积Thick(Extrapol(fi,L,e),t+)和Thick(Extrapol(fj,L,2e),t+)相交来计算体积Vij:
Vij=Thick(Extrapol(fi,L,e),t+)∩Thick(Extrapol(fj,L,2e),t+)
图47说明了用于定位由横向面f4连接的面的耦合(f3,f5)定义的薄壁的体积V3,5。应该注意到,表面P现在是在V3,5的边界中涉及的支持表面。它在这一步骤中被提及并且在进一步步骤中被重新使用。
步骤4.局部厚区域
接着,通过从输入实体S减去所有体积Vij,(i,j)∈K获得局部厚区域。形式上,局部厚区域是体积的连接组件:
图48说明了在从输入实体S减去所有体积Vij后的最终厚区域。注意到,体积Vij比横向面的邻居中的实体S更宽。这是避免表面并存。经过布尔操作的序列,现在在实体R的边界中涉及表面P。在图38中示出的示例中,仅存在一个局部厚区域,但是工业测试表明可以存在多个局部厚区域。
步骤5.最终非流形对象
到此为止,产生的数据是体积的列表(局部厚区域)和面的列表(局部中间表面)。最终步骤是构建单个非流形对象,将体积和面混合到已知的拓扑数据结构中。典型地,在体积的边界面与中间表面之间的入射通过划分边界面并且通过与中间表面的边界边共享划分边来捕获。图49说明了体积的横向面到共享边d的面a和b的划分,以便与中间表面c共享所述边d。
这一拓扑是提供网格的最佳方式,以使得三角形网格面c的边和顶点与三角形网格面a和b的边和顶点共享。图51说明了由非流形拓扑产生的一致性网格。相反,图50说明了当拓扑没有被解析时发生的内容。网格是有缺陷的,因为面c的三角形不适配面b的那些的三角形。
算法的鲁棒性
根据现有技术已知的是,相交的正切或者重叠表面是几何算法故障的原因。图52到图54说明了好的、坏的和糟糕的情形。好的情形是两个横跨表面的相交曲线,如在图52中说明的。坏的情形是两个表面之间的正切相交,如在图53中说明的。糟糕的情形是两个表面的局部重叠,如在图54中说明的。
算法允许避免重叠表面。在步骤3期间,针对Extrapol(fi,L,e)和Extrapol(fj,L,2e)选择不同的外插值避免了体积Thick(Extrapol(fi,L,e),t+)和体积Thick(Extrapol(fj,L,2e),t+)的横向面的重叠。选择t+>t使得针对Vij的相交可靠,因为使体积Thick(fi,t+)形成边界的fi的偏移面远离面fj,该面fj使体积Thick(Extrapol(fj,L,2e),t+)形成边界并且在到fi的距离t处。类似地,使体积Thick(Extrapol(fj,L,2e),t+)形成边界的fj的偏移面远离面fi,该面fi使体积Thick(Extrapol(fi,L,e),t+)形成边界并且在到fj的距离t处。而且,体积Vij的边界面是面fi和fj的部分,这意味着它们共享相应的支持表面。图55说明了由于面f3的外插e和面f5的外插2e,横向面a远离横向面b。此外,面Offset(Extrapol(f5,{f4},2e),t+)远离面f3,并且面Offset(Extrapol(f3,{f4},e),t+)远离面f5。
在步骤4期间,当计算减法S-Vij时,与使输入实体S形成边界的面一致的使Vij形成边界的面的部分共享相同的相应支持表面。这使得减法完全安全,因为面的局部重叠由支持表面的逻辑共享捕获,这与有害的数字调查相反。
在步骤5期间,用于修剪偏移面的使体积Thick(fi,t+)形成边界的面也用于修剪在步骤4处的实体S。因此,在先前图中标记为P的支持表面沿着过程被全部保存。这是在局部中间表面的边界边与局部厚区域的边界边之间存在良好拟合的原因。
图56到图69说明了算法。图56示出了输入实体并且图57示出了由该算法计算的相对应的输出对象。图58示出了输入实体并且图59示出了由该算法计算的相对应的输出对象。图60示出了输入实体并且图61示出了由该算法计算的相对应的输出对象。图62示出了输入实体并且图63示出了由该算法计算的相对应的输出对象。图64示出了输入实体并且图65示出了由该算法计算的相对应的输出对象。图66示出了输入实体并且图67示出了由该算法计算的相对应的输出对象。图68示出了输入实体并且图69示出了由该算法计算的相对应的输出对象。
这些图说明了如下事实:给定由其B-Rep建模的实体部分,并且给定厚度阈值,算法识别输入实体的所有薄壁。接着,每一个薄壁的中间表面以及局部体积被计算以便使薄壁具体化。通过从输入实体移除局部体积来获得厚区域。产生的数据是布置在一致性拓扑中的厚区域和中间表面的混合集合,如在图70-73中说明的。图70示出了输入实体并且图71示出了由该算法计算的相对应的输出对象。图72示出了代表诸如图9的顶出垫96或者98的顶出垫的输入实体并且图73示出了由该算法计算的相对应的输出对象。厚垫被保持不变,同时相交肋材由表面近似。
所述方法可以进一步包括显示构建的第二B-rep。
所述方法可以进一步包括使所述第二B-rep网格化S30到混合网格中。
网格化S30可以由任意已知的方法执行。
在示例中,网格化S30包括对第二B-rep的薄片区域、细长区域和复杂区域不同地网格化。薄片区域是第二B-rep的中间表面,具有比第三区域更长的两个主要尺寸。在第二B-rep中,薄片区域是相应中间表面。细长区域是第二B-rep中的具有比其它两个更长的一个主要尺寸。复杂区域是第二B-rep中既不是细长区域也不是薄片区域的区域。它可以代表各向异性元件形状。在这些示例中,网格化S30可以包括:
-以三角形或者四边形元件使第二B-rep的薄片/中间表面网格化。在中间表面满足复杂或者细长区域的情况下,网格化可以包括应用的种子等于邻接区域的种子;并且
-以六边形或者八边形体积元件使复杂区域网格化。
根据当前讨论的示例的网格化S30可以显著地根据在Tierney&al.,Automaticdimensional reduction and meshing of stiffened thin-wall structure,Article inEngineering With Computers,October 2013,DOI:10.1007/s00366-013-0317-y(其全部内容通过引用被并入本文)的第4节中描述的网格化方法来执行。
网格化S30可以由用户动作执行,例如通过图形用户交互。例如,用户可以图形化地定义混合网格的元件,例如,通过点击第二B-rep的位置以用于放置元件和/或通过替换元件和/或通过在它们之间布置元件。为此,该方法可以在网格化S30期间向用户显示第二B-rep。
图74示出了由对在图71中示出的第二B-rep执行的网格化S30的示例产生的混合网格。
该方法可以进一步包括基于混合网格执行S40机械部件的结构仿真。结构仿真可以是机械部件的结构行为的任意仿真,例如用于功能、兼容和/或质量目的。结构仿真因此是结构机械仿真。该方法此外可以进一步执行其它类型的仿真,例如震动仿真、热传输仿真、批量传输仿真、电磁仿真和/或流体机械仿真。
执行S40结构仿真包括定义关于代表机械部件的混合网格的边界条件。定义边界条件可以由用户执行,例如通过图形用户交互,并且可以包括下面中的一个或多个:固定机械部件的一个或多个部分、定义振动源和/或定义热源。执行S40结构仿真可以进一步包括在混合网格上运行数字方案,例如有限元方法(FEM)。数字方案可以属于封装结构行为以进行仿真的物理等式/法则的离散化的任何数字方案。
该方法可以进一步包括向用户显示结构仿真的结果,例如用于执行对机械部件的结构分析和/或进行制造决策。
图75示出了所述方法在示例中可以实现以用于设计机械部件的设计流程图。该方法允许快速设计改变环路,因为节省了计算时间。这意味着较短的设计时间和较早的上市时间或者可选的设计调查。
Claims (15)
1.一种用于执行机械部件的结构仿真的B-rep处理的计算机实现的方法,所述方法包括:
-提供(S10):
形成代表所述机械部件的实体的第一B-rep;以及
预先确定的厚度阈值;
-基于所述第一B-rep构建(S20)第二B-rep,所述第二B-rep形成代表所述机械部件的非流形对象,所述构建(S20)包括:
识别(S200)所述第一B-rep的一个或多个薄区域,每一个薄区域具有比所述预先确定的厚度阈值小的厚度;以及
针对每一个识别的薄区域,计算(S210)所述识别的薄区域的相应中间表面,并且由所述相应中间表面替换所述识别的薄区域。
2.根据权利要求1所述的方法,其中,识别(S200)所述一个或多个薄区域包括确定第一组和第二组,所述第一组和第二组中的每一个具有所述第一B-rep的一个或多个相邻和正切面,每一个第一组与相应第二组局部平行并且与所述相应的第二组形成薄区域的边界的至少一部分。
3.根据权利要求2所述的方法,其中,确定所述第一组和第二组包括:
-确定所述第一B-rep的面,每一个面与相应的另一面局部平行;并且
-将与第二确定的相邻和正切面局部平行的第一确定的相邻和正切面分组(S2200)为第一组和第二组。
4.根据权利要求3所述的方法,其中,确定面包括:
-确定(S2000)候选面,候选面是所述第一B-rep的第一面,所述第一面的点到所述第一B-rep的第二面的距离小于所述厚度阈值;并且
-在候选面当中确定(S2100)第一面和第二面,每一个第一面与相应的第二面局部平行。
5.根据权利要求2、3或者4所述的方法,其中,当发生下列情况时两个面局部平行:
-所述面之间的最大距离与所述面之间的最小距离之间的比率低于一加阈值;和/或
-所述面之间的最大距离和所述面之间的最小距离之间的差值与所述面中的至少一个的对角线长度之间的比率低于G1连续性容限角度的正切。
6.根据权利要求2-5中的任意一项所述的方法,其中,计算(S210)针对每一个识别的薄区域的相应中间表面包括,针对与确定的相应第二组局部平行的每一个确定的第一组,将所述第一组的第一加厚操作的结果与相应第二组的偏移操作的结果之间的相交计算为中间表面。
7.根据权利要求6所述的方法,其中:
-所述偏移操作是所述相应第二组的外插的偏移,和/或
-所述第一加厚操作具有比所述厚度阈值更大的加厚距离。
8.根据权利要求2-7中的任意一项所述的方法,其中,所述构建(S20)进一步包括计算(S220)所述第一B-rep的一个或多个局部厚区域,计算(S220)所述一个或多个厚区域包括:
-针对与确定的相应第二组局部平行的每一个确定的第一组,计算所述第一组的第二加厚操作的结果与所述相应第二组的第三加厚操作的结果的相交;并且
-从所述第一B-rep减去每一个计算的相交。
9.根据权利要求8所述的方法,其中:
-所述第一组的所述第二加厚操作是对所述第一组的外插的加厚,并且所述相应第二组的所述第三加厚操作是所述相应第二组的外插的加厚,所述第一组的外插和所述相应第二组的外插具有不同的外插值,和/或
-所述第三加厚操作和所述第二加厚操作分别具有比所述厚度阈值更大的加厚距离。
10.根据权利要求8或者9所述的方法,其中,所述替换包括通过将所述相应中间表面的边界边与相应计算的厚区域的划分边组装来将所述相应中间表面与所述相应计算的厚区域组装(S230)。
11.根据权利要求1-10中的任意一项所述的方法,其中,所述方法进一步包括将所述第二B-rep网格化为混合网格。
12.根据权利要求11所述的方法,其中,所述方法进一步包括基于所述混合网格对所述机械部件执行结构仿真。
13.一种包括指令的计算机程序,所述指令用于执行根据权利要求1-12中的任意一项所述的方法。
14.一种具有记录在其上的根据权利要求13所述的计算机程序的计算机可读存储介质。
15.一种包括耦合到存储器的处理器和图形用户界面的计算机,所述存储器具有记录在其上的根据权利要求13所述的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20305093.5 | 2020-01-31 | ||
EP20305093.5A EP3859586A1 (en) | 2020-01-31 | 2020-01-31 | Structural simulation of a mechanical part |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113283020A true CN113283020A (zh) | 2021-08-20 |
Family
ID=69528736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110123412.4A Pending CN113283020A (zh) | 2020-01-31 | 2021-01-29 | 机械部件的结构仿真 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210240887A1 (zh) |
EP (1) | EP3859586A1 (zh) |
JP (1) | JP2021131852A (zh) |
CN (1) | CN113283020A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115797601B (zh) * | 2022-09-08 | 2023-10-27 | 上海新迪数字技术有限公司 | 一种Brep三维模型的中面自动提取方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4068487B2 (ja) * | 2003-03-20 | 2008-03-26 | 株式会社日立製作所 | 解析用シェルモデル作成装置 |
GB2486231B (en) * | 2010-12-07 | 2013-04-03 | Gkn Aerospace Services Ltd | Composite structure |
-
2020
- 2020-01-31 EP EP20305093.5A patent/EP3859586A1/en active Pending
-
2021
- 2021-01-26 JP JP2021010006A patent/JP2021131852A/ja active Pending
- 2021-01-29 CN CN202110123412.4A patent/CN113283020A/zh active Pending
- 2021-02-01 US US17/164,715 patent/US20210240887A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3859586A1 (en) | 2021-08-04 |
JP2021131852A (ja) | 2021-09-09 |
US20210240887A1 (en) | 2021-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10974446B2 (en) | B-rep of the result of a two-axis 3D printing process | |
CN106959669B (zh) | 切口检测 | |
EP3293648B1 (en) | Representation of a skeleton of a mechanical part | |
JP7256005B2 (ja) | 実オブジェクトのスキンを表すファセットの集合の決定 | |
US20230306162A1 (en) | Sketch-processing | |
US11886777B2 (en) | 3D design of B-rep skin | |
US11195330B2 (en) | Generation of a structured 3D model from a raw mesh | |
CN113283020A (zh) | 机械部件的结构仿真 | |
US11941325B2 (en) | 3D modeled object of a physical prototype of a product | |
JP2024003783A (ja) | Cadフィーチャーツリー生成 | |
CN117313256A (zh) | Cad特征树优化 | |
JP2023160791A (ja) | 画像からの3d再構成 | |
CN117634281A (zh) | 生成表示工厂的3d模型 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |