CN117454567A - 表示制造产品的3d建模对象的设计 - Google Patents

表示制造产品的3d建模对象的设计 Download PDF

Info

Publication number
CN117454567A
CN117454567A CN202310914106.1A CN202310914106A CN117454567A CN 117454567 A CN117454567 A CN 117454567A CN 202310914106 A CN202310914106 A CN 202310914106A CN 117454567 A CN117454567 A CN 117454567A
Authority
CN
China
Prior art keywords
vertex
transition
vertices
transition region
path
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
CN202310914106.1A
Other languages
English (en)
Inventor
弗雷德里克·莱泽尔特
玛丽亚·彭博里奥斯
理查德·麦松纽
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 CN117454567A publication Critical patent/CN117454567A/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • 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
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/351343-D cad-cam
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开主要涉及一种用于设计表示制造产品的3D建模对象的计算机实现方法。该方法包括:获得表示3D建模对象的基本网格,选择基本网格的一个或多个连接边缘,通过在所选路径上获得斜面图案区域并基于所选边缘来细分基本网格。对于路径的两个端点中的至少一个,该方法通过对除了所计算的斜面图案区域之外的、共享路径的两个端点中的至少一个的所有面进行分组来获得过渡区域。该方法通过获得位于过渡区域中的过渡顶点来重新网格化过渡区域,并计算将顶点对中的每个顶点与所获得的过渡顶点连接的边缘。该方法输出经细分基本网格。这改进了3D建模对象的设计。

Description

