用于识别复制品的系统和方法与流程

文档序号:13426440阅读:298来源:国知局
用于识别复制品的系统和方法与流程
本公开涉及以下一般领域:计算机辅助设计、绘图(“cad”)、制造(“cam”)和可视化系统(单独地或共同地被称为“cad系统”),产品生命周期管理(“plm”)系统,以及管理产品和其他物品的数据的类似系统(统称为“产品数据管理”系统或pdm系统)。
背景技术
:pdm系统管理plm和其他数据。期望有改进的方法和系统。技术实现要素:根据本发明的第一方面,一种在建模系统中识别几何复制品的方法包括:选择几何形态的模板,并且生成和存储模板的图;识别系统中的候选几何形态;从起始点起探测所识别的候选几何形态,直到返回到起始点或到达分支;生成经探测的候选几何形态的图;将经探测的候选几何形态的图与模板的图进行比较;并且如果候选几何形态与模板的预定部分匹配,则将该候选几何形态标记为复制品。该方法还可以包括:如果比较超过公差范围,则终止探测,或者如果比较落在公差范围内,则保存图并将候选几何形态标记为复制品。该方法还可以包括:如果探测到达分支,则反转方向,返回经过起始点,并在相反方向上继续直到到达起始点或者到达分支。该方法还可以包括:检查分支,并针对每个分支重复探测步骤和比较步骤。该方法还可以包括:将所标记的复制品关联在组中,并在所标记的复制品的组中处理这些复制品。该方法还可以包括:识别几何形态,这些几何形态是模板的倒转或镜像、或者与模板共享对称性、或者相对于模板被缩放,并将这些几何形态标记为几何复制品。该方法可以在边界边中的一些或全部上要求精确匹配。该方法可以包括:按类型或参数检查内部处理面。模板可以表示建模产品部件的面或边。根据本发明的第二方面,一种在建模系统中识别几何复制品的方法包括:选择表示样本的模板;搜索至少与模板的预定部分匹配的候选者;以及将至少与模板的预定部分匹配的那些候选者标记为几何复制品。根据本发明的第三方面,一种模拟对多部件产品的构造的修改的方法包括:使用模型对产品进行建模;选定多部件产品的一个部件;识别模型中的多个几何形态,这些几何形态包括所选定的部件的几何复制品或倒转的几何复制品;标记所识别的复制品;对该部件和所标记的几何复制品应用修改;以及提供经修改的产品的表示。识别可以包括:选择表示所选定的部件的模板;生成和存储模板的图;识别产品中的候选几何形态;从起始点起探测所识别的候选几何形态,直到返回到起始点或到达分支;生成经探测的候选几何形态的图;将经探测的候选几何形态的图与模板的图进行比较;如果比较超过公差范围,则终止探测,如果比较落在公差范围内,则保存图并且将候选几何形态标记为复制品。该方法还可以包括:识别几何形态,这些几何形态是模板的倒转或镜像、或者与模板共享对称性、或者相对于模板被缩放,并且将这些几何形态标记为几何复制品。候选几何形态可以包括以下各项中的一项:一个面,或者一条边,或者相连的面或边的多个集合。该方法可以在边界边中的一些或全部上要求精确匹配。根据本发明的第四方面,一种数据处理系统至少包括处理器和可访问存储器,用以实现在模型中识别几何复制品的方法,该系统被配置为:呈现具有多个部件的产品的模型;导出代表多个部件中的一个部件的模板;使用该模板来识别模型中的几何相似元素;将所识别的元素标记为几何复制品;应用共同处理来修改元素及元素的几何复制品;以及呈现产品的经修改的模型。该系统可以包括存储库或显示器,显示器被配置为输出产品的拓扑结构。该系统可以被配置为:基于与该部件具有相似几何结构或与该部件具有倒转几何结构的候选者,来识别几何复制品。根据本发明的第五方面,一种非暂态计算机可读介质,编码有可执行指令,可执行指令在被执行时使得一个或多个数据处理系统执行在建模系统中识别几何复制品的方法,该方法包括:选择几何形态的模板,并且生成和存储模板的图;识别系统中的候选几何形态;从起始点起探测所识别的候选几何形态,直到返回到起始点或到达分支;生成经探测的候选几何形态的图;将经探测的候选几何形态的图与模板的图进行比较;以及如果候选几何形态与模板的预定部分匹配,则将该候选几何形态标记为复制品。根据本发明的第六方面,一种非暂态计算机可读介质,编码有可执行指令,可执行指令在被执行时使得一个或多个数据处理系统执行模拟对多部件产品的构造的修改的方法,该方法包括:使用模型对产品建模;选定多部件产品的一个部件;识别模型中的几何形态,这些几何形态包括所选定的部件的几何复制品或倒转的几何复制品;标记所识别的复制品;对该部件和所标记的几何复制品应用修改;以及提供经修改的产品的表示。以上相当概括地概述了本公开的特征和技术优点,使得本领域技术人员可以更好地理解下面的详细描述。下面将描述本公开的附加特征和优点,这些附加特征和优点形成了权利要求的主题。本领域技术人员将理解,他们可以容易地将所公开的概念和特定实施例用作基础,来修改或设计其他结构,以实现与本公开相同的目的。本领域技术人员还将认识到,这样的等同构造并没有脱离本公开的最宽形式的范围。在进行下面的详细描述之前,阐述本专利文献中使用的一些词语或短语的定义可能是有利的:术语“包括”和“包含”及其衍生词是指包括但不限于;术语“或”是包含性的,是指和/或;并且术语“控制器”是指控制至少一个操作的任何设备、系统或其一部分,而不管这种设备是以硬件、固件、软件还是它们中的至少两个的某种组合的方式来实现的。应当注意,无论是本地还是远程,与任何特定控制器相关联的功能均可以是集中式的或者是分布式的。贯穿本专利文献提供了一些词语和短语的定义,并且本领域普通技术人员将理解,在许多情况(即使不是大多数情况)下,这些定义应用于这样定义的单词和短语的先前以及未来使用。虽然一些术语可以包括多种实施例,但是所附权利要求可以明确地将这些术语限制于特定实施例。附图说明现在将参考附图描述根据本公开的方法和数据处理系统的示例,其中:图1是数据处理系统的框图,在该数据处理系统中可以实现实施例;图2是根据所公开的实施例的过程的流程图;图3图示了根据所公开的实施例的样本和潜在复制品的示例,其中从该样本产生模板;图4提供了图3的实施例的更多细节;图5提供了图3的实施例的更多细节;图6图示了根据所公开的实施例的进一步细节;图7a和图7b图示了根据所公开的实施例的另一样本和复制品;图8a和图8b图示了根据所公开的实施例的另一样本和复制品;图9提供了根据所公开的实施例的更多细节;图10图示了在根据所公开的实施例的示例性方法中应用确定性匹配的示例;图11和图12图示了根据所公开的实施例的示例性方法中边数目差异的影响的示例;图13图示了根据所公开的实施例的多环匹配的影响;图14a、图14b和图14c图示了根据所公开的实施例的多环分支的影响;图15a、图15b和图15c提供了根据所公开的实施例的、图14a、图14b和图14c的实施例的更多细节;图16a和图16b图示了根据所公开的实施例的多边界段分支的影响;图17图示了根据所公开的实施例的、对图16a和图16b的实施例的依赖性的影响;图18a和图18b图示了根据所公开的实施例的组合图;以及图19a、图19b和图19c图示了根据所公开的实施例的生成循环图的特征的影响。在本文献中用于描述本发明的原理的图1至图19的实施例仅作为说明,而不应以任何方式被解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可以被实现在任何适当布置的设备中。具体实施方式在cad系统中,用户可能希望对对象的设计进行建模,执行测试以确定该对象的性能,并响应于测试结果来修改设计。在设计过程中的某些阶段,用户可能希望进行更改,并且如果结果未达到预期,则恢复为原始的,或者连续尝试多个不同的更改来确定要使用哪一个更改。然而,用户比较抵触具有较长延迟的活动。某些处理可能被分别地执行在几何上相似的多个设计元素上,这比较浪费时间和计算能力。然而,手动识别这些设计元素较为困难且耗时,并且在一些情况下这么做可能不切实际。在对象或物品被表示为立体物的所有情况下,均可以使用直接建模或变分直接建模,对象或物品包括机器部件、车辆、设备安装、建筑布局、工程结构或化学结构,但本公开不限于这些应用。三维模型允许导出部件的质量或重量,并且可以确定与其他系统中的其他部件的相互作用。变分直接建模系统根据几何约束和尺寸,来描述对象模型中的特征的参数和这些特征之间的关系。然后,这样的系统使用求解过程来处理:这些约束和尺寸、以及维持设计意图所需的大量辅助约束和尺寸,并且整个模型被同时求解。本公开描述了如何确定几何相似元素以及将这些几何相似元素以如下方式相关联,即,它们可以在处理方面以类似方式被处理,而不是每个个体元素都必须被单独处理。该方法自动快速地确定在指定环境内是否存在与给定模板在几何上相似的元素。为了本说明书的目的,这种几何相似元素将被称为几何复制品。当相似的几何形态能够被识别出、从而行为相似时,或者它们被分组在一起并且一起被处理时,操作将会更有效率。在诸如电机或车辆或飞行器之类的复杂体中,很可能存在具有相似几何结构的多个部件实例。在对这种复杂体进行建模时,根据设计者希望应用的更改来处理每个个体部件。然而,这些更改都增加了计算要求,并延长了在能够呈现更新模型之前所需要的时间,之后设计者可能希望应用进一步测试,以确定其设计策略的有效性。减少所花费的时间是有益的。这通过以下操作来实现:识别几何复制品并标记这些几何复制品,使得在处理阶段期间,设计更改可以被应用于指定的模板元素或部件,并且在更改已被应用之后,效果随后被复制到模板的已被识别的所有复制品。图1图示了数据处理系统的示例,在该数据处理系统中可以实现本公开的实施例,该数据处理系统例如为被配置为执行本文所述的过程的cad系统。数据处理系统21包括处理器22,处理器22连接到本地系统总线23。本地系统总线将处理器连接到主存储器24和图形显示适配器25,图形显示适配器25可以连接到显示器26。数据处理系统可以经由连接到本地系统总线23的无线用户接口适配器,或经由例如连接到局域网的有线网络与其他系统进行通信。经由本地系统总线还可以连接附加存储器28。针对其他外围设备(例如键盘29和鼠标20或其他指示设备)的适当适配器(例如无线用户接口适配器27)允许用户向数据处理系统提供输入。其他外围设备可以包括一个或多个i/o控制器,例如usb控制器、蓝牙控制器和/或专用音频控制器(连接到扬声器和/或麦克风)。还应当理解,各种外围设备可以(经由各种usb端口)连接到usb控制器,这些外围设备包括输入设备(例如键盘、鼠标、触摸屏、轨迹球、照相机、麦克风、扫描仪),输出设备(例如打印机、扬声器)或可操作以向数据处理系统提供输入或从数据处理系统接收输出的任何其他类型的设备。还应当理解,被称为输入设备或输出设备的许多设备既可以提供与数据处理系统的通信的输入,又可以接收与数据处理系统的通信的输出。还应当理解,连接到i/o控制器的其他外围硬件可以包括被配置为与数据处理系统进行通信的任何类型的设备、机器或组件。在数据处理系统中包括操作系统,该操作系统允许在显示器26上向用户显示来自系统的输出,并且允许用户与系统进行交互。可以在数据处理系统中使用的操作系统的示例可以包括:microsoftwindowstm、linuxtm、unktm、iostm以及androidtm操作系统。此外,应当理解,数据处理系统21可以被实现在网络环境、分布式系统环境、虚拟机架构中的虚拟机和/或云环境中。例如,处理器22以及相关联的组件可以对应于在一个或多个服务器的虚拟机环境中执行的虚拟机。虚拟机架构的示例包括vmwareesci、microsofthyper-v、xen和kvm。本领域普通技术人员将理解,对于特定实施方式而言,针对数据处理系统21描绘的硬件可以变化。例如,该示例中的数据处理系统21可以对应于计算机、工作站和/或服务器。然而,应当理解,数据处理系统的备选实施例可以被配置为具有相应或备选的组件,这些组件的形式例如为:移动电话、平板电脑、控制器板、或任何其他系统,其可操作以处理数据和执行本文所描述的功能和特征,这些功能和特征与本文所讨论的数据处理系统、计算机、处理器和/或控制器的操作相关联。所描绘的示例被提供仅仅是为了解释的目的,并不意味着暗示关于本公开的架构限制。数据处理系统21可以连接到网络(其不是数据处理系统21的一部分),该网络可以是本领域技术人员已知的任何公共或私有数据处理系统网络或网络组合,包括因特网。数据处理系统21可以通过网络与诸如服务器(其也不是数据处理系统21的一部分)之类的一个或多个其他数据处理系统进行通信。然而,备选的数据处理系统可以对应于多个数据处理系统,这些数据处理系统被实现为分布式系统的一部分,在分布式系统中,与多个数据处理系统相关联的处理器可以通过一个或多个网络连接进行通信,并且可以共同执行被描述为由单个数据处理系统执行的任务。因此,应当理解,当提及数据处理系统时,这样的系统可以跨多个数据处理系统被实现,这些数据处理系统被组织在分布式系统中,并经由网络彼此通信。图2是图示本公开的基本方法的流程图。第一步骤是选择140正被建模的产品的部件的模板,部件例如为齿轮齿、或者螺母或者垫圈。当考虑产品中的存在于多个实例中的部件时,识别几何复制品是最有用的。在已经选择了模板之后,生成141由模板表示的部件的多个面的数学图。该图通过依次探测模板面或边,来指示遇到的每个面或边。针对该模板的图被存储以供以后使用。例如,通过确定与模板的指定起始面和边匹配的面-边对,可以识别142候选几何形态,这些候选几何形态可能与模板相似。在二维示例中,模板可以包括边和顶点。在三维示例中,模板包括边和面。探测143每个所识别的候选者,并以类似的方式生成144每个候选者的图。在该示例中,探测包括:跟随起始面的边界,检查边,以及在检测到新的面时添加新的面。将每个图与模板的图进行比较145。使用已经预设的公差范围,来确定候选者的图是否在公差范围内,该公差范围允许该候选者被认为与模板在几何上相似。如果结果落在可接受范围内,则被建模部件被标记为几何复制品。如果结果不在可接受范围内,则候选者将被舍弃。公差范围可以包括针对待匹配模板的特定部分的要求,或者公差范围可以包括模板和候选者的最小匹配数目。对于被认为几何相似的部件,进行进一步检查以查看是否遇到了任何分支,并且如果遇到了分支,则对于每个分支执行147具有探测143、制图144和比较145、146的过程。以下提供该方法的操作的更多细节。给定一组模板面,该方法可以快速识别几何复制品以及它们的面的映射关系和一致坐标系。模板面通常通过边界与环境相连,并且除了在它们可能发生变化的边界处,复制品是刚性变换。这里示出了模板和复制品的示例以及面映射关系和一致坐标系。图3图示了部件a的第一示例,从部件a可以形成一个模板,然后将该模板与候选部件b进行比较,以查看部件b是否可以被认为与部件a几何相似。样本部件a具有包括面1、2、3、4、5的连接集合,并且潜在复制品候选部件b具有包括面6、7、8、9、10的连接集合。由于目的是找到几何复制品,而边界处的处理面(例如倒圆和倒角)在每个实例中采用不同的几何形态,所以在基本确定中忽略这些处理面。可以在图4中看出这一点。集合中的面(排除任何处理)可以被称为“模板”,并且这些面的邻近非模板面的子集是边界面。边界面和非模板面之间的边是边界边,这些边可以被收集到多个连接集合中,这些连接集合被称为边界区域。面5是非边界面,面4、1、2、3是边界面,面11由于它是处理面而被忽略。该过程通过从集合中选择起始面和边而开始。在图3中,所选择的起始面被标记为5,并且轴z1、x1被指示。可以选择一条边,例如圆形边30。这些轴不必对应于边。从模板中选择的起始面和起始边启动图形构建和匹配过程。起始面或起始边的选择旨在尽早拒绝不合适的候选者,并优化性能。例如,圆形边30具有可以被检查的半径属性。为了在各种情况下都能提供优良性能,对起始面的基本选择是:根据一组可快速测试的局部属性,基于该面本身可能的罕见性进行选择,其中在初始与环境进行比较时就使用了所述一组可快速测试的局部属性。这是为了在后面的匹配阶段,使环境内的候选起始位置最少。存在可以用于选择起始面和边的各种属性,包括但不限于搜索非边界面和边,这样的非边界面和边是优选的,这是因为它们的整个边界都可以用于测试。相反,使用边界面则更为复杂。图4图示了每个面的示例。其示出了一个非边界面5,四个边界面4、1、2、3以及多个处理面11。另一个属性是几何结构类型,例如,平面是非常常见的,并且不具有用于快速检查的进一步属性,而环面比较罕见,并且还具有可以被快速检查的两个半径。可以使用诸如边计数或环计数之类的属性;例如,与具有四个边的面相比,具有大量边的面相当罕见,并且可以用作更好的检查基础。根据模板面创建一个正交坐标系,其由原点、z方向和x方向组成,即图3中的z1、x1。利用到模板面的给定映射(如下面表1示出的),创建给定候选复制品上的对应坐标系,该坐标系在图3中被示为z2、x2。这允许在最终精确几何检查中计算和使用变换。选择的原点通常是稳定点,例如,内部顶点、几何结构的中心、或非解析几何结构上的参数点。z方向可以是内部边的方向、几何结构的轴方向、平面的法线、或者指向另一个稳定点的方向。x方向必须与z方向正交,但是可以使用与z方向上的原点类似类型的、但被投影到z平面上的点或方向。样本12345复制品678910表1构建一个拓扑图以包含模板的所有面、边和环,这些面、边和环具有局部属性,这些局部属性在匹配时可以被快速检查,并且潜在地包括但不限于:几何类型、几何参数(例如半径、半角等)、环计数、环类型、边计数、边长度、总的边/弦长度、边角度、凸度等。对所要包括的属性的选择可以是有变化的,例如由于边界面不会与边计数进行比较,所以在构建图形时可被动态选择。创建属性的顺序也很重要,并且可以在面之间改变。例如,如果模板面的数目较多,则首先检查边的数目可能更佳。相比之下,另一个模板面可能具有非典型的几何结构类型,从而使其成为第一选择属性。该方法可以分析模板的潜在旋转对称性,旋转对称性除了提供有用的附加输出信息和优良的坐标系选择以外,还允许对后续搜索进行重要优化。为了确定潜在的对称性,使用快速匹配程序并利用精确几何检查,将模板与自身进行完全匹配,下文将进行描述。除了快速匹配程序和精确几何检查之外,该方法还可以包括以下步骤:调整边界、选择起始面和边、选择坐标系、构建图形、分析对称性、收集候选面、查找匹配。模板被搜索,以找到与实际的起始面和边的局部属性匹配的所有候选起始面-边对。这种快速匹配程序被应用于这些候选面和边中的每一个,并且匹配的总数目被用于推断模板的任何旋转对称性,并且可能改善坐标系的选择。如果只有一个匹配,这通常意味着不存在旋转对称性。然而,需要进一步检查以查看是否存在轴对称性。这种进一步检查针对共轴。没有共轴的单个匹配意味着没有对称性。单个x方向保留。对于这种类型的一般非旋转模板,坐标系是任意的,但为了有益于下游应用,可以应用一些特殊情况。例如,在图5所示的示例性样本c中,z轴被选择为这些边界面的共同扫掠方向或者面5的方向。样本12345自身匹配112345表2图6的样本具有五个面31、32、33、34、35。图6和表3示出了具有共轴36的单个匹配,这意味着轴对称。在这种情况下,x方向是任意的,因此对复制品检测没有帮助并被忽略。x方向的数目被设置为0。样本3132333435自身匹配13132333435表3图7a和图7b以及表4图示了n个匹配,这意味着n重旋转对称。图7a示出了初始坐标系和七个面41到47。旋转轴可以被计算,以作为这些变换的共同旋转轴,并且旋转角度为360/n。图7b示出了经调整的多个坐标系和自身映射。在图7b中可以看到,原点通过投影到旋转轴上而被改善,z方向被改善为旋转轴的方向。n个映射被存储在模板中,并且每个映射需要一个x方向。第一x方向被重新计算以通过原点并垂直于z方向,剩余的自由度不太重要。然而,第一x方向可以被选择为使其指向一个顶点或一个重要点。其他n-1个x方向是第一x方向的连续旋转。表4错误检查由于以下原因而被提供:由于至少在起始面和边的选择相同的情况下,模板必须与其自身匹配,所以在快速匹配步骤中不存在匹配则意味着错误。当收集面时,从结果中忽略来自模板本身的面,但是根据存储的局部快速属性,搜索环境以得到与来自模板的起始面和边匹配的面-边对的“候选列表”。这是对整个环境(减去实际的起始面和边)的新搜索,用于寻找起始面和边的匹配。对于“候选列表”中剩余的每个面-边对,执行“快速匹配程序”,以得到面映射集合。执行“精确几何检查”,以查找这些映射中的哪个映射在几何上是正确的,并且如果找到精确的几何匹配,则形成了复制品,其中从快速匹配程序返回映射,并从精确几何检查返回坐标系和变换。如果模板具有n重对称性,则将从快速匹配程序仅返回n个可能映射中的一个可能映射。这是该方法的一个益处,这是因为n-l个剩余映射现在可以根据1个找到的映射以及n个自映射而被推断出来,其中n个自映射作为对称性检查的一部分在模板内被找到。这些附加映射中的每一个还产生附加的x方向和变换,它们也能够被计算出来。所找到的复制品的面从候选列表中被去除。在该算法中,忽略边界边,而使用精确几何检查来确定从模板面到候选面的候选映射是否是精确几何匹配。使用与模板相同的程序,在候选者中的相应映射实体上,从映射候选面形成坐标系。现在,可以相对于模板的坐标系而从候选者的坐标系来计算从模板到候选者的变换。将每个候选面的表面几何结构与应用了上述变换的相应模板面的表面几何结构进行比较。所有表面都必须匹配。注意,此检查不包括边,因此不会在边界处强制进行所需的精确匹配。如果此测试失败,则候选者被拒绝。高级算法对快速图形匹配程序的要求是:它快速确定候选起始面和边是否具有如下所述的面的邻域:这些面在拓扑上并且根据多个快速局部属性检查与模板匹配。边界处的匹配要求对需要匹配的边界区域的数目不太严格,而对边界边的数目或其属性比较严格。图8和表5的示例示出了样本s1和复制品c1,样本s1具有面f1、f2、f3、f4、f5,复制品c1具有面f6、f7、f8、f9、f10。在这种情况下,由于样本和复制品二者中都有单个边界区域,尽管边的数目不同,也会预期存在匹配。样本f1f2f3f4f5复制品f6f7f8f9f10表5成功的匹配可能产生从模板面到候选面的多个映射。当每个候选元素(面、边或环)被遇到时,针对在构建图形阶段所存储在模板图中的属性,来检查该候选元素。当每个候选面被遇到时,它被添加到一个映射,该映射随着匹配的进行而被递增建立。非边界边的连接链被称为“内部段”,边界边的连接链被称为“边界段”。在图9中图示了一个示例,其示出了内部段38和外部段39。确定性匹配器被用作核心的图形匹配算法。它可以被用于以下情况:在所述情况中通过模板可以构建唯一路径。该算法以模板的面、该面的一条边以及相似候选面/边对作为种子。假设候选面/边对是成功匹配的一部分。该算法使用边来识别相邻的面,这些相邻的面形成新的候选映射。这些面也可以被添加到处理堆栈中,用于进一步的边比较。然后,如图10所示,该方法围绕第一面50的环行进,检查边,并在适当时添加新面51、52、53、54。内部面(即仅与其他模板面相连的面)应当具有一致的边数目。因此,随着该方法围绕模板和候选面的环而行走,这两个环均应当一致地返回到它们的起始点。如果并未如此,则候选者被认为是不一致的并被拒绝。一旦该面的环完成,算法就行进到堆栈中的下一个面。起始边是用于到达该面的边。这使模板和候选者的行走保持一致。因为边界段(即边界处的边的连接链)被允许改变,所以边界面给该算法增加了额外的复杂性。在一个实施例中,期望图11中的示例模板和图12中的潜在候选者匹配。由于模板中的面60的边界段具有一条边61,而候选者62此时具有五条边63,所以情况变得复杂。显然,由于不同的边数目,围绕环传播将引起不一致。为了避免这一问题,当确定性匹配算法到达模板中的边界段时,它停止围绕环行走。然后,确定性匹配算法返回到其起始边(通过该边,它传播到面上),并沿相反方向继续。对于许多模板(在这些模板中每个面的内部边都是相连的)而言,可以以确定性方式到达所有这些内部边,因此确定性匹配是足够的。然而,存在两种情况,在这两种情况下内部边并不全部相连并且需要算法进行分支。第一种情况是当面具有多个环(多环分支)时,第二种情况是当存在多个边界段(多边界段分支)时。对于多环分支的例子,确定性匹配算法通过沿环行走并踏上新的面,来围绕模板行进,并且围绕候选者行进。然而,如果一个面具有多个环,则该算法需要能够从一个环踏到另一个环。在此,复杂性在于:从拓扑的角度来看,无法知道要踏上第二个环中的哪个边。在图13和下表5中的示例模板中示出了这一问题。从面70开始,对于前五个面70、71、72、73、74,确定性匹配可以以一致且可重复的方式传播。然而,面75具有两个环,两个环中的第二个环具有四条边。因此,对于图形的下一部分而言,存在四个潜在的起始边。匹配算法必须测试所有四种可能性。由于模型的旋转对称性,所有这些可能性将引起成功的映射。假设一个给定的起始边,在下表中提供了所得到的四个映射。表6当被用在算法的对称性检查部分中时,围绕面70的所有四条边都被测试,从而给出十六个可接受的拓扑映射,然后这些映射通过精确几何测试被削减到四个,以产生四个映射,并暗示四重对称性。利用这种对称性知识,将这种匹配再次用在复制品查找中,只需要返回一个映射,而其他有效映射可以如上所述那样被推断出。多环分支容易被找到,因为它们被定义为模板中具有多于一个环的任何面。如果遇到具有多个环的面,则匹配器添加“下一”环作为分支。“下一”环被任意选择,以作为未处理的模板环之一,其被用作要比较的下一环。环分支的顺序可以被优化以提高效率。在具有依赖性的多环分支的情况下,在同一个面上的环之间存在依赖性,因此在每个确定性匹配之后,这些环中只有一个环将被选择作为分支。图14a至图14c的示例示出了可以如何独立地处理不同面上的环的匹配,但每个面内的环必须以依赖性方式被处理。图14a中的样本具有面80、81和突起82、83。主块上的两个多环面(即顶面80和前面81)可以被独立处理,从而作为分离的独立分支而被处理。在每个分支中,“下一”环的开始可以是十二个未处理面中的任何一个,即,对于面80的分支而言,可以是如图14b所示的突起82a、82b、82c的侧面,而对于面81的分支而言,可以是如图14c所示的突起83a、83b、83c的侧面。从图15a至图15c中可以看出,每个面82a都引起子图的成功拓扑匹配,为之后的环留下剩余的八条候选边82b、82c,并且为下一环留下四条候选边82c,其中映射组合的数目在每个阶段都加倍。对于突起83和候选边83a、83b、83c,情况类似。这个例子被选择为具有很多相等的边长度,以便得到出如下事实:仅局部属性检查(例如边长度)仍然可能在一些模型上产生很多映射。在实践中,可以通过添加进一步的“半局部”几何检查,来在许多情况下去除这种类型的分支。例如,确定性匹配可以确定将一个环链接到另一个环的最近边和/或顶点,从而延伸行走而不是进行分支。此外,当无法避免大量的组合时,可以将映射存储在树结构中,该树结构更加紧凑,并且可以以更有效的分级方式而被几何检查。备选地,可以在图形匹配内执行一些精确几何检查,并且在减少所生成的映射与增加快速匹配的计算时间之间进行平衡。该算法所得到的性能是将该方法的这一方面调整到特定域的驱动因素。图16a和图16b以及表7是多边界段分支的示例。在图16a中,可以在一个示例中看到面91的边界段96,在该示例所示出的模板中,附加球体(即面95)意味着面91具有两个边界段。当确定性算法从面90、92或94中的任一个传播到面91上时,该算法将以环顺序和反向环顺序来处理这些边,直至到达边界段。该方法绝不会传播到面95上。虽然模板在每个边界段中仅具有一条边,但是成功的候选者可能具有多条边。当与图16b中所示的候选面比较时,该方法需要进行分支,以发现面95的匹配。待检查的潜在边的集合从球体f的左侧延伸到球体h的右侧。该算法需要测试所有这五种可能性,并且应当发现三个拓扑正确的匹配。由于预期边界段包括至少一条边,所以不需要在f之前和h之后立即测试边97、98。三个拓扑正确的映射被输出,如下表7所示。表7多边界段分支点可以是依赖性的,因为可能会存在多个子图形源自相同的面-环。这些点中的一个点的位置依赖于前一个点。例如,图17所示的模板具有这样的边界面(面101),在边界处连接有两个剩余的内部段,这两个剩余的内部段仍然要被匹配。在成功匹配面100-104之后,进行初步尝试,以搜索连接到面105、106和107的内部段,因为连接到113、114和115的内部段的潜在候选者依赖于第一内部段的位置。该算法需要利用用于下一内部段的各种候选起始边,来重复调用确定性匹配算法。一旦确定性方法已经找到子图(即面105、106、107和108)的成功匹配,则该方法添加连接到面113、114、115和116的下一个内部段,作为另一分支。在面105、106、107和108的匹配期间,该方法还将在面108处遇到另一分支,以此类推。当到达一个分支时,候选边被核对,然后被探测。对于多环分支,一旦找到了分支的正确匹配,该功能就可以停止,因为由备选候选者产生的映射可以被推断出来。由于可能存在多个成功候选者,所以所有这些不同的映射必须被编译。对于独立分支而言,所得到的成功映射需要被合并,这涉及产生一个完整集合,其包括来自每个子分支的每个组合。为此,考虑图18b的示例模板,该模板具有面121、122、123、124、125、126、127。球面125和126导致多个边界分支,由于这些边界分支出现在不同的面上,所以它们是独立的。当将该模型与图18a所示的候选者匹配时,如表8所示,每个分支点找到两个成功匹配。来自面121的分支产生两个映射,其中面126映射到h或i。同样,来自面124的分支针对面125产生两个映射,映射到面f或g。合并来自这些独立分支的选项涉及:形成每个分支中的选项的所有组合。这些分支中的两个选项引起面125和126的2×2=4个可能的映射组合(hf、hg、if、ig)。所有四个映射为前五个面提供相同的面对。表8进一步的复杂性涉及引起循环图形的特征,如图19a、图19b和图19c所示。图19a的示例模板包含潜在的分支面130,因为模板具有两个不同的内部段131、132,段131由实线指示,段132由虚线指示。然而,该特征的右侧组件133允许以不同路线到达第二段132,因此该模型可以通过纯确定性的方式被匹配。因此,在探测分支时,有必要验证正在寻求的内部段尚未被找到。在图19b的示例中,示出了具有两个子图形的模板。分支面134具有三个分离的内部段,即,由实线所示的段135和由虚线所示的段136、137,这三个段指示两个依赖性分支。然而,对第一分支的探测确定性地发现了第三内部段137。在图19c的示例中示出了具有两个分支面138的另一个模板。每个子图形提供两个独立的分支。然而,对第一分支的探测将确定性地发现第二分支。由于多种原因,该方法能快速地找到复制品,也能拒绝非复制品。将确定性行走与分支组合意味着潜在的搜索树是最小的。使用局部属性进一步大幅减小了实际的搜索树。在执行任何几何测试之前就耗尽图形匹配,这在cpu时间和由此所用的总时间方面可能是昂贵的。对输入进行分析允许:对称复制品被推断出,而不是被明确找到,这减小了搜索空间。起始面和边的合理选择减少了所尝试的匹配次数。在复制品可能被预期、但由于部分拓扑结构匹配或部分几何结构匹配而未被返回的情况下,拓扑结构和几何结构的分离允许进行诊断性输出。如下面更详细解释的,拓扑结构和几何结构的分离允许并入多个附加特征。映射和坐标系信息的返回意味着:输出可以很容易地用于几何图案识别。该方法还产生对下游应用有用的一致坐标系和变换。除了能够加速处理以外,对称性检测还产生了在旋转对称情况下的较优坐标系,以及在下游可能再次有用的所有映射。存在许多延伸和扩展可以与所公开的方法一起使用。可以将此范围扩大为包括多个模板,这些模板具有多个连接面集合。起始面/边的选择可以针对每个模板而被调整,例如尝试选择起始面/边对,其使得图形的能够被确定性访问的部分最大化。这提高了在不需要分支的情况下拒绝候选者的可能性。考虑到特定域的不同属性的可能频率的任何知识,或者实际预扫描所给出的环境以对此确定,起始面/边的选择可以针对特定环境而被调整。这在针对许多不同模板而搜索相同环境的情况下是有益的。部分或所有边界都可能是重要的,从而可以灵活地在部分或所有边界边上要求精确匹配。一些精确几何检查可以由逻辑检查代替。例如,可以按类型或参数而不是按几何结构来检查内部处理面,例如倒圆或倒角,从而允许更宽容的匹配以及允许参数(例如倒圆半径)在这些区域中变化。可以使几何结构检查容许来自不同系统的导入。该方法的拓扑和几何划分允许对相似的拓扑复制品进行可能的识别,这些相似的拓扑复制品具有某种程度的几何变化,例如:整体大小(尺度)或特征族中的特定参数变化。拓扑结构和几何结构检查的调整允许识别对称或镜像特征。可以实现部分匹配器,其允许对匹配阈值进行要求,并且系统指示模板的哪个部分匹配。在非对称情况下,对于z轴方向的选择,还可能存在进一步的特殊情况。产品设计的特别有用的特征允许倒转匹配,使得部件的模板可以被用来查找正确的对应部件,例如用于特定孔的钉,或者与部件上的特征匹配的、模具上的特征。在可以利用相似性的任何应用中,可以即时地利用该方法。在这种环境中,复制品不需要被永久标记,而是根据需要被发现,并且可以随着模型的逐渐构建而变化和演变。简单而言,所公开的方法提供了一种强大的选择工具,对于查找在拓扑上基本但不完全相同的样本特别有效,因为该方法能够有效地排除不合适的样本。当然,本领域技术人员将认识到,除非操作序列特别指出或要求,否则上述过程中的某些步骤可以被省略、可以并发地或顺序地被执行、或以不同的顺序被执行。本领域技术人员将认识到,为了简单和清楚起见,本文中未描绘或描述适合与本公开一起使用的所有数据处理系统的完整结构和操作。相反,所描绘和描述的仅仅是数据处理系统中的、本公开所特有的或理解本公开所必需的那些部分。数据处理系统1的构造和操作的其余部分可以符合本领域已知的各种当前实现和实践中的任何一种。需要注意的是,虽然本公开包括全功能系统的上下文中的描述,但是本领域技术人员将理解,本公开的机制的至少一些部分能够以指令的形式被分布,所述指令被包含在具有各种形式中的任何一种形式的机器可用、计算机可用或计算机可读介质内,并且不管使用何种特定类型的指令或信号承载介质或存储介质来实际执行分布,本公开都同样适用。机器可用/可读或计算机可用/可读介质的示例包括:非易失性的硬编码类型介质,例如只读存储器(rom)或可擦除电可编程只读存储器(eeprom);以及用户可记录类型介质,例如软盘、硬盘驱动器和光盘只读存储器(cd-rom)或数字通用盘(dvd)。尽管已经详细描述了本公开的示例性实施例,但是本领域技术人员将理解,在不偏离最广泛形式的本公开的精神和范围的情况下,可以对本公开做各种改变、替代、变化和改进。本申请中的任何描述都不应当被解读为暗示任何特定元素、步骤或功能是必须被包含在权利要求范围内的必要要素:获得专利的主题的范围仅由获准的权利要求定义。此外,这些权利要求中的任何一个都不旨在援引35usc§112(f),除非确切词语“用于……的装置”之后跟随着分词。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1