CN103971417B - 由刚性运动转换的几何元素 - Google Patents

由刚性运动转换的几何元素 Download PDF

Info

Publication number
CN103971417B
CN103971417B CN201310757403.6A CN201310757403A CN103971417B CN 103971417 B CN103971417 B CN 103971417B CN 201310757403 A CN201310757403 A CN 201310757403A CN 103971417 B CN103971417 B CN 103971417B
Authority
CN
China
Prior art keywords
chart
arc
node
connected component
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310757403.6A
Other languages
English (en)
Other versions
CN103971417A (zh
Inventor
J-B·让维耶
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 CN103971417A publication Critical patent/CN103971417A/zh
Application granted granted Critical
Publication of CN103971417B publication Critical patent/CN103971417B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/005Tree description, e.g. octree, quadtree
    • 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/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

提供了一种用于设计三维建模对象的计算机实现方法。该方法包括提供(S10)几何元素,该几何元素表示建模对象且包括在其中几何元素是另一个的副本的集合。该方法还包括定义(S20)图表,确定(S30)该图表的最大子图表,以及在确定出的子图表中,识别(S40)具有最多数量的弧的连通分量的集合,并且对于连通分量的集合,由弧表示的刚性运动全部遵守一致性标准。这种方法改进了3D建模对象的设计。

Description

由刚性运动转换的几何元素
技术领域
本发明涉及计算机程序和系统领域,并且更具体地涉及一种用于设计三维(3D)建模对象的方法、系统和程序。
背景技术
在市场上提供了许多用于对象的设计、工程和制造的系统和程序。CAD是计算机辅助设计的首字母缩写词,例如,其涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩写词,例如,其涉及用于模拟未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的首字母缩写词,例如,其涉及用于定义制造过程和操作的软件解决方案。在这样的系统中,关于该技术的有效性,图形用户界面(GUI)扮演着重要的角色。可以将这些技术嵌入在产品生命周期管理(PLM)系统内。PLM涉及帮助多个公司跨越扩展企业的概念而分享产品数据、应用通用处理、并且权衡用于从构思到它们使用寿命终结的产品开发的企业知识的商业策略。
由Dassault Systems(商标名为CATIA、ENOVIA和DELMIA)提供的PLM解决方案提供了工程中心、制造中心和企业中心,工程中心组织产品工程知识,制造中心管理制造工程知识,企业中心使企业能够集成并连接到工程中心和制造中心。该系统一起提供了开放的对象模型,其链接产品、过程、资源,以实现动态的、基于知识的产品产生和驱动优化的产品限定、制造准备、生产和服务的决策支持。
现在,基于向用户提供的建模对象的边界表示(B-Rep),许多CAD系统允许用户设计3D建模对象。该B-Rep是包括各个面被定义为各自支持表面的边界部分的面的集合的数据格式。通过修改现有的面、创建新的面、删除一些面和/或定义面上和/或面间的约束、或者由使用时的CAD系统提供的类似的任何行为,用户可作用于该面的集合。在这种情形中,为了效率起见,该立体的历史通常对用户不可用。
发展中的这种3D设计的多个方面之一被称为“图案识别”。术语“图案”涉及相同的几何特征的副本的规则布局。识别图案允许这样的图案的处理作为设计期间的单个元素,从而扩展了一系列的设计可能性。例如,代替一个接一个地修改图案的元素,由于该图案的先前识别,用户可以例如用单个行为全面地执行图案的修改。图案识别与CAD的不同领域相关,诸如机械设计、消费品、建筑物结构、航天或其他领域。
图案识别可与特征识别相关。特征识别有助于识别给定的3D对象(典型地,机械部分的立体表示)的特性形状。机械设计的感兴趣的特性形状包括例如孔、挤压垫、挤压凹处、圆角或圆形、外卷垫和/或外卷凹处。识别特性形状相当于通过更佳的语义层识别其规格,例如,挤压或外卷形状的轮廓,外卷形状的旋转轴,圆形和圆角的半径值,挤压方向,和/或挤压深度。这个信息用于例如通过编辑该挤压的轮廓而修改形状,或者用于送入下游过程,例如加工过程。
特征识别能力可通过以下过程用于商业CAD系统。用户可选择特征的类别以进行识别。于是可选地,用户选择立体上的特征的一个或多个面,以便初始化搜索。该系统执行识别并得到识别出的特征的规格。
当目的是局部地改变输入立体的形状时,“直接编辑”能力也是可用的。这种技术也被称为“无历史建模”,其由CAD编辑者宣传为历史设计的另选物。目的是仅通过使用其B-Rep容易地改变立体的形状。为了使编辑从用户观点来看简单,“直接编辑”技术必须识别该立体的局部形状。例如,该系统必须维持孔的圆柱形(并且不将圆柱改变为自由形态的表面)、维持凹处的壁的垂直方向、和/或维持形状的外卷或挤压特性。因此,特征识别是不可避免的,即使是在“直接编辑”领域中。
传统的特征识别每次处理一个特征。它不识别给定特征的多个副本,并且它不识别这些副本的布局。至于图案识别,该主题仍然在发展,但是现有的解决方案看起来需要许多的用户干预。
因此,现有的解决方案缺少效率,特别是从用户利用观点和从穷尽性的观点来说。在本上下文中,仍然存在一种用于设计3D建模对象的改进的解决方案的需求。
发明内容
根据一个方面,因此提供了一种用于设计3D建模对象的计算机实现方法。该方法包括提供几何元素,该几何元素表示建模对象且包括在其中几何元素是另一个的副本的集合。该方法还包括定义具有节点和弧的图表,每个节点表示集合的几何元素,每条弧连接一对节点,并且表示将由该对节点的一个节点所表示的几何元素转换为由该对节点的另一个节点所表示的几何元素的刚性运动。该方法还包括确定该图表的最大子图表,对于子图表,由弧表示的刚性运动全部遵守预定的近似性标准,该近似性标准比预定的一致性标准弱。并且,该方法包括在确定的子图表内,识别具有最多数量的弧的连通分量的集合,并且对于该连通分量的集合,由弧表示的刚性运动全部遵守一致性标准。
该方法还包括以下的一个或多个:
-该方法还包括迭代以下步骤:通过折叠识别出的连通分量的集合的各个连通分量的节点来修改图表;以及迭代对修改的图表的确定和识别;
-该折叠包括:删除与所识别出的连通分量的集合的任何连通分量的任何节点相连的全部弧;对于每个各自的连通分量,由单个节点替换各自的连通分量的全部节点;以及在表示等距的连通分量的节点对之间增加弧,每条增加的弧表示将由该对节点的一个节点所表示的连通分量转换为由该对节点的另一个节点所表示的连通分量的刚性运动;
-该识别包括:在确定出的子图表中,选择具有最多数量的弧的子图表,以及测试由所选择的子图表的每个连通分量的弧所表示的刚性运动是否全部遵守一致性标准;
-作为检验的结果,该识别还包括:如果测试的结果是肯定的,则将连通分量的集合识别为所选择的子图表的连通分量;否则,如果测试的结果是否定的,则拆分所选择的子图表,并且重新运行选择和检验;和/或
-该拆反包括:从所选择的子图表中削减所选择的子图表中这样的子图表的弧:在所选择的子图表的全部子图表中,该子图表具有最多数量的弧,并且对于该子图表,由弧所表示的刚性运动全部遵守一致性标准;以及,使用削减掉的弧创建新的子图表。
还提出了一种包括用于执行上述方法的指令的计算机程序。该计算机程序适于存储在计算机可读存储介质上。
还提出了一种具有在其上记录的上述计算机程序的计算机可读存储介质。
还提出了一种CAD系统,其包括耦合到存储器的处理器以及图形用户界面,该存储器在其上记录有上述计算机程序。
附图说明
现在,作为非限制性示例且参考附图将描述本发明的实施例,其中:
图1示出了该方法的示例的流程图;
图2示出了图形用户界面的示例;
图3示出了客户端计算机系统的示例;以及
图4-31示出了该方法的示例。
具体实施方式
图1示出了用于设计3D建模对象的计算机实现方法的流程图。该方法包括提供S10几何元素。几何元素表示建模对象。S10处提供的几何元素包括在其中几何元素是另一个的副本的集合。该方法还包括定义S20具有节点和弧的图表,各条弧连接一对节点。各个节点表示该集合的几何元素。各条弧表示将由该对节点的一个节点表示的几何元素转换为由该对节点的另一个节点表示的几何元素的刚性运动。该方法还包括确定S30该图表的最大子图表。S30处确定的最大的子图表在对子图表而言由弧表示的刚性运动完全遵守预定的近似性标准的那些子图表中。近似性标准比预定的一致性(identity)标准弱。以及,该方法还包括在确定出的子图表内(S30确定的)识别S40连通分量的集合,连通分量具有最多数量的弧,并且对于该连通分量而言由弧表示的刚性运动完全遵守一致性标准。
这种方法构成了用于设计3D建模对象的改进的解决方案。通过识别S40连通分量,对于该连通分量而言由弧表示的刚性运动完全遵守一致性标准,该方法确定了几何图案,从而向用户开放基于图案的设计功能。通过识别S40图表的最大的子图表中的这些图案,对于子图表而言由弧表示的刚性运动完全遵守比一致性标准弱的预定的近似性标准,该方法执行足够的识别以更好地掌握预期的图案以及使设计更加容易。特别地,通过根据S30的具体标准确定最大的子图表,以及通过S40根据S40的具体标准来识别在这些子图表中具有最多数量的弧的连通分量的集合,该方法根据识别图案中的弧的总数来优化图案识别,从而识别出最期望的图案。因为该方法按照其具体方式混合使用了近似性标准和一致性标准,所以该方法识别可能属于自身的“图案的模式”(pattern of patterns)结构的图案。因此,该方法构成了递归图案识别的第一步,从而为这种递归图案识别预备了数据。由于该方法依赖图表定义S20和几何计算,所以可容易地实现且因此是自动的,因此按照穷尽且快速的方式识别有意义的图案。这在以下论述中是及其详细的。
建模对象是由存储在计算机系统的存储器中的数据定义的任何对象。作为扩展,措辞“建模对象”指定数据本身。“设计3D建模对象”指定作为精心制作3D建模对象的过程的至少一部分的任何行为或系列行为。因此,该方法可包括从头开始创建3D建模对象。可替换地,该方法可以包括提供先前创建的3D建模对象,并且然后修改该3D建模对象。
3D建模对象可以是CAD建模对象或者CAD建模对象的一部分。在任何情形中,由该方法设计的3D建模对象可表示CAD建模对象或者其至少一部分,例如,由CAD建模对象占据的3D空间。CAD建模对象是由存储在CAD系统的存储器中的数据定义的任何对象。根据该系统的类型,可由不同种类的数据定义建模对象。CAD系统是至少适于基于建模对象的图形表示设计建模对象的任何系统,例如CATIA。因此,定义CAD建模对象的数据包括允许建模对象的表示的数据(例如,几何数据,例如包括空间中的相对位置)。
该方法可包括于制造过程中,该制造过程可包括:在执行该方法后,产生与建模对象相对应的实体产品,例如,根据由该方法识别出的几何图案(在这种情形中,可向制造过程馈送关于所述几何图案的信息)。在任何情形中,由该方法设计的建模对象可表示制造对象。建模对象因此是建模立体(即,表示立体的建模对象)。制造对象可以是产品,例如,零件的一部分或其组件。因为该方法改进了建模对象的设计,所以该方法还改进了产品的制造,从而增加了制造过程的生产率。可以使用CAM系统实现该方法,例如DELMIA。CAM系统是至少适于定义、模拟和控制制造过程与操作的任何系统。
该方法是计算机实现的。这意味着该方法可运行在至少一个计算机或者类似的任何系统上。例如,该方法可在CAD系统上实现。因此,可由计算机执行该方法的步骤,可能完全自动地或半自动地(例如,由用户触发的步骤和/或涉及用户交互的步骤)。特别地,可由用户触发提供S10和/或定义S20。可以自动地(即,无需任何用户干预)或者半自动地(即,涉及-例如,轻微的-用户干预,例如,用于验证结果或者向/从子图表和/或连通分量的集合增加/删除用户确定的元素)执行确定S30和/或识别S40。
该方法的计算机实现的典型示例是用适于这个目的的系统执行该方法。该系统可以包括存储器,其上记录有用于执行该方法的指令。换句话说,软件在存储器上已是现成的,以用于即时使用。该系统因此适于执行该方法,而无需安装任何其他软件。这种系统还可以包括至少一个处理器,其与存储器耦合以用于运行指令。换句话说,该系统包括在耦合到处理器的存储器上编码的指令,指令用于提供执行该方法的手段。这种系统是用于设计3D建模对象的有效工具。
这种系统可以是CAD系统。该系统还可以是CAE和/或CAM系统,并且CAD建模对象还可以是CAE建模对象和/或CAM建模对象。事实上,CAD、CAE和CAM系统并不是彼此排斥的,因为建模对象可由与这些系统的任何组合相对应的数据来定义。
该系统可以包括用于例如通过用户开始指令运行的至少一个GUI。特别地,该GUI可允许用户触发提供S10的步骤,并且然后,如果用户决定这样做,例如,通过开始具体功能(例如,称为“递归图案识别”),来触发定义S20。然后,可以自动或半自动地执行确定S30,以及然后执行识别S40。
3D建模对象是3D的(即,三维的)。这意味着建模对象是由允许其3D表示的数据来定义的。特别地,S10处提供的几何元素是3D的(即,它们以3D定义,以便所有几何元素的联合不会包括在一个平面内)。3D表示允许从所有角度观看该表示。例如,当以3D呈现建模对象时,可处理该建模对象,并且该建模对象围绕它的任何轴旋转,或者围绕在其上显示该表示的屏幕中的任何轴旋转。这特别地排除了不是3D建模的2D图标,即使当它们按照2D立体图表示某物时。3D表示的显示有利于设计(即,增加了设计者统计上完成他们的任务的速度)。这加速了工业中的制造过程,因为产品的设计是制造过程的一部分。注意的是,关于该方法的3D特性的论述是适用的,即使在图上按照2D表示了一些示例。必须理解的是,这些示例是出于理解该方法的目的。
图2示出了典型CAD系统的GUI的示例。
GUI2100可以是典型的类CAD界面,其具有标准的菜单栏2110、2120以及底部和侧部工具栏2140、2150。这样的菜单和工具栏包含用户可选图标的集合,各个图标与一个或多个操作或功能相关联,如本领域已知的。这些图标中的一些与软件工具相关联,适于用于编辑和/或工作于GUI2100中显示的3D建模对象2000。软件工具可以集合在工作台中。各个工作台包括软件工具的子集合。特别地,所述工作台之一是编辑工作台,适于编辑建模产品2000的几何特征。在操作中,设计者例如可以预先选择对象2000的一部分,并且然后通过选择适当的图标来启动操作(例如,造型操作,或如改变尺寸、色彩等的任何其他操作)或者编辑几何约束。例如,典型的CAD操作是对在屏幕上显示的3D建模对象进行冲压或折叠的建模。
GUI可例如显示与所显示的产品2000相关的数据2500。在图2的示例中,显示为“特征树”的数据2500及其3D表示2000与包括制动钳和盘的制动组件有关。GUI还可显示各种类型的图形工具2130、2070、2080,以用于例如便于对象的3D定向,触发对所编辑的产品的操作的仿真,或者呈现所显示的产品2000的各种属性。可以通过触觉装置控制光标2060,以允许用户与图形工具进行交互。
图3示出了作为客户端计算机系统(例如用户的工作台)的系统的体系结构的示例。
客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010,也连接到总线的随机访问存储器(RAM)1070。客户端计算机还配备有图形处理单元(GPU)1110,其与连接到总线的视频随机访问存储器1100相关联。在本领域中,视频RAM1100还被称为帧缓冲器。大容量存储装置控制器1020管理对大容量存储装置(例如硬盘驱动1030)的访问。适于有形地体现计算机程序指令和数据的大容量存储装置包括所有形式的非易失性存储器,作为示例,其包括半导体存储装置,例如,EPROM,EEPROM和闪存装置;磁盘,例如,内部硬盘和可拆卸盘,磁光盘,以及CD-ROM盘1040。前述中的任何一个都可以由专门设计的ASIC(专用集成电路)进行补充,或者并入到专门设计的ASIC中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉装置1090,例如光标控制装置、键盘或其他。在客户端计算机中使用光标控制装置,以允许用户选择性地将光标放在屏幕1080的任何期望位置上,如参照图2所提及的。作为屏幕,其是指在其上可以执行显示的任何支持物,例如计算机监视器。另外,光标控制装置允许用户选择各种命令,以及输入控制信号。光标控制装置包括多种信号生成装置,用于将控制信号输入至系统。典型地,光标控制装置可以是鼠标,鼠标的按钮用于生成信号。
为了使系统执行方法,提供了一种计算机程序,其包括用于由计算机执行的指令,指令包括用于这个目的的手段。例如,可以在数字电子电路中,或者在计算机硬件、固件、软件、或者在它们的组合中实现该程序。本发明的设备可以实施在有形地体现在机器可读存储装置中的计算机程序产品,该计算机程序产品由可编程处理器执行的;以及可以通过可编程处理器执行本发明的方法步骤,可编程处理器执行指令的程序以通过对输入数据进行操作及生成输出来执行本发明的功能。有利地,可以以一个或多个计算机程序实现这些指令,这些计算机程序可运行在可编程的系统上,可编程的系统包括:至少一个可编程处理器,其被耦合以从数据存储系统接收数据和指令以及传送数据和指令到数据存储系统;至少一个输入装置;以及至少一个输出装置。可以以高级过程语言或面向对象编程语言实现应用程序,或者如果希望的话以汇编或机器语言实现应用程序;并且在任何情形中,该语言可以是编译或解释语言。该程序可以是整个安装程序,或者是更新程序。在后者的情形中,该程序将现有的CAD系统更新到其中系统适于执行方法的状态。
现在讨论提供S10。
该方法包括提供S10表示建模对象的几何元素。几何元素因此是建模对象的几何的一部分。几何元素可以是任何类型的。例如,几何元素可包括基本的立体、基本的曲线和/或基本的表面。在CAD广泛使用且下文中主要讨论的示例中,几何元素可以是S10处提供的建模对象的边界表示(B-Rep)的(例如,所有的)面。几何元素还可以是B-Rep的面的几何图案。在这种情形中,该方法直接执行图案识别的模式。
提供S10可由工作于建模对象(例如,工作于它的边界表示)上的设计者产生,或者例如可由该方法可用于例如从现有的库中取回的诸如B-Rep的现已存在的模型这一事实产生。在任何情形中,可在S10处提供该建模对象作为B-Rep。边界表示是广泛公知的用于根据3D对象的封皮(即,它的外表面)建模3D对象的格式。B-Rep因此指定可包括几何数据和拓扑数据的具体格式的数据。几何数据是提供几何实体的数据,几何实体是根据3D位置描述的实体。拓扑数据是提供拓扑实体的数据,拓扑实体是根据几何实体的参考和/或与其他拓扑实体的关系(例如相对位置)描述的实体。典型地,所述关系可包括使拓扑实体与其他拓扑实体相关联的“被划界”(is bounded by)关系,通过该关系,它们被拓扑地划界。
提供S10可排除任何历史数据。换句话说,S10处提供的建模对象可以是无历史的。这是指建模对象没有与指示其设计历史的任何数据相关联,而是仅通过说明性数据,包括例如B-Rep。因此,该方法可在设计者没有拥有建模对象的历史的环境中工作,这特别地暗示,在建模对象上设计的几何图案不会同样地按照S10处提供的数据进行定义。
在该方法的情形中,(例如,几何的)数据可包括所谓的“支持表面”,例如参数表面(即,根据与定义2D域的参数相关联的3D位置建模的3D表面)。典型地,支持表面可以是Nurbs表面,但也可以是平面的、规范化的或程序上的表面。并且,(例如,拓扑的)数据可包括面的至少一个集合,各个面被定义为(几何数据中提供的)各自支持表面的有界部分。因此,面对应于修整表面。因此,支持表面是在其上按照任何方式通过修整操作定义面(从而“支持”面)的表面。S10处提供的几何元素因此是在整个数据中定义的这样的面。
尽管广泛公知,但现在通过S10处可提供的建模对象的示例进一步讨论B-Rep的概念。然而,对于至少一些拓扑实体,本方法可以设想B-Rep的其他示例,例如具有不同于“被划界”关系的关系。同样,该方法可考虑非B-Rep表示。
如前所述,建模对象的B-Rep可包括拓扑实体和几何实体。几何实体可包括3D对象,该3D对象是表面(例如,平面)、曲线(例如,线)和/或点。表面可以被提供为两个参数的函数。曲线可被简单地提供为一个参数的函数。并且点可以被提供为3D位置。拓扑实体可包括面、边和/或顶点。通过它的定义,面与各自表面(名为“支持表面”)的有界部分相对应。术语“面”因此可中立地指定该表面的这种有界部分或者2D域的相应有界部分。类似地,边与曲线(名为例如支持曲线)的有界部分相对应。术语“边”因此可指定曲线或其领域的这种有界部分。顶点可定义为3D空间中到点的链接。这些实体如下地彼此相关。曲线的有界部分通过位于曲线上的两个点(顶点)来定义。表面的有界部分通过其边界来定义,这个边界是位于表面上的边的集合。面的边界的边通过共用顶点连接在一起。面通过共用边连接在一起。通过定义,两个面如果它们共用一个边则是相邻的。类似地,两个边如果它们共用一个顶点则是相邻的。表面、曲线和点经由它们的参数化可链接在一起。例如,可提供定义曲线的参数函数的参数值,以定义有界顶点。类似地,可提供将曲线的参数链接到表面的两个参数的函数,以定义边界边。然而,B-Rep的这种拓扑数据的非常详细的结构超出了本说明的范围。
图4和图5图示了圆柱形插槽80的B-Rep模型;其可以是S10提供的,且由图上标记为1、2和3的三个面组成:顶平面1和两个侧圆柱面2和3。图4示出了插槽80的立体图。图5示出了所有面的分解图。重复的数字图示边和顶点共用。面1是平面的有界部分。面1的边界包括边4和边5,它们的每一个都由顶点10和11划界。它们都具有相同的支持圆。面2由位于无限圆柱形表面(即,面2的支持表面)上的边6、8、5和13划界。面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)。
现在将讨论该方法的其他动作(包括步骤S20-S40)。
在S10处提供的几何元素包括集合(例如,至少一个集合),在该集合中几何元素是另一个几何元素的副本,或者换句话说,是彼此几何地等同的元素,或者是其他的几何复制品。该方法包括:基于这些几何元素定义S20图表。对此,该方法可以包括提供该集合的预定,或者另选地,确定该集合(例如,该方法确定将该集合的元素链接在一起的具体数据)。这允许更快地执行定义S20。例如,在几何元素是B-Rep的面的集合的情况下,该方法可以包括,例如,根据用户的触发,确定边界表示的面的所有子集,对于该边界表示,所述面是另一个的副本。可以根据本领域技术人员所希望的任意实现方式来确定S10的集合。例如,该方法可以包括执行一对面之间的比较,按照任意顺序浏览所述面。可以以任意方式执行这种比较。稍后将提供示例。并且,作为CAD领域所公知的,涉及数值计算的任意确定经受该系统应用的必需的数值逼近。在当前的情况中,可以确定面是彼此的副本,尽管它们在理论上是略有差别的。这样,该方法可以实际地确定实质上是另一个的副本的面的集合。然而,实现逼近的方式不是本讨论的主题,因此,“实质上是另一个的副本”和“是另一个的副本”在下面并未进行区分。事实上仅考虑的是该方法遵循预定的标准以辨别两个几何元素(例如,面)是另一个的副本。同样必须理解的是,该方法可以可替代地直接定义S20图表,而不需要预先确定是另一个的副本的几何元素的集合。
该方法包括定义S20随后被该方法密集使用的特定图表。作为图表理论公知的,图表是具有节点和每条都连接一对节点的弧的数学对象。因此,该方法用计算机数据定义S20这种结构,从在S10处提供的数据开始,可能在识别是另一个的副本(可以由该方法所确定的或者这样提供的)的几何元素的集合之后。此处注意的是,如果确定了一些这样的集合,那么在S20处可以分别地定义一些图表。或者,可以随后在首次迭代未处理的集合上迭代该方法。这些是实现方式细节。同样注意的是,可以在副本的完整集合或者它的部分上定义该图表。这同样是实现方式的问题。在第一种方法中,为了全面地执行图案识别,可以在整个集合上执行定义S10。
现在,在S20处定义的图表具有特定的结构,其格式化由方法在S20处创建的数据(如本领域技术人员所公知的)。每个节点都表示副本的集合的几何元素(例如,面)。例如,将每个节点的名称例如经由指针链接到几何元素的参考。类似地,每条弧都表示刚性运动,其将由一对节点中的一个节点所表示的几何元素转换为由该对节点中的另一个节点表示的几何元素。任何几何元素(包括面)都可以被视为点集(并因此被该方法同样地处理),即三维空间R3的子集。刚性运动是映射D:R3→R3,在两个点集间由D(x)=Rx+T所定义,其中R是旋转向量并且T是平移向量(对于它们中的一个可能是空(null))。刚性运动D可以被简化注解为:D=(R,T)。刚性运动是可逆的,由于y=D(x)等同为x=D-1(y),其中D-1(y)=R-1y-R-1T。三维刚性运动的组通常被注释为SE(3)。由于S10处提供的集合的几何元素是另一个的副本,所以对于该集合的给定的两个几何元素,通过应用刚性运动,理论上可以从其中一个推导出另外一个。
该图表聚集描述这种推导(或转换)的数据。可以将刚性运动和相关的几何结构实际地存储在所指向和连接的图表B=(X,U,α,ω),其中节点X是几何结构,并且弧U标注为刚性运动。该标注是映射m:U→SE(3)。更精确地,编写弧u∈U从节点α(u)=x∈X开始并且在节点ω(u)=y∈X结束,意味着几何结构x和y是彼此的副本,并且刚性运动m(u)将x变成y,其被注释为:y=m(u)x。现在,假设弧v∈U连接x和z∈X,其被写为α(v)=x和ω(v)=z。将x变为z的刚性运动是z=m(v)x。于是,z也是y的副本,并且将y变成z的刚性运动是z=m(v)m(u)-1y。相反地,将z变成y的刚性运动是y=m(u)m(v)-1z。
在此值得注意的是,涉及弧的定向的问题可以由本领域技术人员以任意方式进行处理,因为它们是简单的实现方式问题。例如,给定一条弧并给定由该弧连接的两个节点,可以以任意方式处理确定刚性运动的开始节点的问题(了解的是如果另一节点被用作开始点,则刚性运动则是相反的)。为了充分理解,随后将提供一个实现方式的示例。
同样值得注意的是,由于在S10处提供的集合的几何元素是另一个的副本,所以在S20处定义的图表在这个集合中可以是完整的,其具有所有如上定义的弧。然而,为了效率起见,该方法可以在S20处定义不完整的图表,根据任意预定标准排除完整图表的一些弧(例如,表示与其他任何刚性运动不具有近似性的刚性运动的弧)。
接着该方法包括确定S30遵守一些约束的图表的最大子图表。换句话说,在一些预定约束下,该方法计算该图表的最大子图表(即,子图表是该图表的所有节点和弧的集合的子集),也就是说,具有最多数量的元素的子图表。预定约束如下:在S30处确定的子图表必须是对其由弧所表示的刚性运动全部都遵守预定的被称作“近似性”标准的一个子图表。此处值得注意的是,在S30处确定的子图表不是必须不相交的,正如随后将举例说明的,由于一些节点同时可能属于一些不同的最大子图表。
近似性标准是指示两个刚性运动在它们在几何对象上操作的方式上是相似的标准。该近似性标准比一致性标准更弱,一致性标准将指示两个刚性运动是相同的(以数值计算固有的上述逼近为模)。近似性标准和一致性标准都是预先确定的,这意味着该系统存储一种方式去观察刚性运动对是否遵守这些标准的任意一个或者两者。因此,正如计算机科学领域所公知的,该方法可以基于预定的近似性标准以任意方式/顺序执行比较,以便确定最大子图表。
现将提供特别适合机械设计领域的近似性标准的示例和特性。
近似性的目标是:识别两个刚性运动以及它们的倒转(inverse)分别地以相同的方式操作两个几何对象,而不管所述刚性运动不是必须相同的并且不管所述刚性对象是任意地位于3D空间中的。
为了简明,下面按照两个步骤来讨论近似性。第一步骤是定义两条弧的所谓的“类似”,并且提供代数特性。由于这个第一定义涉及弧的定向,所以第二步骤通过以弧的定向不是相关的这种方式重新使用“类似”来定义“近似性”。
让ui,i=1,2是图表B的两条弧,并且Di=m(ui),该刚性运动分别与弧ui相关联。让xi=α(ui)是弧ui的起点的几何对象,让yi=ω(ui)是弧ui的终点的几何对象。因此,定义yi=Di(xi),i=1,2。
作为定义,弧u1类同于弧u2,其被标记为u1~u2,如果存在刚性运动M,以便验证以下两个条件:
1.D1=M-1οD2οM
2.x2=M(x1)
使用更紧凑的符号,这可以写为:m(u1)=M-1οm(u2)οM和α(u2)=M(α(u1))。
实际上,该定义并不依赖于选择弧ui的起点xi,而是终点yi。更精确地,如果存在像之前定义的刚性运动M,则存在另一刚性运动S,使得D1=S-1οD2οS和y2=S(y1)。证明如下。
首先,
y2=D2(x2)=D2οM(x1)=D2οMοD1 -1οD1(x1)=D2οMοD1 -1(y1)
于是,用S=D2οMοD1 -1足以检查D1=S-1οD2οS
D1=M-1οD2οM=D1οM-1οD2οMοD1 -1=D1οM-1οD2 -1οD2οMοD1 -1=(D2οMοD1 -1)-1οD2ο(D2οMοD1 -1)=S-1οD2οS
另一重要的特性在下文中被称为“求逆特性(inversion property)”:如果两条弧是类似的,则逆弧同样是类似的。形式上,如果u1~u2,则u1 -1~u2 -1,其中,符号ui -1是逆弧,其开始于yi,结束于xi,并且与逆刚性运动Di -1相关联。证明如下。如果u1~u2,则一方面D1=M-1οD2οM,并且因此D1 -1=(M-1οD2οM)-1=M-1οD2 -1οM。定义x2=M(x1)的另一点用弧ui -1的末端节点表示,其根据先前的标注是有效的。这证明了u1 -1~u2 -1
“类似”是弧的集合上的等价关系。为了证明这个,建立了以下特性。
第一特性是自反性:任何弧都与自身类似,u~u,其通过选择M作为同一刚性运动是显然的。
第二特性是对称性:如果u1~u2,则u2~u1。这是因为如果D1=M-1D2M,则D2=MD1M-1,并且如果x2=M(x1),则x1=M-1(x2)。这允许说“两条弧是类似的”而代替说“它们的一个类似于另一个”。
第三且是最后一个特性是传递性:如果u1~u2且如果u2~u3,则u1~u3。事实上,如果u2~u3,则存在刚性运动N,使得D2=N-1D3N和x3=N(x3)。但是,因为D1=M-1D2M和x2=M(x1),所以我们分别具有:
D1=M-1D2M=M-1N-1D3NM=(NM)-1D3(NM)
x3=N(x2)=NM(x1)
这证明了u1~u3,刚性运动是NM。
因此,类似关系是弧的集合上的等价关系。缺点是它取决于弧的定向,因为当u1~u2时,关系u1 -1~u2并非为真。这是因为D1=M-1D2M通常不会暗指D1 -1=M-1D2M,除非D2=D2 -1
因此,近似性的定义可如下地建立。作为定义,如果弧u1类似于弧u2或者如果弧u1 -1类似于弧u2,则弧u1近似于弧u2,其被标注为u1≈u2。简而言之,如果u1~u2或者u1 -1~u2,则u1≈u2
关系≈还是等价关系,如以下所证明的。
建立自反性,因为对于所有的u而言u~u,所以其意味着对于所有的u而言u≈u。应当注意,u-1通常不类似于u。
如下地建立对称性,其是指如果u1≈u2,则u2≈u1。如果u1~u2,则u2~u1,因为~是对称的,并且于是u2≈u1。如果u1 -1~u2,则通过逆特性,u2 -1~u1,这是指u2≈u1
如下地建立传递性,其是指如果u1≈u2且如果u2≈u3,则u1≈u3。语句“u1≈u2且u2≈u3”得出四种可能性并且它必须被检查每一个都暗示u1≈u3
1.u1~u2且u2~u3
2.u1~u2且u2 -1~u3
3.u1 -1~u2且u2~u3
4.u1 -1~u2且u2 -1~u3
情形1导致u1~u3,因为关系~是传递的,并且于是u1≈u3
情形2通过逆特性等价于u1~u2且u2~u3 -1。因为~是传递的,再次通过逆特性,u1~u3 -1等价于u1 -1~u3,其是指u1≈u3
情形3导致u1 -1~u3,因为关系~是传递的,其是指u1≈u3
情形4等价于u1 -1~u2且u2~u3 -1。因为~是传递的,通过逆特性,u1 -1~u3 -1是指u1~u3,并且于是u1≈u3
根据基础代数,近似性关系将弧的集合分离为最大的和不相交的子集,接下来将其命名为“等价类”。如果以由该弧连接的节点进行扩展,这些等价类可以组成在S30处确定出的子图表。
一旦如上所述在S30处确定了最大的子图表,该方法包括在所确定的子图表之内识别S40至少一个几何图案,在S40处所识别的集合的各个连通分量被该方法实际上声明地视为几何图案。在S30处确定的子图表内识别S40连通分量的集合的这一事实意味着根据一些情况识别最大子图表(即,连通分量的集合)之一的特定子子图表(sub-sub-graph),可能是完整的最大子图表,(可能是极端情况中的空图表,或者如果迭代该方法则在迭代的最后,正如之后将讨论的,但是通常不是空图表)。
通过“识别”连通分量的集合,这意味着将数据增加到建模对象上,以便指示所述连通分量的存在以及形成被称为连通分量的几何元素之间的连接。例如,创建组名并且将几何元素或者几何元素的组和组名之间的链接增加到(数据定义的)建模对象上。将元素链接在一起的这种方式也可以为确定S30而实现。该新的数据可能被存储在永久存储器上,或者至少被存储足够长的时间以供用户在几何图案上工作。这些只是本领域普通技术人员公知的实现的问题。
此外,该方法识别几何图案。表达“几何图案”意味着属于几何图案的元素组成其元素(例如,面或者面的组)以可预测的方式(即,根据预定规则)放置的几何结构,从而,排除了完整的随机性。所谓的“连通分量”只是连接图表。在该方法的情形中,预期的连通分量是遵循一些标准的在S30处确定的最大子图表的连接子子图表。即,连通分量的弧必须表示遵循一致性标准的刚性运动(即,根据为该方法定义的预定的一致性标准,一个连通分量的所有刚性运动是相同的)。因此,通过将一个相同的刚性运动应用到一个由节点之一表示的初始几何部件,由连通分量的节点表示的几何元素全部都是可获得的(几何图案在该方法之前例如已经由其他用户实际上这样设计了该几何图案)。这提出了几何图案的定义。
进而,连通分量的集合是具有近似刚性运动的几何图案的集合:在S40处识别出的集合的一个连通分量的相同刚性运动与在S40处识别出的集合的另一个连通分量的相同刚性运动是近似的。因此,通过输出这种“连通分量的集合”结构,该方法发起“图案的模式”识别。事实上,由于所使用的近似性标准的特性,当在S40处识别该集合中的一些连通分量时(取决于输入数据,在S40处识别出的集合可以仅包括一个连通分量,但是在一些情况中,它包括多于一个的连通分量),该连通分量有可能是可用刚性运动从另一个获得的。因此,可以识别出图案的模式,正如随后将举例说明的。
因为几何图案的几何元素首先被选为另一个的副本,所以该方法根据设计目的识别具有含义的几何图案。并且,在S30处确定的子图表内,从连通分量的所有可能的集合中选择这样的连通分量的集合:对于该连通分量的集合,由弧表示的刚性运动全部都遵循一致性标准,因为其每一个都具有最多数量的弧(总共,计数连通分量的集合的所有弧,即,为该集合的所有连通分量将每个连通分量的弧的总数加到一起)。这可以以任意方式实现,但是稍后将提供可能涉及所谓“拆分”的示例。可以以本领域技术人员希望的任意方式处理一些这种集合存在的情况。这种对在S40处识别出的连通分量的集合的选择允许很好地掌握用户目的。换句话说,由该方法识别出的图案结构在统计学上对用户是最有意义的。特别是,这证明了在可以按照已经讨论的那样应用该方法的机械设计领域特别有效。
因此,识别S40允许更简单的设计。首先,这允许将几何图案结构(即,连通分量结构的集合)较晚地呈现给用户。用户可因此掌握设计者的目的。这还允许稍后在几何图案结构上全面地执行设计动作(即,以自动统一的方式),如前所述。例如,用户可以用单个的“拖和拉”动作平移整个连通分量或者连通分量的整个集合。或者,用户可以增加该集合的任意或所有连通分量的所有元素的尺寸,通过选择它,并且接着仅输入一次它的元素的新尺寸。这些仅是示例。该方法可以包括任意或者若干这些之后的设计动作,其包括识别S40的结果。一般来说这在CAD领域是有用的,因为该方法允许实现一些包括具有更少用户动作的几何图案的特定设计。这在机械设计领域是特别有用的,当建模对象表示产品时,属于这种情形的方法为了全局工业处理因此需要其所有阶段的时间优化。该方法也可以包括以所识别出的连通分量的集合供给制造过程。
因此,通过执行简单的几何比较,例如基于面定义,并且通过执行有限的基于图表的计算,该方法有效地识别可能复杂(比相应于单个连通分量的单个图案更加精细)的连通分量的集合形式的几何图案结构,而不需要用户识别(即,预先选择)任意特定的几何元素或用于帮助识别的建模对象上的位置。该方法可以实际地排除这种由用户做出的识别。因此,该方法可以允许对图案的有效识别,例如,该图案适应于建模对象的边界表示。该方法不需要任何用户对几何结构的视觉分析。该方法通过系统地分析输入的几何结构而专注于对复制几何结构的安排。由于用户并不直接参与处理,因此为其他任务节省了时间。此外,正如之后将解释的,可以使用该方法来产生建模对象的图案结构的完整图案。这是一个一次性过程。接下来,本发明缩短了用于图案识别所花费的时间并且提供了最佳可能的结果。
值得注意的是,可以以某种方式迭代该方法。大体上,在每次迭代中,之前迭代的在S40处识别出的连通分量被同样地认为是几何元素。这样,该方法可以递归地确定所提供模型的图案结构的完整图案,在S40的首次迭代所确定的连通分量可能是在S40的下次迭代所确定的更高级的连通分量的一部分。
更加精确地,该方法可以进一步包括迭代下面的动作。首先,在该方法的之前迭代的识别S40之后,该方法可以通过折叠(collapse)连通分量的所识别集合的每个连通分量的节点来修改该图表(当在第二迭代时,在第一迭代的S20定义的,或者当在之后的迭代时,在之前的迭代已经修改的)。这相当于以“连通分量接着连通分量”的方式通过将该集合的每个连通分量的节点合并在一起而减少了图表。接着该方法在修改后的图表上执行确定S30和识别S40。换句话说,保持在S20处定义的图表,并且,由于其在该方法的迭代期间被修改,其修改版本被用作每个随后迭代的确定S30和识别S40的输入。这样,该方法详尽且递归地识别出在S10处提供的几何元素集合中的所有图案。由于通过该方法的各个迭代同样地处理连通分量,所以该方法可以识别出处于任意递归顺序的图案的模式。此外,该方法执行的方式允许以相对低的计算复杂性来完成这些。
现在,通过包括下面的动作可以简单地执行折叠。该折叠可以包括删除与所识别出的连通分量的集合的任意连通分量的任意节点相连接的所有弧。换句话说,连通分量被减少了它们的节点,并且没有保留任何存在于图表中的(在识别S40之前)连接到所述节点之一的弧。接着,对于每个各自的连接部件,该折叠可以用单个节点替代各自的连通分量的所有节点。从数据处理的观点看,这是个简单的参考管理问题。最后,该折叠可以包括增加如此增加的节点对之间的弧。注意,在表示(即,它们从之前的步骤中产生的)等距的连通分量的节点之间增加所增加的弧。因此,所述连通分量在几何学上等同地以刚性运动为模。每条增加的弧实际上表示将由一对节点的一个节点表示的连通分量转换为由该对节点的另一个节点表示的连通分量的刚性运动。再次,定向的处理是实现方式的问题。因此,保持在S20处定义的图表的全局结构。这允许以相同的算法块并因此以有效的方式执行确定S30以及识别S40。
在提供了一些定义之后,现在将讨论该方法的示例。在示例中,提供S10包括提供建模对象的B-Rep。几何元素最初是在B-Rep中定义的面。注意,该应用可以是机械设计,表示产品的建模对象,所述产品例如是零件的一部分或者其组件,其中图案识别是特别有用的。
给定一个点集X,如果存在刚性运动D使得Y={D(x),x∈X}(其被简化为Y=D(X)),则点集Y是X的“复制品”。
“定向点集”是组合(couple)(X,uX),其中是点集,并且uX是映射uX:X→S2,其中S2是R3的单位向量的集合。换句话说,在任意的点x∈X,定义了单位向量uX(x)。
如果Y是保存定向的X的复制品,则定向点集(Y,uY)是定向点集(X,uX)的“副本”。更加精确地,对于所有x∈X,在该复制品上的相应点D(x)的单位向量是在点x上的X的旋转单位向量。形式上,对于所有x∈X,uY(D(x))=RuX(x),意味着之后的图是可替换的。
定义S20所依赖的点集上的关系“是副本”是等价关系。为了证明这点,检查下面的特性是足够的,这并不困难:(1)点集是其自身的副本,(2)如果Y是X的副本,那么X是Y的副本,并且(3)如果Y是X的副本且Z是Y的副本,那么Z是X的副本。
根据基础代数,给定点集的有限集合G(意味着G的元素是点集),等价关系“是副本”将G分离为副本的不相交且最大子集Gi。这意味着Gi∩Gj=φ,如果i≠j,G=UiGi,如果X,Y∈Gi,则Y是X的副本,并且如果X∈Gi则Y不是X的副本。通过参考等价关系的等价类,子集Gi实际上是点集的“类”。
之前的理论应用(但不是限制)到立体(即,示例中的建模对象是立体)的面。面扮演着点集的角色,并且立体的B-Rep是集合G。换句话说,为了为定义S20确定作为另一个的副本的面的集合,本领域技术人员可以将面表示为点集,并且将在S10处提供的B-Rep表示为上面定义的集合G。
现在将讨论确定作为另一个的副本的B-Rep的面的集合的示例。
给定建模对象,例如其表示立体,在S10处提供的所述立体的B-Rep被认为是独立面的集合。意味着G={f1,...fn},其中fi是该立体的第i面。最开始的步骤是根据“是副本”关系来计算G的子集。整个算法可如下。
现在将讨论如何实现对于面的“是副本”关系的示例。
正如之前所解释的,立体的面可以由支持表面(例如,平面)以及由边界边所定义。在示例中,为面配备立体的外法向量。根据这个法向量定向边界边。通过共用顶点连接边界边。
为了执行比较并发现刚性运动,每个面都配备一些轴系统。在面的每个顶点v上,轴系统被如下创建。原点P的坐标是顶点v的坐标。标示为U的第一向量与v的输入边界边相切,并因此,将U定向为与边界边一样。标示为V的第二向量与v的输出边界边相切,并因此以边界边的方向定向。根据该面的法向量,词语“输入”和“输出”与边界边的拓扑定向相关。第三向量是在顶点v处计算出的面的外法向量N。尽管N总是与U和V垂直,但应当注意的是轴系统(P,U,V,N)并不通常是直接且正交的。
图9-11图示了半圆柱面90的轴系统。图9示出了面90及其法向量92。图10示出了由法向量92推导的边界边94的拓扑定向。边界边a是顶点v的输入边。边界边b是顶点v的输出边。图11显示了在每个边界顶点处的轴系统的向量U,V,N。
现在,在示例中,在副本面的集合的确定中,该方法可以通过直接搜索两个面之间的刚性运动(接着可将其用于确定S20中)来确定该两个面是否是另一个的副本,如果有的话。让f,g作为两个面,它们分别配备有(相同数量的)本地轴系统如果面f,g不具有相同数量的本地轴系统,则其意味着它们不具有相同数量的边界顶点,从而将它们确定为不是彼此的副本,并且不发起刚性运动搜索。
否则,该第一步骤是计算刚性运动Di,j,其分别将面f的第i轴系统改变为面g的第j轴系统。由于i,j=1,...,m,所以存在至多m2个这种刚性运动。在形式上,刚性运动是这样的注意并且Di,j(x)=Ri,jx+Ti,j,这通过首先解决下面的线性系统而实现,需牢记的是未知数是矩阵Ri,j的系数以及向量Ti,j的坐标。
其次,为了保证矩阵Ri,j是旋转,必须检查下面两个条件。
Ri,jRi,j T=I
det(Ri,j)=1
另外,Di,j不是刚性运动,因为Ri,j不是旋转。
接着,如果有的话,将在之前计算出的Di,j中找到将f改变为g的刚性运动D*。现在这个问题将要回答问题:给定f,g和刚性运动D,D(f)=g为真?这将通过以下来完成:通过以3D点xk,k=1,...,q的收集来采样面f,并且通过检查点D(xk)和面g之间的距离比起用于等同对象的预定数值阈值而言是足够小。如果在Di,j中一些刚性运动可以将f改变为g,那么在可能时选择纯平移。这是执行确定副本面的集合的有效方式,将导致与用户目的相符的结果。
现在将讨论用于确定出的副本面的集合(即上述的“子集”)的数据结构的示例。
可以以适合的数据结构来存储刚性运动和相关点集,现在将讨论,为了取回给定点集(相应于给定面)的副本和相关联的刚性运动。在概念上,这种数据结构包括定向图表W=(P,A,α,ω),其中节点P是点集,并且弧A被标注为刚性运动。该标注是映射m:A→SE(3),其中SE(3)是三维刚性运动的组。更精确地,编写弧u∈U从节点α(u)=x∈P开始并且在节点ω(u)=y∈P结束意味着点集x和y是彼此的副本,并且刚性运动m(u)将x变成y,其被注释为:y=m(u)x。现在,假设弧v∈A连接x和z∈P,其被写为α(v)=x和ω(v)=z。将x变为z的刚性运动是z=m(v)x。那么,z也是y的副本,并且将y变成z的刚性运动是z=m(v)m(u)-1y。相反地,将z变成y的刚性运动是y=m(u)m(v)-1z。可以由数据结构来捕获所有这个信息。
就其本质而言,计算初始子集的算法创建了由深度-1树图表组成的图表,它们的每一个都是子集。作为定义,深度-1树是以一个节点没有输入弧(根节点)并且所有其他节点没有输出弧节点(叶节点)为特征的树图表。换句话说,所有的非根节点都连接到根节点。接下来,给定深度-1树图表中的任意两个节点,仅存在连接它们的弧的一条路径,并且这条唯一路径仅包括两条弧。
图12-13图示了由计算初始子集(或者确定副本面的集合)的算法产生的图表数据结构。图12图示了包括四个对准的圆柱形狭槽的建模对象的B-Rep120,其具有从1到12编号的面。根据一些拓扑数据结构中的任意存储对它们进行编号。图13图示了图表130,其包括两个深度-1树132。
因此,通过组合沿着连接两个所述点集的弧的路径的刚性运动,计算将一个点集改变为任意另一点集的刚性运动。由于这条路径包括两条弧,因此,仅组合两个刚性运动。计算涉及子集内的任意两个点集的刚性运动的这种设施被广泛地用于该方法的这个示例中。根据这种图表,该方法可以因此非常容易地执行定义S20,因为可以从图表(如图表130)简单地取回/确定副本面的任意对之间的刚性运动。
在此点上,因此,该方法可能已经将所有的复制的几何结构和相关刚性运动收集到了被标示为A的图表中。图表A的节点表示几何结构,图表A的弧表示刚性运动。图表A(在S20处定义的图表)的每个连通分量B收集相同几何结构的副本并且是潜在的复杂结构。
该方法的接下来的步骤的示例如下:
1、在图表A的每个连通分量B内,根据近似性标准类,将弧分组为单独的子集。这是确定S30的示例。
2、接着,包括最大数量弧的子集是捕获最多复制的基本结构的最佳候选。这是识别S40的开始的示例。
3、考虑对应于弧的这个最大子集的B的子图表C,并且计算C的连通分量Ci。这是识别S40的下一阶段的示例。
4、如果每个连通分量Ci的所有弧都表示相同的刚性运动,那么识别出基本图案。这是识别S40结束的示例。
5、通过将每个连通分量Ci的节点合并为单个节点,并且丢弃无用的弧,图表B被简化为新的图表B’。这是通过折叠所识别出的连通分量的集合的每个连通分量的节点而修改该图表的示例。
步骤1和2的目标是提供足够的条件以允许潜在地捕获基本图案的子图表的收集。可以迭代地将处理应用在图表B的连续的简化版本上,直到没有新的图案被识别出。可以以这种方式进一步处理初始图表A的每个连通分量,正如之后将详细描述的。如果在步骤4不是所有的连通分量Ci以相同的刚性运动为特征,则拆分子集C。这个拆分处理是提炼近似性标准,同时维持弧的尽可能大的子集。
该示例中的方法主要是迭代过程。该示例的算法的核心是“基本图案识别器”并且迭代第涉及“图案识别器的模式”。一旦识别出基本的,就简化输入图表并且再次执行识别。图案识别器的模式可以如图14的图所图示的那样运行。基本图案识别器可以如图15的图描述的那样运行。
现在讨论带有B-Rep示例的方法的示例。
该示例的B-Rep160包括被排列在平面上(为了简单理解该方法)的18个圆的集合(即,作为另一个的副本并且在S10处提供的面是圆盘,其由对应于图的平面的平面所支持并且被圆所限界),正如图16所图示的。从1-18对圆进行编号。可以看出,已经围绕着冠(crown)排列了圆1,2和3。接着,这个冠可能已经被平移了两次,并且整体已经被旋转了一次。这是图16的示例的B-Rep设计的历史,其是最可能根据用户目的的,至少在机械设计领域。该方法的目标是从几何结构和刚性运动的输入图表取回该递归的旋转-平移-旋转图案结构。
在S20处定义的图表B,例如上述参考图9-13所解释的,聚集对应于图16的示例的几何结构和刚性运动,在图17中图示了该图表B。为了简明,在附图上没有对弧进行编号,因为可以通过末端节点编号来识别它们。以刚性运动标注弧。符号Ti涉及平移,符号Ri涉及旋转。例如,通过平移T1,圆4是圆1的副本,以及圆14是圆5的副本。通过旋转R1,圆2是圆1的副本。通过旋转R5,圆10是圆12的副本。尽管旋转R1和R5具有相同的2π/3角,但它们不是等同的,因为它们不具有相同的中心。同样的,为了清楚,出现少于三次的刚性运动在该图上也被放弃。
基本图案识别的最先步骤的示例是将图表B的弧分组为所谓的“类”(这是确定S30)。类聚集了依照近似性标准的弧,该近似性标准涉及相关联的刚性运动和几何对象。如上所释,近似性标准比刚性运动的严格等同性更弱。
现在讨论从图17的图表开始的确定S30的实现示例。
初步的定义是有用的。让ui(i=1,2)是两条弧,并且让Di=(Ri,Ti),i=1,2,刚性运动分别与弧ui相关联。形式上,Di=m(ui)。让θi作为旋转Ri的角度,以及Ai作为旋转Ri的轴。让xi=α(ui)作为处于弧ui的原点上的几何对象,以及g(xi)是其重心。
通过定义,弧ui的半径是g(xi)和Ai之间的距离di。通过考虑替代xi的yi=ω(ui)在弧ui的末端上的几何对象来获得相同的值di,正如图18-19所图示的。
根据之前提供的近似性标准的示例,当接下来的条件之一为真时,弧u1和u2是近似的。
1、D1和D2是纯平移并且它们的平移向量具有相同的长度。形式上:θ1=θ2=0且|T1|=|T2|。
2、D1和D2不是纯平移。它们的旋转具有相同的绝对角,形式上,|θ1|=|θ2|≠0。弧u1和u2的半径是相同的,形式上为d1=d2
否则,弧u1和u2是不近似的。
该示例的方法可以执行足够的测试以确定用于执行确定S30的近似的刚性运动。
根据基础代数,并且正如已经讨论的,在弧的集合上,近似性关系是等价关系,其将弧的集合分离(根据定理)为最大且不相交的子集,其可以被命名为“等价类”。
回到该示例,在图表B上执行类计算和子图表提取在S30处产生图20-22所示的三个最大子图表。图20的子图表C归因于旋转Ri(i=1,…,6)都具有相等的角度和相同的半径(它们不是相同的,因为它们不具有相同的中心)这一事实。它包括18条弧。图21的子图表210来源于旋转R7。它包括9条弧。图22的子图表220来源于平移T1和T2虽然不是相同的但具有相等的长度这一事实。它包括12条弧。
现在讨论在图20-22的最大子图表C、210和220的确定S30之后执行的识别S40的示例。
下个步骤是选择以最多数量的弧为特征的子图表,在该示例中是子图表C,因为它有18条弧。图表C包括6个连通分量Ci=1...6。分量C1包括节点1,2,3,分量C2包括节点4,5,6,分量C3包括节点7,8,9,分量C4包括节点10,11,12,分量C5包括节点13,14,15,以及分量C6包括节点16,17,18。每个连通分量的所有弧都由相同的刚性运动所标注:分量C1的弧全部由旋转R1所标注,分量C2的弧全部由旋转R2所标注,等等。接下来,该示例的算法可以识别出每个连通分量是基本图案,其是三个圆的小冠。这是识别S40。
接着,可以发生该方法的迭代。通过将每个连通分量Ci的节点合并为单个节点而将图表B简化为图表B’,正如之前提供的折叠的示例所解释的。例如,可以如下那样地管理将来自一个分量的节点连接到另一个的图表B的弧。让Ci和Cj是两个不同的分量。如果在Ci节点和Cj节点之间存在一对一映射,并且如果都以相同的刚性运动D标注这个映射的所有弧,那么简化图表B’以连接单个节点Ci和单个节点Cj的一条弧为特征,其被刚性运动D标注。否则,Ci的几何结构并不是与Cj的几何结构完全等量的,并且在简化图表中并没有创建弧。
在该示例中,这产生了图23的简化图表B’。为了易读性,对合并所产生的节点的命名是基于附图上的原始节点数量的。
简化图表B’现在可以是该示例的算法的下一迭代的输入图表。在B’的弧上执行的等价类计算产生了两个子集:C’和250,如图24-25所示。表示为C’的子图表包括四条弧,因为|T1|=|T2|,而子图表250包括三条弧。
接着选择可用于在子图表C’上如上所述执行基本图案识别,因为它包括最多数量的弧。这产生了两个基本图案,一个用于每个连通分量。接着如图26所示,图表B’被简化为图表B”。
该示例的最终迭代将在图表B”上识别出由通过旋转R7的两个副本组成的基本图案。不再详细描述该迭代。
最后,图27可以图示由该示例的方法识别出的递归图案结构的逻辑270,使用分等级的图表图示语法。该方法可因此输出指示在S10处提供的B-Rep160的面的集合遵从逻辑270的数据,该逻辑是表示B-Rep的图案结构的完整模式的分等级数据。
在参考图16-27提供的示例中,总是在S30处确定出的子图表内通过简单地选择具有最多数量的弧的子图表来执行识别S40。事实上,在这个示例中,所选择的子图表的连通分量(包括Ci=1...6,图24的图表C’的连通分量以及图26的B”的单个连通分量)总是全部遵循一致性标准。
然而在通常情况下,这并不是必须为真。该方法可以因此被改进,并通过考虑其中这个不为真的特殊情况而输出较少的“错误结果”。这可以如下那样地执行。
如上所述,识别S40可以包括在确定的子图表内选择具有最多数量弧的子图表。然而,识别S40也可以包括测试由所选择的子图表的每个连通分量的弧所表示的刚性运动是否全部都遵循一致性标准。换句话说,考虑具有最多数量的弧(因此所有弧是“近似的”,即,表示近似的刚性运动)的子图表的连通分量。并且该方法实际上测试(正如计算机科学领域经典的)这样单独考虑的(即,一个接一个)每个连通分量是否仅由实质上相同的弧所组成(即,表示相同的刚性运动)。
作为该测试的结果,可以依据不同的策略以识别连通分量的正确集合并因此结束该方法。一种简单实现的方式是执行如下所释的拆分过程。
在拆分过程中,作为该测试的结果,识别S40进一步包括下面的动作。如果该测试的结果是肯定的(即,所选择的子图表的所有连通分量都遵循一致性标准),那么该方法将连通分量的集合识别为所选择的子图表的连通分量(即,所选择的子图表的连通分量形成识别步骤S40输出的集合)。这实际上总是图16-27的示例中的情况。然而,否则的化,即,如果该测试的结果是否定的,那么该方法执行对所选择的子图表的拆分,并且重新运行选择和测试。该拆分包括通过将所选择的子图表朝如果重新运行那么测试过程的结果最有可能是肯定的状态分解而修改所选择的子图表。这允许最终结束迭代。
在快速收敛和遵循设计的示例中,拆分包括从所选择的子图表削减所选择子图表的子图表的弧,为了方便其可被称作“削减子图表”。削减子图表是在所选择的子图表的所有子图表中具有最多数量的弧的一个,并且对其而言由弧表示的刚性运动全部都遵循一致性标准。可以以任意方式处理存在一些这种子图表(即,相同数量的弧)的情况。那么,拆分也包括以削减的弧创建新的子图表。
下面经由示例将对此进行详细描述。
该示例的拆分处理运行在以下条件下。让图表B是输入图表A的连通分量。类计算在S30确定将B的弧划分为子集。图表C是由最大子集定义的B的子图表。子图表Ci是C的连通分量。存在这些的至少一个,表示为C0,以及C0的两条弧u,v,使得相关联的刚性运动m(u)和m(v)不相等。
接着,该示例的拆分处理运行如下。给定如之前定义的C0,第一步骤是识别与C0的弧相关联的所有不同的刚性运动,标注为Di,i=1,...,n。刚性运动的数量n通常比C0中的弧的数量少,因为一些弧可以与同一刚性运动相关联。第二步骤是根据共享的刚性运动将C0的弧分组。形式上,对于i=1,...,n,Ui是C0的弧的子集,使得对于所有u∈Ui,m(u)=Di,简而言之,Ui=m-1(Di)。现在,让G(Ui)是由Ui中的弧定义的C0的子图表。下一步骤是考虑这些子图表的所有组合。每个子集定义了这种组合,即
下一步骤在所有之中选择具有最多数量的弧的组合K(Q),并且使得对于K(Q)的每个连通分量,所有弧都与相同的刚性运动相关联。将Q*表示为以这个属性为特征的{1,...,n}的子集。在子集分割中,拆分操作将用子集和它的补充子集替代C0的子集。
换句话说,该拆分从所选择的子集中削减它的具有表示遵循一致性标准的刚性运动的弧的最大子子图表(在弧的数量方面“最大”)。接着,在S30处最初确定出的最大子图表的集合的修改版本上再次执行选择,并接着,再次执行拆分,由于也再次执行了测试。最终,该结果将必须是仅具有相同弧的连通分量的所选择子的图表,使得该算法收敛。自然,可以存储拆分的结果,使得当迭代该方法时,在确定(S30)和识别(S40)的下次迭代,如果输入元素是相同的(例如,将被拆分的子图表是相同的),则可以更快地执行拆分。
图28例证了拆分操作是优选的并且帮助避免了错误结果的情况。这个示例中在S10处提供的B-Rep包括由7个圆(编号为8到14)等间隔地组成的局部冠,6个圆(编号为1到6)组成的网格,以及额外的圆(编号为7)未与该网格对齐。
在图29提供对应于这个几何结构并且在S20处定义的图表B。顶点的编号是自说明的。弧由字母“a”到“n”命名并且以相关联的刚性运动进行标注。平移向量具有相同的长度:|T1|=|T2|=|T3|。
明显地,图表B以两个连通分量292和294为特征,如图29所示。在图表B的弧上执行的类计算产生两个子集{i,j,k,l,m,n}和{a,b,c,d,e,f,g,h},最大的子集是第二个。因此,子图表C由顶点1到7和弧a到h所定义。由于这个子图表被连接,其等同于C0,如图30所示。
需要拆分处理,因为不是C0的所有弧都与相同的刚性运动相关联。例如,弧a与平移T1相关联,而弧b与不同于T1的平移T2相关联。这被写为m(a)=T1≠T2=m(b)。第一拆分步骤识别与C0的弧相关联的n=3个刚性运动,它们是T1,T2,T3。通过刚性运动分组弧产生:
U1=m-1(T1)={a,d,g}
U2=m-1(T2)={b,c,e,f}
U3=m-1(T3)={h}
现在,研究所有子集将检查子图表
K({1,2})=G(U1∪U2)=G({a,b,c,d,e,f,g})
K({1,3})=G(U1∪U3)=G({a,d,g,h})
K({2,3})=G(U2∪U3)=G({b,c,e,f,h})
K({1})=G(U1)=G({a,d,g})
K({2})=G(U2)=G({b,c,e,f})
K({3})=G(U3)=G({h})
图表K({1,2,3})是不相关的,因为它是C0本身。图表K(Ф)是不相关的,因为它是空的。图31图示了子图表K(Q)。明显地,图表K({1}),K({2}),K({3})满足该属性(每个连通分量的所有弧都与相同的刚性运动相关联),而其他任何图表都不满足该属性。最大的一个(在弧的数量方面)是K({2})。因此,该拆分将子集{a,b,c,d,e,f,g,h}分离为{b,c,e,f}和{a,d,g,h}。
下一步骤是在这个新的子集上迭代分割以发现最大子集,其现在是{i,j,k,l,m,n}。该算法识别相应的基本图案,因为相应的子图表的所有弧都与相同的刚性运动:R1相关联。剩下的最大子集是{b,c,e,f},在下次迭代中在节点折叠之后对其进行管理。事实上,在以之前描述的相同方式进行拆分之后,可以执行该折叠。