表示制造产品的3D建模对象的设计
技术领域
本公开涉及计算机程序和系统领域,更具体地,涉及用于设计表示制造产品的3D建模对象的方法、系统和程序。
背景技术
在市场上提供了许多系统和程序,用于设计、工程和制造对象。CAD是计算机辅助设计的缩写,例如它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩写,例如它涉及用于模拟未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的缩写,例如,它涉及用于定义制造过程和操作的软件解决方案。在这些计算机辅助设计系统中,图形用户界面在技术效率方面起重要作用。这些技术可以嵌入到产品生命周期管理(PLM)系统中。PLM是指一种商业策略,它帮助公司在经扩展企业的概念范围内共享产品数据、应用公共流程、并利用公司知识以用于产品从概念到其寿命结束的开发。由Dassault系统(商标为CATIA、ENOVIA和DELMIA)提供的PLM解决方案提供了组织产品工程知识的工程集线器、管理制造工程知识的制造集线器、以及使得企业集成和连接到工程和制造集线器中的企业集线器。系统一起提供一个开放对象模型,该模型链接产品、过程、资源以实现动态的基于知识的产品创新和决策支持,从而驱动优化的产品定义、制造准备、生产和服务。
3D建模对象的设计已经变得越来越重要。将细节添加到3D建模对象是3D设计中的一个重要问题。一方面,细节必须捕获设计意图。另一方面,所添加的细节不应干扰3D建模对象的整体几何形状。
CAD解决方案将已知技术广泛地用于建模对象的设计:非均匀有理B样条表面(下文中的NURBS)和细分表面。注意,可以通过对NURBS表面的布置来近似细分表面,因此细分表面建模可以用于添加细节,然后自动地将所得到的细分表面变换为NURBS表面。在细分表面建模的上下文中,“斜面”是包括沿着边缘的列表致密化网格拓扑的操作。
提供斜面功能的现有解决方案受到斜面中提供的边缘的数量(或轮廓的顶点的数量)的限制。
对于这些解决方案中的一部分,使用包括两个或三个内边缘的斜面(在一些应用中也称为“切口”)实现了良好的质量。然而,一旦斜面的分辨率变高(即,切口的数量增加)就会出现问题,从而导致斜面的过渡区域中的质量问题。例如,在软件中,斜面在其端部处产生坏的网格,并且其中用户不能控制形状。参考图1A。图1A示出了具有斜面端部10的部件100,该斜面端部10是不良的网格。实际上,斜面端部10是低质量的网格,其不能由用户控制或校正。
可以在软件CATIA Imagine&上找到另一个示例。参考图1B和图1C。首先,在图1B中,根据一些距离标准而产生了过渡边缘20,导致了一些情况下的不稳定性,例如当斜面半径改变时。因此,所得到的形状是非常不可预知的。
其次,在图1C中,由于三角形30导致几何象差(例如曲率缺陷),而会聚(convergence)顶点(其中所有三角形都是会聚的)“磁化”光反射和曲率流,因此形状质量被大大改变。从视觉上来说,这种几何像差产生了类似夹紧(pinch)的表面,导致了以峰值结束的斜面的感觉,而用户期望是斜面和基面之间的平滑过渡。
图1D和图1E还突出了细分建模中的一些斜切问题。附图示出了使用斜面来创建在其末端处渐变的字符线。图1D示出了几何结构,而图1E示出了用于由设计者验证字符线的高亮部分。
如图1D所示,形状110不具有良好适配的拓扑:所得到的网格结构不代表设计者的意图。而且,如图1E所示,在基本网格上产生的表面上所计算的高亮部分是波浪形的,并且具有向外的流动,这不遵守字符线的设计意图。
在本文中,仍然需要一种用于设计3D建模对象的改进方法。
发明内容
因此,提供了一种用于设计表示制造产品的3D建模对象的计算机实现方法。该方法包括获得表示3D建模对象的基本网格。该方法还包括选择基本网格的一个或多个连接边缘,从而获得包括两个端点的连接边缘的路径。该方法包括基于所选择的边缘细分基本网格。该方法通过识别基本网格的共享路径边缘的每个面来获得在所选路径上的斜面图案区域。该方法细分基本网格的每个经识别面,以达到N个切口,其中N是非负数。
对于路径的两个端点中的至少一个端点,该方法通过对除了所计算的斜面图案区域之外的、共享路径的两个端点中的至少一个端点的所有面进行分组来获得过渡区域。
该方法通过针对包括顶点对的每个切口获得位于过渡区域中的过渡顶点,并且计算将切口的顶点对中的每个顶点与所获得的过渡顶点连接的边缘,来重新网格化过渡区域。
该方法输出经细分的基本网格。
该方法可以包括以下的一者或多者:
过渡区域的重新网格化包括:如果细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到偶数2N个切口,并且如果路径的两个端点中的至少一个的拓扑阶数是偶数,则执行:
针对N=0的切口,将连接到所述路径的所述两个端点中的所述至少一个的一个顶点指定为会聚顶点;
针对每个后续切口,获得位于所述过渡区域中的过渡顶点,并计算将所述后续切口的所述顶点对中的每个顶点与所获得的过渡顶点连接的边缘;以及
保持所述斜面图案区域和所述过渡区域的其它面的拓扑结构不被修改,从而获得包括2N个四边形面和一个三角形面的经重新网格化的过渡区域。
重新网格化所述过渡区域包括:如果细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到奇数2N+1个切口,并且如果路径的两个端点中的至少一个的拓扑阶数是偶数,则执行:
针对N=0的切口,将连接到路径的两个端点中的至少一个的一个顶点指定为会聚顶点;
针对每个后续切口,获得位于过渡区域中的过渡顶点,并计算将后续切口的顶点对中的每个顶点与所获得的过渡顶点连接的边缘;以及
保持斜面图案区域和过渡区域的其它面的拓扑结构不被修改,从而获得包括2N个四边形面和一个三角形面的经重新网格化的过渡区域。
重新网格化过渡区域包括:如果细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到偶数2N个切口,并且如果路径的所述两个端点中的至少一个的拓扑阶数是奇数,则执行:
针对N=0的切口:
-识别所述过渡区域的连接到所述路径的所述两个端点中的所述至少一个的第一顶点和第三顶点以及连接到所述第一顶点和所述第三顶点的第二顶点,所述第二顶点是会聚顶点,以及
-获得位于所述过渡区域中的第一过渡顶点,并计算将所生成的第一过渡顶点连接到所述第二顶点的边缘;以及
对于每个后续切口,获得位于所述过渡区域中的过渡顶点,并计算将所述后续切口的所述顶点对中的每个顶点与所获得的过渡顶点连接的边缘;以及
保持所述斜面图案区域和所述过渡区域的其它面的拓扑结构不被修改,从而获得包括至少2N个四边形面和一个三角形面的经重新网格化的过渡区域。
重新网格化所述过渡区域包括:如果细分所述基本网格的每个经识别面包括细分所述基本网格的每个经识别面以达到奇数2N+1个切口,并且如果所述路径的所述两个端点中的所述至少一个的拓扑阶数是奇数,则执行:
针对N=0的切口:
-识别所述过渡区域的连接到所述路径的所述两个端点中的所述至少一个的第一顶点和第三顶点以及连接到所述第一顶点和所述第三顶点的第二顶点,所述第二顶点是会聚顶点,以及
-获得位于所述过渡区域中的第一过渡顶点,并计算将所生成的第一过渡顶点连接到所述第二顶点的边缘;以及
对于每个后续切口,获得位于所述过渡区域中的过渡顶点,并计算将所述后续切口的所述顶点对中的每个顶点与所获得的过渡顶点连接的边缘;以及
保持所述斜面图案区域和所述过渡区域的其它面的拓扑结构不被修改,从而获得包括至少2N个四边形面和一个三角形面的经重新网格化的过渡区域。
获得位于所述过渡区域中的过渡顶点包括:
计算在虚构顶点和会聚顶点之间延伸的虚构线:
-虚构顶点位于由所述斜面图案区域和所述过渡区域两者共享的边缘上,以及
-会聚顶点位于所述过渡区域的一个边缘上;
将位于所述过渡区域上的所述过渡顶点放置在所述虚构线上。
虚构顶点如下被构造:
如果达到偶数2N个切口,则所述虚构顶点按照切口的顶点对之间的平均距离被构造;或
如果达到奇数2N+1个切口,则所述虚构顶点按照切口中的中间切口的位置被构造。
将位于所述过渡区域上的所述过渡顶点放置在所述虚构线上包括:将所述过渡顶点均匀地放置在所述虚构线上。
该方法还包括:针对每个切口:
根据如下项构造所述虚构顶点:
-所述切口的所述顶点对之间的平均距离,或
-没有顶点对的奇数切口的位置;
计算在所述切口的所述虚构顶点和所述会聚顶点之间延伸的虚构线;以及
将所述过渡顶点放置在所计算的虚构线上。
针对每个切口,将所述过渡顶点放置在所计算的虚构线上包括:针对切口的每个顶点对(k,N-k-1),将所述过渡顶点(Tk,N-k-1)以比率k/(INT(N/2)+1)放置在所述虚构线上,其中,INT是整数部分。
重新网格化所述过渡区域还包括:计算连接所获得的一个或多个过渡顶点的折线。
基本网格是四边形基本网格。
还提供了一种包括指令的计算机程序,当由计算机执行时,该指令使得计算机执行该方法。
还提供了一种其上记录有计算机程序的计算机可读存储介质。
还提供了一种系统,包括通信地联接到存储器的处理器,存储器上记录有计算机程序。
附图说明
现在将参考附图描述非限制性示例,其中:
图1示出了现有技术的示例;
图2示出了方法的一个示例的流程图;
图3示出了系统的一个示例;以及
图4至图21示出了方法的示例。
具体实施方式
参考图2的流程图,提出了一种用于设计表示制造产品的3D建模对象的计算机实现方法。该方法包括:获得S10表示3D建模对象的基本网格。该方法还包括选择S20基本网格的一个或多个连接边缘,从而获得包括两个端点的连接边缘的路径。该方法还包括基于所选择的边缘对基本网格进行细分S30。细分包括S310、S320和S330。
该方法在所选择的路径上获得S310斜面图案区域。通过识别共享路径边缘的基本网格的每个面来获得斜面图案区域。该方法细分基本网格的每个经识别面,以达到N个切口。N是非负数。N是正整数-该组整数由零(0)、正自然数(1、2、3、……)组成。
对于路径的两个端点中的至少一个端点,该方法获得S320过渡区域。该方法通过对除了所计算的斜面图案区域的之外的、共享路径的两个端点中的至少一个端点的所有面进行分组来获得过渡区域。
该方法通过为包括顶点对的每个切口获得位于过渡区域中的过渡顶点来重新网格化S330过渡区域。该方法计算将切口的顶点对的每个顶点与所获得的过渡顶点相连接的边缘。
该方法输出S40细分的基本网格。
这种方法改进了3D建模对象的设计。实际上,该方法基于基本网格的所选择的一个或多个连接边缘来细分网格,并因此基于该选择来修改3D建模对象(由基本网格表示)的设计。当该方法在所选择的路径上获得斜面图案区域时,该方法修改基本网格的设计,使得所选择的路径的形状与斜面的形状相一致,并且因此适于表示CAD领域中已知的圆角、扫掠、夹紧(pinch)或字符线。此外,当该方法获得过渡区域并重新网格化该过渡区域时,该方法能够确保在斜面图案区域的几何形状和3D建模对象的其余几何形状之间存在连续的过渡。因此,该方法修改了3D建模对象的设计,使得向用户呈现3D建模对象,该3D建模对象呈现期望的斜面形状并且与3D建模对象的剩余形状一致,即,不引起影响预期形状的精度的几何像差。
该方法由计算机实现。这意味着该方法的步骤(或基本上所有的步骤)由至少一个计算机或任何类似的系统执行。因此,该方法的步骤由计算机执行,可能完全自动地或半自动地执行。在示例中,可以通过用户-计算机交互来执行对该方法的至少一些步骤的触发。所需的用户-计算机交互的等级可以取决于预见的自动程度,并且与实现用户的愿望的需求相平衡。在示例中,该等级可以是用户定义的和/或预定义的。
方法的计算机实现的典型示例是利用适于该目的的系统来执行该方法。该系统可以包括联接到存储器和图形用户界面(GUI)的处理器,该存储器具有记录在其上的计算机程序,该计算机程序包括用于执行该方法的指令。存储器还可以存储数据库。存储器是适于这种存储的任何硬件,可能包括几个物理上不同的部分(例如,一个用于程序,并且可能一个用于数据库)。
该方法通常操纵建模对象。建模对象是由例如存储在数据库中的数据定义的任何对象。通过扩展,表述“建模对象”指定数据本身。根据系统的类型,建模对象可以由不同类型的数据定义。该系统实际上可以是CAD系统和/或PLM系统的任何组合。在那些不同的系统中,建模对象由相应的数据定义。因此可以说是CAD对象、PLM对象、CAD数据、PLM数据。然而,这些系统不是排他性的,因为建模对象可以由对应于这些系统的任何组合的数据来定义。因此,系统可以是CAD和PLM系统,这将从下面提供的这种系统的定义中显而易见。
CAD系统另外意味着至少适于基于建模对象的图形表示(例如CATIA)来设计建模对象的任何系统。在这种情况下,定义建模对象的数据包括允许表示建模对象的数据。CAD系统可以例如使用边缘或线(在某些情况下使用面或表面)来提供CAD建模对象的表示。线、边缘或表面可以用各种方式表示,例如非均匀有理B样条(NURBS)。具体而言,CAD文件包含可以从中生成几何形状的规范,这又允许生成表示。建模对象的规范可以存储在单个CAD文件或多个CAD文件中。代表CAD系统中的建模对象的文件的典型大小在每部件一兆字节的范围内。建模对象通常可以是数千个部件的组件。
在CAD的上下文中,建模对象通常可以是3D建模对象,例如表示诸如部件或部件的组件之类的产品,或者可能是产品的组件。所谓“3D建模对象”是指由允许其3D表示的数据建模的任何对象。3D表示允许从所有角度观看部件。例如,当被3D表示时,可以处理3D建模对象并围绕其任何轴、或围绕显示表示的屏幕中的任何轴旋转。这值得注意地排除了未被3D建模的2D图标。3D表示的显示便于设计(即,增加设计者在统计学上完成其任务的速度)。这加速了工业中的制造过程,因为产品的设计是制造过程的一部分。
3D建模对象可以表示在其虚拟设计完成之后将在现实世界中制造的产品的几何形状,所述虚拟设计例如是CAD软件解决方案或CAD系统,诸如(例如,机械)部件或部件的组件(或等效地部件的组件,因为部件的组件可以从方法的角度看成是部件本身,或者该方法可以独立地应用于组件的每个部件),或更一般地,任何刚体组件(例如,移动机构)。CAD软件解决方案允许在各种且不受限制的工业领域中设计产品,包括:航空航天、建筑、构造、消费品、高技术设备、工业设备、运输、船舶、和/或海上油气生产或运输。因此,通过该方法设计的3D建模对象可以代表工业产品,其可以是任何机械部件,例如地面车辆(包括例如汽车和轻型卡车设备、赛车、摩托车、卡车和摩托车设备、卡车和公共汽车、火车)的部件、飞机的部件(包括例如机身设备、航空设备、推进设备、防卫产品、航空设备、空间设备)、海军车辆(包括例如海军设备、商用船,离岸设备、码头和工作船、海洋设备)的部件、一般机械部件(包括例如工业制造机械、重型移动机械或设备、安装设备、工业设备产品、制造金属产品、轮胎制造产品)、机电或电子部件(包括例如消费电子产品、安全和/或控制和/或仪器产品、计算和通信设备、半导体、医疗设备和设备)、消费品(包括例如家具、家庭和花园产品、休闲商品、时尚产品、硬物品零售商的产品、软物品零售商的产品)、包装(包括例如食品和饮料以及烟草、美容和个人护理、家庭产品包装)。
CAD系统可以是基于历史的。在这种情况下,通过包括几何特征的历史的数据进一步定义建模对象。建模对象实际上可以由物理人(即设计者/用户)使用标准建模特征(例如,挤压、旋转、切口和/或圆形)和/或标准表面特征(例如,扫掠、混合、膨松、填充、变形和/或平滑)来设计。支持这种建模功能的许多CAD系统是基于历史的系统。这意味着设计特征的创建历史通常是通过经由输入和输出链接将所述几何特征链接在一起的非循环数据流来保存。从80年代开始,基于历史的建模范例是众所周知的。通过两个持久数据表示来描述建模对象:历史和B-rep(即边界表示)。B-rep是在历史中定义的计算的结果。当建模对象被表示时,在计算机的屏幕上显示的部件的形状是(例如,B-rep的棋盘格)。部件的历史是设计意图。基本上,历史收集关于建模对象已经经历的操作的信息。B-rep可以与历史一起保存,以便更容易显示复杂的部件。历史可以与B-rep一起保存,以便允许根据设计意图改变部件的设计。
PLM系统另外意味着适于管理代表物理制造产品(或要制造的产品)的建模对象的任何系统。因此,在PLM系统中,通过适于制造物理对象的数据来定义建模对象。这些通常可以是尺寸值和/或容差值。为了正确地制造物体,确实是具有这样的值更好。
图3示出了系统的示例,其中系统是客户端计算机系统,例如用户的工作站。
该示例的客户端计算机包括连接到内部通信总线3000的中央处理单元(CPU)3010、还连接到总线的随机存取存储器(RAM)3070。客户端计算机还具有图形处理单元(GPU)3110,其与连接到总线的视频随机存取存储器3100相关联。视频RAM 3100在本领域中也被称为帧缓冲器。大容量存储设备控制器3020管理对大容量存储设备(例如硬盘驱动器3030)的访问。适于有形地体现计算机程序指令和数据的大容量存储器设备包括所有形式的非易失性存储器,例如包括:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘和可移动磁盘;磁光盘。前述的任何一个都可以由专门设计的ASIC(专用集成电路)来补充或并入其中。网络适配器3050管理对网络3060的访问。客户端计算机还可以包括触觉设备3090,例如光标控制设备、键盘等。光标控制设备被用在客户计算机中,以允许用户选择性地将光标定位在显示器3080上的任何期望位置。此外,光标控制设备允许用户选择各种命令和输入控制信号。光标控制设备包括用于向系统输入控制信号的多个信号生成设备。通常,光标控制设备可以是鼠标,鼠标的按钮用于产生信号。可替换地或附加地,客户端计算机系统可以包括敏感垫和/或敏感屏幕。
计算机程序可以包括可由计算机执行的指令,所述指令包括用于使上述系统执行所述方法的装置。程序可以记录在任何数据存储介质上,包括系统的存储器。程序例如可以在数字电子电路中实现,或者在计算机硬件、固件、软件中实现,或者在它们的组合中实现。程序可以被实现为一种装置,例如,有形地包含在机器可读存储设备中以供可编程处理器执行的产品。方法步骤可以由可编程处理器执行,可编程处理器执行指令程序以通过对输入数据进行操作并生成输出来执行该方法的功能。因此,处理器可以是可编程的并被联接以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并向数据存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。应用程序可以用高级程序化的或面向对象的编程语言来实现,或者如果需要,可以用汇编或机器语言来实现。在任何情况下,语言可以是编译的或解释的语言。程序可以是完全安装程序或更新程序。程序在系统上的应用在任何情况下导致用于执行该方法的指令。或者,可以在云计算环境的服务器上存储和执行该计算机程序,该服务器通过网络与一个或多个客户机通信。在这种情况下,处理单元执行程序所包括的指令,从而使得在云计算环境上执行该方法。
“设计3D建模对象”指定至少是对3D建模对象进行加工的过程的一部分的任何动作或动作系列。因此,该方法可以包括从头开始创建3D建模对象。或者,该方法可以包括获得先前创建的3D建模对象,然后修改该3D建模对象。
该方法可以被包括在制造过程中,制造过程可以包括在执行该方法之后产生对应于建模对象的物理产品。在任何情况下,通过该方法设计的建模对象可以表示制造对象。因此,建模对象可以是建模实体(即,表示实体的建模对象)。制造对象可以是产品,例如部件、或部件的组件。因为该方法改进了建模对象的设计,所以该方法还改进了产品的制造,从而提高了制造过程的生产率。
所谓“获得”是指允许通过该方法检索或取得基本网格的任何类型的数据获得。
获得S10基本网格例如可以包括从(例如,远处的)存储器或服务器或其中存储了这些数据的任何非易失性存储器下载/检索(例如,通过网络)基本网格。或者,该方法可以从设计过程获得基本网格,例如,其中用户定义(即,设计)基本网格。
基本网格表示3D建模对象。基本网格是可以用作获得表示制造产品的3D建模对象的起始点的3D模型。设计者将在细节上工作,并最终将网格转换为更高分辨率的网格,从而形成更平滑的模型。换句话说,基本网格包括定义3D建模对象的空间分布的几何数据的至少一部分(例如,全部)。基本网格指定任何图形结构,其中顶点(3D位置)和边缘(例如,段)将顶点逐两地链接并形成网格的所谓面(即,边缘的最小循环)。
面可以由至少三个顶点(例如,多于三个,如四个)形成。基本网格可以包括三角形基本网格。也就是说,三角形基本网格的面可以由三个顶点形成。另外和/或可选地,基本网格也可以包括四边形基本网格。也就是说,四边形基本网格的面可以由四个顶点形成。
该方法选择S20基本网格的一个或多个连接边缘。所谓“选择”是指导致将一个或多个连接边缘与基本网格的其余部分区分开的任何动作或一系列动作。该选择可以由用户以任何方式执行,例如,通过适于允许用户在基本网格上进行选择的图形用户界面,或者通过“连接的”CAD系统自动地或半自动地执行,这意味着一个或多个边缘中的至少一个边缘链接公共(即,相同的)顶点。
由此,选择S20获得包括两个端点的(一个或多个,例如一个)连接边缘的路径,即,共享一个或多个连接边缘中至多一个的两个不同顶点(例如,在仅一个连接边缘的情况下相同的连接边缘)。
路径包括至少一组连接边缘,从而形成折线。折线可以自相交一次或多次。折线包括两个端点,其中端点是与该组连接边缘中的一个边缘共享的点。当沿着折线行进时,端点通常代表折线的第一点或最后点。
该方法基于所选择的边缘细分S30基本网格。所谓“细分”是指用新的附加顶点、边缘和/或面来替换基本网格的一部分(即,一组边缘和顶点)的任何过程。换句话说,细分是以网格的一部分作为输入,并且输出现有顶点、边缘和/或面的细化,即,具有更大或相等(例如,严格地更大)数量的顶点、边缘和/或面来替换现有顶点、边缘和/或面的任何过程。
细分基于所选择的边缘。也就是说,细分基于所选边缘和/或其共享顶点(例如,也基于端点中的至少一个)的位置,并且可以将邻近所选边缘和/或其共享顶点的一组现有面(即,基本网格的面)分解为具有新的公共边缘或顶点的一组新的面。所谓“相邻”是指现有面的组包括(例如,由其组成)基本网格的一个或多个面,每个面共享一个或多个连接的边缘和/或其共享的顶点中的至少一个。可以以任何方式来设置现有面的组的面的数量,以便基于所选择的边缘来改变细分的范围。
现在更详细地讨论细分S30。
该方法在所选择路径上获得S310斜面图案区域。斜面图案区域是指沿着一个或多个连接边缘扫过的一组一个或多个面。一组一个或多个面可以沿着包括在所选路径中的一个或多个连接边缘形成倾斜形状(所谓的“斜面”)。在所选择的路径上获得斜面图案区域,因此斜面图案区域基本上位于包括在所选择的路径中的连接边缘的位置上。
获得S310包括识别共享连接边缘的路径的边缘的基本网格的每一个面。
获得S310还包括细分基本网格的每个经识别面,以达到切口的数量N。切口是细分基本网格的经识别面的面,其沿着共享经识别面的一个或多个连接边缘中的至少一个(例如,全部)被扫掠。换句话说,切口的至少两个(例如,正好两个)边缘沿着一个或多个连接边缘中的至少一个细分(或扫掠,如细分建模领域中已知的)经识别面。切口的数量N是扫过一个或多个连接边缘中的至少一个的切口的边缘的数量。N是非负整数;或者,N是由零(0)、正自然数(1、2、3、……)组成的一组整数的正整数。按照惯例,当N=0(即,细分执行0个切口)时,该方法可以通过沿着共享经识别面的连接边缘中的至少一个或多个扫掠的一个面来细分每个经识别面。在该惯例中,大于零的切口N的数量意味着在N=0处创建的面(也称为0切口面)被由沿着在N=0处创建的面扫掠的N个边缘所界定的面细分(或分割)。这N个边缘可以分开任何预定的距离,这仅仅是实施方式的问题。
该方法可以细分每个识别的基本网格,以达到给定数量(例如,N)的切口。“达到”意味着该方法对每个经识别面执行迭代的细分,其中随后可以执行每次细分。按照惯例,该方法可以通过创建0切口面来开始迭代过程,即,该方法针对N=0细分,使得每个经识别面被沿着共享经识别面的至少一个或多个连接边缘扫掠的一个面细分。
该方法可以继续迭代细分。即,随后添加切口,例如,存在p个值或p个切口,它们是小于N的有序正整数,表示0切口面的细分(即,创建相应的切口),直达到到数量N。例如,如果仅添加一个切口N=1,则p至少具有值p=1。换句话说,该方法通过由沿0切口面扫掠的一个边缘界定的两个面来细分0切口面。对于p=2进行第二个切口;换句话说,该方法通过由两个边缘限定的面(即,由两个边缘限定的三个面)来细分0切口面。对于p=3创建第三切口……并且对于p=N添加第N个切口面。该方法可以保留关于每个切口的边缘的信息,例如,对于p=1、p=2等,该方法可以保留关于在0切口面上添加的边缘的信息。因此,该方法可以根据所述信息(例如,标识符)来识别斜面图案的边缘。
对于路径的两个端点中的至少一个,该方法获得S320过渡区域。所谓“过渡区域”是指在斜面图案区域和基本网格的其余几何形状之间产生几何形状过渡的一组面。该方法通过对除了所计算的斜面图案区域之外的、共享路径的两个端点中的至少一个端点的所有面进行分组来获得过渡区域。所谓“分组”是指允许该方法将共享路径的两个端点中的至少一个端点的面与不共享两个端点中的至少一个端点的面区分开的任何操作,并且斜面图案区域的面在两个端点中的至少一个端点的位置处共享边缘。
该方法重新网格化S330过渡区域。换句话说,该方法用新的(或附加的)边缘和/或顶点来替换(或添加或删除)在S320分组的面的边缘和/或顶点集合的一个或多个边缘。因此,该方法可以修改过渡区域的网格拓扑。针对包括顶点对的每个切口(在斜面图案区域中),重新网格化S330获得位于过渡区域中的过渡顶点。“过渡顶点”是指由方法在过渡区域的位置添加的顶点,即,先前未包括在在S320分组的面中。过渡顶点可以以任何方式(通过该方法)定位在(即,在S320处分组的面内)中,并且在相对于切口的任何距离内。
重新网格化S330计算将切口的顶点对的每个顶点与所获得的过渡顶点相连接的边缘。换句话说,该方法通过创建到过渡区域的新边缘来建立过渡顶点与相应切口的顶点对的关联,该过渡区域经由边缘将过渡顶点连接到顶点对的每个相应顶点。
该方法输出S40细分网格。换句话说,该方法在S30提供细分的结果,即基本网格的细分。所谓“输出”意味着该方法可以执行任何类型的数据处理,使得细分网格可用于交互、存储和/或传输到(例如,远处的)存储器或服务器以用于其后处理或进一步设计。
因此,该方法改进了3D建模对象的设计。实际上,通过保持细分和基本网格的其余几何形状之间的几何一致性,基本网格的细分在所选择的一个或多个连接边缘上保持设计意图。实际上,该方法获得斜面图案区域,该区域使得基本网格的拓扑沿着边缘的列表致密。该方法获得过渡区域,以确保斜面图案区域的几何形状符合基本网格的几何形状。这都是由于重新网格化,其获得了连接到(斜面的)切口的顶点的过渡顶点,并因此实施了切口的顶点和过渡区域之间的几何相干性(通过计算的边缘)。由此,该方法输出对于用户非常舒适的可预测的解决方案(因为该方法符合设计意图)。实际上,用户因此可以预期设计的结果,并在设计过程的进一步步骤中检查其有效性和质量。
给定顶点的“拓扑阶数”可以被定义为连接到给定顶点的边缘的数量。因此,拓扑阶数是非负数,例如,如果顶点不被任何边缘共享则是零,是偶数或奇数。在顶点是路径的两个端点中的至少一个的情况下,由连接到所述端点的边缘的数量组成,包括例如路径的至少一个边缘和过渡区域的至少一个边缘。
过渡区域的重新网格化S330可以包括:在细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到偶数2N个切口的情况下,以及在(一个或多个连接边缘的)路径的两个端点中的至少一个的拓扑阶数是偶数(即,所述端点的拓扑阶数是成对的数)的情况下,针对N=0的切口,将连接到路径的两个端点中的至少一个端点的(过渡区域的)顶点中的一个指定为会聚(convergence)顶点。
通过将一个顶点指定为会聚顶点,意味着该方法从在S320获得的过渡区域中包括的面组中选择顶点作为重新网格化S330的参考。该指定可以以任何方式、通过任何方法并在任何标准下执行。例如,该方法可以将顶点指定为包括在具有到至少一个端点的最小距离(例如,在相对维度中或经由图形距离)的过渡区域中的顶点,例如,共享路径的一个或多个连接边缘顶点(也称为“端点顶点”)中的至多一个的顶点之一。附加地或替代地,所述方法可以基于使相对于所述至少一个端点的角度一致性最大化来指定过渡区域的顶点。例如,该方法可以指定相对于至少一个端点具有最接近180度(直到某一数值公差)的角度的顶点。附加地或替代地,该方法可以基于用户设计意图来指定过渡区域的顶点,其中由用户执行的用于选择形成路径的边缘的手势可以用于推断过渡顶点。这是实现方式的问题。
重新网格化S330还可以为每个随后的切口(在细分中添加的)执行获得过渡顶点。因此,重新网格化创建先前未包括在位于过渡区域中的在S320处被分组的面中的新顶点。该方法可以以任何方式获得过渡顶点,使得它位于过渡区域中。例如,该方法可以考虑后续切口的顶点和会聚顶点的位置,以定位过渡顶点。当细分达到偶数2N个切口时,重新网格化S330获得N个过渡顶点。
重新网格化S330还可以计算将后续切口的顶点对的每个顶点与所获得的过渡顶点相连接的边缘。
重新网格化S330还可以保持斜面图案区域的其它面的拓扑结构不被修改。换句话说,重新网格化相对于所获得的过渡顶点修改过渡区域的拓扑,并考虑斜面图案区域的拓扑(即,顶点和边缘的连接)。
重新网格化S330由此可以获得包括2N个四边形面和一个三角形面的重新网格化的过渡区域。也就是说,当细分达到偶数2N个切口,并且拓扑阶数是偶数时,重新网格化S330可以考虑N个获得的过渡顶点,同时考虑偶数2N个切口的顶点。因此,存在从连接偶数2N中的切口对(例如,最后在细分上添加的切口,其可以在中心找到)的过渡顶点中的一个(所获得的N个顶点中的一个)创建的一个三角形面。剩余的N-1个顶点连接到相应的后续2N-1个切口,并相对于相应的切口形成四边形面。
这提高了网格细分之间的几何一致性,所述网格细分包括相对于网格的剩余几何形状的斜面图案区域和重新网格化的过渡区域。实际上,该方法考虑斜面图案的面的几何布置(以偶数2N个切口的形式),以便产生遵循其几何形状的区域(即,过渡区域)。随着几何一致性的提高,改进了3D建模对象的设计。实际上,由于重新网格化,向用户呈现可以例如相对物理输入更好地模拟的3D建模对象。
过渡区域的重新网格化S330可以包括,在细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到奇数2N+1个切口的情况下,以及在路径的两个端点中的至少一个端点的拓扑阶数是偶数的情况下,针对N=0的切口执行将连接到路径的两个端点中的至少一个端点的顶点之一指定为会聚顶点。重新网格化S330通过使用上述相同的原理来执行指定。
重新网格化S330还可以针对每个随后的切口执行获得位于过渡区域中的过渡顶点。重新网格化可以通过与上述相同的原理获得过渡顶点(参考达到偶数2N个切口)。
重新网格化S330还可以计算将后续切口的顶点对的每个顶点与所获得的过渡顶点相连接的边缘。重新网格化S330可以保持不修改斜面图案区域和过渡区域的其它面的拓扑结构。
重新网格化S330可以执行根据上述原理的上述步骤。重新网格化S330由此可以获得包括2N个四边形面和一个三角形面的重新网格化的过渡区域。由于存在2N+1个切口,并且对于每个随后的切口,重新网格化获得过渡顶点,因此,存在不与过渡顶点连接的斜面图案区域的切口。因此,存在从连接偶数2N的(奇数2N+1个切口的)一对切口(例如,最后在细分上添加的切口,其可以在中心找到)的(所获得的N个顶点中的)过渡顶点中的一个创建的一个三角形面。剩余的N-1个顶点连接到相应的后续2N-1个切口,并相对于相应的切口形成四边形面。
这提高了网格细分之间的几何一致性,所述网格细分包括相对于网格的剩余几何形状的斜面图案区域和重新网格化的过渡区域。实际上,该方法考虑斜面图案的表面的几何布置(以奇数2N+1个切口的形式),以便产生遵循其几何形状的区域(即,过渡区域)。随着几何一致性的提高,改进了3D建模对象的设计。实际上,由于重新网格化,向用户呈现可以例如针对物理输入更好地模拟的3D建模对象。
过渡区域的重新网格化S330可以包括:在细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到偶数2N个切口的情况下,以及在路径的两个端点中的至少一个端点的拓扑阶数是奇数的情况下,对于N=0的切口执行识别过渡区域的第一顶点和第三顶点。第一顶点和第三顶点可以是在S320处获得的过渡区域中包括的任何顶点,例如在过渡区域的边界处或在其内部。第一顶点和第三顶点被连接到路径的两个端点中的至少一个,从而与两个端点中的至少一个共享链接。重新网格化S330还可以识别第二顶点。第二顶点可以连接到第一和第三顶点(例如,通过至少一个边缘)。第二顶点可以是会聚顶点。换句话说,该方法可以将第二顶点指定为会聚顶点。
重新网格化S330还可以对于N=0的切口执行获得第一过渡顶点。第一过渡顶点可以从上述相同的原理获得。第一过渡顶点可以位于过渡区域中。重新网格化S330还可以仍然对于N=0的切口执行计算边缘。边缘可以将生成的第一过渡顶点连接到第二顶点。
重新网格化S330还可以为每个随后的切口执行获得位于过渡区域中的过渡顶点。重新网格化S330还可以计算将后续切口的顶点对的每个顶点与所获得的过渡顶点相连接的边缘。
对于随后的切口,重新网格化S330还可以保持斜面图案区域和过渡区域的其它面的拓扑结构不被修改。由此,重新网格化S330可以获得包括至少2N个四边形面和一个三角形面的重新网格化过渡区域。也就是说,该方法不包括少于2N个四边形面和一个三角形面,并且可以添加另外的面以保持重新网格化一致,这仅是实现方式的问题。
这提高了网格细分之间的几何一致性,所述网格细分包括相对于网格的剩余几何形状的斜面图案区域和重新网格化的过渡区域。实际上,该方法考虑斜面图案的表面的几何布置(以偶数2N个切口的形式并且拓扑阶数是奇数),以便产生遵循其几何形状的区域(即,过渡区域)。随着几何一致性的提高,改进了3D建模对象的设计。实际上,由于重新网格化,向用户呈现可以例如针对物理输入更好地模拟的3D建模对象。
过渡区域的重新网格化S330可以包括:在细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到奇数2N+1个切口的情况下,并且在路径的两个端点中的至少一个的拓扑阶数是奇数的情况下,针对N=0的切口执行识别过渡区域的与路径的两个端点中的至少一个、以及连接到第一和第三顶点的第二顶点相连接的第一顶点和第三顶点。
重新网格化S330还可以对于N=0的切口获得位于过渡区域中的第一过渡顶点,并且计算将所生成的第一过渡顶点连接到第二顶点的边缘。
重新网格化S330可以为每个随后的切口获得位于过渡区域中的过渡顶点,并且计算将随后的切口的顶点对中的每个顶点与所获得的过渡顶点连接的边缘。
对于随后的切口,重新网格化S330还可以保持不修改斜面图案区域和过渡区域的其它面的拓扑。重新网格化S330由此获得包括至少2N个四边形面和一个三角形面的重新网格化过渡区域。也就是说,该方法不包括少于2N个四边形面和一个三角形面,并且可以增加另外的面以保持重新网格化一致。
这提高了网格细分之间的几何一致性,所述网格细分包括相对于网格的剩余几何形状的斜面图案区域和重新网格化的过渡区域。实际上,该方法考虑斜面图案的表面的几何布置(以奇数2N+1个切口的形式并且拓扑阶数是奇数),以便产生遵循其几何形状的区域(即,过渡区域)。随着几何一致性的提高,改进了3D建模对象的设计。实际上,由于重新网格化,向用户呈现可以例如针对物理输入更好地模拟的3D建模对象。
获得位于过渡区域中的过渡顶点可以包括计算虚构线。所谓“虚构线”是指可以通过该方法计算的任何理论线。换句话说,虚构线被该方法使用,但不直接应用于重新网格化或输出。
虚构线可以在虚构顶点和会聚顶点之间延伸(它的尺寸,例如长度)。虚构顶点是一个理论点,与虚构直线相似。虚构顶点可以位于(例如,通过该方法)由斜面图案区域和过渡区域两者共享的边缘上。会聚顶点可以位于过渡区域的一个边缘上。例如,如果细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到偶数2N个切口,并且如果路径的两个端点中的至少一个端点的拓扑阶数是偶数,则对于N=0的切口,会聚顶点可以是连接到路径的两个端点中的至少一个端点的指定的一个顶点。
在另一个示例中,如果细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到奇数2N+1个切口,并且如果路径的两个端点中的至少一个端点的拓扑阶数是偶数,则对于N=0的切口,会聚顶点可以是连接到路径的两个端点中的至少一个端点的指定的一个顶点。
在另一个示例中,如果细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到偶数2N个切口,并且如果路径的两个端点中的至少一个端点的拓扑阶数是奇数,则对于N=0的切口,会聚顶点可以是连接到第一和第三顶点的经识别第二顶点,所述第一和第三顶点是在连接到路径的两个端点中的至少一个端点的过渡区域上识别的。
在另一个示例中,如果细分基本网格的每个经识别面包括细分基本网格的每个经识别面以达到奇数2N+1个切口,并且如果路径的两个端点中的至少一个端点的拓扑阶数是奇数,则对于N=0的切口,会聚顶点可以是经识别第二顶点,经识别第二顶点连接到在过渡区域上识别的第一和第三顶点,该过渡区域连接到路径的两个端点中的至少一个端点。
该方法可以将位于过渡区域上的一个或多个过渡顶点放置在虚构线上。也就是说,对于在S330的重新网格化,该方法考虑虚构线(和相应的切口)的延伸,以放置过渡顶点。
这也提高了几何精度。实际上,该方法避免了斜面图案区域和网格的剩余几何形状之间的几何像差。这都是由于顶点沿着虚构线的定位。实际上,虚构线指示用于保持过渡区域相对于网格的剩余几何形状的一致性的总方向。因此,向用户呈现精确呈现预期设计的建模对象。
虚构顶点可以被构造为如果达到偶数2N个切口时切口的顶点对之间的平均距离。换句话说,该方法可以在对应于平均距离的位置处创建虚构顶点。或者,虚构顶点可以被构造为在切口中的中间切口的位置,如果达到奇数2N+1个切口的话。例如,如果切口在斜面图案区域中均匀间隔,则该方法可以在中间切口的位置处构造虚构顶点。
因此,该方法允许根据切口的数量来保持几何一致性。在切口是偶数的情况下,该方法寻找设定沿着切口的中间区域延伸的线的平均方向,而在切口的数量是奇数的情况下,该方法设定沿着几何中间(以中间切口的位置的形式)的方向。由于该方法能够使过渡区域适应切口数量的两种情况,因此实际保持了几何一致性。
放置位于虚构线上的过渡区域上的过渡顶点可以包括将过渡顶点(相应过渡顶点)均匀地放置在虚构线上。例如,该方法可以包括考虑虚构线的尺寸以均匀化过渡顶点的放置。
这导致该方法获得规则的形状,其中各个面均匀地间隔开。这在重新网格化的精确度和平滑度之间实现了良好的折衷。实际上,由于过渡顶点的放置,该方法确保了斜面的入射面和主形状体之间的干净的曲率过渡。
该方法还可以包括,对于每个切口,将虚构顶点构造为切口的顶点对之间的平均距离。例如,该方法可以为该对的每个顶点设置权重,用于计算平均距离。或者,该方法可以将虚构顶点构造为无顶点对的奇数切口的位置。也就是说,该方法可以选择不共享顶点对的奇数切口的任何位置。该方法还可以计算在切口的虚构顶点和会聚顶点之间延伸的虚构线。该方法还可以将过渡顶点放置在计算出的虚构线上。
因此,该方法使对应于切口类型的虚构顶点的设置分离。因此,该方法提高了创建过渡区域的灵活性。
该方法可以针对每个切口(假设切口的数量是N,其可以是奇数或偶数)在计算的虚构线上放置过渡顶点包括:针对切口的每顶点对(k,N-k-1),其中0<k<N,在虚构线上放置过渡顶点(Tk,N-k-1)。过渡顶点可以以比率(位置)k/(INT(N/2)+1)放置,其中INT(X)是(对应于)(数字X的)整数部分。
因此,该方法根据比率均匀地放置过渡顶点,从而获得均匀(和平滑)的过渡区域。
过渡区域的重新网格化S330还可以包括计算折线。折线是指一组相互连接的边缘。折线可以连接一个或多个所获得的过渡顶点。换句话说,折线的边缘之间的连接对应于一个或多个过渡顶点。
这导致沿着一个或多个过渡顶点分割过渡区域的“分割形状”。已经认识到,分割形状用作保持几何形状平滑并且不具有几何像差的吸引区域(因为重新网格化可以增加折线的深度,如从细分建模中已知的)。
现在参考图4至图21讨论示例。
现在讨论细分建模的一些方面。
在细分建模的上下文中,斜面化(Bevel)是这样的操作,其包括沿着边缘的列表来致密化细分基本网格的拓扑。
对于给定的形状,致密化在斜面区域中引起局部吸引。该斜面可用于设计圆角、或扫掠、夹紧或字符线(也称为特征线、或渐变边缘)。
图4示出了使用斜面来设计圆角410或圆角420。
图5示出了在建模物体上设计夹紧件的斜面的使用。斜面操作者在建模对象的边界510上添加斜面510。
图6示出了字符线610的屏幕截图。
如上所述,斜面(也称为“细分斜面”)是用于沿一组连接边缘来局部致密化基本网格拓扑的特征。
图7A、图7B、图7C示出了用于斜面特征/操作的输入:
·具有四边形或三角形面的细分基本网格700;
·描述边缘路径(可能在顶点处自交叉)的一组不同的连接边缘710;
·将沿着初始边缘扫掠的图案720。图案的复杂性定义了“切口”的数量(描述表示曲线的折线的内部自由度,切口的数量大于或等于0)。
图7C示出了具有四个切口凹面图案的基本网格730和斜面740的拓扑(在应用斜面操作时由基本网格产生)。
·内部部分750:拓扑是公知的,输入边缘由更多的边缘和面代替。
·交叉部分760:可以使用填充技术来创建适当的拓扑,该主题在这里不被处理。
·末端部分770:当斜面停止于边界上时不创建拓扑结构,唯一要考虑的情况是当斜面在内部顶点上结束时。围绕末端顶点的各个面被去除,并且该过渡区域被重新网格化,使得流(或网格线)保持自然并且保持设计者的意图。
该实施方式可以用三个步骤来解释:1)用于规则顶点的端部拓扑,2)用于异常顶点的端部拓扑,以及3)过渡顶点的位置。
1)规则顶点的末端拓扑。
作为提醒,在4个确切边缘的交叉处的内部顶点被称为是规则的。
图8A示出了该方法的基本原理。该方法接收与斜面算子相同的输入,例如,基本网格和具有端点顶点820的所选边缘810。该方法输出斜面和过渡区域820。在该方法中,所产生的(斜面和过渡区域的)拓扑将根据斜面的切口数量的奇偶性而稍微不同。
图8A示出了对于规则顶点的情况的偶数个切口的拓扑:偶数个切口2N生成N个过渡顶点(N-1是规则的)、2N+2个四边形面和1个三角形面。
图8B示出了对于规则顶点的情况的奇数个切口的拓扑:奇数个切口2N+1将生成:N个过渡顶点(N-1是规则的)、2N+3个四边形面。
2)内部异常顶点的端部拓扑。
在这种更一般的情况下,拓扑将取决于割数和顶点化合价的奇偶性,但是行为将类似于具有规则顶点的行为。
2.1.偶数化合价顶点的拓扑。
图9示出了输入配置900。输入配置示出了顶点910,该顶点910包括所选择的(斜面将被应用到的)边缘的端点。图9示出了(偶数化合价的)910的顶点的输入拓扑:
图9的示例示出了围绕顶点910的偶数个面的情况:2个面共享斜面的最后一个边缘,并且2*k个其他面在过渡区域920中。
图10示出了偶数化合价顶点和偶数个切口的输出拓扑。该方法应用与规则顶点的情况相同的模式。从图10可以看出,偶数个切口2N产生N个过渡顶点(其中N-1个是规则的)、2N个四边形面和1个三角形面。其他面的拓扑结构不变。
图11示出了偶数化合价顶点和奇数个切口的输出拓扑。该方法应用与规则顶点的情况相同的模式。从图11可以看出,奇数个切口2N+1将产生:N个过渡顶点(N-1是规则的)、2N+1个四边形面。其他面的拓扑结构不变。
图12示出了化合价6顶点的情况,由此示出了该方法的可扩展性。
2.2.奇数化合价顶点的拓扑。
图13示出了围绕奇数化合价的顶点1310的配置1300的输入。输入配置1300示出了围绕顶点1310的奇数个面:共享斜面的最后边缘的2个面、以及在过渡区域1320中的2*k+1个其他面。在奇数化合价的情况下,默认拓扑将需要一个额外的会聚顶点。
图14示出了奇数化合价顶点和偶数个切口的拓扑。提出了与(在图14中对于0个切口、2个切口和4个切口的情况)偶数化合价的图案类似的图案。偶数个切口2N产生1+N个过渡顶点(N-1是规则的)、2N+2个四边形面和1个三角形面。其他面的拓扑结构不变。
图15示出了奇数化合价顶点和奇数个切口的拓扑。提出了与偶数化合价的图案类似的图案:奇数个切口2N+1产生1+N个过渡顶点(N-1是规则的)、2N+3个四边形面。其他面的拓扑结构不变。
图16示出了化合价5顶点的情况,由此示出了该方法的可扩展性。
3)过渡顶点的位置。
过渡顶点不仅是到良好拓扑(四边形面、低数量的异常顶点)的关键,而且它们还通过它们的位置为设计者提供了更多的自由度。它们对斜面的过渡质量具有巨大的影响:
-它们避免所有网格线会聚到仅一个顶点;
-它们确保斜面的入射面和主形状体之间的干净的曲率过渡。
可以通过提供将沿着边缘被扫掠的轮廓来定制斜面。在一些情况下,由于斜面应当合并到初始主体中,因此过渡区域可能受到高度影响。该方法提供两种策略,如果设计者希望对形状进行局部或全局控制。如果需要,设计者还可以手动编辑顶点。
对过渡顶点进行定位涉及对以下各者的定位:
-虚构顶点:它可以是全局的或局部的;以及
-由会聚顶点和虚构顶点定义的虚构线。
图17示出了网格的横向视图,示出了过渡顶点和虚线的位置。
图18示出了过渡顶点和虚线的布置的上视图。
现在讨论放置虚构顶点的两种策略。
3.1.全局策略。
图19和图20示出了全局策略。这种策略允许过渡顶点的稳定位置并且不与斜面形状链接,这需要计算一个虚构顶点,该虚构顶点将通过虚构线被链接到会聚顶点。然后,所有过渡顶点将被限制在该线上。
如图19所示,虚构顶点被构造为:
-在偶数个切口的情况下的两个中间切口的平均值
-在奇数个切口的情况下中间切口的位置
如图20所示,过渡顶点然后沿着虚构边缘均匀分布。
3.2.局部策略。
在这种情况下,为每个过渡顶点计算虚构边缘。
为了说明起见,假设切口的数量是N,插入的顶点可以从1编号到N。
过渡顶点将连接到斜面两侧的顶点,即连接到顶点k和N-k-1。
对于每对顶点(k,N-k-1),用全局规则计算虚构顶点Fk,N-k-1:如果k≠N-k-1,则为平均值,如果这些点相同,则为k。
在INT是整数部分的比率处,在比率处和段[Fk,N-k-1,汇聚顶点]上构造过渡顶点Tk,N-k-1
图21示出了过渡顶点沿着段的放置。

Claims (15)

1.用于设计表示制造产品的3D建模对象的计算机实现方法,所述方法包括:
获得(S10)表示所述3D建模对象的基本网格;
选择(S20)所述基本网格的一个或多个连接边缘,从而获得包括两个端点的连接边缘的路径;
基于所选择的边缘,通过以下方式来细分(S30)所述基本网格:
-通过以下方式来获得(S310)所选择的路径上的斜面图案区域:
--识别所述基本网格的共享所述路径的边缘的每个面,
--细分所述基本网格的每个经识别的面,以达到N个切口,其中N是非负数;
-对于所述路径的所述两个端点中的至少一个,通过对除了所计算的斜面图案区域之外的、共享所述路径的所述两个端点中的所述至少一个的所有面进行分组来获得(S320)过渡区域;
-通过以下方式来重新网格化(S330)所述过渡区域:
--针对包括顶点对的每个切口,获得位于所述过渡区域中的过渡顶点,
--计算将所述切口的所述顶点对中的每个顶点与所获得的过渡顶点连接的边缘;
输出经细分的基本网格。
2.根据权利要求1所述的计算机实现方法,其中,重新网格化所述过渡区域包括:如果细分所述基本网格的每个经识别的面包括细分所述基本网格的每个经识别的面以达到偶数2N个切口,并且如果所述路径的所述两个端点中的所述至少一个的拓扑阶数是偶数,则执行:
针对N=0的切口,将连接到所述路径的所述两个端点中的所述至少一个的一个顶点指定为会聚顶点;
针对每个后续切口,获得位于所述过渡区域中的过渡顶点,并计算将所述后续切口的所述顶点对中的每个顶点与所获得的过渡顶点连接的边缘;以及
保持所述斜面图案区域和所述过渡区域的其它面的拓扑结构不被修改,从而获得包括2N个四边形面和一个三角形面的经重新网格化的过渡区域。
3.根据权利要求1或2所述的计算机实现方法,其中,重新网格化所述过渡区域包括:如果细分所述基本网格的每个经识别的面包括细分所述基本网格的每个经识别的面以达到奇数2N+1个切口,并且如果所述路径的所述两个端点中的所述至少一个的拓扑阶数是偶数,则执行:
针对N=0的切口,将连接到所述路径的所述两个端点中的所述至少一个的一个顶点指定为会聚顶点;
针对每个后续切口,获得位于所述过渡区域中的过渡顶点,并计算将所述后续切口的所述顶点对中的每个顶点与所获得的过渡顶点连接的边缘;以及
保持所述斜面图案区域和所述过渡区域的其它面的拓扑结构不被修改,从而获得包括2N个四边形面和一个三角形面的经重新网格化的过渡区域。
4.根据权利要求1至3中任一项所述的计算机实现方法,其中,重新网格化所述过渡区域包括:如果细分所述基本网格的每个经识别的面包括细分所述基本网格的每个经识别的面以达到偶数2N个切口,并且如果所述路径的所述两个端点中的所述至少一个的拓扑阶数是奇数,则执行:
针对N=0的切口:
-识别所述过渡区域的连接到所述路径的所述两个端点中的所述至少一个的第一顶点和第三顶点以及连接到所述第一顶点和所述第三顶点的第二顶点,所述第二顶点是会聚顶点,以及
-获得位于所述过渡区域中的第一过渡顶点,并计算将所生成的第一过渡顶点连接到所述第二顶点的边缘;以及
对于每个后续切口,获得位于所述过渡区域中的过渡顶点,并计算将所述后续切口的所述顶点对中的每个顶点与所获得的过渡顶点连接的边缘;以及
保持所述斜面图案区域和所述过渡区域的其它面的拓扑结构不被修改,从而获得包括至少2N个四边形面和一个三角形面的经重新网格化的过渡区域。
5.根据权利要求1至4中任一项所述的计算机实现方法,其中,重新网格化所述过渡区域包括:如果细分所述基本网格的每个经识别的面包括细分所述基本网格的每个经识别的面以达到奇数2N+1个切口,并且如果所述路径的所述两个端点中的所述至少一个的拓扑阶数是奇数,则执行:
针对N=0的切口:
-识别所述过渡区域的连接到所述路径的所述两个端点中的所述至少一个的第一顶点和第三顶点以及连接到所述第一顶点和所述第三顶点的第二顶点,所述第二顶点是会聚顶点,以及
-获得位于所述过渡区域中的第一过渡顶点,并计算将所生成的第一过渡顶点连接到所述第二顶点的边缘;以及
对于每个后续切口,获得位于所述过渡区域中的过渡顶点,并计算将所述后续切口的所述顶点对中的每个顶点与所获得的过渡顶点连接的边缘;以及
保持所述斜面图案区域和所述过渡区域的其它面的拓扑结构不被修改,从而获得包括至少2N个四边形面和一个三角形面的经重新网格化的过渡区域。
6.根据权利要求1至5中任一项所述的计算机实现方法,其中,获得位于所述过渡区域中的过渡顶点包括:
计算在虚构顶点和会聚顶点之间延伸的虚构线:
-所述虚构顶点位于由所述斜面图案区域和所述过渡区域两者共享的边缘上,以及
-所述会聚顶点位于所述过渡区域的一个边缘上;
将位于所述过渡区域上的所述过渡顶点放置在所述虚构线上。
7.根据权利要求6所述的计算机实现方法,其中,所述虚构顶点如下被构造:
如果达到偶数2N个切口,则所述虚构顶点按照切口的顶点对之间的平均距离被构造;或
如果达到奇数2N+1个切口,则所述虚构顶点按照切口中的中间切口的位置被构造。
8.根据权利要求7所述的计算机实现方法,其中,将位于所述过渡区域上的所述过渡顶点放置在所述虚构线上包括:将所述过渡顶点均匀地放置在所述虚构线上。
9.根据权利要求6所述的计算机实现方法,还包括:针对每个切口:
根据如下项构造所述虚构顶点:
-所述切口的所述顶点对之间的平均距离,或
-没有顶点对的奇数切口的位置;
计算在所述切口的所述虚构顶点和所述会聚顶点之间延伸的虚构线;以及
将所述过渡顶点放置在所计算的虚构线上。
10.根据权利要求9所述的计算机实现方法,其中,针对每个切口,将所述过渡顶点放置在所计算的虚构线上包括:针对切口的每个顶点对(k,N-k-1),将所述过渡顶点(Tk,N-k-1)以比率k/(INT(N/2)+1)放置在所述虚构线上,其中,INT是整数部分。
11.根据权利要求1至10中任一项所述的计算机实现方法,其中,重新网格化所述过渡区域还包括:计算连接所获得的一个或多个过渡顶点的折线。
12.根据权利要求1至11中任一项所述的计算机实现方法,其中,所述基本网格是四边形基本网格。
13.一种包括指令的计算机程序,当由计算机执行时,所述指令使得所述计算机执行根据权利要求1至12中任一项所述的方法。
14.一种其上记录有根据权利要求13所述的计算机程序的计算机可读介质。
15.一种系统,包括与存储器通信地联接的处理器,所述存储器上记录有根据权利要求13所述的计算机程序。
CN202310914106.1A 2022-07-25 2023-07-25 表示制造产品的3d建模对象的设计 Pending CN117454567A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP22306110.2A EP4312192A1 (en) 2022-07-25 2022-07-25 Design of a 3d modeled object representing a manufacturing product
EP22306110.2 2022-07-25

Publications (1)

Publication Number Publication Date
CN117454567A true CN117454567A (zh) 2024-01-26

Family

ID=82846620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310914106.1A Pending CN117454567A (zh) 2022-07-25 2023-07-25 表示制造产品的3d建模对象的设计

Country Status (4)

Country Link
US (1) US20240027993A1 (zh)
EP (1) EP4312192A1 (zh)
JP (1) JP2024016009A (zh)
CN (1) CN117454567A (zh)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2660782B1 (en) * 2012-05-02 2019-04-10 Dassault Systèmes Designing a 3D modeled object

Also Published As

Publication number Publication date
US20240027993A1 (en) 2024-01-25
JP2024016009A (ja) 2024-02-06
EP4312192A1 (en) 2024-01-31

Similar Documents

Publication Publication Date Title
CN105844711B (zh) 在细分曲面上雕刻2d图像
CN108228987B (zh) 副本选择
KR101250163B1 (ko) 메쉬로부터 파라미터화 표면의 아이소토폴로직(isotopologic) 세트를 생성하는 프로세스
JP6445255B2 (ja) 3dモデル化オブジェクトの圧縮および展開
JP6196032B2 (ja) 複数の3d曲線からの表面の生成
JP4991423B2 (ja) コンピュータにより実施される、パラメトリックな曲面を作成するプロセス
KR100936648B1 (ko) 소정의 대칭 오퍼레이션에 대해 대칭인 파라메트릭 표면의생성 방법
JP7049807B2 (ja) パラメトリックビュー関数に基づくデータベースの照会
CN105389412B (zh) 顺序更新的执行
JP2019179544A (ja) フライス作業によって製造可能な部品の設計
CN109558624B (zh) 生成代表机械部件的2d绘图
JP7071807B2 (ja) 機械部品の骨格の表現
CN111354074A (zh) 经由用户交互来设计3d建模对象
CN105389413B (zh) 按序更新的准则
JP7505881B2 (ja) 弱型定義を用いるモデリング
Yau et al. Extension of surface reconstruction algorithm to the global stitching and repairing of STL models
JP2020115335A (ja) 機械部分の設計
CN104965938B (zh) 通过使用由几何约束连接的几何形状来设计工业产品
JP7477279B2 (ja) B-Repスキンの3D設計
CN112182790A (zh) 设计以凹凸为特征的零件
Santos et al. Integration of CAD Models into Game Engines.
JP2023143870A (ja) スケッチ加工
CN117454567A (zh) 表示制造产品的3d建模对象的设计
CN116226947A (zh) 对3d cad模型的划分
JP2021111376A (ja) 製品の物理的なプロトタイプの3dモデル化オブジェクト

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication