CN106202545A - 利用相近性准则来查询数据库 - Google Patents

利用相近性准则来查询数据库 Download PDF

Info

Publication number
CN106202545A
CN106202545A CN201610596236.5A CN201610596236A CN106202545A CN 106202545 A CN106202545 A CN 106202545A CN 201610596236 A CN201610596236 A CN 201610596236A CN 106202545 A CN106202545 A CN 106202545A
Authority
CN
China
Prior art keywords
modeling object
value
reservation shape
face
shape descriptor
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.)
Granted
Application number
CN201610596236.5A
Other languages
English (en)
Other versions
CN106202545B (zh
Inventor
R·罗拉托
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 of America Corp
Original Assignee
Dassault Systemes of America Corp
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 of America Corp filed Critical Dassault Systemes of America Corp
Publication of CN106202545A publication Critical patent/CN106202545A/zh
Application granted granted Critical
Publication of CN106202545B publication Critical patent/CN106202545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明特别涉及一种计算机实现的方法,其用于查询包括表示机械部件的3D建模对象的数据库,所述方法包括以下步骤:提供(S1)包括相近性准则的查询,所述相近性准则是相对于输入的3D建模对象的预定形状描述符的值的;作为所述查询的结果,返回(S2)所述数据库的相应3D建模对象,所述相应3D建模对象是基于所述相应3D建模对象的所述预定形状描述符的所述值遵从所述相近性准则的程度而返回的。相应3D建模对象的所述预定形状描述符的所述值包括三面的轴系统集合。所述相近性递增地取决于所述轴系统集合互相对同一相似性变换按模运算的结果匹配的程度。这种方法改进了对包括表示机械部件的3D建模对象的数据库的查询。

Description

利用相近性准则来查询数据库
技术领域
本发明涉及计算机程序和系统领域,并且更具体地,涉及用于查询包括表示机械部件的3D建模对象的数据库的方法、系统和程序。
背景技术
市场上提供了用于对象的设计、工程和制造的多种系统和程序。CAD是计算机辅助设计的首字母缩写,其例如涉及对对象进行设计的软件解决方案。CAE是计算机辅助工程的首字母缩写,其例如涉及用于仿真未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的首字母缩写,其例如涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户界面在关于技术效率方面扮演重要角色。这些技术可以嵌入产品生命周期管理(PLM)系统。PLM指代商业策略,其帮助公司共享产品数据、应用通用过程以及利用该(leverage)从概念到其周期结束的产品开发的企业知识(跨越扩展企业的概念)。由Dassault Systèmes提供(商标CATIA,ENOVIA和DELMIA)的PLM解决方案提供:工程中心,其组织产品工程知识;制造中心,其管理制造工程知识;以及企业中心,其使得企业集成并连接至工程和制造中心二者。总共地,所述系统递送开放对象模型链接产品、过程、资源以启用动态的、基于知识的产品创建和决策支持,其驱动优化产品定义、制造准备、生产和服务。
在该上下文中,需要搜索几何上相似于另一实体的现有实体,所述另一实体例如是利用CAD系统设计的实体。该搜索通过比较专用信息来执行,所述专用信息一般称为“形状描述符”,其附着至每个实体。特别地,在客户端/服务器架构的上下文中搜索相似对象可以如下来执行。通过使用客户端计算机,设计者创建或编辑3D模型A,其典型地是实体。问题在于寻找相似于被设计的实体的现有实体。候选实体的数据库由服务器计算机控制。客户端计算机计算实体A的形状描述符S(A)。该形状描述符连同用户定义的相近性/相似性准则c一起发送至服务器计算机。然后,搜索算法在服务器计算机上运行,以便在相似实体存在的情况下寻找相似的实体(即,根据相近性准则,“相似于”被搜索的实体的实体)。该搜索使用形状描述符S(A)以及相对于相近准则c的请求和数据库中的对实体的预先计算的形状描述符。最终,相似实体被发送回客户端计算机。当根据常识,两个实体具有“相同形状”或“几乎相同的形状”时,其一般被称为“近似”或“相似”的。相似性可以包括镜像,这表示实体的镜像图像相似于原始实体。其还可以包括缩放因子,表示缩放的实体相似于原始实体。因而,相似实体搜索的关键特征是形状描述符。形状描述符是某些多维和数字信息,其计算自实体模型并且主要用于比较目的。
另一方面,存在基于径向和谐波函数的形状描述符技术。径向函数的目标是将一般不是旋转不变的3D形状编码为旋转不变的数字信息。这消除了测试实体和候选实体之间相对定位的问题。谐波函数是函数的基础,并且从某种意义上说,形状描述符是以谐波函数为基础的径向函数的坐标。然而,该技术被设计用于在机械部件上下文中的多用途形状比较和现有产品在输出结果并不总是相关的这一方面缺乏效率。典型的引用是:
1、文献EP 2169567A2;
2、Rotation Invariant Spherical Harmonic Representation of 3D ShapeDescriptors.M.Kazhdan,T.Funkhouser,and S.Rusinkiewicz,Eurographics Symposiumon Geometry Processing(2003);以及
3、A search engine for 3D models.T.Funkhouser,P.Min,M.Kazhdan,J.Chen,A.Halderman,D.Dobkin,D.Jacobs,D.:ACM Transactions on Graphics 22(1),83-105(2003).
另一方面,已知的是,对于表示机械部件的实体模型,另一技术是可用的。形状描述符是根据B-Rep表示来计算的,更精确地,其是根据实体模型的面来计算的。例如,一种现有技术(以下引用)提取针对面的几何签名,并将其进行匹配,以将两个B-Rep模型之间的等价面与不同的面进行区分。然而,不仅从关联的角度来看,也从引入的数据的大小和速度的角度来看,现有产品仍缺乏效率。该技术包括:
1、Comparing 3D CAD Models:Uses,Methods,Tools and Perspectives,AntoineLouis Rivest and Roland Maranzana,Computer-Aided Design&Applications,9(6),2012,771-794;以及
2、2.Msaaf,O.;Maranzana,R.;Rivest,L.:Part data mining for informationre-use in a PLM context,Proceedings of GT2007,May 14-17,Montreal,Canada,ASMEPaper:GT2007-27966,American Society of Mechanical Engineers,New York,NY,2007。
在该上下文中,仍存在对改进的解决方案的需要,该解决方案用于查询包括表示机械部件的3D建模对象的数据库。
发明内容
因此提供了一种计算机实现的方法,其用于查询包括表示机械部件的3D建模对象的数据库。该方法包括提供包括相近性准则的查询,所述相近性准则是相对于输入的3D建模对象的预定形状描述符的值的。该方法还包括作为该查询的结果,返回该数据库的相应3D建模对象的步骤。相应3D建模对象是基于所述相应3D建模对象的所述预定形状描述符的所述值遵从所述相近性准则的程度而返回的。所述数据库中的所述3D建模对象和所述输入的3D建模对象皆至少由3D网格定义,3D建模对象的所述3D网格具有顶点和连接所述顶点的边,所述顶点和所述边形成面,所述面表示由所述3D建模对象表示的所述机械部件的包络。相应3D建模对象的所述预定形状描述符的所述值包括三面的轴系统集合,所述轴系统集合与由所述相应3D建模对象的所述3D网格的相应顶点和所述相应3D建模对象的所述3D网格的相应面组成的配对集合双射地相关联。相应轴系统的所述轴是基于以下各项来定向的:在所述相应顶点处连接于所述相应顶点的所述边的所述方向、在所述相应顶点处由所述3D建模对象表示的所述机械部件的所述包络的法线方向、以及与所述机械部件外侧相对应的面的朝向。述预定形状描述符的第一值相对于所述预定形状描述符的第二值的相似性递增地取决于所述预定形状描述符的所述第二值的所述轴系统集合与所述预定形状描述符的所述第一值的所述轴系统集合对同一相似性变换按模运算的结果相匹配的程度。
该方法可以包括以下各项中的一项或多项:
-所述预定形状描述符的所述第二值的所述轴系统集合与所述预定形状描述符的所述第一值的所述轴系统集合相匹配的所述程度以针对给定的相似性变换类型的预定方式来估计;
-仅当关联于所述预定形状描述符的所述第二值的相应轴系统的面与关联于所述预定形状描述符的所述第一值的相应轴系统的面对所述给定相似性变换按模运算的结果相匹配时,所述预定形状描述符的所述第二值的所述相应轴系统与所述预定形状描述符的所述第一值的所述相应轴系统对所述给定相似性变换按模运算的结果相匹配这一事实在所述预定形状描述符的所述第二值的所述轴系统集合与所述预定形状描述符的所述第一值的所述轴系统集合相匹配的程度方面增加权重;
-所述预定形状描述符的所述第二值的所述轴系统集合与所述预定形状描述符的所述第一值的所述轴系统集合相匹配的程度针对给定相似性变换被估计为关联于所述预定形状描述符的所述第二值的轴系统的面与关联于所述预定形状描述符的所述第一值的轴系统的面对所述给定相似性变换按模运算的结果相匹配的比率;
-所述数据库的所述3D建模对象和所述输入的3D建模对象皆进一步由支持表面和将由所述3D网格的所述顶点和所述边形成的所述面定义为所遵从的支持表面的有界部分的数据来定义,由此所述3D建模对象由边界表示来定义;针对相应3D建模对象的每个相应面,所述相应3D建模对象的所述预定形状描述符的所述值进一步包括由所述相应面定义的所述支持表面的所述有界部分的采样;所述预定形状描述符的第一值相对于所述预定形状描述符的第二值的相似性进一步递增地取决于所述预定形状描述符的所述第二值的所述采样与所述预定形状描述符的所述第一值的所述采样对同一相似性变换按模运算的结果相匹配的程度;
-所述预定形状描述符的第一值相对于所述预定形状描述符的第二值的所述相似性是根据对方案的迭代来估计的,其包括:在每次迭代时,寻找新的候选相似性变换,并且然后根据所述候选相似性变换来估计所述相似性,在每次迭代时新的候选相似性变换是仅基于轴系统信息来找到的;和/或
-所述数据库的所述3D建模对象和/或所述输入的3D建模对象是根据机械设计工艺由用户定义的。
进一步提供了一种被配置为根据上述方法对其查询的数据库。该数据库包括3D建模对象,所述3D建模对象表示机械部件并且其皆至少由3D网格定义,所述3D建模对象的所述3D网格具有顶点和连接所述顶点的边,所述顶点和所述边形成表示由所述3D建模对象表示的所述机械部件的包络的面。所述数据库中的每个相应3D建模对象关联于所述相应3D建模对象的预定形状描述符的值。相应3D建模对象的所述预定形状描述符的所述值包括三面的轴系统集合。所述轴系统集合与由所述相应3D建模对象的所述3D网格的相应顶点和所述相应3D建模对象的所述3D网格的相应面组成的配对集合双射地相关联。相应轴系统的所述轴是基于以下各项来定向的:在所述相应顶点处连接于所述相应顶点的所述边的所述方向、在所述相应顶点处由所述3D建模对象表示的所述机械部件的所述包络的法线方向、以及与所述机械部件外侧相对应的面的朝向。
在一个示例中,所述数据库的所述3D建模对象皆进一步由支持表面和将由所述3D网格的所述顶点和所述边形成的所述面定义为所遵从的支持表面的有界部分的数据定义,由此所述3D建模对象由边界表示来定义,并且,针对相应3D建模对象的每个相应面,所述相应3D建模对象的所述预定形状描述符的所述值进一步包括由所述相应面定义的所述支持表面的所述有界部分的采样。
在一个示例中,该数据库的3D建模对象是根据机械设计工艺由用户定义的。
进一步提供了一种计算机可读存储介质,其具有记录其上的数据库。
进一步提供了一种计算机实现的方法,其用于构造这种数据库。
进一步提供了一种计算机程序,其包括用于执行上述两个方法的任一个或两个的指令。
进一步提供了一种计算机可读存储介质,其具有记录其上的计算机程序。
进一步提供了一种系统,包括处理器,其耦合于具有记录其上的计算机程序和/或数据库的存储器。
附图说明
现将通过非限制示例的方式,并参考附图来描述本发明的实施例,其中:
图1示出了方法示例的流程图;
图2示出了系统的图形用户界面的示例;
图3示出了系统的示例;
图4-31说明了方法的示例。
具体实施方式
参考图1的流程图,提出了一种计算机实现方法,用于查询包括3D建模对象(例如,其数据)的数据库,所述3D建模对象表示机械部件(即,数据库中的每个3D建模对象表示相应机械部件-至少其外侧形状-例如,术语“机械部件”还指代其组件和/或其一部分)。该方法包括提供S1(例如,至例如客户端计算机处的系统数据库或到运行于这种数据库的插件/脚本,或到服务器计算机系统-即数据库主机-,例如可能与服务器混合的客户端,这可以是其例如由同一机器托管的情况)查询的步骤,其包括相近性准则(作为定义该查询的数据的一部分,以及例如进行改查询的可能的若干准则中的至少一个,该查询例如可能包括其他准则,并且可选地包括分配至不同的准则的权重,正如数据库搜索领域中非常经典的)。相近性准则是相对于输入的3D建模对象的预定形状描述符的值的(例如,因此,输入的3D建模对象是以以下这种方式搜索的对象:例如,以相似/类似于在数据库中搜索输入的方式,对对象进行搜索)。该方法还包括作为查询的结果(即,返回的数据包括一个或多个这种结果或甚至没有结果/空结果-这表示不一定返回几个结果,使用了复数形式是因为这是其一般表达-,这取决于查询和/或搜索数据的内容),返回S2(例如向客户端或在服务器处)数据库的相应3D建模对象的步骤。相应3D建模对象是基于所述相应3D建模对象的所述预定形状描述符的所述值遵从所述相近性准则的程度而返回的。
现在,数据库的3D建模对象和输入的3D建模对象皆至少由3D网格定义。3D建模对象的3D网格具有(由术语“网格”的定义)顶点和连接顶点的边。顶点和边形成表示由3D建模对象表示的机械部件的包络(即,外侧表面几何形状)的面。另外,相应3D建模对象的预定形状描述符的值包括(在其数据中)三面(即,起始于相同起点的三个向量)的轴系统集合(即定义该集合的数据),所述轴系统集合与由相应3D建模对象的3D网格的相应顶点(由此,相应轴系统的起点位于这种相应顶点)和相应3D建模对象的3D网格的相应面组成的配对集合(每一个轴系统关联于这种相应{顶点,面}对双射地(即,一对一)相关联,由此,如果所述顶点属于一个以上的面,则导致一个以上轴系统关联于相应顶点)。相应轴系统的轴是基于以下各项来定向的(即,将基于以下数据的预定方案应用于所述定向):(i)在所述相应顶点处连接于所述相应顶点的所述边的所述方向(并且可选地,也可以是其朝向(如果存在的话))、(ii)在所述相应顶点处由所述3D建模对象表示的所述机械部件的所述包络的法线方向(例如,其代表)(例如,在数据中预定的或实时计算的),以及(iii)与所述机械部件外侧相对应的面的朝向(例如,根据参考性的三面规范定向)。预定形状描述符的第一值相对于预定形状描述符的第二值的相似性递增地取决于预定形状描述符的第二值的轴系统集合与预定形状描述符的第一值的轴系统集合(并且其对同一相似性变换按模运算)相匹配的程度。
这种方法改进了包括表示机械部件的3D建模对象的数据库查询。
注意,该方法提供了一种基于数据库中的3D形状来执行搜索的解决方案,这是由于其步骤S1和S2以及相应3D建模对象的预定形状描述符的值的3D定义。由于轴系统集合不仅与3D网格的顶点双射地相关联,还与由相应3D建模对象的3D网格的相应顶点和相应3D建模对象的3D网格的相应面组成的配对集合双射地相关联,因此形状描述符完全描述了3D建模对象并增加了返回给查询的结果的相关性(从3D几何形状相似性的角度)。
这里,“相关性”是针对输入的3D形状返回的结果3D形状的相似性,其例如可以对应于对输入的3D形状的所有可能的相似性变换的距离积分的最小值(从输入的3D形状的表面到结果3D形状的表面测量的最小距离)。另一示例考虑的A和B两个压缩子集,分别表示3D建模对象(例如机械部件的B-Rep)。A和B之间的相似性可以使用公知的豪斯多夫距离来量化。首先,定义p(A,B)=maxa∈Aminb∈Bd(a,b),其中d(a,b)为点a和b之间的欧几里得距离。然后,A和B之间的豪斯多夫距离为H(A,B)=max{p(A,B),p(B,A)}。如果存在相似性变换D以使H(A,D(B))=0,则子集A和B完全相似。存在量化两个形状之间的3D相似性的自然感知的方法。
另外,该定义适用于由3D网格定义的、数据库的3D建模对象和输入的3D建模对象,其通常为机械部件的3D CAD设计的情况,并且利用该定义。此外,为形状描述符保留的特定定义良好地适用于机械设计,因为其良好地适用于以下上下文:设计者聚焦于机械部件的包络,其被设计为以增量方式形成和修改表示该包络的3D网格。在该上下文,形状描述符实现了尺寸(在存储器空间存储形状描述符的方面,以及在当估计相似性时处理的数据量方面-其涉及相似估计的简单性和方法的速度和/或数据库构造的速度)和由方法输出的结果的相关性之间的大比率。该方法事实上将重点放在当3D网格出现时由机械部件设计工艺的设计逐步增加的特定细节(即,面、边的方向、在顶点处包络的法线方向、以及面的朝向),以使用压缩方式来描述形状(相对于例如考虑整个B-Rep而言)。换言之:该方法的形状描述符计算非常快速,因为其在顶点计算和存储3D轴系统;这不需要大量的存储器,因为可以通过字典来共享邻接轴系统的相同向量;比较程序是快速且简单的,这使得其在数据访问是关键的大量计算的上下文中是有效的。测试显示,该方法可以在典型情况下在约20毫秒内运行。
该方法是计算机实现的。这意味着该方法的步骤(或基本所有步骤)由至少一个计算机或任何相似系统来执行。因此,该方法的步骤可能由计算机完全自动或半自动地执行。在示例中,对该方法的至少某些步骤的触发可以通过用户计算机交互来执行。例如,由于查询可以通过用户对输入的3D建模对象进行设计和/或要求搜索/查询软件功能以及对搜索/查询软件功能进行参数化来提供,因此S1可以包括用户交互。所需要的用户计算机交互的等级可以取决于自动预见并与实现用户意愿的需要相平衡的等级。在示例中,该等级可以是用户定义的和/或预定的。
该方法的计算机实现的典型示例是利用适用于该目的的系统来执行该方法。系统可以包括耦合于存储器和图形用户界面(GUI)的处理器,该存储器具有记录其上的计算机程序,所述计算机程序包括执行该方法的指令。存储器还可以存储例如对其执行查询的数据库。存储器是适于这种存储的任何硬件,其可能包括若干物理分离的部分(例如,一个用于程序,并且可能地,另一个用于数据库)。因此,系统可以是客户端-服务器系统,或仅仅是客户端系统(由此,在这种情况下,从客户端角度来看,图1的方法是存储在远程服务器上的数据库)或仅仅是服务器系统(由此,在该情况下,从服务器的角度来看,图1的方法是来自远程客户端系统的查询流)。应当注意,可以不关心图1的方法是从客户端角度实现的和/或从服务器角度实现的,因为两者都进行通信以执行方法。返回S2可以事实上是主动的(数据库)或被动的(客户端请求查询)。
“数据库”表示被组织用于搜索和取回的数据(即,信息)的任何集合(例如,关系数据库,其例如基于预定结构化语言(例如SQL))。当存储在存储器上时,数据库允许由计算机快速搜索和取回。数据库事实上被结构化以结合多种数据处理操作来有助于数据的存储、取回、修改和删除。数据库可以包括文件或文件集合,其可以划分为记录,每个记录包括一个或多个域。域是数据存储的基本单元。用户可以首先通过查询来取回数据。使用关键字和排序命令,用户可以快速搜索、重排、组合和选择多个记录中的域,以根据正使用的数据库管理系统的规则来取回或创建关于特定数据聚合的报告。
在该方法的情况下,如之前定义的,数据库包括表示机械部件的3D建模对象,所述3D建模对象皆至少由3D网格定义。数据库的每个相应3D建模对象还进一步关联于(例如,取决于使用的数据库技术,以行或其他任何类型的关系)相应3D建模对象的预定形状描述符的值,所述预定形状描述符的值如之前定义的(并且,其可以被定义为数据库的域的值或覆盖若干域,其是涉及数据库优化的实现细节并且这里不再进一步讨论)。这种数据库可以利用新的3D建模对象来建立和/或递增,例如以用于图1的查询方法(如果数据库被适当地配置)。因此,数据库可以以任何方式来构造并且可以存储在上述系统的存储器上,或适用于此的其他任何介质上。这种数据库允许根据图1的方法来取回3D建模对象,并且因此,可以成为例如用于加速CAD设计的工具(例如,如果系统被提供具有该重用功能,则其通过帮助设计者取回相关结果并将其重用,而不是根据草图对一切进行重新设计)。
一般来说,该方法操作建模对象。建模对象是由例如存储在数据库中的数据定义的任何对象。扩展地,表述“建模对象”指定数据本身。根据系统类型,建模对象可以由不同类型的数据定义。系统可以事实上是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任何组合。在不同的系统中,建模对象由对应数据定义。因此,可以将CAD对象、PLM对象、PDM对象、CAE对象、CAM对象称为CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,由于建模对象可以由与该些系统的任何组合相对应的数据来定义,这些系统并非相互排他的。因此,系统可以是CAD和PLM系统二者,如根据以下提供的这种系统的定义将显而易见的。
CAD系统额外地意味着至少适用于基于建模对象的图形表示(诸如CATIA)来设计建模对象的任何系统。在该情况下,定义建模对象的数据包括允许建模对象的表示的数据。CAD系统可以例如使用边或线,在某些情况下利用面或表面来提供CAD建模对象的表示。线、边或表面可以以多种方式表示,例如非均匀有理B样条(NURBS)。特别地,CAD文件包含根据其可以生成几何图形的规范,其转而考虑要生成的表示。建模对象的规范可以存储在单个或多个CAD文件中。表示CAD系统中建模对象的文件的典型大小处于每个部分1兆字节的范围。并且建模对象可以典型地是数千个部分的组合。
在CAD上下文下,建模对象可以典型地是3D建模对象,其例如表示产品(诸如部件或部件组合),或可能表示产品的组合。“3D建模对象”意味着由允许其3D表示的数据建模的任何对象。3D表示允许从所有角度观看该部件。例如,当被3D表示时,可以围绕3D建模对象的任意轴或显示其表示的屏幕中的任何轴对其进行处理和转动。这显然排除了2D图标,其不是3D建模的。3D表示的显示有助于设计(即,增加了设计者统计学上实现其任务的速度)。因为产品设计是制造过程的一部分,因此这加速了工业制造过程。
该方法所构思的任何3D建模对象可以表示在使用例如CAD软件解决方案或CAD系统完成其虚拟设计之后要在现实中制造的产品的几何形状,其诸如(例如机械)部件或部件组合。CAD软件解决方案允许多种以及非限制性工业领域的产品设计,包括:航空、建筑、构造、消费类货物、高科技设备、工业装置、交通运输、海运和/或海外油/气生产或运输。因此,该方法所构思的3D建模对象可以表示工业产品,其可以为任何机械部件,诸如陆地车辆(包括例如小汽车和轻量级货车装置、赛车、摩托车、货车和马达装置、卡车和公共汽车、火车)的一部分、空中交通工具(包括例如机身装置、航空装置、推进装置、防卫产品、航线装置、空间装置)的一部分、航海交通工具(包括例如海军装置、商船、海外装置、游艇和施工船、海运装置)的一部分、通用机械部件(包括例如工业制造机器、重型移动机器或装置、安装装置、工业装置产品、装配式金属产品、轮胎制造产品)、电机或电子部件(包括例如消费者电子设备、安全和/或控制和/或仪器产品、计算和通信装置、半导体、医学设备和装置)、消费者货物(包括例如家具、家庭和花园产品、休闲货物、时尚产品、耐用品零售商产品、日用品零售商产品)和/或包装(包括例如食品、饮料和烟草、美容和个人护理、家庭产品包装)。
PLM系统额外地意味着适用于管理表示物理制造产品(或待制造的产品)的建模对象的任何系统。因此,在PLM系统中,建模对象由适用于制造物理对象的数据来定义。其可以典型地为维度值和/或容差值。对于正确的对象制造,事实上更好的是具备这些值。
CAM解决方案额外地意味着适用于管理产品的制造数据的任何解决方案、硬件的软件。制造数据一般包括与要制造的产品、制造过程和所需资源有关的数据。CAM解决方案用于计划和优化整个产品制造过程。例如,其可以为CAM用户提供关于可行性的信息、制造过程的持续时间或资源的数量(诸如可以在制造过程的特定步骤使用的特定机器人);并因此允许管理决策或所需投资。CAM是CAD过程和潜在CAE过程之后的后续过程。这种CAM解决方案由商标下的Dassault Systèmes提供。
CAE解决方案额外地意味着适用于分析建模对象物理行为的任何解决方案、硬件的软件。公知和广泛使用的CAE技术是有限元方法(FEM),其典型地包括将建模对象划分为其物理行为可以通过公式计算和仿真的元素。这种CAE解决方案由商标下的Dassault Systèmes提供。另一种发展中的CAE技术包括建模和分析包括来自不同的物理域的多个组件的复杂系统,而不使用CAD几何数据。CAE解决方案允许对制造商进行产品的仿真,从而允许对其进行优化、改进和验证。这种CAE解决方案由商标下的Dassault Systèmes提供。
PDM代表产品数据管理。PDM解决方案意味着适用于管理关联于特定产品的所有类型的数据的任何解决方案、硬件的软件。PDM解决方案可以由参与产品生命周期的所有参与者使用:主要是工程师,但还包括项目经历、财务人员、销售人员和买方。PDM解决方案一般基于面向产品的数据库。其允许参与者共享关于其产品的一致性数据并且因此防止参与者使用有分歧的数据。这种PDM解决方案由商标下的Dassault Systèmes提供。
图2示出了用于执行该方法的(客户端)系统的GUI的示例,其中,所述系统是CAD系统。
GUI 2100可以是典型的类CAD接口,其具有准则菜单栏2110、2120,以及底工具栏和侧工具栏2140、2150。这样的菜单栏和工具栏含有一组用户可选择的图标,每个图标与本领域已知的一个或多个的操作或者功能相关联。例如一个这种操作/功能用于启动图1的方法(基于输入建模对象2000),例如图1的方法可以选地被执行为后台过程。这些图标中的一些与软件工具相关联,适用于在GUI 2100上显示的3D建模的对象2000上编辑和/或工作。软件工具可以被分组为工作台。每个工作台包括软件工具的子集。特别地,工作台中的一个是编辑工作台,适用于编辑建模的产品2000的几何特征。在操作中,设计师例如可以预先选择对象2000的一部分,进而,通过选择适当的图标来启动操作(例如,改变尺寸、颜色等)或者编辑几何约束。例如,典型的CAD操作是对显示在屏幕上的3D建模的对象的冲孔或者折叠进行建模。GUI可以例如显示与显示的产品2000相关的数据2500。在图2的示例中,显示为“特征树”的数据2500及其3D表示2000涉及包括制动钳和制动盘的制动组装件。GUI可以进一步示出各种类型的图形工具2130、2070、2080,例如用于便于对象的3D取向、触发对编辑的产品的操作的仿真或者渲染显示的产品2000的各种属性。光标2060可以由触觉设备控制,以允许用户与图形工具交互。
图3示出了系统的示例,其中,该系统是客户端计算机系统,例如用户的工作站。
该示例的客户端计算机包括:中央处理单元(CPU)1010,其连接至内部通信总线(BUS)1000;随机存取存储器(RAM)1070,其也连接至该BUS。客户端计算机还提供有:图形处理单元(GPU)1110,其与连接至BUS的视频随机存取存储器1100相关联。视频RAM 1100也是本领域已知的帧缓冲器。大容量存储设备控制器1020管理对大容量存储器设备(诸如硬盘驱动器1030)的访问。适于可知地实施计算机程序指令和数据的大容量存储器设备包括所有形式的非易失性存储器,以示例的方式包括半导体存储器设备,诸如EPROM、EEPROM和闪存存储器设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;和CD-ROM盘1040。任何上述部件可以由特殊设计的ASIC(专用集成电路)补充,或者并入特殊设计的ASIC。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,诸如光标控制设备、键盘等。光标控制设备被用于客户端计算机,允许用户选择性地将光标置于显示器1080上任何期望的位置。此外,光标控制设备允许用户选择各种命令并输入控制信号。光标控制设备包括多个信号产生设备以将控制信号输入至系统。典型地,光标控制设备可以是鼠标,该鼠标的按钮被用于产生信号。可替代地或附加地,客户端计算机系统可以包括感应平板和/或感应屏。服务器系统(可能如较早提到的,与客户端系统混合)可能相似于图3的情况,其另外具有数据库,用于运行查询并连接于BUS 1000或位于硬盘驱动1030,并可能不具有视频RAM1100和GPU 1110和/或显示器1080和/或触觉设备1090。
计算机程序可以包括可由计算机执行的指令,该指令包括使上述系统执行图1的方法和/或用于构造所述数据库的单元。程序可以记录在任何数据存储介质(包括系统的存储器)上。程序可以例如在数字电子电路、或者计算机硬件、固件、软件、或者其组合中实现。程序可以实现为装置,例如有形地在机器可读存储设备中实施来由可编程处理器执行的产品。方法步骤可以由可编程处理器执行,可编程处理器通过对输入数据进行操作并产生输出来执行指令的程序以执行方法的功能。因此处理器可以是可编程的,并耦合到数据存储系统、至少一个输入设备、以及至少一个输出设备以从它们接收数据和指令,并向它们传输数据和指令。应用程序可以在高级过程语言或者面向对象编程语言中实现,或者如果需要的话在汇编或者机器语言中实现。在任何情况下,语言可以是编译或解释的语言。程序可以是完全安装程序或者更新程序。在系统上应用程序会引起在用于执行方法的指令中的任何情况。
该方法可以是设计3D建模对象过程的一部分或其可以遵循这种过程。“设计3D建模对象”表示至少是制造3D建模对象过程的一部分的任何动作或动作序列。因此,该方法可以包括例如经由类似草图绘制过程,根据草图(由用户)来创建第一3D建模对象。然后,该方法可以包括运行(按照用户命令或作为-自动-后台过程)根据图1的查询。然后,该方法可以包括可选地向用户显示结果并(由用户)选择优选的结果(如果存在至少一个结果)。最终,用户可以通过修改查询的结果(例如,已被选择的一个)来继续设计。因此,这在帮助设计者不必重新设计先前设计的模型并且反过来重用这种先前设计方面可能是有用的。然而,可以考虑执行根据图1的查询的其他任何原因。例如,该方法可以用于从数据库搜索以及例如删除重复的(或几乎重复,即非常相似的)3D建模对象(例如,以便通过消除冗余来减小数据库的大小)。
该方法可以被包括在制造过程中,该制造过程可以包括:在执行该方法之后,生产与建模对象相对应的物理产品。在任何情况下,由该方法设计的建模对象可以表示制造对象。因此,建模对象可以是建模实体(即,表示实体的建模对象)。制造对象可以是产品,其诸如部件或部件组合。由于该方法改进了对建模对象的设计,因而该方法还改进了产品的制造并且因此增加了制造过程的产率。
现在更详细地讨论图1的方法。
该方法用于查询包括表示机械部件的3D建模对象的数据库。查询数据库意味着查询是根据此种表述在数据库工程中的经典含义,在数据库上运行的,即,来自数据库的信息是作为查询结果(可能为空)从数据库提取的。在该方法的情况下,数据库的3D建模对象(即,其任何描述数据)被返回,其可能用于用户选择和/或用户触发的要下载的额外数据。这都是数据库工程领域本身已知,并且特别应用于3D相似性搜索。
公知地,查询可以根据任何类型的准则或任何类型的多个准则来执行。然后,基于数据库中的数据段遵从该准则/多个准则的程度来提供(一个、若干个,或空)结果,这是非常经典的。在该方法的情况下,查询包括至少所谓的相近性准则(可能仅为所述相近性准则),换言之,与相似性有关的准则。这意味着,通过对潜在结果(此处,数据库的数据)与该准则相匹配的程度这一定义(例如利用查询中的权重来处理若干准则的问题被搁置,因为这是可以经典地解决的实现细节)进行估计,来评价一条信息被认为是结果还是不是。如何精确估计该程度属于实现的问题。该程度可以是二进制的(3D建模对象的形状描述符值是否遵从相近性准则),或其可以是渐进式的(严格地说,多于二个级别的遵从,其可能是从最小(例如零)-值到最大值(例如1-例如,对应于当准则是结果与输入完全相同时,两个完全相同的形状描述符值)的连续区间)。而且,如何基于针对所述相应3D建模对象估计的所述程度来确切地决定相应3D建模对象是要返回的结果还是并非要返回的结果也是实现的问题。在示例中,该方法可以仅返回预定数量的最相关结果(例如,相对其他而言更“遵从”相近性准则的3D建模对象),或仅单个结果(例如“最相关”的一个)。在稍后讨论的示例中,遵从相近性准则的程度是二进制值的,并且,在该示例中,该方法可以返回所有“遵从的”3D建模对象-其并不指示向用户显示所有结果,至少不是一次性向向用户显示所有结果,例如,对此,可能需要用户的滚动动作)。
现在,相近性准则涉及数据库中的3D对象相对于输入的3D对象的相似性。以下提供对这种相似性的定义,并且可以说,其紧密关联于预定形状描述符的定义,预定形状描述符的定义是在该方法的上下文中针对所有考虑的3D建模对象而确定(例如,计算)的。该方法中的“相似性”(也称“相近性”)为之前定义的真实(由用户观测)3D相近性/相似性的代理/测量。通过定义,预定形状描述符的第一值相对于预定形状描述符的第二值的相似性递增地取决于(即,是其递增函数)预定形状描述符的第二值的轴系统集合与预定形状描述符的第一值的轴系统集合对同一相似性变化按模运算的结果相匹配的程度。此时,可以说,相似性可以是任何这种递增函数(稍后提供示例)。因此,相近性准则是与这种测量有关的任何准则(例如,要达到或不达到的阈值,或范围)。之后将说明如何确切测量所述匹配程度,但此处,可以说,相似性值的函数是用于从3D几何视角来测量两个3D建模对象如何互相相似,并进行相似性变换,这是由于在该方法的上下文中,预定形状描述符是3D建模对象的3D形状的精确描述,其至少(特别)由3D网格建模,在形状相似的情况下应当存在接近的匹配。
因此,由于数据库的3D建模对象(或其一部分或其组件,由于这种部分和组件可以视为3D建模对象本身)相似于输入的3D建模对象(或其一部分,这是由于如果系统提供了足够的功能,则输入的一部分可以视为输入本身),因此更加遵从相近性准则。该相似性对应于3D对象之间的几何相似性(不应与相似性变换混淆,相似性变换是几何操作)。因此,在下文中相近性准则也可以称为“相似性准则”。
如较早提到的,数据库的3D建模对象和输入的3D建模对象皆至少由3D网格定义。然而,该定义是完全固有的,因为只要提供并且正确地组织(被搜索的)输入的3D建模对象的形状描述符值和数据库的3D建模对象的形状描述符值(如果根据相近性准则,其近似于-或“相似于”-输入对象,则测试为可能被返回的对象),就可以执行查询(在示例中,可以在不具有关于3D网格的任何数据的情况下执行该方法)。网格指示任何图结构,具有顶点(3D位置)和两两连接顶点的边(例如线段,直线或曲线)。在该方法的上下文中,顶点和边形成面,其(几何上)表示由3D建模对象表示的机械部件的包络(即,外表面)。边界表示格式(B-Rep)是该方法构思的典型类型的网格,但也可以构思其他类型的网格(诸如棋盘型铺嵌或CGR-Catia图形表示)。
在该上下文中,该方法使用形状描述符,其值被定义为包括(至少,因为如在稍后讨论的示例中,额外的描述性数据是可能的)三面轴系统(即,形成三面体的向量三元组)的特定集合。如较早提到的,轴系统集合被定义为使得每个顶点和每个面(即每个顶点/面对)存在一个轴系统。另外,每个轴系统是根据预定方案和一致性方案来定义的。特别地,相应轴系统的轴以特定方式被定向。稍后将提供示例(不失一般性,仅仅涉及产生相同结果的数学变型,例如通过一致性转换和/或一致性旋转)。此处,可以说,定向是至少基于(意味着定向的惯例时一致应用的)以下各项的:在所述相应顶点处连接于所述相应顶点的(3D网格的)所述边的所述方向、在所述相应顶点处由所述3D建模对象表示的所述机械部件的所述包络的法线方向(在相应顶点处,所述法线方向在3D建模对象的数据中定义-例如关联于例如在相应顶点处的3D网格-或根据该数据可以获取或可以接近)、以及与所述机械部件外侧相对应的面的朝向(先前定义的法线方向)(例如,在相应顶点处沿法线方向指向由机械部件定义的实体的外侧的箭头,显而易见的是,对该反计算按模运算,该方向还可以视为对应于机械部件的内侧,该定向实际上简单地指向这种“外侧”和“内侧”,假设选择任意方向,则该方法因此也适用于开放表面)。此外,轴系统可以被(全部)赋范或不赋范。在稍后提供的示例中,轴系统未被赋范但其带有指示3D建模对象的全局大小的额外数据。替代地,形状描述符值可以仅由轴系统集合组成,其中,轴的长度(例如,对于给定形状描述符值的所有轴都相同)传递所述全局大小数据。
根据该几何框架,第二3D建模对象从相近性来看更加相似或类似于第一3D建模对象(例如,第二对象是数据库的测试3D建模对象,当查询基于第一对象作为输入来执行时,其被测试为是否要作为结果来返回),因为第二对象的预定形状描述符的值的轴系统集合与第一对象的预定形状描述符的值的轴系统集合(并且其对相同相似性变换按模运算)相匹配。换言之,该方法(虚拟地)查找(单个,“同一个”)相似性变换(即,给定类型的几何变换,本身已知但将稍后详细讨论),其将尽可能多的(虚拟地或近似“所有”)轴系统从第二对象的形状描述符变换为例如准确地或以预定容差匹配(在几何上)第二对象的形状描述符的轴系统。一般可以以任何方式来测量匹配的程度,只要从几何视角是合理的,完全匹配(即,最大程度)对应于以下情况:存在将一个轴系统集合准确变换为另一轴系统集合的相似性变换。应当注意,在该测量中,可以构思“最佳”相似性变换(即,达到最大匹配程度的变换)。换言之,匹配程度可以是潜在相似性变换的空间中的最大匹配程度(例如,示例中所有相似性变换的空间)。
在示例中,仅当关联于所述预定形状描述符的所述第二值的相应轴系统的面与关联于所述预定形状描述符的所述第一值的相应轴系统的面对所述给定相似性变换按模运算的结果相匹配时,所述预定形状描述符的所述第二值的所述相应轴系统与所述预定形状描述符的所述第一值的所述相应轴系统对所述给定相似性变换按模运算的结果相匹配这一事实在所述预定形状描述符的所述第二值的所述轴系统集合与所述预定形状描述符的所述第一值的所述轴系统集合相匹配的程度方面增加权重。换言之,示例的方法仅在面到面的基础上考虑轴系统匹配(即,如果所述面之间存在匹配,关联于输入的面的轴系统被认为是为与关联于结果的相应面的轴系统全匹配,没有例外,否则则认为针对输入的所述面的轴系统,根本不存在匹配)。现在,如果关联于第一面的所有轴系统(对给定相似性变换按模运算)与关联于第二面的轴系统相匹配,则第一面可以被认为是与第二面相匹配。可以需要或不需要进一步的条件(之后结合“完全形状描述符”的概念来讨论示例)。
在这种情况下,预定形状描述符的第二值的轴系统集合与预定形状描述符的第一值的轴系统集合相匹配的程度可以被简单地估计为,针对给定相似性变换,关联于预定形状描述符的第二值的轴系统的面与关联于预定形状描述符的第一值的轴系统的面对给定相似性变换按模运算的结果相匹配的比率(以任何方式计算,例如,计算为值比率或面积比率)。
在该示例中,预定形状描述符的第一值(即,针对“第一”输入的3D建模对象)相对于预定形状描述符的第二值(即,针对属于数据库并被测试的“第二”3D建模对象)的相近性在可能的相似性变换的预定空间(可能的全部相似性变换)中等于(或代理)第一对象的3D网格的面(的数量)的比率(占第一对象的3D网格的面的总数)的最大值,其在该方法中被估计以完全匹配以下面:第二对象的3D网格的面对同一给定可能的相似性变换按模运算(即,优化程序的自变量)。可选地,对应于面的面积的权重可以引入比率微积分。现在,具备第一面和第二面之间的这种完全匹配的必要条件可以是,当由所述给定可能相似性变换来变换时,关联于第一面的所有轴系统完全匹配第二面的所有轴系统。如稍后讨论,这种必要条件还可以是充分的,但其可选地仅作为第一过滤器,则其他条件必须被估计。换言之,在该示例中,完全匹配是面到面的基础来估计的,随后估计完全匹配面的比率。如果该比率高于预定阈值(在测试实现中是70%),则可以将第一对象考虑为相似于或近似于第二对象。可选地,可以提供渐进等级的相近性(例如,严格取自两个值以上,例如来自连续区间)对应于以上提到的比率。与匹配轴系统的单纯的全局比率相比较(然而,其可以可替代地实现),该面到面的分析允许输出更相关的结果(从机械设计角度)。
因此,该方法的特定形状描述符的值在存储器大小(仅向量)方面是相对小的,并且其可以相对较快地确定。给定3D建模对象的形状描述符的值捕获3D建模对象的几何形状和关于其表面的局部信息(通过使用局部轴系统的定向中的法线和方向信息)。从而可以快速估计两个3D模型的相近性。形状描述符可以用作唯一的比较工具,但其还可以用作为第一过滤器(以减少该方法还可以包括的、其后与另一细化形状描述符的比较)。使用的特定数学运算在机械设计领域表现特别出色,导致提供相关的结果(从3D几何相似性角度)。另外,保留的相近性在比较中保持表面规范性,其间接地涉及由所述表面表示的部件的机械功能或其制造过程。换言之,该方法构思的形状描述符集中于从机械设计角度来看起作用的几何信息。
在实现中,图1的方法可以根据如下步骤执行:
-S1:包括输入的3D建模对象的形状描述符值的查询与阈值比率(或可替代地,比率的范围)一起被提供。形状描述符值至少包含轴系统和顶点与面关联数据(因此,某些拓扑数据)。
-S2:根据对数据库的每个3D建模对象执行的如下过程返回空值、一个或若干个结果(可能的预先排序和/或预先过滤不在本讨论的范围内):
对测试输入的3D建模对象的每个面(如稍后提到的,可以应用基于面的复杂度的预先排序):
针对数据库的候选3D建模对象的每个面(可以应用与之前相同的预先排序;另外,可以应用可选地过滤出不具有相同复杂度的面-所述相同复杂度的面例如相同数量的顶点和/或相同配置的锋利/平滑顶点):
针对预定类型集合的每个相似性变换类型(例如,稍后讨论中提到的所有类型,可选地是在稍后的讨论中出现的预排序)
·以预定方式(稍后提供的示例)搜索保证测试输入的面的形状描述符和候选面的形状描述符之间的(例如完全)匹配的、候选相似性变换类型。这里,可以验证一个面的所有轴系统在另一面具有匹配。另外,这里,可以根据候选相似性变换(例如,对这种变换的缩放按模运算)来验证相关维度相互匹配。这是稍后提到的轻量级形状描述符部分。可选地,可以进一步(并且如果在前的验证是肯定的)验证,测试输入的面的采样与候选的采样对候选变换按模运算的结果相匹配(使用相同类型的采样,例如,仅通过距离比较)。
·如果没有发现候选变换,则退出For循环并进入另一个面(如果所有面已被遍历,则去往数据库的另一对象)。
·如果发现了候选变换,则:
○验证其保证以高于阈值的面的比率的匹配(以与搜索候选变换时相同的方式)
○如果是,返回候选对象作为结果
○否则,查找新的候选变换。
现在参考图4-31来讨论图1方法的其它示例(可以与上述项中的任意项以及其之间的任一者合并)。
现在参考图18来讨论该方法的实现的一般示例,其可以与参考由B-Rep定义的对象来讨论的示例合并。
在一般示例中,该方法是基于实体(或表面)模型的形状描述符的定义的。该形状描述符基于附着到实体的顶点的局部轴系统,如上述任何示例定义的。形状描述符在3D变换下不变,但该问题由运行为示例方法的模块的比较算法来考虑。
比较算法的输入数据包括测试实体、候选实体、相似性类型和相似性准则(即,相近性准则)。相似性类型可以从以下各项之间选择(在该算法中,即,以预定方式):刚体运动、反射、正缩放和负缩放。该示例的比较算法迭代地运行两个步骤。第一步骤用于计算候选相似性变换,其可以(部分地)将测试实体变换为候选实体。该步骤包括相似性类型,但不是相似性/相近性准则。第二步骤检查候选相似性变换是否实际地将测试实体的大部分充分地变换为候选实体(对应于之前提到的“比率”)。在该准则是阈值比率的情况下,该步骤包括相似性/相近性准则。如果答案为“是”,则测试和候选实体则被认为是相似的且算法停止。否则,则搜索新的候选相似性变换。图18说明了迭代过程。如果该算法输出了测试实体和候选实体不相似,则可以使用另一相似性类型来执行新的搜索。
在示例中,在测试候选相似性变换的步骤,所述测试候选可以通过首先查找最复杂的面来获取(复杂度为锋利/平滑顶点的数量和/或面的顶点的顶点数量的递增函数)。这是由于在这种面上,较少的候选相似性变换将是可能的(由于其是复杂的并且不太可能导致与随机相似性变换的匹配),由此实现一种过滤。
现在讨论示例的3D建模对象(在S1输入,并在数据库中搜索,以及在S2返回)。
在该示例中,所述建模对象的B-Rep被考虑为定义其的3D网格。边界表示是熟知的用于关于3D对象的包络(即,其外侧表面)对其进行建模的格式。因此,B-Rep表示特定格式的数据,其可以包括几何数据和拓扑数据。几何数据是提供几何实体的数据,其为关于3D位置来描述的实体。拓扑数据是提供拓扑实体的数据,其是关于参考几何实体和/或与其他拓扑实体的关系(例如相对位置)来描述的实体。典型地,关系可以包括“由其定界”的关系,其将拓扑实体与所述拓扑实体拓扑地定界的其他拓扑实体相关联。
在示例的情况下,(例如,几何)数据可以至少包括所谓的“支持表面”,其例如参数表面(即,关于与定义2D域的参数相关联的3D位置而建模的3D表面)。支持表面可以典型地是NURBS表面,但也是平面的、规范的或过程的表面。并且(例如,拓扑)数据包括至少一组面,每个面被定义为相应的支持表面(在几何数据中被提供)的有界部分。因此,面对应于裁剪表面。因此。支持表面是以任何方式通过裁剪操作来定义面(由此,“支持”该面)的表面。
尽管已熟知,现在通过可以在S1处提供的建模对象的示例来进一步讨论B-Rep的概念。然而,该方法可以考虑B-Rep的其他示例,对于至少某些拓扑实体,例如具有与“由其定界”关系不同的关系。
如已提到的,建模对象的B-Rep可以包括拓扑实体和几何实体。几何实体可以包括3D对象,其为表面(例如平面)、曲线(例如线)和/或点。表面可以作为两个参数的函数来提供。曲线可以简单地作为一个参数的函数来提供。并且,点可以作为3D坐标来提供。拓扑实体可以包括面、边和/或顶点。根据其定义,与相应表面的有界部分相对应的面称为支持表面。因此,术语“面”可以一般地表示表面的这种有界部分或2D域的对应有界部分。类似地,与曲线的有界部分相对应的边例如称为支持曲线。因此,术语“边”可以表示曲线的有界部分或其域。顶点可以定义为与3D空间的点的链接。该实体如下所示相互关联。曲线的有界部分由位于曲线上的两个点(顶点)定义。表面的有界部分由其边界定义,该边界是一组位于表面上的边。面的边界的边由共享顶点连接在一起。面通过共享边来连接在一起。通过定义,如果两个面共享一个边,则其是邻接的。类似地,如果两个边共享一个顶点,则其是邻接的。表面、曲线和点可以经由对其参数化而链接在一起。例如,可以提供用于定义曲线的参数函数的参数的值以定义边界顶点。类似地,可以提供将曲线的参数与表面两个参数进行链接的函数,以定义边界。然而,B-Rep的这种拓扑数据的非常详细的结构在本说明的范围之外。
图4和5说明了柱形槽80的B-Rep模型,其可以是在S1处提供的建模对象并由图中编号1、2和3的三个面形成:顶部平面1和两个侧面柱形面2和3。图4示出了槽80的透视图。图5示出了所有面的分解图。重复数字说明了边和顶点的共享。面1是平面的有界部分。面1的边界包括边4和5,其每个由顶点10和11定界。其均具有相同的支持圆。面2由边6、8、5和13定界,所述边6、8、5和13均位于无限柱形表面上(即,面2的支持表面)。由于面1和2共享边5,因此其是邻接的。面2和3是邻接的,这是因为其共享边8和13。面1和3是邻接的,因为其共享边4。
图6说明了槽80的B-Rep模型的“由其定界”的拓扑关系。高层101的节点事面,中间层103的节点是边,而低层105的节点是顶点。图7和8说明了拓扑实体(面、边、顶点)和支持几何形状(无限柱形、无限平面、无限线、点)之间的关系。在CAD系统中,B-Rep模型以以下各项来聚集:由关系“定界”的合适的数据结构、以及拓扑实体与支持几何形状之间的关系、以及支持几何形状的数学描述之间的关系。换言之,示出于图6和7的数据结构是该示例的拓扑数据的一部分,其包括到几何数据的几何实体的链接(这在图7中)以及在拓扑实体之间的链接(这在图6中)。
现讨论使用于示例的方法的不同的数学概念、标记和定义。
身份映射记为
点集是三维空间的子集。
通过定义,3D变换(或简称为变换)是由D(x)=Lx+T定义的映射其中,L是线性映射而T是转换向量。为了计算目的,变换D有利地表示为4×4矩阵,包括矩阵L和变换向量T。记为:
L = l 11 l 12 l 13 l 21 l 22 l 23 l 31 l 32 l 33 T = t 1 t 2 t 3
4×4矩阵是:
D = l 11 l 12 l 13 t 1 l 21 l 22 l 23 t 2 l 31 l 32 l 33 t 3 0 0 0 1
其还简记为,
D = L T 0 1
的位置计算如下。结果点的前三个坐标是有意义的,因为第四个始终是1。
D ( x ) = L T 0 1 x 1 = L x + T 1
以这种方式,变换的合成和反向使用4×4矩阵代数来执行。事实上,
DD ′ = L T 0 1 L ′ T ′ 0 1 = LL ′ LT ′ + T 0 1
D - 1 = L T 0 1 - 1 = L - 1 - L - 1 T 0 1
旋转由轴和角定义。反射将点集改变为相对于平面的其镜像图像。反射的矩阵是I-2NNT,其中,N是镜像平面的单位正则向量。旋转和反射是等距的,这是因为其保存标量积。如果L是表达式D(x)=Lx+T中的旋转,则D为刚体运动。
均匀缩放将点集改变为更大或更小的点集并保存比例。更精确地,均匀缩放S将距离乘以正系数倍:||Sx-Sy||=λ||x-y||,其中λ>0。均匀缩放的矩阵L等价于λI。
相反地,非均匀缩放不保存比例,因为其L矩阵等价于其中a、b、c>0不相等。该变换不在本发明的范围内。
相似性变换(或简称相似性)是旋转、均匀缩放或反射的组合。正相似性是使得det(L)>0的变换。负相似性是使得det(L)<0的变换。刚体运动使det(L)=1。直观地,正相似性不包括反射,而负相似性包括反射。
相似性是可逆的,因为旋转、均匀缩放和反射是可逆的线性映射。然后,y=D(x)等价于x=D-1(y),其中D-1(y)=L-1y-L-1T。
如果存在相似性D以使Y={D(x),x∈X}(其简记为Y=D(X)),则两个点集X和Y称为相似。
在前的概念应用(而非受限于)于实体或3D网格的面。实体的面的B-Rep扮演点集的角色。
实体的面由支持平面或表面以及由边界定义。该面具备实体的外侧正则向量。边界根据该正则向量来定向。边界由共享顶点来连接。
现在讨论适用于B-Rep示例的、用于评价预定形状描述符的第二值的轴系统集合与预定形状描述符的第一值的轴系统集合对同一相近性变换按模运算的结果相匹配的程度(由此测量对应于第二值的第二3D建模对象与对应于第一值的第一3D建模对象之间的相近性,从而测量遵从相近性准则的程度)的形状描述符、包括于其值的轴系统集合,以及工具的示例。
为执行3D模型之间的比较(即,对相近性的测量)并寻找相似性(即,当虚拟地评价3D模型是否可以利用这种几何变换而变换为另一个时所考虑的几何变换),每一个面具备某些轴系统(即,形状描述符)。在面的每个顶点v(再次地,当顶点属于若干面时,其通常是重复进行操作的情况),可以在如下示例创建轴系统(通过图1的方法,在S1之前,或在构造数据库作为起始步骤期间)。起点P的坐标是顶点v的坐标。第一向量,记为U,正切于v的输入边界并由此使-U类似于边界而定向。第二向量,记为V,正切于v的输出边界并在边界方向定向。词语“输入”和“输出”根据面的正则向量关联于边界的拓扑方向。第三向量是在顶点v处计算的面的外侧正则向量N。虽然N始终垂直于U和V,应当注意,轴系统(P,U,V,N)并非总体上径直和正交。然而,向量U、V、N可以在(较早提到的)示例中正则化,表示||U||=||V||=||N||=1。
图9-11说明了半柱形面90的轴系统。图9示出了面90以及其正则向量92。图10示出了由正则向量92推导的边界94的拓扑方向。边界a是顶点v的输入边。边界b是顶点v的输出边。图11显示轴系统在每个边界顶点的向量U、V、N。
只要关联至顶点的边非正切(其为一般情况),则轴系统(P,U,V,N)不会退化,这意味着向量U和V不共线。如果入射边在相反方向正切,则U=V。这种顶点可以称为锋利顶点,如图12-13中所说明的。图12示出了边a和b关联至顶点v并在相反方向相互正切。图13说明了向量U和V在顶点v退化,因为U=V。如果入射边在相同的方向正切,则U=-V,并且顶点称为平滑顶点,如图14-15所说明的。在图14中,边a和b朝向顶点v并且以相同的方向相互正切。图15说明了向量U和V在顶点v退化,这是因为U=-V。在这两种情况下,可以通过保持先前定义的P、U、N以及通过设置向量V为U和N的叉积(即V=U×N)来有利地创建非退化轴系统,如图16-17所说明的。退化顶点的特定和示例管理提供查询期间更精确/相关的结果。
可以在形状描述符值中将所有面的所有顶点进一步标记为“平滑”、“锋利”或“尖锐”。通过定义,尖锐顶点既非平滑也非锋利。该类型可以用于加速示例中的局部轴系统的对应关系(在相近性估计期间),因为相似性变换可以视为始终将给定类型的顶点改变为相同类型的另一顶点。从而,如果两个顶点v、w不具有相同的类型,则该方法可以考虑不存在可以将v的局部轴系统(Pv,Uv,Vv,Nv)改变为w的局部轴系统(Pw,Uw,Vw,Nw)的相似性。利用给定顶点处的两个边的正切之间的角度,可以应用相同的加速。可以将该角考虑为不会被任何所构思的相似性所改变。因此,如果两个顶点v、w不具有相同的角,则方法可以考虑:不存在可以将v的局部轴系统改变为w的局部轴系统的相似性。
在轴系统被设计为匹配并且由此转换两个3D模型之间的几何细节的匹配时(通过相似性变换来保持所述细节),应当记住,相似性变换可以包括缩放,其保持比例但修改距离。在搜索相似性变换时,跟踪这种缩放。
这可以经由所谓“面的相关维度”来执行。通过定义,面的相关维度是对面测量的标量,所述标量取决于面大小而非其位置。这专用于当搜索均匀缩放时来处理大小变化。面的面积可以为其相关维度。类似地,面f的相关维度λ可以是其顶点集合的直径。更精确地,用{Pi,i=1,…,p}表示f的顶点集合,则λ=max{||Pi-Pj||,i,j=1,…,p}。可以在形状描述符值中将该相关维度存储为分离的标量值(其为最有效方式),或其可以作为因子应用于轴系统向量(其不再被赋范)。
现在讨论各向异性。
给定面f,其两个各向异性因子a1和a2定义如下。首先,面f的惯量M的矩阵是相对于规范轴系统来计算的。然后,矩阵M的特征值v1、v2和v3通过使用特性公式det(M-vI)=0来计算。如果vi是三个不同的数,则其被排序以使v1<v2<v3并且各向异性因子为:
a 1 = v 1 v 3 a 2 = v 2 v 3
如果至少两个特征值vi相等,则各向异性因子没有意义。因为在该情况下,未统一定义主惯量轴系统。面f的主惯量轴系统记为(G,A1,A2,A3)。通过定义,点G是面f的惯量的中心而向量Ai是惯量矩阵M的特征向量,其分别关联于特征值vi,表示着MAi=viAi。向量Ai被正则化和定向以使主惯量轴系统是有指向的(direct)。
形状描述符可以视为其面的形状描述符的列表(针对3D建模对象的所有面),其本身的每一个可以是相应面的所谓“轻量级形状描述符”或“完全形状描述符”。轻量级形状描述符在存储器大小方面更轻量级,并且由于其包含较少信息,其导致更快的决策。完全形状描述符允许更精确的估计。轻量级形状描述符可以使用于远程客户端-服务器通信的上下文,以避免网络过载。其可以替代地或额外地用于限制方法中估计的相似性变换的数量(即,其可以用作第一过滤)。
通过定义,面f的轻量级形状描述符s(f)是其支持表面的类型(平面、柱形、球形、锥形、环形、挤压形、卷形、自由形式)以及在顶点处定义的局部轴系统和其相关维度的列表
s(f)=(Type,{(Pi,Ui,Vi,Ni),i=1,…,p},λ),其中p是面f的顶点的数量且
类型∈{平面、柱形、球形、锥形、环形、挤压形、卷形、自由形式}
该描述符可以通过添加各向异性因子和主惯量轴系统(在其有意义时)来增强(在示例中)。
s(f)=(a1,a2,(G,A1,A2,A3),Type,{(Pi,Ui,Vi,Ni),i=1,…,p},λ)
因此,通过定义,包括n个面{f1,…,fn}的实体A的轻量级形状描述符s(A)是面的轻量级形状描述符的列表:
s(A)={s(f1),…,s(fn)}
但在B-Rep的情况下,相应3D建模对象的预定形状描述符的值可以进一步包括针对相应3D建模对象的每个相应面(在该情况下,“完全形状描述符”),由所述相应面定义的支持表面的有界部分的采样。该采样可以以任何预定方式执行,例如根据保持比例的惯例。例如可以应用常规的参数网格采样。在该情况下,预定形状描述符的第一值相对于预定形状描述符的第二值的相近性可以进一步递增地取决于预定形状描述符的第二值的采样与预定形状描述符的第一值的采样的对同一相似性变换按模运算的结果相匹配的程度(不仅取决于轴系统集合与另一个对象对相似性变换按模运算的结果相匹配的程度)。在该情况下,完全形状描述符的“轻量级形状描述符部分”可以是第一估计的基础,其用于仅保留有希望的相似性变换,并且随后,采样比较用于验证所述保留相似性变换是否事实上相关。换言之,预定形状描述符的第一值相对于预定形状描述符的第二值的相近性是根据对机制的迭代来估计的,其包括:在每次迭代时,寻找新的候选相似性变换,并且然后,根据候选相似性变换来估计相近性,在每次迭代时,仅基于轴系统信息来发现新的候选相似性变换。这允许方法的快速执行,因为较好地应用了快速过滤。
在示例中,完全形状描述符实际包括轻量级形状描述符以及面本身,所述面本身包括其拓扑和几何形状(其如数据库已呈现的数据,如通常可以用的B-Rep)。实体的完全形状描述符是其面的完全形状描述符的列表。随后,可以根据面的拓扑和几何信息来动态(onthe fly)执行采样。
图18的一般示例的方法可以应用于这种B-Rep并且因此是两折的(two-folded)。另一方面,其定义3D实体模型的形状描述符。另一方面,其提供基于所述形状描述符的比较算法。该方法可以处理由其边界表示(B-Rep)建模并通过使用机械特征设计的3D对象。机械特征是特别适用于机械部件的实体建模特征。虽然该概念是公知的,但为清晰起见,此处再次进行定义和说明。
以下讨论应用于数据库的3D建模对象和/或输入的3D建模对象是根据机械设计工艺由用户定义的情况。该设计工艺可以分别在方法之前(例如作为方法的一部分)和/或在构造数据库之前(例如作为数据库构造过程的一部分)。这种机械设计工艺可以包括不同的设计者。但机械设计领域导致应用某些通用规则。
机械设计工艺可以包括实体建模机械特征的(增量)定义。对机械设计尤其有用的实体建模特征是如下特征。因此,系统(基于特征的CAD系统)可以提供针对这种特征中的任何特征或若干特征的定义。因此,机械设计工艺可以包括以下特征中的任何特征或若干特征的一个或若干实例。
基于草图的特征由平面剖面定义,其沿一方向伸出、围绕线旋转或沿引导曲线扫描。其分别称为:线性挤压、旋转和扫描实体。
布尔操作(特征)用于通过使用并、减或交集操作来合并两个实体以创建新的实体。用表面来切割实体也是有用的。
装饰特征是对实体的局部修改。其紧密关联于制造过程。这些特征是:圆角或将尖锐的边变成圆形,斜切尖锐的边,根据锥度和拉动方向来弯折面以及讲面加厚。
去壳(特征)用于从较厚的实体形成较薄的实体。其用于从输入实体移除面并对得到的开放表面加厚。
这些特征可以利用任何参数(包括值或输入几何形状)来实例化。该方法所考虑的任何3D建模对象的B-Rep可以由实例化一系列这种特征的机械设计者获取。
图19说明了纵梁(用于加强飞机结构的航空部件)的设计的示例,其可以是图1的方法的任何示例的输入的3D对象或数据库的3D对象,其从左到右排序。一系列特征如下:挤压192,其从垂直壁移除材料194并沿挤压方向重复196该移除。下一步骤在图20上示出,其按照从左到右排序:斜切202,从左侧水平线移除材料204以及相对于垂直壁反射206该移除。
类似地,图21-22说明了航空夹板的顺序设计的示例。第一设计步骤为:矩形剖面的挤压212,四个孔214,再次挤压216三角形剖面和孔218。注意,剖面定义中包括圆形。下一步骤为通过对三角形剖面的两次挤压222增加刚性元件。夹板设计的最后一步是圆角224。其被设置为使得最终实体以利用切割工具通过加工原料获取的部件形状为特征。
现在提供在估计预定形状描述符的第二值的轴系统集合与预定形状描述符的第一值的轴系统集合相匹配的程度时,如何估计两个面是否对互相对给定相似性变换按模运算的结果相匹配的示例。在示例中,该估计针对给定相似性变换类型(参考较早提到的相似性类型),以预定方式执行。软件/系统的内部特性允许队相似性类型的不同潜在类型的细化管理。这在下文中与关于如何搜索不同的候选相似性的示例的讨论来一起说明。
令f、g为两个面,其分别具备(相同数量的)局部轴系统以及具有相同类型的支持表面。如果面f、g不具有相同数量的局部轴系统,则这表示其不具有相同数量的边界顶点,因此其在示例中被考虑为彼此不相似,并且相似性搜索未启动。
搜索相似性的示例是通过两个步骤来执行的。首先,计算变换Di,j,其分别将面f的第i个轴系统改变为面g的第j个轴系统。由于i,j=1,…m,因此最多存在m2个这种变换。该计算取决于搜索变换的类型:刚体运动、反射、正缩放、负缩放。第二,如果存在将f改变为g的相似性D*,则将在先前计算的Di,j中找到该变换。该第二步骤不取决于变换的特性。
现在讨论搜索刚体运动Di,j的示例。
是面f的第i个轴系统,而是面g的第j个轴系统。将改变为的变换是通过计算如下乘积来获取的。
D i , j = U i f V i f N i f P i f 0 0 0 1 - 1 U j g V j g N j g P j g 0 0 0 1
然后,如果Ri,jRi,j T=I,则矩阵Ri,j是等距变换。另外,如果det(Ri,j)=1,则Ri,j为旋转,表示Di,j为刚体运动。否则,Di,j不是刚体运动。
现在讨论搜索正缩放Di,j的示例。
现在,搜索的变换是正相似性,其是刚体运动和均匀缩放的组合。其考虑以下的面f和g的相关维度λf和λg
D i , j = λ f U i f λ f V i f λ f N i f P i f 0 0 0 1 - 1 λ g U j g λ g V j g λ g N j g P j g 0 0 0 1
如果det(Ri,j)>0,则Di,j是正相似性,否则不是。
现在讨论搜索反射Di,j的示例。
特异性(specificity)是反射将轴系统的定向反转。图23说明了该现象:最左的带点实体通过由中间平面定义的反射L而成为最右实体的图像。最右实体的顶面记为f。注意向量L(Uf)和L(Vf)。
图24说明了两个对称实体和其顶面的拓扑方向。最左实体的顶面记为g。通过与在前的图的比较,观察到L(Uf)=Vg以及L(Vf)=Ug。从而,为寻找反射,必须被预期拓扑反向,这意味着Di,j是根据如下公式计算的。注意和Vj g切换到最右矩阵。
D i , j = U i f V i f N i f P i f 0 0 0 1 - 1 V j g U j g N j g P j g 0 0 0 1
如果Ri,jRi,j T=I而det(Ri,j)=-1,则Di,j是反射,否则不是。
现在讨论搜索负缩放Di,j的示例。
搜索负缩放的计算包括以下的面f和g的相关维度λf和λg。注意和Vj g切换到最右矩阵。
D i , j = λ f U i f λ f V i f λ f N i f P i f 0 0 0 1 - 1 λ g V j g λ g U j g λ g N j g P j g 0 0 0 1
如果det(Ri,j)<0,则Di,j是负缩放,否则不是。
现在讨论对根据上述示例的D*的搜索的示例。
为了(在先前计算的Di,j之间)寻找将f改变为g的相似性变换D*,问题为:给定f,g和相似性变换D,D(f)=g成立吗?
如果计算在客户端计算机上执行,其可以通过利用3D点xk,k=1,…,q的集合来对面f进行采样,以及检查点D(xk)与面g之间的距离与针对相同对象的数字阈值相比足够小来完成(为了相对更精确的结果)。该步骤使用完全形状描述符。
如果计算在服务器计算机上执行,则相似性D*是将面f的所有轴系统转换为面g的所有轴系统的Di,j中的一个。换言之,算法查找一对一映射 以使对所有i∈{1,…,m},该步骤使用轻量级形状描述符。这可以通过使用主轴系统和各向异性因子(在其可用时)来缩短。
如果,在Di,j之间,若干相似性变换可以将f改变为g,则(当可能时)选择纯转换。可以构思相似性变换类型的任何层次结构。
现在,现在讨论比较算法的示例,其可以与任何上述示例组合。
令n为测试实体的面的数量而m为候选实体的面的数量。测试实体的面的形状描述符是{s(f1),…,s(fn)}。候选实体的面的形状描述符是{s(g1),…,s(gm)}。
该算法分别实现参考图18较早提到的两个步骤“候选相似性搜索”和“候选相似性确认”。一般地,每一个步骤是{s(f1),…,s(fn)}和{s(g1),…,s(gm)}的两次循环。
为了自由地从一个“for”循环进行到另一个“for”循环操作,如下寻址公式是可用的。函数Q(p,m)给出整数商p和m,这意味着Q(p,m)是使得p≥mQ(p,m)的最大整数。函数M(p,m)给出p被m除的余数。换言之:
p=mQ(p,m)+M(p,m)
当整数p从1运行到nm时,整数
row(p,m)=1+Q(p-1,m)
和整数
col(p,m)=1+M(p-1,m)分别是n行m列阵列的行号和列号,如在图25中说明的。
示例中的“候选相似性搜索”CSS程序可以包括:搜索的相似性的输入类型Y、用于多个调用目的的输入/输出参数p0、以及被发现为是类型Y相似性的输出参数D0。该“候选相似性搜索”程序的首次运行以p0=0来执行。该步骤输出类型Y相似性D0(如果其存在的话)以及对应索引p0。当该搜索通过对“候选相似性搜索”程序的新的调用而再次运行时,该索引被重用。程序核心可以是如下所示。
如果先前的步骤不返回相似性D0,则示例的过程结束,输出候选实体与测试实体不相似。否则,“候选相似性确认”CSC步骤运行如下。数字k根据相似性D0,累加候选实体的面相似于测试实体的面的总面积。
令A为候选实体的边界的面积。如果比率大于用户定义的相似性准则c∈[0,1],则过程结束,输出候选实体相似于测试实体。否则,“候选相似性搜索”程序再次以p0作为输入参数来运行。这迫使搜索从先前的候选相似性检测开始。总体过程在图26中捕获。
现在讨论之前提到的选项:形状描述符的预先排序。
实验表明,计算时间远小于当根据面的顶点数量的降序来对形状描述符进行排序时的情况。以该方式,首先比较代表具有最大数量顶点的面的的形状描述符。如果存在相似性变换,则通过比较复杂的面来更快速地发现该相似性变换。
该现象在图27-28中说明。图27的实体的前面1相似于图28的实体的前面2和后面3。图27的实体的前面4相似于图28的实体的前面5和后面6。相反地,图27的实体的面7仅相似于图28的实体的面8。面7和8是相应实体的最复杂面,这是因为其以8个顶点而非4个顶点为特征。在一开始以面7和8开始搜索产生正确的相似性变换。
另外值得讨论的还有之前提到事实,即,该方法可以用于部分搜索而不失一般性。部分搜索用于标识关于测试实体的特征并搜索包括所述特征的候选实体。特征是由用户选择的相关面的集合。
另外值得讨论的还有这一事实,即,该方法可以用于封闭(定向)表面的情况以及开放表面的情况。相似性计算基于轴系统的比较。方法的鲁棒性基于这些轴系统的唯一性,其由实体的几何形状和拓扑定义。唯一性是由于以下事实:由于实体的B-Rep是封闭表面,因此可以定义唯一拓扑方向。惯例是正则向量指向实体的外侧。当处理开放表面时,拓扑方向不唯一,这是因为不存在“内侧”或“外侧”容积。事实上,开放表面以在两个可能的方向中任意选择的一个拓扑定向为特征,如图29-30所说明的。从一个定向到另一定向的切换将(P,U,V,N)轴系统改变为(P,V,U,-N)。因此,如果测试表面的原始定向的相似性特征是负的,则另一计算必须以其反方向来执行。
值得讨论的还有较早提到的事实:该方法可以延伸至B-Rep以外的其他数据格式。用于相似性计算的轴系统建立在实体的B-Rep上。实际上,能够进行轴系统计算的任何实体建模表示可以用于相似性,即使其不是完全的B-Rep。对以单精度浮点数字(与双精度浮点数字不同)编码的三角数据格式执行的测试还表明,使用主惯量轴系统提供了更精确的相似性识别。
如之前提到的,执行的测试示出:该方法可以在机械设计的上下文中准确地搜索相似的机械部件。测试情况包括两个实体,如图31所说明的。实体A是柱形顶部的L形棱柱。实体B是平行六面体顶部的L形棱柱。L形棱柱是成比例的,这意味着实体A的L形棱柱的维度是实体B的L形棱柱的维度的一半。该方法能够识别实体A的L形棱柱相似于实体B的L形棱柱。此处,相似性变换是反射和均匀缩放的组合。

Claims (15)

1.一种计算机实现的方法,其用于查询包括表示机械部件的3D建模对象的数据库,其中,所述方法包括以下步骤:
-提供(S1)包括相近性准则的查询,所述相近性准则是相对于输入的3D建模对象的预定形状描述符的值的;
-作为所述查询的结果,返回(S2)所述数据库的相应3D建模对象,所述相应3D建模对象是基于所述相应3D建模对象的所述预定形状描述符的所述值遵从所述相近性准则的程度而返回的;其中:
·所述数据库中的所述3D建模对象和所述输入的3D建模对象皆至少由3D网格定义,3D建模对象的所述3D网格具有顶点和连接所述顶点的边,所述顶点和所述边形成面,所述面表示由所述3D建模对象表示的所述机械部件的包络,
·相应3D建模对象的所述预定形状描述符的所述值包括三面的轴系统集合,所述轴系统集合与由所述相应3D建模对象的所述3D网格的相应顶点和所述相应3D建模对象的所述3D网格的相应面组成的配对集合双射地相关联,相应轴系统的所述轴是基于以下各项来定向的:在所述相应顶点处连接于所述相应顶点的所述边的所述方向、在所述相应顶点处由所述3D建模对象表示的所述机械部件的所述包络的法线方向、以及与所述机械部件外侧相对应的面的朝向,
·所述预定形状描述符的第一值相对于所述预定形状描述符的第二值的相近性递增地取决于所述预定形状描述符的所述第二值的所述轴系统集合与所述预定形状描述符的所述第一值的所述轴系统集合对同一相似性变换按模运算的结果相匹配的程度。
2.根据权利要求1所述的方法,其中,所述预定形状描述符的所述第二值的所述轴系统集合与所述预定形状描述符的所述第一值的所述轴系统集合相匹配的所述程度以针对给定的相似性变换类型的预定方式来估计。
3.根据权利要求2所述的方法,其中,仅当关联于所述预定形状描述符的所述第二值的相应轴系统的面与关联于所述预定形状描述符的所述第一值的相应轴系统的面对所述给定相似性变换按模运算的结果相匹配时,所述预定形状描述符的所述第二值的所述相应轴系统与所述预定形状描述符的所述第一值的所述相应轴系统对所述给定相似性变换按模运算的结果相匹配这一事实在所述预定形状描述符的所述第二值的所述轴系统集合与所述预定形状描述符的所述第一值的所述轴系统集合相匹配的程度方面增加权重。
4.根据权利要求3所述的方法,其中,所述预定形状描述符的所述第二值的所述轴系统集合与所述预定形状描述符的所述第一值的所述轴系统集合相匹配的程度针对给定相似性变换被估计为关联于所述预定形状描述符的所述第二值的轴系统的面与关联于所述预定形状描述符的所述第一值的轴系统的面对所述给定相似性变换按模运算的结果相匹配的比率。
5.根据权利要求1-4中的任意权利要求所述的方法,其中:
·所述数据库的所述3D建模对象和所述输入的3D建模对象皆进一步由支持表面和将由所述3D网格的所述顶点和所述边形成的所述面定义为所遵从的支持表面的有界部分的数据来定义,由此所述3D建模对象由边界表示来定义,
·针对相应3D建模对象的每个相应面,所述相应3D建模对象的所述预定形状描述符的所述值进一步包括由所述相应面定义的所述支持表面的所述有界部分的采样,
·所述预定形状描述符的第一值相对于所述预定形状描述符的第二值的相近性进一步递增地取决于所述预定形状描述符的所述第二值的所述采样与所述预定形状描述符的所述第一值的所述采样对同一相似性变换按模运算的结果相匹配的程度。
6.根据权利要求5所述的方法,其中,所述预定形状描述符的第一值相对于所述预定形状描述符的第二值的所述相近性是根据对方案的迭代来估计的,其包括:在每次迭代时,寻找新的候选相似性变换,并且然后根据所述候选相似性变换来估计所述相近性,在每次迭代时新的候选相似性变换是仅基于轴系统信息来找到的。
7.根据权利要求1-6中任意权利要求所述的方法,其中,所述数据库的所述3D建模对象和/或所述输入的3D建模对象是根据机械设计工艺由用户定义的。
8.一种被配置为根据权利要求1-7中的任意所述权利要求所述的方法来查询的数据库,所述数据库包括3D建模对象,所述3D建模对象表示机械部件并且其皆至少由3D网格定义,所述3D建模对象的所述3D网格具有顶点和连接所述顶点的边,所述顶点和所述边形成表示由所述3D建模对象表示的所述机械部件的包络的面,所述数据库中的每个相应3D建模对象关联于所述相应3D建模对象的预定形状描述符的值,相应3D建模对象的所述预定形状描述符的所述值包括三面的轴系统集合,所述轴系统集合与由所述相应3D建模对象的所述3D网格的相应顶点和所述相应3D建模对象的所述3D网格的相应面组成的配对集合双射地相关联,相应轴系统的所述轴是基于以下各项来定向的:在所述相应顶点处连接于所述相应顶点的所述边的所述方向、在所述相应顶点处由所述3D建模对象表示的所述机械部件的所述包络的法线方向、以及与所述机械部件外侧相对应的面的朝向。
9.根据权利要求8所述的数据库,其中:
所述数据库的所述3D建模对象皆进一步由支持表面和将由所述3D网格的所述顶点和所述边形成的所述面定义为所遵从的支持表面的有界部分的数据定义,由此所述3D建模对象由边界表示来定义,
针对相应3D建模对象的每个相应面,所述相应3D建模对象的所述预定形状描述符的所述值进一步包括由所述相应面定义的所述支持表面的所述有界部分的采样。
10.根据权利要求8或9所述的数据库,其中,所述数据库的所述3D建模对象是根据机械设计工艺由用户定义的。
11.一种计算机可读存储介质,其具有记录其上的、根据权利要求8-10中的任意权利要求所述的数据库。
12.一种计算机实现的方法,其用于构造根据权利要求8-10中的任意权利要求所述的数据库。
13.一种计算机程序,其包括用于执行根据权利要求1-6和/或权利要求12中的任意权利要求所述的方法的指令。
14.一种计算机可读存储介质,具有记录其上的、根据权利要求12所述的计算机程序。
15.一种系统,其包括处理器,所述处理器耦合到存储器,所述存储器具有记录其上的根据权利要求13所述的计算机程序和/或根据权利要求8-10中的任意权利要求所述的数据库。
CN201610596236.5A 2015-05-28 2016-05-27 利用相近性准则来查询数据库 Active CN106202545B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP15305808.6 2015-05-28
EP15305808.6A EP3098734A1 (en) 2015-05-28 2015-05-28 Querying a database with likeness criterion

Publications (2)

Publication Number Publication Date
CN106202545A true CN106202545A (zh) 2016-12-07
CN106202545B CN106202545B (zh) 2022-04-29

Family

ID=53396406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610596236.5A Active CN106202545B (zh) 2015-05-28 2016-05-27 利用相近性准则来查询数据库

Country Status (4)

Country Link
US (1) US10303784B2 (zh)
EP (1) EP3098734A1 (zh)
JP (1) JP6835484B2 (zh)
CN (1) CN106202545B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111699482A (zh) * 2017-12-11 2020-09-22 脸谱公司 在线社交网络上利用图和紧致回归码的快速索引
CN112000824A (zh) * 2019-05-27 2020-11-27 英业达科技有限公司 对象辨识系统及其方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2750107B1 (en) 2012-12-31 2017-03-15 Dassault Systèmes Groups of faces that form a geometrical pattern
EP2808810B1 (en) 2013-05-28 2017-01-11 Dassault Systèmes Compression and decompression of 3d modeled object
EP3098735A1 (en) 2015-05-28 2016-11-30 Dassault Systèmes Querying a database with thickness criterion
EP3098734A1 (en) 2015-05-28 2016-11-30 Dassault Systèmes Querying a database with likeness criterion
EP3264286B1 (en) 2016-06-28 2020-11-18 Dassault Systèmes Querying a database with morphology criterion
EP3321817A1 (en) 2016-11-14 2018-05-16 Dassault Systèmes Querying a database based on a parametric view function
US20180225408A1 (en) * 2017-02-03 2018-08-09 Ignitor Labs, LLC System and method for interactive modeling and analysis of 3-d digital assemblies
EP3483755B1 (en) * 2017-11-09 2022-07-13 Dassault Systèmes Additive manufacturing of a 3d part
US11281824B2 (en) 2017-12-13 2022-03-22 Dassault Systemes Simulia Corp. Authoring loading and boundary conditions for simulation scenarios
EP3502930A1 (en) * 2017-12-22 2019-06-26 Dassault Systèmes Method for computing an unfolded part of a modeled bended part of a 3d object
EP3639199A1 (de) 2018-06-29 2020-04-22 Renumics GmbH Verfahren zum bewerten eines zustands eines dreidimensionalen prüfobjekts und entsprechendes bewertungssystem
EP3614281A1 (en) * 2018-08-20 2020-02-26 Bricsys NV Improved geometry-based detail propagation in cad models
US11507052B2 (en) * 2018-09-24 2022-11-22 The Boeing Company System and method of voxel based parametric specification for manufacturing a part
EP3674930B1 (en) * 2018-12-26 2024-02-28 Dassault Systèmes Designing a mechanical part
JP2021067976A (ja) * 2019-10-17 2021-04-30 国立大学法人豊橋技術科学大学 形状検索方法および形状検索システム
US11460829B2 (en) * 2020-01-31 2022-10-04 Fujifilm Business Innovation Corp. Management apparatus and non-transitory computer readable medium
JP7143368B2 (ja) * 2020-05-26 2022-09-28 株式会社ミスミ 見積システム、見積方法、及び見積プログラム
CN114442874B (zh) * 2021-12-02 2024-06-04 北京电子工程总体研究所 一种要素展示方法、组件及计算机可读存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249809A1 (en) * 2003-01-25 2004-12-09 Purdue Research Foundation Methods, systems, and data structures for performing searches on three dimensional objects
US20060012597A1 (en) * 2004-07-16 2006-01-19 Tathagata Chakraborty Geometry based search method for 3D CAx/PDM repositories
US20060114252A1 (en) * 2004-11-29 2006-06-01 Karthik Ramani Methods for retrieving shapes and drawings
US20090157649A1 (en) * 2007-12-17 2009-06-18 Panagiotis Papadakis Hybrid Method and System for Content-based 3D Model Search
CN102542093A (zh) * 2010-09-23 2012-07-04 达索系统公司 设计计算机辅助设计系统与数据库进行交互的会话中的建模对象
CN102779358A (zh) * 2011-05-11 2012-11-14 达索系统公司 用于设计几何三维建模对象的方法
GB201304711D0 (en) * 2013-03-15 2013-05-01 Rejal Ltd A method and system for 3D model database retrieval
US20130293541A1 (en) * 2012-05-02 2013-11-07 Dassault Systemes Designing A 3D Modeled Object
US8686992B1 (en) * 2009-03-30 2014-04-01 Google Inc. Methods and systems for 3D shape matching and retrieval
CN103971417A (zh) * 2012-12-31 2014-08-06 达索系统公司 由刚性运动转换的几何元素
CN104395902A (zh) * 2012-04-02 2015-03-04 谷歌公司 根据存储的图像确定3d模型信息

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533148A (en) 1993-09-30 1996-07-02 International Business Machines Corporation Method for restructuring physical design images into hierarchical data models
US5842004A (en) 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric three-dimensional graphics data
US6778970B2 (en) 1998-05-28 2004-08-17 Lawrence Au Topological methods to organize semantic network data flows for conversational applications
US6768928B1 (en) 1999-05-20 2004-07-27 Olympus Optical Co., Ltd. Mechanism component design support system
US6879946B2 (en) 1999-11-30 2005-04-12 Pattern Discovery Software Systems Ltd. Intelligent modeling, transformation and manipulation system
US6397206B1 (en) * 1999-12-15 2002-05-28 International Business Machines Corporation Optimizing fixed, static query or service selection and execution based on working set hints and query signatures
JP3829972B2 (ja) 2000-03-06 2006-10-04 サイテック株式会社 3次元cadシステム
JP3536786B2 (ja) 2000-06-07 2004-06-14 株式会社デンソー 3次元モデリングシステム
US6721614B2 (en) 2001-05-21 2004-04-13 International Business Machines Corporation Multi-discipline universal CAD library
US6615503B1 (en) 2002-04-16 2003-09-09 General Electric Company Calibration software for surface reconstruction of small objects
US7027054B1 (en) 2002-08-14 2006-04-11 Avaworks, Incorporated Do-it-yourself photo realistic talking head creation system and method
CA2579903C (en) * 2004-09-17 2012-03-13 Cyberextruder.Com, Inc. System, method, and apparatus for generating a three-dimensional representation from one or more two-dimensional images
US7269808B2 (en) 2005-05-26 2007-09-11 International Business Machines Corporation Design verification
US7913190B2 (en) 2005-07-18 2011-03-22 Dassault Systèmes Method, system and software for visualizing 3D models
US8576224B2 (en) 2006-05-31 2013-11-05 The Boeing Company Methods and apparatus for automated part positioning based on geometrical comparisons
US8988420B2 (en) 2006-08-11 2015-03-24 Siemens Product Lifecycle Management Software Inc. Visual file representation
US7688318B2 (en) 2007-02-02 2010-03-30 Dassault Systemes Solidworks Corporation Reusable data constructs for a modeling system
CN100460813C (zh) 2007-05-10 2009-02-11 上海交通大学 三维空间连杆曲线匹配度的检测方法
EP2031564B1 (en) 2007-06-25 2018-08-29 Dassault Systèmes Method of computer-aided design of a 3D object modeled by geometries
US7830377B1 (en) 2008-01-09 2010-11-09 Spaceclaim Corporation, Inc. Systems and methods for using a single tool for the creation and modification of solids and surfaces
US20090182450A1 (en) 2008-01-14 2009-07-16 Emmanuel Goldschmidt Web application for increasing mold reusability
US8368689B2 (en) 2008-09-25 2013-02-05 Siemens Product Lifecycle Management Software Inc. System, method, and computer program product for radial functions and distributions of three dimensional object models
US8659596B2 (en) * 2008-11-24 2014-02-25 Mixamo, Inc. Real time generation of animation-ready 3D character models
US8982122B2 (en) * 2008-11-24 2015-03-17 Mixamo, Inc. Real time concurrent design of shape, texture, and motion for 3D character animation
US8606774B1 (en) * 2009-05-18 2013-12-10 Google Inc. Methods and systems for 3D shape retrieval
US8384717B2 (en) 2010-02-16 2013-02-26 Siemens Product Lifecycle Management Software Inc. Method and system for B-rep face and edge connectivity compression
JP5469491B2 (ja) 2010-03-15 2014-04-16 オムロン株式会社 画像処理装置および画像処理方法
EP2387004B1 (en) 2010-05-11 2016-12-14 Dassault Systèmes Lossless compression of a structured set of floating point numbers, particularly for CAD systems
CN101995231B (zh) 2010-09-20 2012-07-18 深圳大学 一种大型薄壳物体表面的三维检测系统及其检测方法
EP2474929A1 (en) 2010-12-30 2012-07-11 Dassault Systèmes Modeled object updating
US9916538B2 (en) 2012-09-15 2018-03-13 Z Advanced Computing, Inc. Method and system for feature detection
KR20150004838A (ko) * 2012-04-19 2015-01-13 톰슨 라이센싱 멀티-컴포넌트 3d 모델에 대한 에러 메트릭을 추정하기 위한 방법 및 장치
EP2750107B1 (en) 2012-12-31 2017-03-15 Dassault Systèmes Groups of faces that form a geometrical pattern
EP2808810B1 (en) * 2013-05-28 2017-01-11 Dassault Systèmes Compression and decompression of 3d modeled object
CN105637512B (zh) * 2013-08-22 2018-04-20 贝斯普客公司 用于创造定制产品的方法和系统
JP6508733B2 (ja) 2013-12-15 2019-05-08 7893159 カナダ インク. 3dモデルの比較方法および装置
US9916345B1 (en) 2014-02-12 2018-03-13 Google Llc Searching three-dimensional (3D) object data models
EP3016062A1 (en) 2014-10-27 2016-05-04 Thomson Licensing Method for watermarking a three-dimensional object
EP3098734A1 (en) 2015-05-28 2016-11-30 Dassault Systèmes Querying a database with likeness criterion
EP3098735A1 (en) 2015-05-28 2016-11-30 Dassault Systèmes Querying a database with thickness criterion
US9830703B2 (en) * 2015-08-12 2017-11-28 Nvidia Corporation Model-based three-dimensional head pose estimation
EP3264286B1 (en) 2016-06-28 2020-11-18 Dassault Systèmes Querying a database with morphology criterion
EP3321817A1 (en) 2016-11-14 2018-05-16 Dassault Systèmes Querying a database based on a parametric view function

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249809A1 (en) * 2003-01-25 2004-12-09 Purdue Research Foundation Methods, systems, and data structures for performing searches on three dimensional objects
US20060012597A1 (en) * 2004-07-16 2006-01-19 Tathagata Chakraborty Geometry based search method for 3D CAx/PDM repositories
US20060114252A1 (en) * 2004-11-29 2006-06-01 Karthik Ramani Methods for retrieving shapes and drawings
US20090157649A1 (en) * 2007-12-17 2009-06-18 Panagiotis Papadakis Hybrid Method and System for Content-based 3D Model Search
US8686992B1 (en) * 2009-03-30 2014-04-01 Google Inc. Methods and systems for 3D shape matching and retrieval
CN102542093A (zh) * 2010-09-23 2012-07-04 达索系统公司 设计计算机辅助设计系统与数据库进行交互的会话中的建模对象
CN102779358A (zh) * 2011-05-11 2012-11-14 达索系统公司 用于设计几何三维建模对象的方法
CN104395902A (zh) * 2012-04-02 2015-03-04 谷歌公司 根据存储的图像确定3d模型信息
US20130293541A1 (en) * 2012-05-02 2013-11-07 Dassault Systemes Designing A 3D Modeled Object
CN103971417A (zh) * 2012-12-31 2014-08-06 达索系统公司 由刚性运动转换的几何元素
GB201304711D0 (en) * 2013-03-15 2013-05-01 Rejal Ltd A method and system for 3D model database retrieval

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FUNKHOUSER, T 等: "A search engine for 3D models", 《ACM TRANSACTIONS ON GRAPHICS》 *
KAZMI, I.K.等: "A survey of 2D and 3D shape descriptors", 《2013 10TH INTERNATIONAL CONFERENCE ON COMPUTER GRAPHICS, IMAGING AND VISUALIZATION (CGIV)》 *
张玉鹏等: "基于形状相似的三维模型检索方法研究", 《北京师范大学学报(自然科学版)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111699482A (zh) * 2017-12-11 2020-09-22 脸谱公司 在线社交网络上利用图和紧致回归码的快速索引
CN112000824A (zh) * 2019-05-27 2020-11-27 英业达科技有限公司 对象辨识系统及其方法

Also Published As

Publication number Publication date
CN106202545B (zh) 2022-04-29
US10303784B2 (en) 2019-05-28
JP2016224944A (ja) 2016-12-28
EP3098734A1 (en) 2016-11-30
US20160350335A1 (en) 2016-12-01
JP6835484B2 (ja) 2021-02-24

Similar Documents

Publication Publication Date Title
CN106202545A (zh) 利用相近性准则来查询数据库
US11256832B2 (en) Replica selection
JP6975558B2 (ja) モフォロジー基準によるデータベースの照会
Cardone et al. A survey of shape similarity assessment algorithms for product design and manufacturing applications
US10719549B2 (en) Querying a database based on a parametric view function
Sheen et al. Transformation of a thin-walled solid model into a surface model via solid deflation
Huang et al. V4PCS: Volumetric 4PCS algorithm for global registration
CN108804094A (zh) 学习自动编码器
CN106227760B (zh) 用于构建、查询数据库的方法、装置和介质
JP6850116B2 (ja) 切り欠きの検出
JP2019106177A (ja) 3d部品の付加製造
JP7017852B2 (ja) 記述子を用いた3dオブジェクトの位置特定
JP6947503B2 (ja) 量子化を用いた3dオブジェクトの位置特定
US20200211296A1 (en) Flexible modeling using a weak type definition

Legal Events

Date Code Title Description
C06 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