Claims (7)

1.一种用于设计三维建模对象的计算机实现方法,包括:
提供(S10)几何元素,所述几何元素表示建模对象且包括在其中所述几何元素是另一个的副本的集合,
定义(S20)具有节点和弧的图表,每个节点表示所述集合的几何元素,每条弧连接一对节点,并且表示将由该对节点的一个节点所表示的几何元素转换为由该对节点的另一个节点所表示的几何元素的刚性运动,
确定(S30)所述图表的最大子图表,对于所述最大子图表,由弧所表示的刚性运动全部遵守预定的近似性标准,所述近似性标准比预定的一致性标准弱,以及
在确定出的子图表内识别(S40)具有最多数量的弧的连通分量的集合,并且对于所述连通分量的集合,由弧所表示的刚性运动全部遵守一致性标准;
其中,所述方法还包括迭代以下步骤:
通过折叠所识别出的连通分量的集合的每个连通分量的节点来修改图表;以及
在修改后的图表上重复确定(S30)和识别(S40);
其中,所述方法还包括:将所识别出的连通分量的集合的结构呈现给用户;由用户在所呈现的结构上全面地执行设计动作;所述设计动作是以自动统一的方式执行的。
2.如权利要求1所述的计算机实现方法,其中,所述折叠包括:
删除与所识别出的连通分量的集合的任何连通分量的任何节点相连的全部弧;
对于每个各自的连通分量,由单个节点替换各自的连通分量的全部节点;以及
在表示等距的连通分量的节点对之间增加弧,每条增加的弧表示将由该对节点中的一个节点所表示的连通分量转换为由该对节点中的另一个节点所表示的连通分量的刚性运动。
3.如权利要求1或2所述的方法,其中,所述识别(S40)包括:
在确定出的子图表中,选择(S410)具有最多数量的弧的子图表,
测试(S420)由所选择的子图表的每个连通分量的弧所表示的刚性运动是否全部遵守所述一致性标准。
4.如权利要求3所述的方法,作为测试(S420)的结果,所述识别(S40)还包括:
如果所述测试(S420)的结果是肯定的,则将连通分量的集合识别(S430)为所选择的子图表的连通分量,
否则,如果所述测试(S420)的结果是否定的,则拆分(S440)所选择的子图表,并且重新运行选择(S410)和测试(S420)。
5.如权利要求4所述的方法,其中,所述拆分(S440)包括:
从所选择的子图表中削减所选择的子图表中如下的子图表的弧:在所选择的子图表的全部子图表中,该子图表具有最多数量的弧,并且对于该子图表,由弧所表示的刚性运动全部遵守一致性标准;以及
用削减掉的弧创建新的子图表。
6.一种在其上记录有用于执行权利要求1-5中任一项所述方法的计算机可读指令的数据存储介质。
7.一种CAD系统,其包括耦合到存储器的处理器以及图形用户界面,所述存储器在其上记录有用于执行权利要求1-5中任一项所述方法的计算机可读指令。
CN201310757403.6A 2012-12-31 2013-12-30 由刚性运动转换的几何元素 Active CN103971417B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP12306721.7 2012-12-31
EP12306721.7A EP2750106B1 (en) 2012-12-31 2012-12-31 Geometrical elements transformed by rigid motions

Publications (2)

Publication Number Publication Date
CN103971417A CN103971417A (zh) 2014-08-06
CN103971417B true CN103971417B (zh) 2018-08-14

Family

ID=47715808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310757403.6A Active CN103971417B (zh) 2012-12-31 2013-12-30 由刚性运动转换的几何元素

Country Status (6)

Country Link
US (1) US9449430B2 (zh)
EP (1) EP2750106B1 (zh)
JP (1) JP6294072B2 (zh)
KR (1) KR102055955B1 (zh)
CN (1) CN103971417B (zh)
CA (1) CA2838282C (zh)

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
US9569564B2 (en) * 2013-02-11 2017-02-14 Ford Global Technologies, Llc Automated cad process for creating mold packages
EP2808810B1 (en) 2013-05-28 2017-01-11 Dassault Systèmes Compression and decompression of 3d modeled object
US20160098033A1 (en) * 2014-10-06 2016-04-07 General Electric Company Semantic manufacturing
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
EP3179389B1 (en) * 2015-12-07 2019-05-22 Dassault Systèmes Detecting cut-outs
WO2017220567A1 (de) * 2016-06-24 2017-12-28 Covestro Deutschland Ag Verfahren zur mechanischen prüfung einer einteilig ausgebildeten struktur anhand von über ein 3d-druckverfahren erzeugten prüfkörpern
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
EP3340084A1 (en) * 2016-12-22 2018-06-27 Dassault Systèmes Replica selection
US20180314408A1 (en) * 2017-04-28 2018-11-01 General Electric Company Systems and methods for managing views of computer-aided design models
US11281824B2 (en) 2017-12-13 2022-03-22 Dassault Systemes Simulia Corp. Authoring loading and boundary conditions for simulation scenarios
US11030375B2 (en) * 2018-07-26 2021-06-08 Synopsys, Inc. Capturing routing intent by using a multi-level route pattern description language
EP3623968A1 (en) * 2018-09-17 2020-03-18 Bricsys NV Automated block generation in cad
EP3690682A1 (en) * 2019-02-01 2020-08-05 Dassault Systèmes Designing a part featuring a protrusion or a depression
EP3761211A1 (en) 2019-07-04 2021-01-06 Dassault Systèmes Designing a part featuring a bump
CN112395779A (zh) * 2019-07-31 2021-02-23 比亚迪股份有限公司 刚性连接创建方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1290382A (zh) * 1997-12-30 2001-04-04 移动媒体有限公司 计算机图形中表示几何形状和几何结构的方法
CN101268492A (zh) * 2005-09-23 2008-09-17 皇家飞利浦电子股份有限公司 用于使用多个局部变换调整几何模型的方法及系统
CN102117361A (zh) * 2009-12-31 2011-07-06 达索系统公司 通过图建模的组件的设计
CN102289537A (zh) * 2011-06-20 2011-12-21 南京航空航天大学 一种复杂结构件多体特征识别方法

