CN107818196B - 机械部件的骨架的表示 - Google Patents
机械部件的骨架的表示 Download PDFInfo
- Publication number
- CN107818196B CN107818196B CN201710819006.5A CN201710819006A CN107818196B CN 107818196 B CN107818196 B CN 107818196B CN 201710819006 A CN201710819006 A CN 201710819006A CN 107818196 B CN107818196 B CN 107818196B
- Authority
- CN
- China
- Prior art keywords
- subset
- elements
- branch
- skeleton
- mechanical component
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 172
- 238000013461 design Methods 0.000 claims abstract description 45
- 238000005304 joining Methods 0.000 claims abstract description 4
- 238000001424 field-emission electron microscopy Methods 0.000 claims abstract 7
- 230000008569 process Effects 0.000 claims description 81
- 238000005457 optimization Methods 0.000 claims description 35
- 238000004519 manufacturing process Methods 0.000 claims description 31
- 238000011960 computer-aided design Methods 0.000 description 26
- 230000000875 corresponding effect Effects 0.000 description 25
- 239000000463 material Substances 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000005260 corrosion Methods 0.000 description 2
- 230000007797 corrosion Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000003351 stiffener Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 206010011906 Death Diseases 0.000 description 1
- VCNTUJWBXWAWEJ-UHFFFAOYSA-J aluminum;sodium;dicarbonate Chemical compound [Na+].[Al+3].[O-]C([O-])=O.[O-]C([O-])=O VCNTUJWBXWAWEJ-UHFFFAOYSA-J 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000019504 cigarettes Nutrition 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 229910001647 dawsonite Inorganic materials 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000001125 extrusion Methods 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000004381 surface treatment Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- 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]
-
- 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
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明尤其涉及用于设计机械部件的计算机实现的方法,所述方法包括:提供(S20)有限元网格(FEM)的子集,所述FEM的子集表示所述机械部件;并且基于所述FEM的子集确定所述机械部件的骨架的表示,所述骨架具有分支和分支接合点,每一分支接合点接合各自分支。这改善了机械部件的设计。
Description
技术领域
本发明涉及计算机程序和系统的领域,并且更加具体地涉及用于设计机械部件的方法、系统和程序。
背景技术
在用于对象的设计、工程和制造的市场上提供有多个系统和程序。CAD是计算机辅助设计的缩写,例如,其涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的缩写,例如,其涉及用于仿真未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的缩写,例如,其涉及用于定义制造过程和操作的软件解决方案。在这样的计算机辅助设计系统中,图形用户界面关于该技术的效率起着重要的作用。这些技术可以被嵌入在产品生命周期管理(PLM)系统中。PLM是指在扩展企业的概念上帮助公司共享产品数据、应用通用过程并且利用用于从概念到差评的寿命结束开发产品的协作知识。由达索系统提供的PLM解决方案(商标为CATIA、ENOVIA和DELMIA)提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心以及能够将企业集成并且连接到工程中心和制造中心二者的企业中心。同时,系统递送链接产品、过程、资源的开放对象模型,以便使能动态的基于知识的产品创建和决定支持,这确定了优化的产品定义、制造准备、生产和服务。
在这一领域中公知的设计技术被称为“拓扑结构优化”技术。这一技术允许使用有限元网格(FEM)的子集来表示机械部件。精确地,网格子集是通过有限元分析(FEA)过程计算的优化的拓扑结构。以下论文提出了这一技术:“Waqas Saleem,Hu Lu,Fan Yuqing,Topology Optimization.Problem Formulation and Pragmatic Outcomes byintegration of TOSCA and CAE tools,WCECS 2008,October 22-24,2008,SanFrancisco,USA”和“Hauessler,P,Emmrich,D,Mueller,O,Ilzhoefer,B,Nowicki,L,Albers,A,Automated topology optimization of flexible components in hybridfinite elements multibody systems using Adams/Flex and MSC.Construct,16thEuropean ADAMS users’Conference 2001”。拓扑结构优化允许设计过程的高度自动化,但是所产生的网状拓扑结构并非完美精确并且是正在被设计的机械部件的综合表示。因而,机械设计者进一步需要例如在传统的计算机辅助设计(CAD)系统中手动地编辑这一网格状的拓扑结构。然而,利用当前的系统,这样的编辑是不容易的并且是人机工程学的。
在这一上下文中,仍然需要用于设计机械部件的改进解决方案。
发明内容
因此,提供一种用于设计机械部件的计算机实现的方法,所述方法包括提供有限元网格(FEM)的子集,所述FEM的子集表示所述机械部件,并且基于所述FEM的所述子集来确定所述机械部件的骨架的表示,所述骨架具有分支和分支接合点,每一分支接合点接合相应分支。
所述方法可以包括下面中的一个或多个:
-所述骨架的表示与向所述子集应用细线化处理的结果具有相同的拓扑结构;
-应用所述细线化处理的结果包括分别对应于相应分支末端的FEM的元素以及分别对应于相应分支接合点的FEM的元素,对应于相应分支末端的FEM的每一元素与对应于分支接合点的FEM的相应元素共享面;
-所述细线化处理禁止创建局部非歧管表面几何结构;
-所述子集由拓扑结构优化处理产生并且具有对应于所述拓扑结构优化处理的边界条件的元素,所述细线化处理禁止移除所述子集中对应于所述拓扑结构优化处理的所述边界条件的元素;
-所述细线化处理包括迭代所述子集的元素的移除,在每一相应迭代处被移除的所述子集的元素是在相应迭代处其移除没有被禁止的所述子集的所有边界元素;
-在每次迭代处,所述细线化处理根据与所述子集的另一元素共享的相邻面的数量,从最低数量到最高数量,来移除所述子集的边界元素;
-所述方法还包括基于所述骨架的表示来执行设计;和/或
-所述方法还包括,在提供所述FEM的子集之前,执行(S10)拓扑结构优化处理以确定FEM的子集。
还提供一种包括用于执行所述方法的指令的计算机程序。
还提供一种具有记录在其上的所述计算机程序的计算机可读存储介质。
还提供一种系统,其包括耦合到存储器的处理器以及图形用户界面,所述存储器具有记录在其上的所述计算机程序。
还提供一种用于制造根据上述方法设计的机械部件的方法。
附图说明
现在将通过非限制性示例的方式并且参照附图来描述本发明的实施例,其中:
图1示出了所述方法的示例的流程图;
图2示出了所述系统的图形用户界面的示例;
图3示出了所述系统的示例;
图4-68说明了所述方法。
具体实施方式
参照图1的流程图,提出一种用于设计机械部件的计算机实现的方法。所述方法包括提供S20有限元网格(FEM)的子集。所述FEM的子集表示所述机械部件。所述方法还包括基于所述FEM的子集来确定S30所述机械部件的骨架的表示。按照“骨架”的定义,骨架具有分支(即,材料的一维扩展)和分支接合点(即,分支接合的材料位置),并且每一分支接合点接合各自分支。这样的方法改善了机械部件的设计。
值得注意的是,所述方法在S20处提供有所述机械部件的网格表示,并且所述方法在S30处确定与所述机械部件有关的另一表示,即,所述机械部件的骨架的表示。所述方法因而可以使用在S30处确定的数据来丰富在S20处提供的表示所述机械部件的数据,从而添加所述机械部件的新型表示,伴随着提供给用户的新设计能力。而且,在S30处确定的数据是所述机械部件的骨架的表示。因而,在当在S20处提供网格的子集时所述机械部件初始仅以非常粒度的级别被表示的情况下,所述方法在S30处确定较高级别的表示,即,所述机械部件的骨架的表示。这允许新的设计能力,以及相对高级别的设计操作。实际上,所述方法由于在S30处确定的数据而允许机械部件的骨架级别设计,骨架级别具体地在机械设计的领域中是特定相关的设计级别,这是因为,在许多情形下,机械设计者按照机械部件的骨架来观察该机械部件。因而,允许骨架级别设计在机械设计方面尤其是人机工程学的。
所述方法是计算机实现的。这意味着所述方法的步骤(或者基本上所有步骤)由至少一个计算机或者类似的任意系统执行。因而,所述方法的步骤可能全自动地或者半自动地由计算机执行。在示例中,所述方法的步骤中的至少一些的触发可以通过用户-计算机交互来执行。例如,随后讨论的步骤S10和S40可以经由用户-交互执行,而步骤S20可以(例如,仅)由用户触发并且在S20之上完全自动执行的步骤S30被触发。所要求的用户-计算机交互的水平可以取决于所预见的自动化的水平并且与实现用户的愿望的需要相平衡。在示例中,这一水平可以是用户定义的和/或预先定义的。
所述方法的计算机实现的典型示例是使用适于这一目的的系统来执行该方法。所述系统可以包括耦合到存储器的处理器以及图形用户界面(GUI),所述存储器具有记录在其上的包括用于执行所述方法的指令的计算机程序。所述存储器还存储数据库。所述存储器是适于这样的存储的任何硬件,可能包括几个物理不同的部件(例如,一个用于程序,并且可能一个用于数据库)。
所述方法通常操控建模对象,包括具有其子集的FEM以及骨架表示。建模对象是由例如存储在数据库中的数据定义的任何对象。通过扩展,表述“建模对象”指代该数据本身。根据系统的类型,建模对象可以由不同种类的数据定义。系统可以实际上是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任意组合。在那些不同的系统中,建模对象由相对应的数据定义。人们因此可以说CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统不是相互排他的,这是因为,建模对象可以由与这些系统的任意组合相对应的数据定义。因而,系统可以很好地是CAD和PLM系统,这对于下面提供的这样的系统的定义将是显而易见的。
CAD系统还附加地意味着至少适于基于建模对象的图形表示来设计建模对象的任意系统,例如CATIA。在这一情况下,定义建模对象的数据包括允许表示建模对象的数据。CAD系统可以例如使用边和线,在某些情况下使用面或表面,来提供CAD建模对象的表示。可以按照各种方式来表示线、边或表面,例如,非均匀有理B样条(MURBS)。具体地说,CAD文件包含规范,根据该规范可以生成几何结构,这顺次允许生成表示。可以将建模对象的规范存储在单个CAD文件或多个CAD文件中。在CAD系统中表示建模对象的文件的典型大小在每部件一兆字节的范围内。并且建模对象可以典型地是成千上万个部件的组件。
在CAD的上下文中,建模对象可以典型地是3D建模对象,例如,表示诸如部件或部件的组件的产品,或者可能是产品的组件。“3D建模对象”是指通过允许其3D表示的数据建模的任意对象。3D表示允许从所有角度观察该部件。例如,当被3D表示时,3D建模对象可以沿着其任意轴,或者沿着显示该表示的屏幕中的任意轴被处理和翻转。这明显地排除了没有被3D建模的2D图标。3D表示的显示促进了设计(即,增加了设计者在统计上实现其任务的速度)。这加速了工业中的制造过程,这是因为,产品的设计是制造过程的一部分。
3D建模对象可以表示在例如使用CAD软件解决方案或CAD系统完成其虚拟设计之后要在真实世界中制造的产品的几何结构,例如(例如,机械)部件或部件的组件(或者等效地为部件的组件,这是因为,从方法的视角可以将部件的组件看作是部件本身,或者方法可以独立地适于组件的每一部件),或者更通常的是任何刚性体组件(例如,移动机制)。CAD软件解决方案允许在各种和无限的工业领域中设计产品,包括:航天、建筑、建造、消费品、高科技设备、工业设备、运输、航海和/或离岸油/气生产或运输。由该方法设计的机械部件因而可以是工业产品,其可以是任何机械部件,例如地面车辆的部件(例如包括汽车和轻型卡车设备、赛车、摩托车、卡车和摩托设备、卡车和公共汽车、火车),飞行器的部件(例如包括机身设备、航空设备、推动设备、防御产品、航线设备、太空设备),海上车辆的部件(例如包括海上设备、商业轮船、离岸设备、游艇和工作船只、海运设备),通用机械部件(例如包括工业制造机器、重型移动机器或设备、安装设备、工业设备产品、制造金属产品、轮胎制造产品),或者机电部件(例如包括消费类电子产品、安全和/或控制和/或仪器产品、计算和通信设备、半导体、医疗设备和仪器)。表述“机械部件”也可以(或者可选地不可以)指定消费类产品(例如包括家具、家庭和花园产品、奢侈品、时尚产品、耐用品零售商产品、纺织品零售商产品)、包装(例如包括食物和饮料和香烟,化妆品和个护用品、家用产品包装)。
CAD系统可以是基于历史的。在这一情况下,建模对象进一步由包括几何结构特征的历史的数据定义。建模对象可以实际上由物理人(即,设计者/用户)使用标准建模特征(例如,挤出、外卷、切割和/或圆角)和/或标准表面处理特征(例如,扫掠、弯曲、抬高、填充、变形和/或平滑)进行设计。支持这样的建模功能的许多CAD系统是基于历史的系统。这意味着设计特征的创建历史典型地通过非循环数据流来保存,该非循环数据流通过输入和输出链路将所述几何结构特征链接到一起。基于历史的建模范例自80年代初期以来是公知的。可以通过两个持久数据表示来描述建模对象:历史和B-rep(即,边界表示)。B-rep是在历史中定义的计算的结果。当表示建模对象时在计算机的屏幕上显示的部件的形状是B-rep(例如,棋盘花纹镶嵌)。部件的历史是设计意图。基本上,历史聚集关于建模对象已经经历的操作的信息。B-rep可以与历史保存到一起,以便使得更加容易地显示复杂的部件。可以将历史与B-rep保存到一起以便允许根据设计意图来对部件进行设计改变。
PLM系统还指代适于表示物理制造产品(或要制造的产品)的建模对象的管理的任意系统。在PLM系统中,建模对象因而由适合于制造物理对象的数据定义。这些可以典型地是维度值和/或容限值。对于对象的正确制造,实际上具有这样的值会更好。
CAM解决方案还指代适于管理产品的制造数据的任何软件或硬件解决方案。制造数据通常包括与要制造的产品、制造过程和所要求的资源有关的数据。CAM解决方案用于计划和优化产品的整个制造过程。例如,其能够为CAM用户提供关于可预见性的信息,制造过程的持续时间或者资源的数量,例如可以在制造过程的特定步骤处使用的特定机器人;并且因而允许对管理或者要求的投资进行决策。CAM是在CAD过程和潜在的CAE过程之后的随后过程。这样的CAM解决方案由商标为的达索系统提供。
CAE解决方案还指代适于分析建模对象的物理行为的软件或硬件解决方案。公知并广泛使用的CAE技术是有限元方法(FEM),其典型地涉及将建模对象划分为能够通过方程对其计算和仿真物理行为的元素。这样的CAE解决方案由商标为的达索系统提供。另一新兴的CAE技术涉及在没有CAD几何结构数据的情况下对由来自不同物理领域的多个分量构成的复杂系统进行建模和分析。CAE解决方案允许对要制造的产品进行仿真并且因而优化、改善和验证。这样的CAE解决方案由商标为/>的达索系统提供。
PDM代表产品数据管理,PDM解决方案是指适于管理与特定产品有关的所有类型的数据的任意软件或硬件解决方案。PDM解决方案可以由在产品的生命周期中涉及的所有行为人使用:开始是工程师但是也包括项目经理,财务人员,销售人员和购买者。PDM解决方案通常以面向产品的数据库为基础。其允许行为人共享关于他们的产品的一致数据并且因此防止行为人使用分歧的数据。这样的PDM解决方案由商标为的达索系统提供。
图2示出了可以用于实现所述方法的系统的GUI的示例,其中所述系统是CAD系统。
GUI 2100可以是典型的类似CAD的界面,具有标准菜单条2110、2120,以及底部和侧部工具条2140、2150。这样的菜单条和工具条包含一组用户可选择的图标,每一图标与一个或多个操作或功能相关联,如本领域中已知的。这些图标中的一些与软件工具相关联,适于对在GUI 2100中显示的3D建模对象2000进行编辑和/或工作,这可以是图1的方法的结果(例如,在执行S30或S40之后)。可以将软件工具分组为工作台。每一工作台包括软件工具的子集。具体地说,工作台中的一个是编辑工作台,适于编辑建模产品2000的几何结构特征。在操作中,设计者可以例如预先选择对象2000的部件并且接着通过选择合适的图标来发起操作(例如,改变尺寸、颜色等等)或者编辑几何结构约束。例如,典型的CAD操作是对在屏幕上显示的3D建模对象的冲压或折叠的建模。GUI可以例如显示与所显示的产品2000有关的数据2500。在图2的示例中,被显示为“特征树”的数据2500及其3D表示2000与包括闸卡钳和圆盘的闸组件相关。GUI可以进一步示出各种类型的图形工具2130、2070、2080,例如用于促进对象的3D取向、触发对所编辑产品的操作的仿真或者渲染所显示的产品2000的各种属性。光标2060可以由触觉设备控制以允许用户与图形工具交互。
图3示出了系统的示例,其中所述系统是客户端计算机系统,例如用户的工作站。
该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到所述总线的随机存取存储器(RAM)1070。客户端计算机还提供有图形处理单元(GPU)1110,其与连接到总线的视频随机存取存储器1100相关联。视频RAM 1100在本领域中也被称为帧缓冲器。海量存储设备控制器1020管理对诸如硬驱1030的海量存储器设备的存取。适合于有形地体现计算机程序指令和数据的海量存储器设备包括所有形式的非易失性存储器,通过示例的方式包括诸如EPROM、EEPROM和闪存设备的半导体存储器设备;诸如内部硬盘和可移动盘的磁盘;磁光盘;以及CD-ROM盘1040。前述中的任意一个可以由专门设计的ASIC(专用集成电路)补充或者被结合在ASIC中。网络适配器1050管理对网络1060的访问。客户端计算机也可以包括诸如光标控制设备、键盘等等的触觉设备1090。光标控制设备用于客户端计算机中以允许用户选择性地将光标定位在显示器1080上任何期望的位置。此外,光标控制设备允许用户选择各种命令,并且输入控制信号。光标控制设备包括用于到系统的输入控制信号的多个信号生成设备。典型地,光标控制设备可以是鼠标,鼠标的按钮用于生成信号。可选地或者此外,客户端计算机系统可以包括灵敏键区和/或灵敏屏幕。
计算机程序可以包括能够由计算机执行的指令,该指令包括用于使上述系统执行所述方法的单元。程序可以记录在任何数据存储介质上,包括系统的存储器。程序可以例如被实现在数字电子电路中,或者被实现在计算机硬件、固件、软件中,或者被实现在其组合中。程序可以被实现为装置,例如被有形地体现在机器可读存储设备中用于由可编程处理器执行的产品。方法步骤可以由可编程处理器执行,所述可编程处理器执行指令的程序以通过对输入数据进行操作并且生成输出来执行所述方法的功能。处理器因而是可编程的并且被耦合为从数据存储器系统、至少一个输入设备和至少一个输出设备接收数据和指令并且将数据和指令传输到该数据存储器系统、至少一个输入设备和至少一个输出设备。应用程序可以以高级面向过程或面向对象的编程语言实现,或者如果期望,以汇编或者机器语言实现。在任何情况下,所述语言可以是编译语言或者解释语言。所述程序可以是全部安装程序或者更新程序。程序在系统上的应用在任何情况下导致指令执行所述方法。
“设计建模对象”(也被称为“设计机械部件”),例如表示机械部件的建模对象,指定作为精心制作建模对象的过程的至少一部分的任何动作或动作系列。
所述方法被包括在制造过程中,其可以包括在执行所述方法之后产生对应于建模对象的物理产品。在任何情况下,由所述方法设计的建模对象表示机械部件,因而表示制造对象。建模对象因而可以是建模实体(即,表示实体的建模对象)。制造对象可以是产品,例如部件或者部件的组件。由于所述方法改善了建模对象的设计,因此所述方法也改善了产品的制造并且因而增加了制造过程的生产率。
现在更加详细地讨论图1的方法。
在S20处提供的数据是表示机械部件的FEM的子集。在图1的示例中,这一数据结构是根据先前的步骤S10获得的,步骤S10在于执行拓扑结构优化过程以确定表示机械部件的FEM的子集(之后可以是在S20和/或S30之前的清洗过程,例如用于去除银、裂缝和/或小的凹洞,例如一个FEM元素的数量级的大小,例如小于五个元素)。可以按照其他方式获得相同类型的数据结构和/或可以在另一时间和/或系统(例如,由另一个人)处执行拓扑结构优化,并且只要在S20处提供了具有表示机械部件的子集的FEM,就可以执行剩余步骤(包括S30)。
图1的方法因而对通过使用“拓扑结构优化”技术获得的机械部件执行后处理。存在人们能够得益于使结果对于用户可编辑的几个原因。首先,并不是所有的约束都能够由拓扑结构优化过程考虑(包括流体机械学、运动学和/或制造),使得可以通过重新工作来改善部件。更加通常地,现有的拓扑结构优化过程提供能够出于任何原因被改善的结果。由于专家用户的结构设计技能,他们能够将所产生的部件重新工作为更轻的且更加有抗性的部件,例如通过包括添加和移除分支、修改分支的截面和/或由加强件替换分支的操作。实际上,对于有经验的用户,“优化的”部件可以是开始点或者鼓舞人心的参考。
拓扑结构优化过程是广泛公知的用于确定FEM的子集的计算机实现的方法,使得该子集表示机械部件。拓扑结构优化是自动地创建机械部件的原始拓扑结构的一种方式。拓扑结构优化过程可以包括首先提供FEM。FEM是表示意在由机械部件占据的空间的子划分的数据结构。换句话说,FEM表示空间(例如,连接的和/或凸面的),并且机械部件是被定位在这样的空间中并且因而能够由这样的空间的子集定义的实体。FEM是网格结构(例如,四面体、三面体或者立方体网格结构),例如2D或3D,并且FEM的元素(即,网格的单位,例如元素四面体、三面体或者立方体)分别表示空间的单元。
拓扑结构优化过程可以接着包括向FEM设置边界条件。设置边界条件可以包括或者由下列构成:在FEM的相对应元素上定义机械约束。结果,与各自边界条件相对应的FEM的元素被包括在由拓扑结构优化产生的子集中。所有边界条件的集合表示向机械部件应用预定的机械约束(换句话说,机械部件要经受的机械约束)。
拓扑结构优化过程可以接着包括确定形成机械部件的几何结构的FEM的子集(例如,严格地说,即,严格地小于FEM)。确定可以奖励对边界条件和稀疏的抵抗。换句话说,确定可以经由优化程序执行,该优化程序惩罚被包括在该子集中对边界条件呈现低抵抗的FEM的元素的布置,同时也惩罚被包括在该子集中的FEM的高数量的元素。这样的确定可以通过关于边界条件自动地计算FEM的每一元素的标量贡献并且接着执行过滤(例如,自动地以预定的固定或可变阈值或者经由与用户设置/选择阈值的用户交互)来执行。
在示例中,输入数据可以表示同质材料的厚块(意味着材料密度ρ在任何位置都等于1),即在其上定义强度、负载、约束边界条件的“设计空间”。设计空间的形状以及边界条件可以由用户定义。接着,设计空间可以被形成网格以便提供有限元四面体网格。这可以利用任何现有技术的网格化算法来执行。接着,可以按照下面来运行迭代过程。在第一步骤中,利用这些输入数据运行有限元分析。经典地,其解析了结构机械学的局部方差方程。通常,高应力被集中在受限区域的相邻区域中。因而,存在位于设计空间内侧几乎没有应力作用的扩展区域。这是拓扑结构降低“无应力”区域的材料密度同时保存整体行为的机会。由于材料密度被改变,运行新的有限元分析以计算新的应力配置。这被迭代地执行,直到达到了停止测试。可以在下面条件中的任何一个或者组合中达到停止测试:密度场不能够被优化,达到了预定义数量的迭代,和/或达到了预定义的权重比(例如,所产生的质量轻20%或30%更多,例如数量级为45%更轻)。
在示例中,网格的每一四面体可以与[0,1]区间(最终密度场)中的实数相关联。值0可以指在四面体中没有材料;值1可以指四面体被填充有初始同质材料。其它密度值可以指在四面体中要求“较少”材料。由于从制造的角度考虑,可变密度材料是不现实的,因此可以将小密度四面体解释为空的四面体。结果,可以根据数字阈值0<ρ0<1来从初始网格中移除四面体。可以从网格中移除以小于ρ0的密度值为特征的任何四面体。这一操作通常创建凸块、空洞和分支并且因而高度影响初始设计空间的拓扑结构。这产生了所谓的优化拓扑结构。
图4-6说明了上面所述的拓扑结构优化的2D应用的示例:具有表示的约束44的设计空间42,网格化设计空间52和实际贡献于部件的功能的材料量(网格的黑色元素62)。边界条件44是自解释的。应该注意到,该解决方案是在本领域机械设计者能力之外的真实情况。
由图1的方法在S10处执行的拓扑结构过程可以是如上所述的,例如如在早先提及的论文中的任意一个中描述的:“Waqas Saleem,Hu Lu,Fan Yuqing,TopologyOptimization.Problem Formulation and Pragmatic Outcomes by integration ofTOSCA and CAE tools,WCECS 2008,October 22-24,2008,San Francisco,USA”和“Hauessler,P,Emmrich,D,Mueller,O,Ilzhoefer,B,Nowicki,L,Albers,A,Automatedtopology optimization of flexible components in hybrid finite elementsmultibody systems using Adams/Flex and MSC.Construct,16th European ADAMSusers’Conference 2001”。
现在,如早前提及的,由拓扑结构优化产生的四面体网格不能够按照容易的方式由其自身编辑,至少在骨架解决方案处。这是问题,因为其应该被编辑用于重新设计和制造准备目的。图1的方法因而通过提高网格化拓扑结构的可编辑格式而增加了人机工程学。这要感谢图1的方法包括基于FEM的子集来确定S30机械部件的骨架的表示。用户接着可以执行,如果想要(在图1的示例中的S40处),基于骨架的表示的设计操作。这样的设计操作可以包括对骨架进行编辑,即,编辑以机械上的骨架级别表示机械部件的(例如,3D)建模对象。这意味着用户能够直接作用于骨架的参数,例如使用包括添加或移除分支、修改分支的截面、位置、长度和/或形状和/或通过加强件替换分支的操作。
通过定义,骨架实际上是在分支接合点处接合的分支的布置,每一分支接合点接合各自分支。分支是在一个维度上扩展的材料的布置。表示骨架的数据结构可以是任何形式,只要其包括分别表示各自分支的数据段。这些表示分支的数据段可以是扫掠体(sweptbody),例如每一个具有被关联到分段分布的导向(例如,样条)曲线,如在随后讨论的示例中。任何其他类型的(例如,几何结构)数据段可以表示分支。这些表示分支的数据段分别是在数据结构中被完好定义的并且因此能够单独可访问,使得用户能够在S40处执行将这些表示分支的数据段作为输入的操作的任意组合。用户从而可以修改分支参数,例如,包括添加和/或移除分支、修改分支的位置、长度、形状和/或截面。
数据结构也可以包括表示分支接合点的数据段和/或与分支之间的布置有关的数据,例如与哪些分支被接合和/或哪些分支接合点接合哪些分支有关的数据。在这样的情况下,可以对S40处的设计进行进一步精细化。在示例中,这样的骨架级别编辑可以被图形化地执行,例如用户与机械部件的图形表示交互以便选择整个分支并且接着操控选定的分支以便立刻编辑该分支(例如,在诸如图形用户动作的单个用户动作中,例如诸如包括拖拉的光标控制动作)。
例如,所述方法可以在S30之后产生包括扫掠体的特征的历史(例如,每一扫掠体被关联到导向曲线和表示所述扫掠体的截面沿着导向曲线的分布的数据),并且可能包括诸如倒角的其他特征或者任何其他特征。在这样的情况中,所述方法可以向机械设计者提供在这样的特征之间的历史的列表或表示,例如对于大模型的少于100个特征,这与在子集中可以输出多于1百万个元素的拓扑结构优化的结果相对。
因而,所述方法导致表示每一单独分支(并且可能是每一单独分支接合点)的数据,这样的数据比形成该部件的局部几何结构的单纯聚合体处于更高的级别(或者等同地,较低尺寸的表示)。并且,该表示可以是这样的,使得每一分支接合点接合至少三个各自的分支,但是可选地该表示可以是这样的,使得至少一个分支接合点仅接合两个分支(取决于设计意图)。该方法因而可以自动地提供合适的语义级别用于编辑,这是因为拓扑结构的每一分支是单个特征(例如,扫掠体)。其可以通过改变轮廓形状和/或样条曲线形状进行编辑。与现有技术相比较,会使得编辑更加容易和快速,减少了重新设计阶段和制造准备。
在没有该方法的情况下,对拓扑结构优化的数据进行重新工作的解决方案可以包括使用户通过使用商业CAD系统来重新设计实体或表面。这一重新设计将接着被从头开始执行,网格化拓扑结构是鼓舞人心的背景形状。然而,从头开始重新设计实体是冗长且耗时的,这是因为网格化拓扑结构会是非常复杂的。并且,在这一情况下,结果将不必要在分支级别处可编辑。该方法关于这些问题改善了人机工程学。
该方法提供了能够用作输入以使用商业CAD系统构建实体的骨架。例如,分支可以用作用于扫掠特征的导向曲线。
在S30处确定的骨架的表示可以与向子集应用细线化处理的结果具有相同的拓扑结构。这意味着确定S30能够在于执行以该子集作为输入的细线化处理并且接着是维持该拓扑结构的可能其他操作(例如,在随后提供的示例中计算扫掠体),或者按照所产生的拓扑结构的任意其他等同方案。在如下论文中公开了现有技术的细线化处理:“Liu,L,3Dthinning on cell complexes for computing curve and surface skeletons,Masterof Science,Saint Louis,Missouri,2009”以及“Stangl,L,Wartzack,S,Feature basedinterpretation and reconstruction of structural topology optimizationresults,ICED15,27-30July 2015,Politecnico di Milano,Italy”。在所述方法的情况下,细线化处理是迭代地降低子集的大小的处理,例如通过例如尽可能地(即,只要存在元素)迭代子集的元素的移除(即,重复移除子集的一个或多个元素),但是惩罚拓扑结构的非预留(例如,但是不严格禁止这样的非预留),例如,禁止由子集定义的形状内部的拓扑结构的非预留(标记“内部”在后面定义)。如在随后的示例中解释的,执行细线化处理是执行确定S30的尤其有效的方式。
应用细线化处理的结果在于在S20处提供的子集的子集并且因而是也是FEM的子集的其自身。应用细线化处理的结果的元素分别对应于(即,表示或属于)骨架的各自分支和/或各自分支接合点。在应用细线化处理的结果中对应于骨架的各自分支的元素当中,该元素分别对应于分支的各自末端(即,端部),例如在四面体的一维布置的情况下,精确地为每末端一个元素(即,分支的“最后”元素)。在示例中,结果的每一元素对应于各自分支或者各自分支接合点。对应于各自分支末端的每一元素与对应于分支接合点的FEM的各自元素汇合(即,连接),该分支接合点尤其是分支末端到达的分支接合点。
在示例中,结果不具有与其他元素严格共享多于两个面的元素,除了可能对应于分支接合点的那些元素。换句话说,仅对应于分支接合点的元素可以与应用细线化处理的最终结果中的其他元素严格地共享多于两个的面。据说,如果两个元素分别具有在几何上一致的各自面(即,平面的外部侧面),则这两个元素共享面。例如,在四面体网格的情况下,元素可以与其他元素共享至多四个面,在这种情况下,其所有的面是“满”的。从而,细线化过程按照一种方式使在S20处提供的子集细线化到最大可能程度。
在这样的示例中,应用细线化处理的结果可以对应于相邻元素的一维布置的网络,因而能够被分别线性地浏览。因而,确定S30可以在于浏览应用细线化处理的结果(例如,利用第一深度搜索或者任何等效的浏览),并且在浏览期间自动地识别对应于分支的元素(例如,在检测到没有分叉是可能的)以及对应于分支接合点的元素(例如,在检测到分叉是可能的,例如当遇到与其他元素严格共享多于两个面的元素),并且自动地将对应于相同的分支接合点(例如,从分支接合点的第一检测开始并且直到检测到没有分叉是可能的)或者相同的分支的元素分组到一起(例如,在对应于分支接合点的元素的两个连续检测之间)。这一标识和分组可以按照这样提供骨架的表示。但是在示例中,确定S30可以包括诸如先前提到的并且随后详述的扫掠体计算示例的进一步步骤。
现在,应用细线化处理的结果中对应于分支的末端的每一个元素与应用细线化处理的结果中对应于分支接合点的各自元素共享面。这不仅意味着应用细线化处理的结果中能够被定义为对应于分支的末端的元素仅能够是与应用细线化处理的结果中对应于分支接合点的各自元素共享面的那些元素,但是这也意味着在分支末端和分支接合点之间的每一连接处存在这样的面共享(因为分支末端必然具有在应用细线化处理的结果中对应于其的至少一个元素,例如在被细线化到最大值的四面体FEM的示例中精确地为一个)。再次,表述“共享面”意味着先前元素的面被叠置到随后元素的各自面(或者与其分不清,或者仍然在几何结构上相同)。
换句话说,细线化处理可以被配置为通过形成局部非歧管表面几何结构(例如,关于应用细线化处理的结果的边界表面的非歧管边)而在结果中禁止分支到达分支接合点。给定对象的局部非歧管表面几何结构是位于该给定对象的边界表面上的关于所述边界表面为非歧管的几何结构(即,诸如边的几何结构实体)。非歧管的概念被自身已知但是仍然在随后进行定义。类似地,在分支接合点严格地对应于结果中多于一个的各自元素的情况中,细线化处理可以被配置为在该结果中禁止这样的分支接合点包含局部非歧管表面几何结构。并且,细线化处理可以禁止创建局部非歧管表面几何结构。换句话说,细线化处理的每一操作步骤被局限以便不产生局部非歧管表面几何结构。更加通常地,该方法的任何步骤可以禁止创建局部非歧管表面几何结构(即,该步骤被配置为按照不创建局部非歧管的方式来执行)。局部非歧管表面几何结构的这一避免增加了结果的精确度。
这相较于现有技术的细线化处理(例如先前提及的那些)得到了改善。实际上,现有技术的细线化处理保存了闭合初始对象的精确拓扑结构,如果必要,为此目的创建或者维持局部非歧管表面几何结构。这是不合适的,这是因为,在机械设计和拓扑结构优化结果的上下文中,相关拓扑结果是初始对象的内部,这在后面进行详述。
在示例中,该方法的输入是由拓扑结构优化产生的四面体网格化拓扑结构。输出是由基于历史的特征构成的实体部件,主要是分别表示骨架的各自分支的扫掠体。计算基于历史的特征可以涉及下面的步骤。首先,通过去除银、裂缝和小的凹洞,对输入的四面体网格进行清洗。接着,类似腐蚀的处理(即,细线化处理)迭代地消除四面体直到达到该拓扑结构的细线版本:“细线网格”。这一细线网格由四面体构成,例如这与线段骨架相对。接着,使用分支四面体、节点四面体在该细线网格上构建由连接的屏幕曲线构成的线框图。这一图捕获了输入的四面体网格的相关拓扑结构。最后,使用平滑曲线作为样条曲线,在每一个分支上构建可编辑的扫掠体。将所有的扫掠体加到一起,生成所产生的可编辑实体。
在示例中,在S20处提供的FEM的子集具有对应于拓扑结构优化处理的边界条件的元素。细线化处理可以禁止移除子集中对应于拓扑结构优化处理的边界条件的元素。换句话说,细线化处理可以被配置为不移除该子集中例如在S10时在其上定义边界条件的元素。例如,所述元素可以由表示他们不应该被移除的事实的数据被标记或者打标签。因而,该方法通过在细线化处理的最开始处设置固定的四面体而跳过现有技术的细线化算法的细线化问题。该细线化算法不被允许对它们进行移除,这使得细线形状符合初始形状。这允许以简单的方式达到期望的骨架,这与现有技术中的细线化处理相反,这可以实现包括到开始模型的距离的复杂准则。
现在参照图7-68来讨论符合上面解释的图1的方法的示例。
现在讨论示例四面体网格。在该示例的方法中,S10的输入,S10的输出、S20的输入和/或S20的输出可以是这一类型。
通过四面体网格的几何结构及其组合结构来定义该四面体网格M。几何结构是3D点的有限集合。组合结构涉及四面体,其顺次定义三角形和顶点。顶点是参照3D点的。由两个顶点定义边。三角形由三个顶点定义,因而定义三个边。四面体由四个顶点定义,因而定义四个三角形和四个边。四面体的3D形状(分别是三角形,边)是其3D点的凸包。其是的闭合子集。
四面体被布置为网格结构以便定义3D区域。网格结构在下面的含义中是有效的:任意两个四面体或者是分离的,或者是他们共享仅一个顶点,或者他们共享仅一个边或者他们共享仅一个三角形。通过定义,如果两个四面体共享三角形,则这两个四面体是相邻的。换句话说,四面体不重叠。
图7-9说明了顶点共享(图7),边共享(图8)和三角形共享(图9)。图10示出了两个相邻的四面体T1和T2。为了清楚的目的,他们稍微分离开。图11-13分别说明了与四面体T1和T2相关联的三角形f1,…,f7、边e1,…,e9和顶点v1,…,v5。图14说明了与先前相邻的四面体相关联的组合结构。其捕获“……由……形成边界”关系。
网格是有效的,每个三角形由至多两个四面体共享。由两个四面体共享的三角形被认为是内部三角形。仅与一个四面体形成边界的三角形被认为是边界三角形。网格M的边界是由所有边界三角形定义的三角形闭合表面。其被称为边界表面并且被标注为由边界三角形形成边界的四面体被称为边界四面体。
图15-16说明了由六个四面体(图16)形成网格的矩形框(图15)。图17说明了内部三角形。图18说明了定义边界表面的边界三角形。
四面体网格的形状,被标注为Shape(M),是其四面体的所有形状的联合体。其是的闭合子集。从数学的角度看,Shape(M)的内部是包括在Shape(M)中的最大开放集合。其被标注为Int(Shape(M))。图19说明了M、/>Shape(M)和Int(Shape(M))的2D版本。
现在讨论歧管顶点和边对非歧管顶点和边的先前提及的标注。
使S为的闭合表面并且X是S的点。通过定义,如果存在阈值半径r0>0使得对于所有半径值0<r≤r0,则点X∈S是歧管,设置S将以X为中心的半径为r的开放球形精确地分离为两块。形式上,如果对于所有r∈]0,r0],集合Ball(X,r)-S精确地包括两个连接的部件,则S在点X处是歧管,如在图20-21中说明的。
给定如先前定义的规则网格M,人们可以通过使用歧管概念来定义其边界表面的规则度。在这一上下文中,/>的非歧管元素或者是顶点或者是边。
图22说明了由六个3D点和共享边的两个四面体构成的网格M。其边界表面包括八个三角形。在共享的边内侧的任意点X是非歧管,这是因为对于所有足够小的r,集合由四个分量组成,如在图23中示出的:右侧四面体的内侧A、左侧四面体的内侧B、周围空间的上侧C和周围空间的下侧D。
图24说明了由七个3D点和共享顶点的两个四面体构成的网格M。其边界表面包括八个三角形。共享的点/>是非歧管,这是因为对于所有足够小的r,集合/>由三个分量组成:右侧四面体的内侧、左侧四面体的内侧和周围空间。
现在讨论全局网格对活动网格的标注。示例的方法的方便实现可以利用这一标注。然而,可以设计其它实现。
该示例的方法可以应对在该处理的开始处计算的并且从来不改变的全局四面体网格G,连同这一全局网格的子部分(或者子集)。全局网格G的子部分M是对G的四面体的选择。将四面体添加到M以设置G-M的“活动”四面体。类似地,从M移除四面体T以将其设置为“非活动”。结果,通过定义该上下文,可以使用邻近的概念。给定四面体T,标注Adj(T)是与T共享三角形的网格G的所有四面体的集合。标注AdjM(T)是与T共享三角形的网格M的所有四面体的集合。注意到,无论T是否属于M,AdjM(T)都是有意义的。
现在将讨论S10的示例。
在这一示例中,用户创建所谓的“设计空间”,其是包含(还未知的)机械部件的材料的数量。与传统的有限元分析过程类似,在设计空间上定义边界条件。接着,使该设计空间形成网格,并且,根据边界条件的类型,识别固定的元素。将网格化设计空间标注为G。图25说明了设计空间连同边界条件。图26是网格化设计空间。固定的元素262在实线内。
专用算法解决了有限元问题并且计算密度场,这意味着标量值F(T)与G的每一网格T相关联。从现在开始,并且为了方便,假设网格是四面体网格。总是能够将非四面体网格修改为四面体网格。
粗略地说,密度场的小的值F(T)意味着四面体T没有真正有助于该解决方案并且其能够被移除。相反,高的密度场值F(T)意味着四面体T实际上有助于该解决方案并且其应该被保持。优化的网格M包括G中以高于给定阈值的密度值F(T)为特征的所有四面体T。
图27说明了优化的网格M(灰色三角形272)连同网格化设计空间G(白色三角形274)以及固定的元素(黑色三角形276)。
现在讨论确定S30的示例,主要参照图28所示的该方法的示例的流程图说明。
在示例中,该方法可以包括在S20和/或S30之前清洗优化的网格。现在进行讨论。
由拓扑结构优化产生的网格可以对不想要的奇异点进行特征化。这一限定由应用到密度场的可以消除隔离的四面体的阈值引起。这导致材料内侧小的空洞。
用于解决这一问题的第一方法是通过使用相邻值对每一四面体的场值取平均来使密度场平滑。标注F(T)为四面体T的场值,其平滑的场值被标注为F*(T)并且由下式定义:
其中,Adj(T)是与T相邻的四面体的集合,并且其中混合参数的典型值是α=0.8。
第二(可选的或者附加的)解决方案是顺序地膨胀和腐蚀四面体网格。由现有技术已知的是,这本质上消除了无意义的小凹洞,同时保存了有意义的大凹洞,如在论文“H.J.A.M.Heijmans,Mathematical morphology:a geometrical approach in imageprocessing,Nieuw Archief voor Wiskunde,Ser.4,Vol.10,no.3,pp.237-276(Nov.1992)”中解释的。
在该方法的上下文中,膨胀操作可以是向优化的网格M添加与M的边界三角形相邻的所有四面体G-M。所产生的网格被标注为δ(M)。腐蚀操作可以是从给定网格中移除与边界三角形相邻的所有四面体。其被标注为ε(M)。规则化为ε(δ(M))。在下面的意义M′=ε(δ(M′))上,规则化的网格M′=ε(δ(M))是稳定的,这意味着对规则网格进行规则化产生相同的网格。
图29说明了以凹洞(灰色三角形内侧的白色三角形292)为特征的初始网格M(灰色三角形272和黑色三角形276)。图30说明了相对应的膨胀的网格δ(M)。注意到,小的凹洞被填充。图31说明了膨胀的网格的腐蚀ε(δ(M))。清楚的是,小的凹洞被填充,而包括大的凹洞312的整体形状被全局保存。
实践中,可以按照下面来实现膨胀/腐蚀处理。膨胀处理被计算但是腐蚀步骤被包括在细线化处理的第一迭代中,这在下面进行解释。
现在讨论适合机械设计上下文的网格M的相关拓扑结构的概念。该示例的方法允许达到这样的相关性。
在理论上,由于Shape(M)意在表示物理对象,因此网格M的边界表面被预期是歧管表面。不幸的是,由于全局网格G中巨大数量的四面体并且由于对密度场不可避免的阈值副作用,这一假设是不现实的。网格M可以以非歧管边和/或非歧管顶点为特征,并且本发明被设计为应对这一情况。
必须对如何考虑奇异点做出决策。非歧管边(或顶点)是理论上的零厚度区域,这从物理的角度来看是非灵敏的。取决于应用,这一零厚度被解释为“没有材料”或者“具有非常少量的材料”,如在图32中说明的。
在本方法的上下文中,决策可以是奇异点是“无材料”情形。出于这一原因,网格M的相关拓扑结构是其内部中的一个,在先前被定义和标注为Int(Shape(M))。该方法的又一算法可以根据这一原理进行设计。
现在讨论S30处的优化网格的细线化的示例。
对网格M进行细线化的目标可以是得到以尽可能少的四面体为特征的网格K以便使用与Int(Shape(M))相同的拓扑结构来公开骨架结构。这是该方法与保存闭合集合Shape(M)的拓扑结构的其他细线化算法相比较的特殊之处。此外,支持边界条件的四面体可以被设置为固定的,这意味着他们不被移除并且他们全部属于最终网格K。
现在讨论符合上面讨论的示例的该方法的整体算法的示例。
原理是根据合适的准则(在下面的伪代码中的步骤05)迭代地移除(非固定的)边界四面体。换句话说,在细线化处理的每一各自迭代处被移除的子集的元素全部是该子集中在各自迭代处其移除不被禁止的边界元素。
并且,在每一迭代处,细线化处理可以根据与子集中另一元素共享的相邻面的数量,从最低数量到最高数量,来移除该子集的边界元素。换句话说,以最小数量的相邻三角形(即,在面-共享相邻的意义上)为特征的四面体被优先移除(下面的步骤03)。迭代中这样的特定顺序允许达到不删除相关形状的结果,这与现有技术的细线化不同,在现有技术的细线化中在细线化期间一些相关形状(典型地是突起)会被完全腐蚀和丢失,即使在涉及不令人满意的调整参数和启发以避免该现象时。
该算法因而可以是下面的伪代码:
当没有边界四面体被移除时,该算法结束。所产生的网格K是最小的,但是其不是唯一的。其形状取决于K0中四面体的序列。测试表明这不会有问题的。
现在提供用于在步骤03处选择边界四面体的集合的示例。
将网格K的四面体的相邻四面体的数量标注为|AdjK(T)|。清楚的是,0≤|AdjK(T)|≤4。当|AdjK(T)|=4时,四面体T不是K的边界四面体。否则,其是K的边界四面体。通过收集以最小数量的相邻四面体为特征的(非固定)四面体来计算集合K0。
因而,可以按照下面的伪代码进行选择:
现在解释在步骤05处执行的逻辑测试的示例。
必须理解的是,输入网格M的边界表面可以以非歧管边和/或顶点为特征。原理是移除(非固定)边界四面体,只要这不创建任何附加的非歧管边或顶点。无论如何,可以移除一些现有的非歧管情形,并且因而创建断开连接,只要保存了Int(Shape(M))的拓扑结构。专门部分说明了这一现象。/>
给定在集合K0中收集的四面体T,并且给定其边E中的一个,可以按照下面来执行第一分析。在共享边E的所有四面体G当中,存在四面体T本身,与T相邻的至多两个四面体以及不与T相邻的其他四面体。
可以根据下面逻辑函数的伪代码来执行分析:
在“if...then”指令中,当边E是网格G的边界边时,基数测试(|A|=2,|B|=0)是显著的。在这一情况下,集合A可以是空的或者能够仅包括一个四面体,并且集合B也可以是空的。基数测试被按照这样的方式设计以使得网格G的外侧按照与不属于K的四面体类似的方式运行。
考虑不是G的边界边的边E,图33-34说明了当函数CanBeRemoved_1(K,T,E)返回TRUE时的所有可能情形。由四面体(不)共享的边E与绘图平面垂直。以值1(分别地,值0)为特征的三角形属于K(分别地,不属于K)。符号A,B是指由该函数构建的四面体的集合。
仍然考虑不是G的边界边的边E,图35说明了当函数CanBeRemoved_1(K,T,E)返回FALSE时的所有可能情形。移除T将创建非歧管边。
给定要移除的四面体T,并且给定其顶点V中的一个,按照下面执行第二分析。在共享顶点V的所有四面体当中,存在四面体T本身,与T相邻的至多三个四面体以及不与T相邻的其他四面体。
可以根据下面逻辑函数的伪代码来执行分析:
再次,在这里,“if...then”指令以当顶点V是网格G的边界边时是显著的基数测试(|A|=3,|B|=0)为特征。在这种情况下,集合A可以是空的或者能够仅包括一个或两个四面体,并且集合B也可以是空的。基数测试被按照这样的方式设计以使得网格G的外侧按照与不属于K的四面体类似的方式运行。
作为算法的步骤05的最终测试可以通过向候选四面体的所有边和顶点应用先前的函数来执行。这可以根据下面的伪代码执行:
参照图36-44提供这样的细线化处理的说明。
图36-38说明了在示例性2D网格上的第一细线化迭代。图36是初始网格K=M。细线化处理移除了具有最小数量的相邻三角形的三角形,如由白色三角形说明的。图37中被移除的三角形仅具有一个相邻三角形。图38中被移除的三角形仅具有一个相邻的三角形。
迭代产生在图39-44上示出的网格K的中间版本。图39中被移除的三角形具有两个相邻的三角形。图40中被移除的三角形仅具有一个相邻的三角形。图44是骨架网格,其是K的最终版本。没有三角形能够被从K中移除。
这说明了在细线化处理之前通过使用边界条件定义的固定的四面体的优点。在没有这些固定的情况下,所有摇摆的分支将被移除,并且结果将是仅中央循环。
既然细线化过程是已知的,图45-51说明了内部拓扑结构保存。考虑在图45上示出的2D网格M′。其以在两个凹洞的接合点处的非歧管顶点为特征。
M′的对象Shape(M′)是闭合集合,其实际上以两个凹洞为特征,如在图46中说明的。相反,开放集合Int(Shape(M′))仅以一个凹洞为特征,如在图47中说明的。这是因为,通过考虑内部集合,凹洞之间的按点连接被“打开”。
就间隔而言,闭合集合Shape(M′)的两个凹洞是开放集合并且他们类似]a,b[∪]b,c[地运行,这由两个非连结的(开放)间隔构成。开放集合Int(Shape(M′))的凹洞是闭合集合,并且他们类似[a,b]∪[b,c]地运行,这是单个(闭合)间隔。因而,开放Int(Shape(M′))仅以一个凹洞为特征。
如期望地,细线化算话产生具有一个凹洞的网格K′,如在图48中说明的。奇异点去除由在图49上示出的配置允许,如先前详细描述的。这在图50-51上示出。
现在讨论在S30处确定的骨架的表示的示例,从由细线化处理的上面示例提供的结果开始。
现在讨论线框骨架的示例。
骨架网格K现在可以实际上用于计算由线段构成的线框骨架。在其第一版本中,这一线框骨架通常以尖点为特征,但是其可以在进一步的步骤中被平滑。K的每一四面体或者是分支四面体或者是节点四面体。通过定义,分支四面体精确地与两个四面体相邻,节点四面体与三个或四个四面体相邻,并且端部四面体仅与一个四面体相邻。图52局部地说明了在节点四面体T处接合的三个分支。
分支识别可以按照下面进行。在线框骨架定义中仅涉及固定节点四面体、非固定节点四面体和非固定分支四面体。使K*成为这样的四面体的集合。每一分支通过定位初始非访问分支四面体T0并且从T0在两侧上进行相邻传播直到节点四面体或者访问四面体为止而被识别。在开始该算法之前,所有四面体被设置为“非访问”。
这可以根据下面的伪代码来执行。
/>
当所有分支四面体被访问时,算法结束,这意味着每一分支四面体与唯一的分支相关联。
在相同节点四面体处开始和结束的分支被丢弃。不包括节点四面体的分支是隔离的循环并且他们也被丢弃。丢弃这样的分支可以创建新的可移除的边界四面体。为此,细线化过程被再次运行。图53-54以虚线说明了被丢弃的闭合分支。
图55说明了由分支三角形552(具有细轮廓的灰色)和节点三角形554(具有粗轮廓的黑色或灰色)。没有说明固定分支和端点三角形。
可以在每个节点四面体的重心处创建3D点。接着可以通过下面的相邻分支四面体来在这些点之间创建多段线,如在图56中说明的。
接着,每个多段线可以通过计算经过端点和中点的样条曲线而被平滑,如在图57中说明的。当然,在样条曲线定义中可以涉及更多的点。
现在讨论先前提及的在S30的示例内的扫掠体的创建。
每一平滑分支可以用作扫掠体的样条曲线。沿着样条曲线扫掠的轮廓是可变半径圆形。其中心点在样条曲线上,并且通过近似优化网格M的局部尺寸来计算半径变化。
形式上,使Q:成为样条曲线。目标可以是计算截面分布,例如以半径变化r:/>的形式。在参数t∈[0,1]处,扫掠体的截面是在经过Q(t)并且垂直于向量Q′(t)的平面中以Q(t)为圆心并且以r(t)为半径的圆形。
现在将讨论如何执行局部尺寸近似的示例。这一信息(例如,在细线化期间较早获得)能够通过计算截面分布的组合而被使用。
在细线化处理期间,可以为此目的来存储关于四面体消除的一些逻辑信息。初始地,网格M的每一边界四面体可以与标识符和一组标识符相关联。每一边界四面体的集合可以使用所述四面体的标识符而被初始化。所有非边界四面体可以与被标注为{}的空集合相关联。图58说明了初始情形。边界四面体由从0到9的数字以符号形式识别。
接着,每次在边界四面体被消除时,其集合可以被添加到所有其相邻四面体的集合。图59说明了消除边界四面体0和1。注意到相邻四面体的非空集合。
当细线化处理结束时,每一所产生的分支四面体T可以与一组边界四面体标识符L(T)={i1,…,ib(T)}相关联,其中,b(T)是集合中的元素的数量。图60说明了最终状态。
包括分支四面体T的分支的近似局部半径r(T)是从四面体T到其集合的四面体的平均距离。两个四面体之间的距离是他们各自平均点之间的距离。
例如,与集合{6,7,8}相关联的分支四面体T(图61中的粗轮廓612)的局部半径是T和边界四面体6、7和8之间的平均距离,如在图61中说明的。
局部尺寸近似取决于边界四面体消除排序。无论如何,测试表明,这不会显著地影响所产生的形状。
现在讨论构建扫掠体的示例。
参照图62,给定样条曲线622,通过在样条曲线的端点和中点处对近似局部尺寸进行插值,定义可变半径变化。这里,再次地,能够涉及更多的点。现在明确地定义所产生的扫掠体。
这一实体的B-Rep是通过使用旋转最小化框计算创建的参数化表面。这可以按照在下面的论文中描述的来执行:“Wang,W.,Jüttler,B.,Zheng,D.,and Liu,Y.2008.Computation of rotation minimizing frame.ACM Trans.Graph.27,1,Article2(March 2008)”。图63-64说明了3D样条曲线连同平滑半径变化。图65说明了相对应的扫掠表面。可编辑实体是在经典的历史特征列表中捕获的所有扫掠体的布尔联合。可以自动地添加倒角以便得到平滑的最终形状。
在真实3D示例中,图66-68说明了骨架结构(图66)、平滑的线框结构(图67)和组合扫掠体的最终实体(图68)的局部形状。
现在讨论可以在S40处执行的实体编辑的示例。
可以存在编辑所产生的实体的两种方式。第一种方式是处理扫描体和倒角的经典历史树。第二种方式是保持实体的面、边和顶点以及骨架的分支之间的链接。当用户选择实体的面、边或者顶点时,可以对相关联的分支并且可能地对骨架的剩余部分执行用户动作(移动、移除例如具有对相邻分支的影响的分支)。接着,可以重新进行扫掠体生成、布尔运算和倒角。可选地,对于一些用户动作,骨架的结构不被修改:例如,如果分支的截面被修改(从圆形截面改变到椭圆形截面),可以仅重复进行扫掠体和随后的操作。
Claims (10)
1.一种用于设计机械部件的计算机实现的方法,所述方法包括:
提供(S20)有限元网格(FEM)的子集,所述FEM的子集表示所述机械部件;并且
基于所述FEM的子集确定(S30)所述机械部件的骨架的表示,所述骨架具有分支和分支接合点,每一分支接合点接合相应分支,
其中,所述骨架的表示与向所述子集应用细线化处理的结果具有相同的拓扑结构,
其中,应用所述细线化处理的结果包括分别对应于相应分支末端的FEM的元素以及分别对应于相应分支接合点的FEM的元素,对应于相应分支末端的FEM的每一元素与对应于分支接合点的FEM的相应元素共享面,以及
其中,细线化处理的每个操作步骤被配置为被执行以不产生局部非歧管表面几何结构,使得所述细线化处理禁止创建局部非歧管表面几何结构。
2.根据权利要求1所述的方法,其中,所述子集由拓扑结构优化处理产生并且具有对应于所述拓扑结构优化处理的边界条件的元素,所述细线化处理禁止移除所述子集中对应于所述拓扑结构优化处理的所述边界条件的元素。
3.根据权利要求1所述的方法,其中,所述细线化处理包括迭代进行所述子集的元素的移除,在每一相应迭代处被移除的所述子集的元素是在相应迭代处其移除没有被禁止的所述子集的所有边界元素。
4.根据权利要求3所述的方法,其中,在每次迭代处,所述细线化处理根据所述子集的边界元素的与所述子集的另一元素共享的相邻面的数量,从最低数量到最高数量,来移除所述子集的边界元素。
5.根据权利要求1-4中的任意一项所述的方法,还包括基于所述骨架的表示来执行(S40)设计。
6.根据权利要求1-4中的任意一项所述的方法,还包括,在提供所述FEM的子集之前,执行(S10)拓扑结构优化处理以确定FEM的子集。
7.一种用于制造机械部件的方法,所述机械部件是根据权利要求1-6中的任意一项所述的方法设计的。
8.一种具有指令的计算机可读介质,所述指令在被处理器执行时,使所述处理器执行根据权利要求1-6中的任一项所述的方法。
9.一种用于设计机械部件的装置,包括用于执行根据权利要求1-6中的任一项所述的方法的单元。
10.一种用于设计机械部件的设备,包括:
存储指令的存储器;以及
耦合到所述存储器的处理器,所述指令在被所述处理器执行时执行根据权利要求1-6中的任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16306151.8 | 2016-09-12 | ||
EP16306151.8A EP3293648B1 (en) | 2016-09-12 | 2016-09-12 | Representation of a skeleton of a mechanical part |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107818196A CN107818196A (zh) | 2018-03-20 |
CN107818196B true CN107818196B (zh) | 2023-08-01 |
Family
ID=56985564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710819006.5A Active CN107818196B (zh) | 2016-09-12 | 2017-09-12 | 机械部件的骨架的表示 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10949580B2 (zh) |
EP (1) | EP3293648B1 (zh) |
JP (1) | JP7071807B2 (zh) |
CN (1) | CN107818196B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3502931B1 (en) * | 2017-12-24 | 2023-03-15 | Dassault Systèmes | Designing a part by topology optimization |
EP3778835B1 (en) | 2018-04-13 | 2024-01-10 | Moresco Corporation | Lubricating oil composition and lubricating agent using same |
CN109670200B (zh) * | 2018-11-13 | 2022-04-22 | 华中科技大学 | 一种等几何材料密度场结构拓扑优化方法 |
CN110489907B (zh) * | 2019-08-27 | 2023-07-11 | 中车株洲电力机车有限公司 | 一种轨道交通车辆车体数字样机的优化设计方法 |
US20220067223A1 (en) * | 2020-09-02 | 2022-03-03 | The Boeing Company | Optimization of Cross-Sectional Profile Shapes for Manufacture of Structural Parts |
CN113204822B (zh) | 2021-05-17 | 2022-06-10 | 广州大学 | 一种将连续体拓扑优化结果转换为杆系结构的方法 |
CN113779715B (zh) * | 2021-08-24 | 2023-06-27 | 汕头大学 | 轻量化机械外骨骼设计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102216941A (zh) * | 2008-08-19 | 2011-10-12 | 数字标记公司 | 用于内容处理的方法和系统 |
CN105740497A (zh) * | 2014-12-31 | 2016-07-06 | 达索系统公司 | 对工件的加工进行仿真 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3207971B2 (ja) * | 1993-06-25 | 2001-09-10 | 富士通株式会社 | 最適骨組及び板組構造の設計方法 |
KR100419482B1 (ko) * | 2001-12-18 | 2004-02-21 | 한국전자통신연구원 | 비균등 공간 분할법에 의한 메쉬 간략화 방법 |
JP4714444B2 (ja) * | 2004-08-31 | 2011-06-29 | 国立大学法人北海道大学 | 四面体メッシュ生成方法およびプログラム |
US20060277008A1 (en) | 2005-06-02 | 2006-12-07 | Krishnan Suresh | Analysis of boundary and/or initial value problems in thin objects and spaces |
US8126684B2 (en) * | 2009-04-10 | 2012-02-28 | Livermore Software Technology Corporation | Topology optimization for designing engineering product |
EP2750107B1 (en) * | 2012-12-31 | 2017-03-15 | Dassault Systèmes | Groups of faces that form a geometrical pattern |
-
2016
- 2016-09-12 EP EP16306151.8A patent/EP3293648B1/en active Active
-
2017
- 2017-09-08 JP JP2017173183A patent/JP7071807B2/ja active Active
- 2017-09-11 US US15/701,079 patent/US10949580B2/en active Active
- 2017-09-12 CN CN201710819006.5A patent/CN107818196B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102216941A (zh) * | 2008-08-19 | 2011-10-12 | 数字标记公司 | 用于内容处理的方法和系统 |
CN105740497A (zh) * | 2014-12-31 | 2016-07-06 | 达索系统公司 | 对工件的加工进行仿真 |
Also Published As
Publication number | Publication date |
---|---|
JP2018077830A (ja) | 2018-05-17 |
US10949580B2 (en) | 2021-03-16 |
EP3293648A1 (en) | 2018-03-14 |
US20180075184A1 (en) | 2018-03-15 |
EP3293648B1 (en) | 2024-04-03 |
EP3293648C0 (en) | 2024-04-03 |
JP7071807B2 (ja) | 2022-05-19 |
CN107818196A (zh) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107818196B (zh) | 机械部件的骨架的表示 | |
JP7164295B2 (ja) | 3dプリンティングのための現実の物体の向き付け | |
JP7235478B2 (ja) | 3d部品の付加製造 | |
JP7521894B2 (ja) | メッシュからの特徴木の抽出 | |
JP4381743B2 (ja) | 境界表現データからボリュームデータを生成する方法及びそのプログラム | |
US9171400B2 (en) | Creating a surface from a plurality of 3D curves | |
JP2020115337A (ja) | ニューラルネットワークのセット | |
KR20160082481A (ko) | 워크피스의 가공의 시뮬레이팅 | |
JP2016157429A (ja) | 細分割曲面上における2d画像のエングレービング | |
JP2023056515A (ja) | モデル化オブジェクトの設計 | |
JP7505880B2 (ja) | 生メッシュからの構造化3dモデルの生成 | |
US20230177229A1 (en) | Partitioning 3d cad model | |
EP3644198B1 (en) | 3d design of b-rep skin | |
JP2023143870A (ja) | スケッチ加工 | |
JP2022186654A (ja) | 機械部品のcad 3dモデルの処理 | |
JP2021131852A (ja) | 機械部品の構造シミュレーション | |
JP2021111376A (ja) | 製品の物理的なプロトタイプの3dモデル化オブジェクト | |
CN109767495B (zh) | 3d部件的增材制造 | |
JP2024003783A (ja) | Cadフィーチャーツリー生成 | |
Zhu et al. | Finite element mesh editing through cad operations | |
JP2024016009A (ja) | 製造製品を表す3dモデル化オブジェクトの設計 | |
JP2024035154A (ja) | 工場を表す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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |