连接模型化物体的面的边的计算机辅助设计方法

文档序号:6478119阅读:165来源:国知局

专利名称::连接模型化物体的面的边的计算机辅助设计方法连接模型化物体的面的边的计算机辅助设计方法本发明涉及计算机程序和系统领域,并且更具体地说,涉及计算机辅助设计(CAD)和计算机辅助制造(CAM)系统领域。市场上提供有许多系统和程序用于零件或零件的组件的设计,例如由DassaultSystemes提供的商标为CATIA的产品。这些所谓的计算机辅助设计(CAD)系统允许用户构建和操作复杂的三维(3D)物体模型或物体组件。因而,CAD系统使用边或线,在特定情况下使用面,来提供模型化物体的表示。可以以各种方式来表示线或边,例如非均匀有理B样条(NURBS)。这些CAD系统将零件或零件的组件管理为模型化物体,所述模型化物体大体上是规范的几何结构。特别地,CAD文件包含根据其生成几何结构的规范。根据几何结构生成表示。可以将规范、几何结构和表示存储在单个或多个CAD文件中。CAD系统包括图形工具,其用以将模型化物体表示给设计者;这些工具专门用于复杂物体的显示——对于零件,在CAD系统中表示物体的文件的通常大小扩大到高达兆字节级的范围,并且组件可以包括数千个零件。CAD系统管理物体模型,这些物体模型存储在电子文件中。使用已知CAD系统来设计机械零件可以视为定义所述零件的几何形状和维数,以便符合功能和制造的需要。大体上,得到的形状是由设计者创建的诸如衬垫、凹穴、凹槽和轴之类的基本特征的组合。通过复杂的几何和拓扑计算,CAD系统将固体(机械零件)的边界表示产生为例如闭合且定向的曲面(surface)。显而易见的是,至少对于一些应用来说,使用CAD系统设计的模型化物体的目标是尽可能接近地与最终制造的产品类似。例如,在产品/零件成型领域中,使用可以被认为是连续的面的模具,这些面可以通过锐边来连接。但是,实际的边——例如实际的模具的边一不是理想的锐边,而是稍稍呈现出圆形的(rounded)或圆角的(filleted)部分。因此,当在对应的理论模型中忽略这些特征时,成型所需的材料数量与根据理论模型期望的稍有不同。显而易见的是,只要关注的是实际物体与模型化物体之间的总体一致性,则这些细节可以被视为是不重要的。但是,当考虑其中生产所需的理论和实际材料量之间的差异相当大的大型/连续生产时,这可能变得重要。可以指出额外的约束。例如,固体的边界表示是用于设计模具的输入数据。模具的边界表示是用于计算工具迹线来从原材料加工模具的输入数据。为了优化材料流、冷却处理和脱模步骤,通常不允许在模具上有锐边。对于工具路径优化,模具的面必须尽可能地标准(平面、柱面、球面、环面、锥面)。所以,可以理解需要尽可能确切地预测最终的"实际"产品的特征,应当提高可行性或可预测性。换句话说,需要提高模型化零件与实际零件之间的一致性。在这方面,CAD设计者有时必须用圆形边来代替理论模具或产品的锐边。为了达到这个目的,经典的模型化方法是逐个创建产品边的的圆角状部分(例如,应用在凹边上的半径)和圆形状部分(应用在凸边上的半径)。如图1A-B所示,模型产品由此可以在随后呈现出圆角状(下文称为"圆角")和/或圆形部分(下文称为"圆形")。设计模型产品的圆形和圆角通常是逐步处理。当模型的元件数量增加时,根据这4种处理创建圆形和/或圆角迅速变得非常复杂。用户必须找到步骤的特定顺序,而该特定顺序可能根据模型化物体而改变。否则,圆形化或圆角化设计可能失败。此外,存在这样的情形,其中,模型化物体的复杂性(边、角区等的多样性)可能是另外的失败根源。特别地,在边碰触的位置(角、硬化区等)模型化圆形或圆角是困难的。为了避免这些情形,需要相当长的时间来确定"工作"的创建圆角或圆形的顺序。在自始至终的设计中,用户圆形化单个锐边或小组锐边,由此创建有序序列。在一些已知的CAD系统内,该序列由基于历史的CAD系统来捕获并且在修改之后被重放。由此,可以处理"手动"序列。零件的历史树包括根据设计者的选择来排序的多个圆形和圆角特征。另一方面,已知一些自动接合(blending)算法,如专利申请EP1710720中的算法("接合"在该领域中用作圆角化或圆形化的意思)。这种方法允许自动管理固体零件的边并且提供其它有利的特征。该方法优选地需要由用户来选择的特殊的功能曲面组。其它全局接合(参照专利文档US5,251,160"Systemforblendingsurfacesingeometricmodeling")可以接合整个固体零件。在该情况下,不需要设计者进行排序任务,但是规范树通常仅包括一个"自动接合"特征。因此,尽管已知自动接合算法,但是认为最优的可能结果通常由用户手动输入的有序序列获得,优选地,所述用户在该领域中有丰富的知识和经验。但是,如上所解释,设计者必须找到工作的锐边的有序序列,其意思是有多个序列可能会未能计算出几何结构。所以,对处理进行设计是耗时的。此外,除了其它缺点之外,还存在不同序列产生不同几何结果的缺点。特别地,从机械设计的观点来看,获得的几何结果并不是等同的结果。具体来说,根据曲面数量,向固体增加或减少更多或更少的材料,并且对最终形状进行加工的昂贵程度更高或更低。所以,设计者需要有真正的圆角化技术来发布工业结果。参照图2A和2B说明了这点。图2中说明的圆形化和圆角化策略产生正确的结果。这里,带有圈的编号表示圆角/圆形序列的步骤。处理由相同步骤编号所指示的边被一同处理。示出的序列的结果是尽可能地创建标准曲面。该几何结构正是使用球端切分工具来加工处理将制造出的几何结构。相反地,图2B中说明的策略是不太好的策略。产生了更多面,即,产生了20个面而不是上述的16个面。在对应边的附近,将所讨论的面描绘为有阴影。此外,标准曲面较少,却有许多锐利端面,并且没有简单的加工处理能产生该几何结构。在这方面,可以注意,因为有序序列不在设计者的控制范围内并且几何结果证明是不可预测的,所以在同一批处理中选择所有锐边是不现实的。下面列出的专利文档涉及本发明的相同
技术领域
。例如,专禾U申请"Methodforblendingedgesofageometricobjectinacomputer-aideddesignsystem"(EP0649103)描述了修改固体零件的边界表示以在用户选择的边上创建圆形或圆角的算法。但是,没有解决自动并适当排序的问题专利申请"Systemforblendingsurfacesingeometricmodeling,,(上面讨论的US5251160)描述了用于将一组基本的固体形状接合在一起的算法。要求隐式地定义这些固体形状。但是,由于以下原因,公开的模型化技术并不适合一些工业需求。仅使用隐式等式仅可以对简单物体模型化。所制造的物体,即实际生活中的物体,在一定程度上包括复杂的扫描曲面(机翼、热引擎进气口或排气口、汽车"白车身"的加强件)、用于铸造和锻压工业的牵引曲面、自由形式的造型曲面。因此,实际曲面的隐式定义的能力无法满足要求。替代地通过显式函数来描述它们。专利申请"Methodofcomputeraideddesignofamodeledobjecthavingseveralfaces"(上面讨论的EP1710720)公开了用于修改固体的边界表示以提供牵引的或圆形化/圆角化的形状的通用算法。没有描述排序算法。接下来,SolidWorksCorporation(DassaultSystemes所有的公司)最近发布了"SolidWorksIntelligentFeaturesTechnology"(SWIFT)。该高级工具组包括专用命令,用于当设计者选择一组边时对圆形和圆角进行排序。通过测试各种场景,本发明者得出结论所使用的算法未被设计为满足成型/铸造的机械规范的要求。最后,仍然需要找到方案来自动定义处理圆形/圆角的合适有序序列,以节省在圆形化/圆角化设计处理的时间,并且提高对机械规范的要求的匹配。为了解决这个问题,本发明提出了一种连接模型化物体的面的边的计算机辅助设计方法,所述方法包括以下步骤-通过迭代地断开由来自父子集的凸类型或凹类型之一的边连接的面,来确定面和所述凸类型或凹类型的边的子集的结构,由此所述父子集被分解成多个孩子子集,所述孩子子集包括-非连接的面;或者-由所述凸类型或凹类型中另一种类型的边连接的面,在该情况下,所述凸类型或凹类型所述之一的边被维持在所述孩子子集中,其中,在断开的每次迭代处还将边的所述凸类型或凹类型所述之一进行交替;并且所述方法还包括以下步骤-根据给定的父子集来处理所述结构,以根据所述给定父子集中指定的边的类型,来圆形化或圆角化连接其孩子子集的一条或多条边。在给定实施例中,根据本发明的处理可以包括以下特征中的一个或多个-处理所述结构的所述步骤包括用于根据所述给定的父子集来处理所述结构的深度优先扫描;-根据本发明的方法包括,在确定所述结构的所述步骤之前,进行以下步骤确定具有表示所述面的节点和表示所述边的弧的图,并且在确定所述结构的所述步骤处,通过将所述图迭代地断开为与所述结构中相应的孩子子集对应的子图,来执行迭代断开;-确定所述图的所述步骤还包括在断开之前或在断开期间,将数个节点折叠为单个节点,其中,所折叠的节点表示由平滑边连接的相邻的面;围绕奇异顶点的面;或根据预定义的几何准则链接的面,所述预定义的几何准则可以是用户定义的;-根据本发明的方法还包括,在确定所述图的所述步骤之后并且在确定所述结构之前,进行以下步骤对所确定的图进行切除节点的分离,该步骤产生两个图,其中,在确定所述结构的所述步骤处分离地处理所述两个图;-在确定所述结构的所述步骤处,考虑耦合的弧,以使得它们没有被分离在不同的子图中;-根据本发明的方法还包括,在确定所述结构的所述步骤之前,进行以下步骤接收边和/或面的子集的用户选择,并且确定所述结构的所述步骤从反映所述用户选择的父子集开始操作;-处理所述结构的所述步骤包括向用户显示连接所述给定的父子集的孩子子集的一条或多条边;接收所显示的边的用户编辑;考虑所述用户编辑,将所述一条或多条边一起处理;-在确定所述结构的所述步骤处,所确定的结构是捕捉所述子集的分解的树结构;以及-在确定所述结构的所述步骤处,以如下两项为开始来执行迭代的断开两次边的所述凸或凹类型之一,以及边的另一种类型,根据本发明的方法还包括以下步骤在由此确定的树结构中保留较浅的树结构。更一般地,本发明涉及一种用于实现两种不同的技术来处理连接模型的元件的特征的计算机辅助设计方法,所述方法包括以下步骤-通过迭代地断开由来自父子集的第一类型或第二类型之一的特征连接的元件,来确定元件和所述第一类型或第二类型的特征的子集的结构,由此所述父子集被分解成多个孩子子集,所述孩子子集包括-非连接的元件;或者-由所述第一类型或第二类型中的另一类型的特征连接的元件,在该情况下,所述第一类型或第二类型所述之一的特征被维持在所述孩子子集中,其中,在断开的每次迭代处还将特征的所述类型进行交替;并且所述方法还包括以下步骤-根据给定的父子集来处理所述结构,以根据所述给定父子集中指定的特征的类型,来实现第一或第二技术来处理连接所述父子集的孩子子集的一个或多个特征。在一实施例中,所述方法还包括与处理所述结构的所述步骤共存或在其之后的以下步骤根据处理所述结构的所述步骤的结果,来实现所述第一和第二技术。本发明还涉及一种计算机化的系统和计算机程序产品,其包括适于实现本发明的方法的单元。现在参照附图来讨论本发明的各种实施例,其中-图1A是示出具有凸边和凹边的非平凡固体零件的示例性显示;-图1B说明了从图1A所获得的圆形/圆角部分;-图2A和2B说明了在不同的主体零件上处理圆形/圆角、产生不同几何结构的两种序列;-图3示出了根据本发明在图2A-B的零件上所处理的一系列的边;-图4示出了根据本发明的实施例的高层算法;-图5A-B示例了对偶图(5A)和相应的固体零件(5B);-图6A-B表示与图5A-B对应的简化的对偶图(6A)和相应的固体零件(6B);-图7A-D示例了图中切除节点的分离;-图8A-C说明了关于固体零件的切除节点的分离;-图9A-B示例了具有非离散并且不能简化的图的固体零件;7-图10示出了反应图提取算子的连续和交替迭代的树结构以及相关的数学表示;-图11A-B示出了图1A的非平凡固体零件和对应的简化的对偶-包括图12A-E的图12表示根据本发明的实施例的针对图IIA的固体零件所确定的树结构;-图13说明了图12的压縮版本,以及根据所处理的圆形化/圆角化有序序列标记的非叶子节点;-图14表示图13的有关图11A的固体零件的序列步骤;-图15示出了在图13-14的序列步骤之后,所处理的图11A的固体零件;-图16示例了要圆形化的壁的侧面;-图17A-E说明了使接合重叠最小化的策略;-图18示出了用于测试示例的另一个零件;-图19A-E描绘了图18的测试示例的结果。本发明涉及用于在圆形化和圆角化之前自动计算一系列的(锐)边的算法。更一般地,它涉及这样的设计如何实现两种不同的技术来处理连接模型的元件的特征。在优选实施例中,考虑的技术对应于圆形化和圆角化处理。优选地,首先通过在子集中断开之前通过给定的凸或凹类型的边连接的面,来迭代地确定面的子集的结构。在每次迭代时,用于去除的边的类型是交替的。根据该结构的每个子集将包括一个或多个面,例如,子集包括非连接面或通过其它类型的边(而不是在该迭代处用于边去除的边)连接的面(在该情况下,连接的子集中所有的边被维持)。由此,沿着良序结构依次断开连接的面,直到完成结构确定步骤。在实践中,通过图断开技术有利地实现结构确定。然后,在随后的步骤中,以相反的顺序来处理结构,例如,根据父子集中所指定的类型来接合连接(面的)孩子子集的边。因此,提供了处理步骤的顺序。确定的结构使得在给定层要处理的边是相同的类型(或者如将解释的,尽可能相同类型的边)。所以,可以协调并有效地将多条边一起进行处理。由此,绘出了要处理的边的子集的交替的序列。例如,在沿着相反结构处理凹型边的子集之前,处理凸型边的子集,反之亦然。事实上,本发明者已经认识到处理尽可能相同类型的边的交替的子集显著提高实践中的结果因此,本发明非常关键的点在于,根据边的子集中所指定的它们的类型来确定并处理尽可能相同类型的边的子集的交替序列,以圆形化或圆角化所述边。在实践中,提供的接合序列尽可能地保持标准性。已经测试过的得到的序列已被证明是在实践中最好的可能序列。根据已经进行过的许多测试,使用传统的命令并且工作很长时间,专业设计者将仍然无法生产出更好的形状。此外,输入零件的对称的细节在所获得的对称的圆形或圆角曲面中得到反映。这使得提高了与成型/铸造和锻压机械规范的匹配。关于对此的说明图3表示了本发明对典型主体零件所处理的序列。该序列从左上到右下来阅读在每一个步骤处,处理新的边,直到达到结束为止。可以通过许多方式来使用该序列,以增强CAD系统。例如,设计者可以选择一组锐边,系统计算接合的最佳序列并且根据该序列自动地创建所需的多个圆形和圆角特征。以这种方式,设计者可以操纵和编辑每个圆形或圆角的特征,例如,改变半径值。另一种方式是逐步显示要一起处理的每个(每组)锐边并且使设计者在每个步骤处编辑特征,例如,设置半径值(为所有边另外设置了一个默认值)。从步骤n到步骤n+l,系统计算与步骤n处显示的子表面(skin)对应的圆形(圆角)。除了人机工程学之外,本发明提供的边处理序列(例如图3中所说明的)还提供了用于保存得到的几何结构的标准性的有效方式。大体上说,创建了圆柱形、圆锥形、球形或环形曲面,同时尽可能避免了锐利端或填充曲面。此外,在最终的接合中令人满意地反映了初始的对称。得到的固体的质量得以提高以供进一步使用绘图、偏置、加工、其它设计操作等。产品的整体质量更高,这是因为对于给定的功能机械零件,两个不同的设计者将发布相同的圆形化和圆角化策略。由于是系统计算序列,所以縮短了设计时间中定义(人工)排序的锐边序列所花费的时间。设计者所需的CAD技术更少。CAD培训更容易并且更迅速。换句话说,本发明提供了更容易且更快速的培训、更快速的设计和更高的结果质但是,应当注意,使用填充面在一些情况下将是不可避免的,特别是当处理复杂的工业固体零件时尤其如此。这将被讨论。现在参照图4描述高层算法(用于在实施例中实现本发明)。在图4的实施例中,确定子集的结构的步骤可以包括创建反映要处理的元件的图的初始步骤(S100),所述图例如为捕捉相关信息的简化的对偶图或"对偶图"(简称)。所获得的图通过锐边以及锐边的凸性或凹性来反映面的连接性。如果需要的话,"切除节点"步骤S110将图分成所需的多个组成部分,以允许分离地处理主体零件的独立细节。然后,将上图断开为子图的交替的序列,所述子图中的每一个对应于如上所述的子集。例如,将每个连接的子图递归地("x-断开步骤",|S120|)断开为交替的凸凹子表面。上述三个主要步骤优选地通过循环来创建并管理子图,直到完成所有子图(步骤S130)。此外,确定结构的整体步骤可以更新捕捉子图嵌入的树结构。该过程以同类子图或不可简化的异构子图结束,由此随后要处理的边具有相同的类型或者具有尽可能相同的类型。在这方面,以相反顺序处理结构可以通过树结构被实现为标准的深度优先扫描的一部分,以产生圆形化和圆角化序列(最后的步骤S140)。可能地,额外的"球_相邻面"步骤(或|S90|)考虑半径值|10I,以使得非相邻面或复杂的顶点保留在相同的子图中。这样,可以正确地管理小细节,例如极小的面、小的槽口、薄壁以及高阶顶点。下面详细地描述上述主要步骤S100-140中的每一个。首先,现在关注建立对偶图的步骤(图4中的步骤S100)。通常,算法的输入是固体零件|20|的边界表示,其被解释为拓扑图。根据定义,拓扑图包括以一条边至多被两个面共享的方式被连接在一起的顶点、边和面,由此定义二维流形。然后,计算该拓扑图的对偶图。根据定义,对偶图的节点是拓扑图的面。此外,对于由拓扑图的两个面共享的每条边,存在连接对偶图的对应节点的弧。对偶图的弧被优选地标记来捕捉拓扑边的锐度、平滑度和凸性,这在之后将是有用的。例如,凸锐边被标记为"+i"、凹锐边被标记为"-i",而平滑边被标记为"0"。对偶图还被优选地简化如下。通过折叠由"O"弧连接的节点来从对偶图计算简化的对偶图。也就是说,简化的对偶图的节点是平滑边连接的相邻面的组。这是有利的,因为平滑边不需要处理。因此,可以在简化的对偶图中仅捕捉与本目的相关的信息锐度、凸性和邻接。在图5A-B和6A-B中示例了所述图之间的区别,其示出了对偶图(5A)、对应的固体零件(5B),和得到的简化的对偶图(6A)及其对应的简化的固体零件(6B)。在图5A-6B的每个图中,由边来限定编号的面(用方形来区分之前图2的带圆圈的步骤编号)。所述面具有在对应的图中对应的节点。在图5A中说明的固体零件的对偶图中,可以注意到,两条平滑边连接圆面,而另两条平滑边将圆形曲面连接到物体总体的垂直侧。这在对应的图中产生标记为"O"的弧。相对地,弧"+"或"_"表示锐边。在图6A中说明了简化的对偶图,其中,平滑表面作为单个节点出现。作为结果,标记为"0"的弧不出现。在图6B中描绘了反映所获得的简化的图的对应固体零件。例如,平滑表面6、7、8作为单个面出现。由此,仅保留相关信息从而优化随后的处理。简而言之,用于建立简化的对偶图的步骤的序列如下将固体零件的边界表示20|转化为拓扑图。然后,根据其相应拓扑来计算对偶图并且随后简化对偶图。如上面所提到的,简化的对偶图在下面仍然被称为"对偶图"。此外,为了避免混淆拓扑图与对偶图,当涉及拓扑图时,将优选地使用词"面"、"边"和"顶点",而当涉及对偶图时,使用词"节点"和"弧"。现在参照图7A-D来讨论切除节点的分离的步骤(图4中的S110)。根据定义,从图中去除"切除节点"(及其入射弧)将图断开为至少多于一个的组成部分。在图7A的示例中,去除节点1将连接的图分成两个组成部分(图7B)。然后,去除节点2(图7C)产生三个组成部分(图7D)。相对地,去除节点3将不会使图分离。在本实施例的情况下,如图7A-D所示,通过切除节点来分离图是将切除节点复制到每个得到的组成部分中。首先在对偶图上执行切除节点的分离。顺便提及地,本算法在这里不需要递归,因为切除节点的分离没有创建新的切除节点。此外,得到的组成部分并不依赖于管理切除节点的顺序。给定初始连接的对偶图,全部切除节点处理产生一组没有切除节点的连接子图。尽管不是必须的,但是该步骤使得识别固体边界上分离的特征,由此可以分离地处理这些特征。如图8A所示,典型的示例是具有由A、B、C、D指示的突起和孔E、F的盘。图8B中示出了分离之前的对应的对偶图(其中,边的锐度用实线弧或虚线弧反映)。对图8B中指示的切除节点进行操作(所述切除节点是盘的上面)产生图8C的一组图。由此,分离的特征产生多个子图。注意,在图8的示例中,可以进行进一步的切分。由于切除节点的分离使得独立的特征被分离地处理,所以可以将本发明的核心方法应用到分离的图中的每一个。特别地,下面要讨论的图断开将优选地应用到根据切除节点的分离所得到的每个图。以下的目标是解释如何实际地实现迭代地断开连接的面,来确定面和具有指定的凸或凹类型的边的子集的结构。在每次迭代时,断开去除给定类型的边,由此将一个父子集分解为多个孩子子集。使用的边的类型在每个迭代处交替。所述子集代表非连接的面或由除了用于断开的边之外其他类型的边连接的面。在后者的情况下,用于去除的类型的边仍然被保持在所述孩子子集中,这允许交替分解。在目前讨论的实施例中,通过图断开技术来实现连接的面的断开。如将要解释的,将图断开为在树结构中捕捉到的组成部分。在这方面,给定简化的对偶图A,将通过图分离器(即算子S0有利地实现图断开,其中,xG{-,+}。这以如下步骤根据图A提供断开的子图SX(A):1、去除A的所有带有标记x的弧,生成图/。2、向图i添加图A的所有这样的弧,所述弧标记了x并且链接j的相同连接x组成部分内的节点。这产生图SX(A)。如果在第一步没有带有标记x的弧,那么Sx(A)=A。如果图A仅包括标记为x的弧,那么SX(A)仅包括非连接的(或孤立的)节点。以这种方式,获得其中一个父子集被分解为多个孩子子集的结构,所述孩子子集为表示面的非连接的节点。注意,上述步骤2并不改变i的连接的组成部分的数量,这是因为每个额外的弧链接相同连接组成部分内的两个节点。这样,获得其中用于去除的类型的边被保持在孩子子集(i的连接组成部分)的结构。如以下将详细说明的,另一个关键的特征是从面和边的子集中交替地去除凸或凹类型的边。换句话说,在每个迭代处交替地去除边的类型。在本实施例中,这通过运行分离器SX的交替迭代(也就是SX(A)、SX(SX(A))、SX(S—X(SX(A)))等)来实现,直到获得固定状态为止。为此,现在讨论Sx的主要性质。使E。=A,E工=SX(A),E2=SX(SX(A))等为分离的图Ei的交替结构,其中,i=1,2,3......,也就是说£,.=S(—"'、五,—》。显然,至多有两个独立的迭代的线,这取决于选择x=+还是x=-。这一点在后文讨论。关于单调性根据定义,Sx通过去除弧并维持未改变的节点来从给定的图中提取子图。所以,SX(B)的节点和弧的组被包括在B的节点和弧的组中。这定义了图的包含递减序列J-五o2五t2…2《2五w2…现在讨论收敛性,上述图的递减序列存在由离散图(也就是说,仅由节点构成,而没有弧)限定的下界,因此存在最小图。换句话说,存在最小整数m使得爿=£。3五,〕…〕五,〕〕…〕==…。也就是说,交替地迭代Sx和S—x产生图的嵌入并固定的序列。大多数时候,该不变图是离散图。然而,如下文讨论的,主体零件的一些工业场景可能导致非离散的不变图。根据定义,如果S+(B)=S—(B)二B,那么认为图B是不能简化的。图9A中描绘的固体的对偶图是非离散并且不能简化的图的示例,这是因为其锐边既是凸的又是凹的。图9B是对应的图。此外,当应用SM衣次产生相同的图时对于任何对偶图B,SX(SX(B))二SX(B),SX可11以被认为是投影器。f和S—x的连续交替迭代如何将初始图分成连接的组成部分,优选地通过树结构来捕捉。每个节点是连接的图,而其孩子节点是通过SX或S—x获得的连接的组成部分。以这种方式获得用于捕捉面的子集到孩子子集的分解的树结构。例如,参照图IO,根节点G是初始图,叶子节点是连接的不能简化的不变图。如等式组中所表示和图10中所说明的,式A^'(J^)-lJ《包括Ek是初始图G的第k个分离,并且Ek包括rik个连接组成部分Eik,其中i=1,...nk。在迭代k处的连接组成部分通过标准的图的注入与迭代k-l的连接组成部分相关。仅有一个孩子节点的节点意味着迭代不分割连接组成部分。通常,这样的节点从树中去除而不会有信息损失。优选地,以相反顺序处理结构的步骤作为现在讨论的深度优先扫描处理的一部分而进行。深度优先扫描是用于遍历树、树结构或图的算法。粗略地说,该算法从根开始并且在回溯之前沿着每个分支尽可能远地探索。扫描通过扩展搜索树的第一个孩子节点而前进,并且前往更深处直到发现目标(例如,没有孩子的节点)为止。然后,扫描处理返回到还未完成探索的前一节点。在本实施例中,通过经典的深度优先算法来扫描上述树结构。递归函数(这里称为D印thFirstScan(.))将通过变量i为每个非叶子节点设置序号,这通过下面的指令SequenceNumber(x):=i来完成。如下面所解释的,这定义了接合序列。D印thFirstScan(x)endif换句话说,使用D印thFirstScan(.)函数要初始化i:=0并且在树的根节点上调用D印thFirstScan()。接下来,如上面所描述的,通过深度优先遍历由分离器迭代提供的树结构来计算圆角化策略。该算法通过图IIA-B所示的非平凡示例来说明。这里再一次说明地,对偶图的虚线弧代表凹边,而对偶图的实线弧代表凸边。如之前的图所示,在方块中对面进行编号(这里从1到10)。为了简单的缘故,对应的图G(图11B)不包括任何切除节点。迭代的图分离如图12中所说明那样进行(包括图12A-E)。首先,参照图IIB,可以注意到,S—(G)二G,其中G是顶端节点,图12A与图11B的图对应。G可以被认为是面的初始父子集。应用算子S+将图G分成七个连接组成部分,也就是说,连接到上层G,如图12B所示。当通常应用S+去除外围的实线弧(凸边)时,可以指出,与嵌套连接的最左侧组成部分对应的实线弧被维持。因此,图S+(G)的最左侧连接组成部分对应于包括由凹边(虚线弧)ifnodexisanonleafnodethenforallchildynodesofxdobeginD印thFirstScan(y)endfor12连接的面的孩子子集,其中,与在外围被去除的边相同类型的边被维持。其它六个组成部分是孤立的面1、4、5、6、7和8。然后,S—(S+(G))产生图12C的图,也就是说,S—将图S+(G)的最左侧连接组成部分分成两个连接组成部分。这时,外围的凹边已经被去除,使得组成部分2、9、10在一侧而面3在另一侧。处理继续,每次交替去除边的类型,直到得到S—(S+(S—(S+(G))))为止,这在图12E的层处描述。最后的图对应于离散不变图。因此,建立了捕捉面的子集的连续分解的树结构。接下来,本发明的另一个关键特征是以相反顺序处理之前的结构来进行接合序列(即,在图4中的步骤S140)。特别地,根据给定的父子集来处理之前的结构,以圆角化/圆形化连接其孩子子集的边。根据在所述给定的父子集中指定的边的类型来进行接合。假定在树中较低层的边已经被处理,则在任何层(节点)实现该方案使得相同类型的边被一起处理。明显地,处理优选地从最低父子集开始,以便产生一致的接合序列。但是,当最低父子集包含不能简化的异构边时,可以转而有利地针对该最低子集实现特定的(类似于填充)或标准的接合,并且在更高节点处开始进行处理序列。现在参照图13来描述以相反顺序处理树结构。图13可以被认为是图12的树结构的压縮版本,其中没有画出非叶子节点的图。在图13中,根据深度优先遍历处理所产生的圆角化/圆形化有序序列来标记非叶子节点。在图12的树中实现所述深度优先遍历产生以下圆形化/圆角化步骤,在图13的压縮版本中阅读这些步骤。具体地,参照图13,这些步骤是-步骤1:圆角化包括面9和10的表面的凹型内部锐边。-步骤2:圆形化被面2以及包括面9和10的表面共享的凸锐边。-步骤3:圆角化被面3以及包括面2、9和10的表面共享的凹锐边。-步骤4:圆形化被包括面1、4、5、6、7、8的外层共享的所有凸型内部锐边,以及被所述表面与包括面2、3、9和10的表面共享的锐边。这产生如在图14中所表示的序列。由嵌入在圆圈中的编号来指示序列步骤。由此提供了接合序列的排序。相同步骤编号所指的边是相同类型的边并且被一起处理,使得提高处理的致密性。从左上到右下阅读,在图15的序列中逐步表示根据图14的序列进行的边的接合。这里,所示的第n个主体零件对应于在图14的序列的处理步骤n-l之后的零件。表示的第一个元件是初始零件。第二个元件是在圆角化包括面9和10的表面的凹型内部锐边之后的零件,等等。如可以看到的(特别是在第二行),以相反顺序解释的对结构的处理使得对锐边的子集一起进行交替地圆形化或圆角化。已经参照详细的实施例讨论了本发明的核心。接下来,讨论也可以在本发明的环境下处理的次要问题。第一点是与拓扑有关的困难。困难的拓扑导致困难的几何结构。定义一般拓扑如下拓扑图的每个顶点至多被三个面共享。根据定义,困难的拓扑是"非一般"的拓扑一个顶点被多于三个面共享总是会导致困难的几何结构。连续重叠的圆形和圆角取面的朴素方案可能提供不稳定或不满意的形状。为此,有时可能需要"填充曲面"。能够创建这种曲面的算子在本领域中是已知的。该填充曲面必须连接在一次处理中入射到奇异顶点的所有面。迄今所描述的逻辑图断开忽略了顶点的复杂性,而取决于顶点的复杂性,有时可能产生并不是最适合的策略。为此,在这种环境下,优选地聚集围绕奇异顶点的面,以使得它们再也不会因为进一步的断开而分离。因此,本方法可能接近以下步骤在断开之前,将表示围绕奇异顶点的面的对偶图的节点折叠成单个节点。特别地,可以实现奇异顶点分析(如在本领域已知的)以检测要一起管理的面。因此,聚集对偶图的节点,产生合适的树结构。接下来,存在即使是"简单的"拓扑也可能导致困难的几何结构的情形。到目前为止,通过纯逻辑处理来获得公开的圆形化和圆角化策略。未执行几何计算。到目前为止,如果用于圆角/圆形的半径值相对于机械零件细节的数量级"不太大",则根据本发明的方法使得令人满意地解决困难,。在这方面,这里讨论的本发明的另一方案使几何准则加入到迄今所描述的逻辑管理中。可能发生以下情况极小的面以分离的圆角或圆形未提供期望的结果的方式使拓扑分离(通过切除节点或断开)。在图16的示例中,给定虚拟工具表示的(双球)的大半径值,不能单独地圆形化薄壁的侧面1和3,因为当去除面2时,第一个圆形将完全去除第二个圆形的边。可以按如下来捕捉该事实可以实现半径是圆形/圆角半径的双球。一旦位于墙的顶部,并且如果与其相邻的面中的两个的碰触同时发生,那么算法要记住必须通过图16的示例中的三重相切圆形来一起处理面1、2和3。因此,它们必须不会在分离的组成部分中延伸,并且在逻辑处理中考虑这一事实。因此,本方法可能接近以下步骤在断开期间,折叠表示面的对偶图的节点,所述面根据预定的几何准则(可以是用户定义的)被连接。相反,如果半径值足够小,那么没有碰触,这允许进行进一步分解。可以设想形式化定义以使其更明确。在一些极端示例中,可能发生没有断开策略证明是符合球相邻分析的。在此情况下,断开算法适于考虑耦合弧,以使得它们没有被分离在不同的组成部分中。下一点涉及用S+或S—开始迭代。明显地,在一些情况下,可以根据通过S+或S—进行的第一个分离来计算两种策略。尽管有复杂的情形,但是最优输出也应该优选地保存得到的曲面的标准性。当圆形和圆角曲面迭代地彼此重叠时,未创建标准的曲面圆形连接两个面,圆角将该圆形与另一个曲面相连,并且在连接其他面时圆形与该圆角曲面重叠。在这方面,本发明者还认识到,通过选择最平整的(较浅)树结构来最小化碰到这种重叠的风险。图17A-B中说明了固体和对应的对偶图产生具有不同深度的两种策略(树结构)。用S—开始迭代产生图17C中说明的接合序列,以及对应的树结构。用S+开始迭代产生图17D中所示的序列和对应的树结构。明显地,第二个序列比第一个序列更深。它呈现出从最深叶子节点到根节点有三个弧而不是两个弧。如图17F中所示,增加后一种情形(以S+开始)中的半径值使得最后的圆形A与之前的圆角B重叠,而所述圆角B本身与之前的圆形C重叠。相反,较平整的结构(以S—开始)避免了该现象,因为最后的圆角B与圆形A和C重叠,如图17E所示。此外,注意策略S—首先提供圆柱的圆形A。相对地,策略S+首先通过非标准曲面来计算圆形A。在这方面,给定对偶图G,仅两种情形可能发生。第一种情形存在xG{-,+}使得SX(G)=G。则唯一的可能性是使用S—x开始迭代并且没有其它选择。第二种情形不存在xG{-,+}使得SX(G)二G,这意味着迭代可以使用S+或S—来开始。因为几乎不可能预期每种策略的深度,所以优选地对它们均进行研究。然后,丢弃最深的结构。当两种策略提供了表征为相同深度的树结构时,例如,认为它们是等价的。接下来,讨论测试示例。为此,零件被设计为表征出圆形化和圆角化的困难,同时尽可能保持简单。图18中表示了所述零件。它包括三个基本特征一个线性突出和两个圆柱凹穴。这些基本特征以圆形和圆角曲面不可避免地重叠的方式被设定尺寸和定位。在下表中列出了用于该测试示例的关键尺寸和值。鉴于其它尺寸几乎产生相同形状并保存对称性,所以它们是不太相关的。<table>tableseeoriginaldocumentpage15</column></row><table>表l:测试零件的尺寸测试协议是以将底面排除在外并使用不同半径值(在下表中报告)的方式圆形化和圆角化该测试零件。最低值是容易的示例,而最高值是困难的示例。<table>tableseeoriginaldocumentpage15</column></row><table>半径名称范围注释RD=5mmD/2<RD<A/2与上面相同,并且圆形和圆角在每个凹穴内重叠参照图19D表2:用于测试的半径值图19A-E说明了对于每个半径值,根据本发明的实施例所计算的结果。所述图的考查示出了所获得的结果在以下意义中的最佳可能结果使用基本圆形和圆角命令的技术设计者在得到的曲面的标准性和曲率半径值方面将不能提供更好的形状。返回参照图18,测试零件表征对称平面,从而可以检查图19A-E的结果的对称性。对称平面与线性突出垂直并且位于圆柱凹穴之间。尽管为了教导的目的,以朴素的方式描述了本文在上面描述的方法和例程,但是明显的是,可以针对算法有效性的考虑来设想改进。具体地,可以加速圆形化和圆角化处理。为了达到这个目的,可以在圆角化/圆形化处理期间加入比分解树所调度的面更早的(一组)面。例如,如果面通过表征相同凸性的锐边被链接到要处理的面的子集,并且如果所链接的面没有被链接到除了所述子集中的面之外的任何其它面,那么所讨论的面可以与要处理的子集被包括在一起。这种加速策略避免了很多无用的修整计算,使得算法更快速并且更可靠。顺便提及地,尽管图技术提供了非常方便的方式来管理根据本发明确定和处理的结构,但是可以设想其它技术。此外,本发明者已经认识到,本文所公开的方法并不限定于圆形化和圆角化,而可以被一般化。该方法可以用于解决更广泛类型的问题。可以应用图断开算法的大致范围定义如下。图描述的应用问题。图的弧被标记为A或B。本领域目前提供的技术A用于解决仅具有标记为A的弧的图所符号化的问题,而提供的技术B用于解决仅具有标记为B的弧的图所符号化的问题。但是当前技术不能解决由混合了标记为A的弧和标记为B的弧的图所符号化的问题没有AB-技术。显然,图断开提供了同类(仅有A弧或仅有B弧)的子图的交替序列,从而可以使用A技术和B技术的交替序列来解决所述初始问题。此外,只有算法不能进行分割的异构(混合的A弧和B弧)子图才应当考虑缺少AB技术的问题。换句话说,或者因为所有子图形是同类的,所以AB技术是不必要的,或者对于由最小异构子图符号化的最小可能问题,设计并实现了AB技术。此外,图断开算法可以嵌入知晓如何保持对断开的控制的一些应用。因此,本发明可以涉及设计实现两种不同的技术来处理连接模型的的元件的特征,以替代设计连接模型化物体的面的边。权利要求一种连接模型化物体的面的边的计算机辅助设计方法,所述方法包括以下步骤-通过迭代地断开由来自父子集的凸类型或凹类型之一的边连接的面(|S120|),来确定面和所述凸类型或凹类型的边的子集的结构(S100-S130),由此所述父子集被分解成多个孩子子集,所述孩子子集包括-非连接的面;或者-由所述凸类型或凹类型中另一种类型的边连接的面,在该情况下,所述凸类型或凹类型所述之一的边被维持在所述孩子子集中,其中,在断开的每次迭代处还将边的所述凸类型或凹类型所述之一进行交替;并且所述方法还包括以下步骤-根据给定的父子集来处理所述结构(S140),以根据所述给定的父子集中指定的边的类型,来圆形化或圆角化连接其孩子子集的一条或多条边。2.根据权利要求1所述的方法,其中,处理所述结构的所述步骤包括用于根据所述给定的父子集来处理所述结构的深度优先扫描。3.根据权利要求1或2所述的方法,其中,所述方法包括,在确定所述结构的所述步骤之前,进行以下步骤_确定具有表示所述面的节点和表示所述边的弧的图(S100),并且其中,在确定所述结构的所述步骤处,通过将所述图迭代地断开为与所述结构中相应的孩子子集对应的子图(IS120I),来执行迭代断开。4.根据权利要求3所述的方法,其中,确定所述图的所述步骤(S100)还包括在断开之前或在断开期间,将数个节点折叠为单个节点,其中,所折叠的节点表示-由平滑边连接的相邻的面;-围绕奇异顶点的面;或-根据预定义的几何准则链接的面,所述预定义的几何准则可以是用户定义的。5.根据权利要求3或4所述的方法,还包括,在确定所述图的所述步骤(S100)之后并且在确定所述结构之前,进行以下步骤-对所确定的图进行切除节点的分离(SllO),该步骤产生两个图,并且其中,在确定所述结构的所述步骤处分离地处理所述两个图。6.根据权利要求3、4或5所述的方法,其中,在确定所述结构的所述步骤处,考虑耦合的弧,以使得它们没有被分离在不同的子图中。7.根据权利要求1-6中的任意一个所述的方法,还包括,在确定所述结构的所述步骤之前,进行以下步骤_接收边和/或面的子集的用户选择,并且其中,确定所述结构的所述步骤从反映所述用户选择的父子集开始操作。8.根据权利要求1-7中的任意一个所述的方法,其中,处理所述结构的所述步骤包括_向用户显示连接所述给定的父子集的孩子子集的一条或多条边;-接收所显示的边的用户编辑;_考虑所述用户编辑,将所述一条或多条边一起处理。9.根据权利要求1至8中的任意一个所述的方法,其中,在确定所述结构的所述步骤处,所确定的结构是捕捉所述子集的分解的树结构。10.根据要求要求9所述的方法,其中,在确定所述结构的所述步骤处,以如下两项为开始来执行迭代的断开两次_边的所述凸或凹类型之一,以及-边的另一种类型,并且其中,所述方法还包括以下步骤_在由此确定的树结构中保留较浅的树结构。11.一种用于实现两种不同的技术来处理连接模型的元件的特征的计算机辅助设计方法,所述方法包括以下步骤-通过迭代地断开由来自父子集的第一类型或第二类型之一的特征连接的元件(IS120I),来确定元件和所述第一类型或第二类型的特征的子集的结构(S100-S130),由此所述父子集被分解成多个孩子子集,所述孩子子集包括-非连接的元件;或者_由所述第一类型或第二类型中的另一类型的特征连接的元件,在该情况下,所述第一类型或第二类型所述之一的特征被维持在所述孩子子集中,其中,在断开的每次迭代处还将特征的所述类型进行交替;并且所述方法还包括以下步骤_根据给定的父子集来处理所述结构(S140),以根据所述给定父子集中指定的特征的类型,来实现第一或第二技术来处理连接所述父子集的孩子子集的一个或多个特征。12.根据权利要求11所述的方法,还包括与处理所述结构的所述步骤共存或在其之后的以下步骤根据处理所述结构的所述步骤的结果,来实现所述第一和第二技术。13.—种计算机程序产品,其包括适于实现权利要求1到12中的任意一个所述的方法的代码单元。14.一种计算机化的系统,其包括适合于实现权利要求1到12中的任意一个所述的方法的单元。全文摘要本发明涉及一种连接模型化物体的面的边的计算机辅助设计方法,所述方法包括以下步骤通过迭代地断开由来自父子集的一种类型的边连接的面(|S120|),来确定面和所指定的凸或凹类型的边的子集的结构(S100-S130),由此所述父子集被分解成多个孩子子集,所述孩子子集包括非连接的面;或者由另一种类型的边连接的面,在该情况下,所述一种类型的边被维持在所述孩子子集中,其中,在断开的每次迭代处还将边的所述一种类型进行交替;并且所述方法还包括以下步骤根据给定的父子集来处理所述结构(S140),以根据所述给定父子集中指定的边的类型,来圆形化或圆角化连接其孩子子集的一条或多条边。更一般地,本发明还可以涉及设计实现两种不同的技术来处理连接模型的的元件的特征,以替代设计连接模型化物体的面的边。文档编号G06T17/10GK101785032SQ200880104167公开日2010年7月21日申请日期2008年8月22日优先权日2007年8月24日发明者J·马耶,J-F·拉莫,P·埃布拉尔申请人:达索系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1