Family Cites Families (20)

* 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
JP2000057184A (ja) * 1998-08-06 2000-02-25 Nissan Motor Co Ltd 3次元形状モデルの作成方法
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
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
JP4516957B2 (ja) 2003-01-25 2010-08-04 パーデュー リサーチ ファンデーション 3次元オブジェクトについて検索を行なうための方法、システムおよびデータ構造
US7269808B2 (en) 2005-05-26 2007-09-11 International Business Machines Corporation Design verification
US7814441B2 (en) * 2006-05-09 2010-10-12 Inus Technology, Inc. System and method for identifying original design intents using 3D scan data
US7688318B2 (en) 2007-02-02 2010-03-30 Dassault Systemes Solidworks Corporation Reusable data constructs for a modeling system
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
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
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
CA2929892C (fr) 2013-12-15 2018-12-18 Socovar, Societe En Commandite Methode et systeme de comparaison de modeles 3d

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1290382A (zh) * 1997-12-30 2001-04-04 移动媒体有限公司 计算机图形中表示几何形状和几何结构的方法
CN101268492A (zh) * 2005-09-23 2008-09-17 皇家飞利浦电子股份有限公司 用于使用多个局部变换调整几何模型的方法及系统
CN102117361A (zh) * 2009-12-31 2011-07-06 达索系统公司 通过图建模的组件的设计
CN102289537A (zh) * 2011-06-20 2011-12-21 南京航空航天大学 一种复杂结构件多体特征识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Automatic discovery of commondesign structures in CAD models;Lujie Ma et al.;《Computers & Graphics》;20101231;第4.1.1节,图5,图9 *

Also Published As

Publication number Publication date
US9449430B2 (en) 2016-09-20
KR102055955B1 (ko) 2019-12-13
JP2014130601A (ja) 2014-07-10
EP2750106B1 (en) 2021-09-15
CN103971417A (zh) 2014-08-06
JP6294072B2 (ja) 2018-03-14
CA2838282A1 (en) 2014-06-30
KR20140088038A (ko) 2014-07-09
EP2750106A1 (en) 2014-07-02
US20140184594A1 (en) 2014-07-03
CA2838282C (en) 2021-11-23

Similar Documents

Publication Publication Date Title
CN103971417B (zh) 由刚性运动转换的几何元素
CN103914865B (zh) 形成几何图案的面的组
CN104217460B (zh) 3d建模对象的压缩与解压缩
CN110033513A (zh) 生成表示建筑的3d模型
Livesu cinolib: a generic programming header only C++ library for processing polygonal and polyhedral meshes
JP6975558B2 (ja) モフォロジー基準によるデータベースの照会
Wan et al. New methods of creating MBD process model: On the basis of machining knowledge
Doboš et al. 3D Diff: an interactive approach to mesh differencing and conflict resolution
CN107092741A (zh) 使用面轨迹的b‑rep设计
Campana et al. An application to Stereolithography of a feature recognition algorithm for manufacturability evaluation
CN105389413A (zh) 方法和装置
Bidarra et al. Efficiency of boundary evaluation for a cellular model
Rogage et al. 3D object recognition using deep learning for automatically generating semantic BIM data
KR20100131388A (ko) 오브젝트의 컴퓨터 보조 설계 시스템에서 오브젝트들 사이의 관계의 상태를 업데이트하는 프로세스
Jia et al. A real-time deformable cutting method using two levels of linked voxels for improved decoupling between collision and rendering
Pereira et al. Boolean operations on multi-region solids for mesh generation
Davis et al. The flexibility of logic programming
CN103823922B (zh) 设计对象的圆形交错图案
US20220245291A1 (en) Apparatus, system and method for three-dimensional (3d) modeling with a plurality of linked metadata feeds
Zheng et al. Collaborative design: Improving efficiency by concurrent execution of Boolean tasks
US11699008B2 (en) Non-conformal domain decomposition with imprints at interfaces with boundaries for finite element analysis
Mezhuyev et al. Metamodel for the development of geometrical modelling languages
Mikchevitch et al. Methodology for automatic recovering of 3D partitions from unstitched faces of non-manifold CAD models
Chen et al. Structure-altering feature-based triangle mesh model editing for primitive-based engineering parts
Adolphy et al. Remodelling of Structured Product Data for Through-Life Engineering Services

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant