CN102073499B - 在计算机辅助设计系统中设计对象组件的方法和系统 - Google Patents

在计算机辅助设计系统中设计对象组件的方法和系统 Download PDF

Info

Publication number
CN102073499B
CN102073499B CN201010624272.0A CN201010624272A CN102073499B CN 102073499 B CN102073499 B CN 102073499B CN 201010624272 A CN201010624272 A CN 201010624272A CN 102073499 B CN102073499 B CN 102073499B
Authority
CN
China
Prior art keywords
relative position
group
assembly
interface information
constraint
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
CN201010624272.0A
Other languages
English (en)
Other versions
CN102073499A (zh
Inventor
M·迪盖
A·特滕
F·肖万
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 CN102073499A publication Critical patent/CN102073499A/zh
Application granted granted Critical
Publication of CN102073499B publication Critical patent/CN102073499B/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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • 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]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2008Assembling, disassembling

Abstract

本发明涉及在计算机辅助设计系统中设计对象组件的方法,所述方法包括:-选择(20)所述组件中的第一对象和第二对象,所述第一对象和第二对象均具有界面信息;-计算(40)所述组件中的所述第一对象和第二对象之间的一组相对位置;-根据至少一个准则来对在所述第一对象和第二对象之间的该一组相对位置进行排名(80);和-根据所述进行排名的步骤来提供(90)在所述第一对象和第二对象之间的所述相对位置中的最佳位置。

Description

在计算机辅助设计系统中设计对象组件的方法和系统
技术领域
本发明涉及计算机程序和系统领域,更具体地涉及在计算机辅助设计应用中设计对象组件的领域。
背景技术
计算机辅助技术被公知为包括计算机辅助设计或CAD(Computer-AidedDesign),CAD与用于编辑产品设计的软件解决方案相关。类似地,CAE是Computer-AidedEngineering(计算机辅助工程)的缩写,例如,CAE与用于模拟未来产品的物理行为的软件解决方案相关。CAM表示计算机辅助制造(Computer-AidedManufacturing),并且通常包括用于定义制造过程和操作的软件解决方案。
在市场上出售多种用于对象(或部件)或对象组件设计的系统和程序,并形成了产品,比如由达索系统公司所提供的注册商标为CATIA的产品。这些CAD系统允许用户构建和操纵对象或对象组件的复杂三维(3D)模型。因此,CAD系统提供使用边或线的建模对象的表示,在特定情形下,该建模对象的表示使用面。线或边可以以各种方式表示,例如,非均匀有理B样条(NURBS)。这些CAD系统将部件或部件组件作为建模对象管理,该建模对象大部分是几何图形说明(specification)。特别地,CAD文件包含利用来生成几何图形的说明,该几何图形继而用于生成表示。几何图形和表示可以存储在单个CAD文件或多个CAD文件中。CAD系统包括用于向设计者显示建模对象的图形工具。这些工具专用于显示复杂对象---表示CAD系统中的对象的文件的典型大小在每个部件1兆比特的范围内,并且组件可以包括数千个部件。CAD系统管理对象模型,所述对象模型存储在电子文件中。
在计算机辅助技术中,就该技术的效率而言,图形用户界面(GUI)扮演重要角色。用户(例如设计者)可以在该GUI上执行操纵和/或导航建模对象所要求的大部分操作。特别地,用户可以创建、修改和抑制用于形成产品的建模对象,并且还可以探测该产品,从而例如经由产品结构来了解建模对象如何相互关联。通常,通过位于GUI的侧边上的专用菜单以及图标来执行这些操作。近来,比如CATIA之类的CAD系统允许在产品表示附近调用这些功能。设计者不再需要将鼠标移到菜单以及图标。因此,在鼠标的触及范围内可获得操作。另外,上述操作在语义上如下进行动作:对于设计者选择的给定操作,CAD系统可以根据设计者可能选择的先前选择的操作,仍然在鼠标附近向设计者建议一组新操作。
还公知的是产品寿命周期管理(PLM)解决方案,该PLM解决方案称为商业战略,该商业战略帮助公司在扩展企业的概念内,共享产品数据,应用公共过程,以及利用从概念到产品寿命终止的用于开发产品的共同知识。通过包括动作者(公司部门、商业伙伴、供应商、原始设备制造商(OEM),以及顾客),PLM可以允许该网络作为单个实体进行操作,以概念化、设计、构建以及支持产品和过程。
一些PLM解决方案使得例如可以通过创建数字实体模型(产品的3D图形模型)来设计和开发产品。可以首先使用合适的应用来定义和模拟该数字产品。随后,可以定义和建模精益数字制造过程。
达索系统公司所提供的PLM解决方案(注册商标为CATIA、ENOVIA以及DELMIA)提供了工程中心、制造中心、以及企业中心,该工程中心组织产品工程知识,该制造中心管理制造工程知识,以及该企业中心实现企业整合以及到工程和制造中心的连接。总之,所述系统递送了开放的对象模型链接产品、过程、资源,以实现动态的基于知识的产品创建和决定支持,该产品创建和决定支持驱动最佳的产品定义、制造准备、生产和服务。
这种PLM解决方案包括产品的关系数据库。该数据库包括一组文本数据以及该数据之间的关系。数据通常包括与产品相关的技术数据,该技术数据按照数据层次进行排序,并且被索引以便可被搜索。所述数据表示建模对象,该建模对象通常是建模产品以及过程。
包括产品配置、过程知识以及资源信息的产品寿命周期信息通常意在被以协作的方式编辑。
当前的CAD应用允许用户定义对象组件中的对象(或部件)之间的空间关系,例如对象组件的两个产品之间的空间关系。通常,如本领域中所公知的,用户是相对于另一对象来移动对象以便将该对象放置在特定位置的设计者。例如,设计者可能希望将螺丝放置为通过平板中包括的孔。为此,设计者选择并在该平板上移动该螺丝,直到到达该螺丝相对于该平板中的孔的期望位置的大致接近位置为止。随后,使用该螺丝和该平板的匹配特性来找到螺丝相对于该平板的位置,该位置根据设计者所提供的螺丝的位置确定。
然而,相对于另一对象来定位一个对象对于设计者而言是困难且繁琐的任务,因为设计者必须以正确的位置,在第二对象(或第二对象的部件)上方移动第一对象(或第一对象的部件),并且第一和第二对象可能是非常小的;例如,对象的部件可能类似一个点。
另外,大多数当前解决方案提供两个所选对象之间的给定的两个位置中的仅仅一个位置。因此,这些解决方案不能提供这些对象之间的一组全局且排序后的所有相关解决方案,并且因此,设计者不能确定多个解决方案中的最好解决方案是什么。此外,如果用户不能在特定要素的上方移动对象,将不会向他/她告知对应的解决方案。
此外,一些解决方案通过使用第一和第二对象的所有几何要素,向设计者提供两个所选对象之间的位置,这些位置随后被无用的位置快速地淹没。
发明内容
因此,根据如上简短讨论的现有解决方案的限制,需要以更容易和更快速地方式改进对象的重复组装,从而提高设计者的生产率以及最小化设计错误。
因此,本发明提供了一种用于在计算机辅助设计系统中设计对象组件的方法。所述方法包括如下步骤:选择该组件中的第一对象和第二对象,该第一对象和第二对象中的每个具有界面信息;计算该组件中的第一对象和第二对象之间的一组相对位置;根据至少一个准则对在第一对象和第二对象间的该组相对位置进行排名,并根据排名步骤提供第一对象和第二对象之间的相对位置中的最佳位置。
根据本发明的方法可以包括如下特性中的一个或多个:
-在计算该组相对位置的步骤之前,在用户启动后,对第一对象和第二对象添加约束的步骤;
-在提供相对位置中的最佳位置的步骤之后,在图像用户界面上显示第一对象和第二对象之间的相对位置中的最佳位置的步骤;
-组件的第一对象和第二对象是三维建模对象,并且所述至少一个准则是下列之一:
-所述组件中的第一对象和第二对象之间的多个约束;
-用户建议的所述组件中的第一对象和第二对象之间的多个约束,
所述第一对象和第二对象根据相对位置中的最佳位置被相对地放置;
-根据相对位置中的最佳位置被相对地放置的所述组件中的第一对象和第二对象之间的在三维空间中的距离;
-根据相对位置中的最佳位置被相对地放置的所述组件中的第一对象和第二对象在二维空间中的投影之间的距离;
-根据相对位置中的最佳位置被相对地放置的所述组件中的第一对象和第二对象之间的转动角度;
-根据相对位置中的最佳位置被相对地放置的所述组件中的第一对象和第二对象在图形用户界面上是可见的;
-检测根据相对位置中的最佳位置被相对地放置的所述组件中的第一对象和第二对象之间的设计错误;
-计算组件的第一对象和第二对象间的一组相对位置的步骤包括:计算第一对象和第二对象的接口信息的至少一个匹配,并且在每次计算所述至少一个匹配后,求解所述第一对象和第二对象之间的几何约束;
-根据图形的遍历来执行计算所述界面信息的至少一个匹配以及在每次计算所述至少一个匹配后求解几何约束的步骤,其中,所述图形的每个节点表示第一对象的一个界面信息和第二对象的一个界面信息的组合,在指向父节点的该图形的给定级上的该图形的每个节点表示已经由在所述给定级的上级中的另一节点表示的组合,不具有可求解的几何约束的该图形的每个节点被从该图形中抑制,并且对于给定节点,该组相对位置中的一个位置由下述提供:
-根据所述给定节点的组合构建的一组约束,和从所述给定节点的父节点的组合构建的一组约束;
-计算所述组件中的第一对象和第二对象之间的一组位置的步骤包括计算所述第一对象的至少两个界面信息之间的第一标识符和所述第二对象的至少两个界面信息之间的第二标识符,将所述界面信息的所述第一和第二标识符与分别拥有所述第一对象的所述至少两个界面信息和所述第二对象的所述至少两个界面信息的对象相关联,并且在计算在所述第一和第二对象中的至少一个处涉及的另一匹配期间,使用所述第一和第二标识符来识别匹配;
-首先,在考虑用户所添加的约束的情况下,执行计算所述组件中的第一对象和第二对象之间的一组相对位置的步骤,随后,在不考虑用户所添加的约束的情况下,执行计算所述组件中的第一对象和第二对象之间的一组相对位置的步骤;
-根据至少两个准则来执行对该组第一对象和第二对象之间的相对位置进行排名的步骤,所述至少两个准则中的每个准则被排名,并依据该排名后的准则,按照字母顺序对该组相对位置进行排名;
-在选择第一对象和第二对象的步骤中:识别所述第一对象的至少一个发布(publication)以及所述第二对象的至少一个发布,以及针对所述第一对象的至少一个所识别出的发布以及所述第二对象的至少一个所识别出的发布中的每一个,计算所述第一对象的界面信息以及所述第二对象的界面信息;
-所述第一对象的所述至少一个发布以及所述第二对象的所述至少一个发布包括几何要素;
-计算所述第一对象的界面信息以及第二对象的界面信息,以便表示与几何要素间的一致性
-所述几何要素被限制为点、线、平面以及轴系统(axissystem);
-提供相对位置中的最佳位置的步骤还包括:提供该组位置的其他排名的相对位置,在图形用户界面上显示相对位置中的最佳位置的步骤还包括:在图形用户界面上显示该组位置的其他排名的相对位置;
-该组位置中的每个相对位置使用相应的渲染被显示,相应的渲染根据排名步骤的结果被确定;
-每个相对位置的相应渲染是相应的透明级别。
本发明还提供了用于在计算机辅助设计系统中设计对象组件的计算机程序,该计算机程序存储在计算机可读介质中,所述计算机程序包括用于使得计算机辅助设计系统执行本发明的方法的上述步骤的代码模块。
本发明还涉及用于在计算机辅助设计系统中设计对象组件的装置,所述装置包括用于实现本发明的方法的上述步骤的模块。
附图说明
现在将通过非限制性的示例参照附图来描述实现所发布的技术的系统,在附图中:
-图1是CAD系统中的典型GUI的示意图;
-图2是用于执行本发明的一个实施例的流程图;
-图3到图5是根据本发明的方法的图形表示;
-图6到图8例示了根据本发明的曲柄与轴间的匹配;以及
-图9是适于执行本发明的硬件和软件环境的示意图。
具体实施方式
参见图1,所例示的图形用户界面(或GUI)100可以是典型的CAD类界面,该GUI100具有标准的菜单栏110、120以及底部和侧边工具栏140、150。这些菜单栏和工具栏包含一组可由用户选择的图标,每个图标与一个或多个操作或功能相关联,如本领域所公知的那样。
这些图标中的一些与适用于在比如在GUI100上显示的建模产品200或产品200的部件上进行编辑和/或工作的软件工具相关联。为了简单,在下面的描述中,“产品”、“部件”、“组件”等可以称为“部件”。注意,概念“部件”实际上可以归纳为概念“对象”,其中,对象可以是所设计的产品的仅仅“物理”部件,或者更普遍地,对象可以是参与设计过程的任何软件工具(而不必在最后的产品“中”)。
上述软件工具可以被成组为工作台(workbench)。每个工作台包括软件工具的一个子集。特别地,一个工作台是编辑工作台,该编辑工作台适于编辑建模产品200的几何特征。在操作时,设计者可以例如预选对象200的部件,并且随后通过选择合适的图标,发起操作(例如,改变维度、颜色等)或编辑几何约束。例如,典型的CAD操作是对在所述屏幕上显示的3D建模对象的打孔或折叠进行建模。
另外,所述一个或多个操作或功能可以在GUI100上所显示的建模产品200或产品200的部件附近被直接选择。为此,与操作或功能相关联的可由用户选择的图标170可以出现在选择器160(例如,比如鼠标之类的触控设备的光标)附近。用户可以使得光标160从图标匣(phylactery)170上经过,与之响应,该图标匣170显示一组图标180。通常,可由用户选择的图标170、180具有图标匣的形式。随后,用户选择该组图标180中的一个图标,以便执行与所选图标相关联的功能。此外,该组图标180按照语义进行动作,也就是,根据假定用户想要做的操作,由CAD系统建议该组图标180。
GUI可以例如显示与所显示的产品200相关的数据250。在图1的示例中,被显示为“特征树”的数据250以及它们的3D表示200与包括制动钳和盘片的制动组件相关。GUI还可以示出各种类型的图形工具130、160,例如用于便于对象的3D取向,用于触发编辑后的产品的操作的模拟,或者GUI还可以呈现所显示的产品200的各种属性。
图2是描绘本发明的一个实施例的流程图,其中,可见到四个块,分别与选择具有界面信息的对象(步骤20、30以及31)、计算所选择对象之间的一组狭隘概念对位置(步骤40-62)、对上述相对位置进行排名(步骤80)以及提供最佳位置(步骤90)的方面相关。流程图的各个方框具有多个形状:梯形形状2000指出用户(例如,设计者)输入,矩形形状2001表示阶段,六边形形状2002示出循环,以及平行四边形形状2003是条件测试。
所描绘的本发明的实施例开始于选择对象组件中的第一对象和第二对象。第一对象和第二对象具有界面信息。这在图2中由步骤20、30和31例示。
在步骤20,选择所述组件中的第一对象和第二对象,也就是说,在所述对象组件的对象中识别和选择第一和第二对象。所述选择可以由CAD系统执行。所述选择也可以在用户动作后执行,该动作通常在CAD系统的图形用户界面中进行,如图1中所示。当用户执行所述选择时,他/她可以使用比如键盘、鼠标、记录笔(stylus)、或触摸屏等的触控设备。例如,在双键鼠标中,当鼠标的光标在GUI的特定区域上方时,左键可以被使用来选择对象。
所选择的第一和第二对象可以在GUI100上显示。另外,所选择的第一和第二对象可以是建模对象或三维(3D)建模对象。三维(3D)建模对象是对象在三维(3D)空间中的描述。3D空间是物质世界的几何模型,该物质世界可以在数学上由几何图形表示,该几何图形利用坐标来描述三维空间中的每个点。此外,存在用于描述三维空间的其他方式。3D建模对象本质上指的是说明,根据该说明可以生成几何图形。因此,3D建模对象是对3D对象的数学描述,也就是,由比如三角形、直线、曲面等的各种几何实体连接的3D空间中的点的集合。3D建模对象由该3D建模对象的3D表示来表示。
另外,所述对象组件中的第一对象和第二对象可以是不同的产品。产品由对象组件构成。因此,所述选择可以针对所述组件中的对象执行,或者针对所述组件的产品执行。第一对象可以称为“要被放置的”对象(或产品),而第二对象可以称为“目标”对象(或产品)。
第一对象和第二对象具有发布。通常,发布可以与对象一起存储(或嵌入有对象)。发布是在对象下聚集的到几何要素或该对象内的另一发布的链接,并且该发布公布并且使得与将第一对象与对象组件中的其他对象(例如,与第二对象)交接相关的匹配信息发布。相应地,发布可以定义对象相对于对象组件中的至少一个其他对象的定位的一组知识。所述发布与对象的聚集(或“嵌入”)大大增加了放置对象时的自动化,因为第一和第二对象两者都具有执行匹配所需要的信息。
发布是到几何要素的链接。有利地,所述几何要素可以被限制为点、线、平面和轴系统。通常,根据所述组件的技术上下文(例如,在机械上下文中)作出上述限制,所述几何要素优选被限制为点、线、平面和轴系统。在另一技术上下文(例如,包括齿轮的机械系统)中,将保留曲面。该限制所导致的结果是,提供给对象的信息量受限,但同时保持足够数目的信息来匹配对象。另外,相对于至少一个其他对象来定位对象的解决方案的数目是受限的,并且保留大多数相关的位置。因此,在尝试次数减少的同时,提供更好的结果。
现在参见图3,在如参照图1中所示的GUI100上显示平板300和螺丝400。GUI显示与所显示的产品300和400相关的数据250。在图3的示例中,数据250被显示为“特征树”,并且示出平板300和螺丝400的发布。螺丝400包括两个发布:轴401的发布以及面402的发布。平板300包括5个发布:孔301到304的每个轴对应一个发布,以及面305对应于一个发布。两个产品300和400的部件的这七个发布被公布,并且设计者可以访问它们所包含的信息。
回到图2,在步骤30,所发布的技术的过程确定所述第一对象和第二对象的发布是否是界面信息。如果所有发布是界面信息,则所述过程的下一步骤是步骤40。相反,如果部分所述发布不是界面信息,则所述过程的下一步骤是步骤31。
界面信息是利用数据增强来与另一兼容界面信息构建完全的指定约束的发布。由此,界面信息提供与将所述组件的第一对象与至少另一对象交接相关的匹配信息,所述匹配信息包括相对于所述组件的至少一个其他对象来定位第一对象所需要的知识。因此,由于界面信息,可以相对另一对象添加和放置新的对象,而无需补充信息。使用界面信息对于设计者是有利的,因为设计者可以在放置对象之前,添加该对象的匹配信息。另外,他们可以取决于他们对对象的权利,访问或不访问该对象的匹配信息。这可以使得减少设计错误。结果是,相对于另一对象来定位对象的过程得到改进,并且更快。
在步骤31,根据本发明的过程识别所述第一和第二对象的至少一个发布,并且针对每个所识别出的第一和第二对象的发布,计算所述第一和第二对象的界面信息。为此,第一和第二对象的发布被增强,从而包括所有可用信息,比如所期望的几何图形的类型、方位、以及第一对象的距离,以便构建与兼容发布间的完全的指定约束。因此,界面信息基于根据所述对象组件的所组装的产品推导出的信息构建。
在实践中,计算所述第一和第二对象的界面信息,以便表示与所述对象组件的几何要素间的一致性,例如,产品之间的最普遍的运动学联合,比如一致性、旋转、棱形(prismatic),其中点到点一致性、线到线一致性以及面到面接触作为约束。有利地,界面信息被链接到对象的几何要素,例如,几何要素可以被限制到点、线、平面以及轴系统。与发布类似,这个限制所导致的结果是,用于匹配对象所需要的信息量受限。
另外,一旦第一和第二对象的发布已经被增强,也就是,计算出界面信息,则可以构建挂钩点(hookingpoint)。挂钩点是具有公共标识符的一组界面信息或发布。在所述过程的这个阶段,挂钩点允许识别在步骤31中计算出的界面信息。
然而,界面信息不能总是根据发布计算出,例如,不存在足够用来执行所述计算的信息。为此,界面信息和发布是可兼容的,这涉及仅仅利用发布、仅仅利用界面信息、或利用发布和界面信息的混合来执行步骤40-90。
一旦执行了步骤30和31,就执行步骤40-62来计算所述组件中的第一对象和第二对象之间的一组相对位置。在这个阶段,第一和第二对象具有界面信息,并且可以利用这些界面信息来计算该组相对位置。然而,如先前所述,还可以仅仅利用发布或者发布和界面信息的混合来计算该组相对位置。
计算第一和第二对象之间的该组相对位置还可以考虑补充约束,该补充约束是被建议的约束。实际上,在执行上述步骤40-62之前,可以在用户致动后,输入对第一对象和第二对象的约束。有利地,在计算该组相对位置期间考虑所建议的约束,允许增加组装过程的速度。实际上,所计算出的该组位置将包括用户的设计意图,而无需补充的操作时间来匹配对象,假设选择要匹配的对象以及提供所建议的约束同时执行的话。因此,减少在组装对象时的操作次数。
通常,用户可以在利用通过点击第一和第二对象选择第一和第二对象时,输入所建议的约束,如图4中所示,图4示出了与图3中所绘相同的螺丝400和平板300。用户通过在点403利用触控设备的光标进行点击,选择螺丝400的底面402,以及用户通过在点310利用触控设备的光标进行点击,选择平板300的顶面。用户还可以经由拖放操作来建议约束。例如,用户可以通过点击点403来选择螺丝400的底面402,拖曳螺丝400通过平板300的顶面,并且当螺丝400的点403靠近平板300的点310时,放下螺丝400。还可以例如经由“树”(参见图3)来输入所建议的约束。按照非限制性方式,可以使用任何其他方式,以便建议约束,如本领域中所公知的。
步骤40的子步骤41-62在两次处理中实现。首先,在考虑用户输入的约束的情况下,计算组件的第一对象和第二对象之间的一组相对位置,并且接下来在不考虑用户输入的约束的情况下,计算组件的第一对象和第二对象之间的一组相对位置。有利地,在两次处理中进行的计算允许计算一组相对位置,该组相对位置不仅包括具有用户所建议的约束的位置,而且包括仅仅使用特性要素的位置。随后,具有一个或多个根据界面信息构建的约束的相对位置被优选为所建议的约束,该所建议的约束不能与根据界面信息构建的约束一起完成。特别地,如果可以在考虑所建议的约束的情况下计算任何位置,则根据本发明的过程可以提供至少一组根据界面信息计算出的位置。
计算所述一组位置(步骤41-62)可以包括两个子步骤。第一个子步骤由步骤50-52定义,并且包括计算第一和第二对象的界面信息的至少一个匹配。第二个子步骤包括步骤60-62,并且包括在步骤50-52中所执行的每次计算至少一个匹配后,求解第一和第二对象之间的几何约束。因此,通过尝试由界面信息提供的几何约束的每个组合来发现(也就是,计算)相对位置。如果几何约束的组合可以被求解,并且对于该组合的另一约束而言没有约束是冗余的,则该几何约束的组合是相对位置。
优选地,利用专用的图形结构计算对象的界面信息之间的匹配以及求解几何约束,该专用的图形结构在计算和求解步骤期间被构建和遍历。
如本领域中所公知,图形结构包括由弧形连接的节点。该图形的每个节点表示第一对象的一个界面信息和第二对象的一个界面信息的组合,并且每个弧形表示从一个节点通行到另一节点的可能性。
如先前所见,可以在步骤31计算界面信息或发布的挂钩点。挂钩点允许识别所计算出的界面信息以及创建界面信息组。有利地,计算属于相同的挂钩点的界面信息之间的任何匹配。因此,计算的次数减少。再次参见图3,考虑从螺丝400和平板300的发布开始计算界面信息的方案。在该方案中,根据螺丝400的两个发布来构建螺丝400的挂钩点,以及根据平板300的5个发布来构建平板300的挂钩点。当计算相对位置时,仅仅计算螺丝400和平板300的发布之间的匹配。
该图形包括按照广度优先遍历的多个级别(步骤43-44):在一个级别的同胞节点的后代节点之前遍历这些同胞节点。因此,逐级别遍历该图形,一旦已经计算和求解父级别的所有节点,则把父级别交给子级别,或者进行相关测试。在该图形的给定级别的该图形的每个节点可以指向父节点:子节点连接到父节点。然而,子节点可以仅仅在由该子节点表示的组合已经由更高级别的另一节点表示时,指向父节点。换言之,在构建图形结构时,如果组合在之前从未出现,则表示该组合的节点不可能是子节点。
在实践中,所构建的图形的第一级别是根节点(步骤42)。根节点是该图形的最高级别。随后,构建和遍历该图形的多个级别(步骤43-44)。该图形包括至少一个第二级别,该至少一个第二级别包括第一和第二对象的界面信息之间的所有组合。对于给定级别的每个节点,计算第一和第二对象的界面信息的一个匹配(步骤50)。如果没有计算出匹配,则从该树中抑制该节点。有利地,这暗含着该搜索图形允许限制界面信息的匹配的计算次数:实际上,子节点仅仅在由该子节点表示的组合已经由更高级别的另一节点表示时,指向父节点。因此,遍历该搜索图形所需要的时间增加,因为在该图形的更低级别中不能重新使用不具有匹配的组合。因此,用于构建和遍历该图形的整个过程被增强。
相反,如果计算节点处的匹配,则求解该节点的几何约束(步骤53)。求解几何约束可以由本领域公知的求解器执行。注意,抑制(suppression)不具有匹配的节点在求解步骤是有利的。实际上,求解几何约束要求大量该系统的计算资源,例如CPU、存储器……。结果是,所发布的技术允许节省计算资源,并且计算相对位置所需要的时间减少。
从该图形中抑制不具有可求解的几何约束的该图形的每个节点(步骤61),同时保留具有可求解的几何约束的节点。因此,逐步地构建和遍历该图形。一旦已经遍历该图形,则该图形的节点提供随后添加到该组相对位置中的位置(步骤62)。节点的相对位置由根据该节点的组合构建的一组约束以及根据该节点的父节点的组合构建的一组约束提供。
此外,由于使用标识符,例如挂钩点,可以改进计算相对位置所需要的计算次数。为此,计算对象的界面信息之间的标识符,并且将该标识符与拥有该界面的相应对象相关联。接下来,在计算涉及所述第一和第二对象中的至少一个的另一匹配期间,将该标识符用于识别匹配。由于该标识符,可以识别组合的前一匹配,这提供了将先前计算出的匹配特许为是解决方案的可能性。
在步骤70-71,对在步骤40-62计算出的解决方案进行处理,以便计算与该组相对位置中的每个位置的约束相关的数据。此外,在步骤71,计算至少一个准则,从而对该组相对位置进行排名。有利地,仅仅一次计算该准则,并且随后将该准则用于对该组相对位置进行排名,从而限制资源消耗。
在步骤80,根据至少一个准则,对第一对象和第二对象之间的一组位置进行排名。排名的步骤提供了相对位置列表,在该列表中,容易确定预期的相对位置是什么。重要的是,根据准则(对先前计算的相对位置进行排名的判断或确定所依据的标准)进行排名。
实际上,一个准则不足以在位置之间作出判定,并且通常,可以使用至少两个准则,以便进行相对位置之间的排名。此外,对每个准则进行排名,并且根据排名后的准则,按照字母顺序来对相对位置进行排名。所述字母顺序提供了具有两组排序位置的自然顺序结构。例如,如果根据第一准则,第一组位置中的位置具有相同的排名,则根据第二准则对这些位置进行排名。结果是,提供第二组位置,并且根据第一和第二准则进行排名。如果第二组位置包括仍然具有相同排名的位置,则可以使用第三准则来对新的一组位置进行排名,等等。
通常,所述组件中的第一对象和第二对象是三维建模对象,并且(按照优选排名的)准则可以是下述中之一:
i)所述组件中的第一对象和第二对象之间的多个约束:这个准则选择求解最重要的多个约束的相对位置,即,最远来自所述图形结构的根的位置。有利地,这允许提升具有较少自由度的位置。
ii)用户建议的所述组件中的第一对象和第二对象之间的多个约束,所述第一对象被放置:对于两个位置之间的相同数目的约束,包括最重要的多个数目的建议的约束的位置将是优选的。
iii)所述组件中的第一对象和第二对象在二维空间中的投影之间的距离,所述第一对象被放置;所述第一对象和第二对象是三维对象。所述第一和第二对象可以投影在平面上,例如,该平面由计算机屏幕限定。可以在用户先前输入的两个拾取(picking)点之间测量上述距离,例如,同时在选择第一和第二对象时用户建议约束,如先前所见。因此,第一对象和第二对象之间的每个位置具有拾取点,同样,第二对象相对于第一对象的每个位置具有拾取点。因此,可以测量所放置的第一和第二对象的拾取点之间的距离。根据所测量的距离,可以对该相对位置进行排名。在实践中,提供所放置的第一对象和第二对象之间具有更小距离的相对位置被赋予特权:所测量的距离越短,所述相对位置越好。实际上,为更小的距离赋予优先权允许改进通用的设计过程,因为设计者可以具有向系统指示他/她将希望赋予特权的相对位置的可能性,并且这可以按照容易的方式执行,例如通过在选择第一和第二对象时点击对象来执行。另外,设计者不必准确地浏览整个第二对象来具有期望的解决方案:简单地点击第二对象就足够了。相应地,可以防止大部分的设计错误;例如,选择错误的第二对象。因此,要理解的是,以更容易且更快速的方式来实现对象的重复组装,从而大大地增加设计者的效率。
iv)所述第一对象和第二对象之间在三维空间中的距离,所述第一对象和第二对象被相对地放置;所述第一对象和第二对象是三维对象。类似地,测量所放置的第一对象和第二对象的拾取点之间的距离,并且可以为更小的测量距离赋予特权。要理解的是,这提供如上述iii)中相同的优点。
v)所放置的第一对象和第二对象之间的转动角度,所述第一对象和第二对象是三维对象。转动角测量由所选择的第一对象所执行的转动,以便与所计算出的相对位置吻合。根据所测量的转动角,可以对上述相对位置进行排名。在实践中,较小的转动角被赋予特权:实际上,在设计对象组件时给更接近设计者所看到的东西的解决方案赋予特权是有利的。例如,图3中的螺丝400可以穿过孔301-303,其中螺丝400的头在平板300的顶面或底面上。然而,由于在被选择时螺丝400的头被转到顶面,与螺丝的头被转到底面的位置相比,螺丝的头被转到顶面的位置被赋予特权,这是因为螺丝的头被转到顶面的情形的转动角比螺丝的头被转到底面的情形的转动角小。
vi)所述组件中的第一定位的对象和第二对象在图形用户界面上是可见的。与不可见的位置相比,可见的相对位置被赋予特权。在实践中,所放置的第一对象(要放置的对象)在图形用户界面上是可见的,并且它的拾取点在解决方案的相对位置中是可见的。有利地,设计者不会被他/她不感兴趣的相对位置淹没:实际上,设计者关注所述组件中的少量对象,并且因此,不对其他对象感兴趣。此外,设计者可以缩小组件,并且因此在排名步骤期间可以考虑新的相对位置。
vii)检测到定位的第一对象和第二对象之间的设计错误。通常,设计错误可能在没有考虑干扰说明时发生。一般来说,干扰说明包括碰撞、接触以及间隙说明。在这点上,重要的是避免两个对象之间的碰撞(物质间的相互渗透)。在实践中,当检测到碰撞时,从该组相对位置中抑制该位置。
所述准则不限于上述引用的准则,并且可以使用任何其他的准则来对相对位置进行排名。另外,用户可以修改对准则的排名。通过这种方式,对相对位置的排名符合用户的需要和要求。
在步骤90,根据排名步骤,提供第一对象和第二对象之间的相对位置中的最佳位置。相对位置的最佳位置是其他位置中满足最多准则的位置:因此它是按字典顺序排名的位置中的第一位置。因此,当设计对象的组件时设计者的生活体验得到了提高。根据所发布的技术,设计者的视图不再被大量的位置所淹没。因此设计者的生产力得到了提高。
此外,如果相对位置中的最佳位置没有满足设计者,他/她仍能够显示另一位置。典型的,计算出的位置可以按照他们的排名顺序一个接一个的提供给用户。例如,用户可以致动触控设备,并且在致动后(例如,在致动鼠标轮后),计算出的位置基于相对位置的排名以降序被显示出来:从最好位置的到最差位置来显示各个位置。
图3到图5是根据本发明的方法的实施例的图形表示。图3描述了在GUI上显示的平板300和螺丝400。螺丝400是“要被放置”的对象,平板300是“目标”对象。“特征树”在GUI中示出两个对象的特性,比如它们的发布。螺丝400包括两个发布:轴401的发布以及面402的发布。平板300包括5个发布:孔301到304的每个轴的一个发布,和面305的一个发布。
接着,在图4,用户例如利用鼠标的光标,通过点击对象400的底面402的点403来选择“要被放置”的对象400。随后,用户通过点击对象300的顶面305的点310来选择“目标”对象300。由于螺丝400和平板300的发布不是界面信息,所以根据螺丝的两个发布来构建它的挂钩点,以及根据平板的5个发布来构建它的挂钩点。另外,用户在选择螺丝和平板时建议约束:平板的顶面和螺丝的底面之间的用户约束。
随后,所述过程计算螺丝和平板之间的一组位置。为此,在第一次处理时,通过考虑所建议的约束来构建和遍历图形,以及在第二次处理时,在不考虑所建议的约束的情况下构建和遍历图形。基于螺丝和每个孔之间的轴-轴一致性来计算一组位置,并且该组相对位置包括四个位置。为了解释的目的,图4中位置420-423被表示成影子视图。在操作中,这些位置不会被表示。
接下来,根据准则对所计算出的该组相对位置进行排名。第一准则分析螺丝和平板之间的约束的数目,这个数目是相同的。因此,需要第二准则来分离所计算出的位置:对于每个位置,用户所建议的螺丝和平板之间的约束的数目是相同的。随后,使用第三准则:螺丝400的拾取点403被放置在每个位置420-423上,并且随后,测量点430-433和平板300的拾取点310之间在二维空间中的距离。距离越短,则位置越好。根据图4,如下对上述相对位置进行排名(从最好到最坏):最好的相对位置(被标注为1)是相对位置423,随后是相对位置422(被标注为2)、420(被标注为3)以及421(被标注为4)。
随后,提供最佳的相对位置423。典型的,最佳的相对位置显示在GUI上。因此,设计者可以快速的评估所提供的最佳位置是否满足他/她的期望和设计意图。
除了设计者已经选择螺丝头400的角500a和平板300的角500b之外,图5与图4类似。因此,用户所建议的约束是两个角之间的接触。当计算一组相对位置时,与使用发布构建的约束一起完成用户所建议的约束。然而,在这种情况下,这种约束的组合导致的结果是,所述组合是过约束。因此,在考虑所建议的约束的情况下进行的对该图形的第一次处理失败,并且仅仅根据对所述图形的第二次处理(即,在不考虑所建议的约束的情况下进行的处理)来计算该组相对位置。结果是,基于螺丝和平板的发布来计算所述相对位置。随后,对该组相对位置中的位置进行排名,如图4中类似,并且提供和在GUI上显示最佳解决方案501。
此外,相对位置中的最佳位置可以同其他排名的该组相对位置一起被提供,并且相对位置中的最佳位置可以同其他排名的该组相对位置一起被显示。有益地,设计者可以看到所有计算出的相对位置,并且因此,他/她可以确定哪个作为最相关的位置。此外,用户可以限制同时显示的相对位置的数量,例如如果GUI中展现的许多的相对位置过于拥挤的话。
并且,该组相对位置中的每个相对位置可以以相应的渲染被显示,相应的渲染根据排名步骤的结果被确定。在CAD领域,“渲染”步骤的结果表示一个可选的视觉效果,其应用于对象的示出这个对象的特定特征的视觉效果属性(颜色、透明度、纹理、发光参数等等)。这可以是物理特征(比如,一个引擎将被接下来用金属外观来渲染),或阻抗特征(引擎将使用示其热阻的色彩方案来渲染),或可能的其他特征。因此,每个显示的相对位置可以有独特的渲染,其可以是依赖于它的排名的可选的视觉效果。有益地,用户可以在显示的相对位置中对每个相对位置的相应排名进行快速方便的评估。
实际中,每个相对位置的相应渲染可能是相应的透明度。典型的,每个位置的相应渲染使得:位置越好,所显示的该位置越不透明。缺省的,最佳解决方案只有一点透明,而最差解决方案几乎是全透明的;中间的解决方案比最佳解决方案透明得多。实际中,最佳位置的透明度被设置为一个参考值,从第二解决方案到最后一个解决方案的透明度线性的均匀的从最高值(参考值的一半)降低到到最低值(几乎全透明)。此外,相应的渲染也可以根据颜色代码来进行。
此外,设计者可以在位置之间进行导航。可以通过将光标放置在同时显示的位置中的一个位置上,来强调该位置。通常,这在用户对触控设备进行动作(例如,将鼠标的光标放置在该位置上)后执行。对该位置的强调可以例如利用对该位置的高亮显示来执行。高亮显示包括对该位置的表示应用辐射的发光颜色。所述强调还可以经由可视化效果来执行,比如通过加深所强调位置的外廓来使该位置闪烁,或者增加构成所强调位置的外廓的点的密度。另外,可以使用允许设计者将一个位置与其他位置区分开的任何手段。
现在参见图6到图8,描绘了曲柄900与轴901间的匹配。在图6,在GUI上表示根据本发明计算出的一组相对位置中的多个位置。在这些表示中,最佳位置910具有较小的透明度,而位置920和930具有更大的透明度。图6例示了透明度和所计算出的位置的相关性之间的线性度。因此,用户可以容易地检测到什么是最佳的位置,因为透明度是较不重要的。同时,如果最佳的相对位置不被认为是设计者所关心的,则他/她仍然可以看见其他相对位置。
在图7,设计者已经将触控设备的光标902移到最佳位置910上。随后,设计者可以预先见到基于该最佳位置的解决方案:在相对位置910的透明度增加的同时,其他位置的透明度减小。因此,强调解决方案910,这有利地允许用户容易地了解该解决方案。
当设计者将光标902移到另一相对位置930上方时,则接着该相对位置被强调,如图8中所示。因此,设计者可以预先见到独立于其他位置的每个位置。
要理解的是,前述方法可以应用于能够由CAD/CAM/CAE系统或者用于设计对象组件的任何系统定义的任何配置中的任何对象。本发明可以在数字电路中实现,或者在计算机硬件、固件、软件或它们的组合中实现。本发明的装置可以在可触及地包含在机器可读存储设备中的计算机程序产品中实现,该计算机程序产品可供可编程处理器执行。本发明的方法步骤可以由可编程处理器执行,该可编程处理器执行指令程序来通过操作输入数据并且生成输出来执行本发明的功能。
有益地,本发明可以在一个或多个计算机程序中实现,该一个或多个计算机程序可以在包括至少一个可编程处理器、至少一个输入设备和至少一个输出设备的可编程系统上执行,该至少一个可编程处理器被耦合来从数据存储系统接收数据和指令,并且将数据和指令发送到数据存储系统。所述应用程序可以利用高级别过程或面向对象编程语言实现,或者如果需要,可以利用汇编或机器语言实现;并且在任何情况下,所述语言可以是编译或解释的语言。
图9示出了客户端计算机系统,例如,用户设计对象组件的工作站。该客户端计算机包括与内部通信总线1200相连的中央处理单元(CPU)1201,以及也与该总线相连的随机存取存储器(RAM)1207。该客户端计算机系统还具有图形处理单元(GPU)1211,该GPU1211与连接到该总线的视频随机存取存储器1210相关联。视频RAM1210在本领域中还被公知为帧缓存器。海量存储设备控制器1202管理对比如硬盘驱动器1203之类的海量存储设备的访问。适于可触及地包含计算机程序指令和数据的海量存储设备包括所有形式的非易失性存储器,作为示例,包括比如EPROM、EEPROM以及快闪存储设备之类的半导体存储设备,比如内部硬盘和可移动盘之类的磁盘;磁光盘;以及CD-ROM盘1204。前述中的任何一个可以由专门设计的ASIC(专用集成电路)进行补充,或者包含在ASIC中。网络适配器1205管理对网络1206的访问。客户端计算机系统还可以包括触控设备1209,比如光标控制设备、或键盘等。光标控制设备在客户端计算机中被使用来允许用户有选择地将光标放置在显示器1208的任何期望位置上。另外,光标控制设备允许用户选择各种命令,以及输入控制信号。光标控制设备包括多个信号生成设备,用于向系统输入控制信号。通常,光标控制设备可以是鼠标,该鼠标的按键被使用来生成上述信号。
已经描述了本发明的优选实施例。将理解的是,可以在不背离本发明的精神和范围的情况下进行各种修改。因此,其他实现在所附权利要求的范围内。例如,可以根据组件的技术上下文来对准则进行排名。

Claims (16)

1.一种用于在计算机辅助设计系统中设计对象组件的方法,所述方法包括:
-选择(20)所述组件中的第一对象和第二对象,所述第一对象和第二对象均具有界面信息,其中界面信息提供与将所述组件的第一对象与至少另一对象交接相关的匹配信息;
-通过计算所述第一对象和第二对象的界面信息的至少一个匹配、以及在每次计算所述至少一个匹配后求解所述第一对象与第二对象之间的几何约束,计算(40)所述组件中的所述第一对象和第二对象之间的一组相对位置;
-根据至少一个准则来对在所述第一对象和第二对象之间的该一组相对位置进行排名(80);和
-根据所述进行排名的步骤来提供(90)在所述第一对象和第二对象之间的所述相对位置中的最佳位置。
2.如权利要求1所述的方法,在计算所述一组相对位置的步骤之前,所述方法还包括如下步骤:
-在用户致动后,向所述第一对象和第二对象添加约束。
3.如权利要求1所述的方法,在提供所述相对位置中的最佳位置的步骤之后,所述方法还包括如下步骤:
-在图形用户界面上显示所述第一对象和第二对象之间的所述相对位置中的最佳位置。
4.如权利要求2所述的方法,其中,所述组件中的所述第一对象和第二对象是三维建模对象,并且其中,所述至少一个准则是下述各项之一:
-所述组件中的所述第一对象和第二对象之间的多个约束;
-由用户建议的所述组件中的所述第一对象和第二对象之间的多个约束,所述第一对象和第二对象根据所述相对位置中的最佳位置被相对地放置;
-所述组件中的所述第一对象和第二对象在二维空间中的投影之间的距离,所述第一对象和第二对象根据所述相对位置中的最佳位置被相对地放置;
-所述组件中的所述第一对象和第二对象之间在三维空间中的距离,所述第一对象和第二对象根据所述相对位置中的最佳位置被相对地放置;
-所述组件中的所述第一对象和第二对象之间的转动角度,所述第一对象和第二对象根据所述相对位置中的最佳位置被相对地放置;
-所述组件中的所述第一对象和第二对象在图形用户界面上是可见的,所述第一对象和第二对象根据所述相对位置中的最佳位置被相对地放置;
-检测到所述组件中的所述第一对象和第二对象之间的设计错误,所述第一对象和第二对象根据所述相对位置中的最佳位置被相对地放置。
5.如权利要求1所述的方法,其中,根据对图形的遍历来执行计算所述界面信息的至少一个匹配和在每次计算所述至少一个匹配后求解几何约束的步骤,其中:
-所述图形的每个节点表示所述第一对象的一个界面信息和所述第二对象的一个界面信息的组合;
-指向父节点的所述图形的给定级别处的所述图形的每个节点表示已经由在所述给定级别的更高级别中的另一节点表示的组合;
-不具有可求解的几何约束的所述图形的每个节点在所述图形中被抑制;和
-对于给定节点,通过下述各项提供所述一组相对位置中的一个相对位置:
-根据所述给定节点的组合构建的一组约束;和
-根据所述给定节点的父节点的组合构建的一组约束。
6.如权利要求1到5中的任一个所述的方法,其中,计算所述组件中的所述第一对象和第二对象之间的一组相对位置的步骤还包括:
-计算所述第一对象的至少两个界面信息之间的第一标识符和所述第二对象的至少两个界面信息之间的第二标识符;
-将所述界面信息的所述第一标识符和第二标识符关联到分别拥有所述第一对象的所述至少两个界面信息和所述第二对象的所述至少两个界面信息的对象;和
-在计算涉及所述第一对象和第二对象中的至少一个的另一匹配期间,使用所述第一标识符和第二标识符来识别匹配。
7.如权利要求2或4所述的方法,其中,首先,在考虑由所述用户添加的约束的情况下,执行计算所述组件中的所述第一对象和所述第二对象之间的一组相对位置的步骤,随后,在不考虑由所述用户添加的约束的情况下,执行计算所述组件中的所述第一对象和第二对象之间的一组相对位置的步骤。
8.如权利要求1到5中的任一个所述的方法,其中,根据至少两个准则来执行对所述一组相对位置进行排名的步骤,所述至少两个准则中的每个准则被排名,并根据所述排名后的准则,按照字母顺序对所述一组相对位置进行排名。
9.如权利要求1到5中的一个所述的方法,还包括在选择第一对象和第二对象的步骤处执行如下步骤:
-识别所述第一对象的至少一个发布和所述第二对象的至少一个发布;和
-针对所述第一对象的至少一个所识别出的发布和所述第二对象的至少一个所识别出的发布中的每一个,计算所述第一对象的界面信息和所述第二对象的界面信息。
10.如权利要求9所述的方法,其中,所述第一对象的至少一个发布和所述第二对象的至少一个发布包括几何要素。
11.如权利要求10所述的方法,其中,计算所述第一对象的界面信息和所述第二对象的界面信息,以便表示与几何要素间的一致性。
12.如权利要求10所述的方法,其中,所述几何要素限于点、线、平面、和轴系统。
13.如权利要求2到5中的任一个所述的方法,其中:
-提供所述相对位置中的最佳位置的步骤还包括:提供所述一组相对位置中的其他排名的相对位置;和
-在图形用户界面上显示所述相对位置中的最佳位置的步骤还包括:在图形用户界面上显示所述一组相对位置中的其他排名的相对位置。
14.如权利要求2到5中的任一个所述的方法,其中使用相应的渲染来显示所述一组相对位置中的每个相对位置,所述相应的渲染是根据排名步骤的结果来确定的。
15.如权利要求14所述的方法,其中所述一组相对位置中的每个相对位置的相应的渲染是相应的透明级别。
16.一种用于在计算机辅助设计系统中设计对象组件的装置,所述装置包括用于实现如权利要求1到15中的任何一个所述的方法的步骤的模块。
CN201010624272.0A 2009-11-06 2010-11-05 在计算机辅助设计系统中设计对象组件的方法和系统 Active CN102073499B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09306065.5 2009-11-06
EP09306065A EP2333683A1 (en) 2009-11-06 2009-11-06 Method and system for designing an assembly of objects in a system of computer-aided design

Publications (2)

Publication Number Publication Date
CN102073499A CN102073499A (zh) 2011-05-25
CN102073499B true CN102073499B (zh) 2016-01-13

Family

ID=41718944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010624272.0A Active CN102073499B (zh) 2009-11-06 2010-11-05 在计算机辅助设计系统中设计对象组件的方法和系统

Country Status (6)

Country Link
US (1) US8473259B2 (zh)
EP (1) EP2333683A1 (zh)
JP (1) JP5697951B2 (zh)
KR (1) KR101649096B1 (zh)
CN (1) CN102073499B (zh)
CA (1) CA2719603C (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100299169A1 (en) * 2008-01-18 2010-11-25 Michael Schlereth Planning Device and Method for Planning a Technical Installation
EP2333682B1 (en) * 2009-11-06 2020-05-20 Dassault Systèmes Method and system for designing an assembly of objects in a system of computer-aided design
US8296706B2 (en) * 2010-04-26 2012-10-23 International Business Machines Corporation Handling two-dimensional constraints in integrated circuit layout
US20120010860A1 (en) * 2010-05-20 2012-01-12 Kirkling Daniel R System, method, and apparatus for engine installation integration
EP2523132A1 (en) * 2011-05-11 2012-11-14 Dassault Systèmes Designing a three-dimensional modeled assembly of objects in a three-dimensional scene
KR101179492B1 (ko) * 2011-08-08 2012-09-07 주식회사 쌤스인터내셔널 3차원 모델 조립 장치 및 방법
JP2013093018A (ja) * 2011-09-29 2013-05-16 Romax Technology Ltd 回転機械
EP2600315B1 (en) * 2011-11-29 2019-04-10 Dassault Systèmes Creating a surface from a plurality of 3D curves
WO2013093916A1 (en) 2011-12-21 2013-06-27 Xceed Imaging Ltd. Optical lens with halo reduction
US10176291B2 (en) * 2012-07-06 2019-01-08 Siemens Product Lifecycle Management Software Inc. Ordering optional constraints in a variational system
US20150286752A1 (en) * 2014-04-03 2015-10-08 Pavestone, LLC Concrete block modular interface
US9606526B2 (en) 2014-05-28 2017-03-28 Siemens Product Lifecycle Management Software Inc. Intelligent constraint selection for positioning tasks
RU2622211C2 (ru) * 2014-06-25 2017-06-13 Акционерное общество "Всероссийский научно-исследовательский институт "Сигнал" (АО "ВНИИ "Сигнал") Способ моделирования многокомпонентных изделий в компьютерных системах двух- и трехмерного проектирования
US10235807B2 (en) * 2015-01-20 2019-03-19 Microsoft Technology Licensing, Llc Building holographic content using holographic tools
US10394967B2 (en) * 2015-06-18 2019-08-27 Siemens Product Lifecycle Management Software Inc. Method and apparatus for automatically assembling components in a computer-aided design (CAD) environment
EP3159850A1 (en) * 2015-10-25 2017-04-26 Dassault Systèmes Comparing 3d modeled objects
KR20180051288A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
KR20200079849A (ko) * 2018-12-26 2020-07-06 주식회사 피제이팩토리 멀티 뎁스(multi-depth) 이미지 생성 및 뷰잉
US20210240881A1 (en) * 2020-02-05 2021-08-05 Dassault Systemes Solidworks Corporation Predictive Modeling
US11698998B2 (en) * 2020-03-24 2023-07-11 Autodesk, Inc. Computer aided design (CAD) model connection propagation
US11681835B2 (en) 2020-12-31 2023-06-20 Hexagon Technology Center Gmbh Rapid positioning drawing system and method
CN113011017B (zh) * 2021-03-04 2023-09-05 信义汽车玻璃(深圳)有限公司 基于产品模块化的数据处理方法、装置、设备及存储介质
EP4287059A1 (en) * 2022-05-31 2023-12-06 Pratt & Whitney Canada Corp. System and method for generating assembly instructions for a plurality of 3d component models

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251290A (en) * 1991-03-25 1993-10-05 Schlumberger Technology Corporation Modeling method for sorting dependencies among geometric entities
CN101226559A (zh) * 2006-12-28 2008-07-23 达索系统公司 包含一组约束对象的产品的cad的方法和计算机程序产品

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497453A (en) * 1993-01-05 1996-03-05 International Business Machines Corporation Method and apparatus for detecting and visualizing interferences between solids
US6826500B2 (en) * 2001-06-29 2004-11-30 General Electric Company Method and system for automated maintenance and training instruction generation and validation
US6907573B2 (en) * 2001-09-28 2005-06-14 Autodesk, Inc. Intelligent constraint definitions for assembly part mating
US8255814B2 (en) * 2002-09-06 2012-08-28 Autodesk, Inc. Temporary text and graphic feedback for object manipulators
EP1625488A2 (en) * 2003-05-20 2006-02-15 Lego A/S Method and system for manipulating a digital representation of a three-dimensional object
US20080172208A1 (en) * 2006-12-28 2008-07-17 Dassault Systems Method and computer program product of computer aided design of a product comprising a set of constrained objects
WO2010024929A1 (en) * 2008-08-30 2010-03-04 All About Choice, Inc. System, apparatus, and method for decision support
EP2333682B1 (en) * 2009-11-06 2020-05-20 Dassault Systèmes Method and system for designing an assembly of objects in a system of computer-aided design

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251290A (en) * 1991-03-25 1993-10-05 Schlumberger Technology Corporation Modeling method for sorting dependencies among geometric entities
CN101226559A (zh) * 2006-12-28 2008-07-23 达索系统公司 包含一组约束对象的产品的cad的方法和计算机程序产品

Also Published As

Publication number Publication date
KR20110050383A (ko) 2011-05-13
US8473259B2 (en) 2013-06-25
CN102073499A (zh) 2011-05-25
JP2011100456A (ja) 2011-05-19
EP2333683A1 (en) 2011-06-15
US20110270586A1 (en) 2011-11-03
CA2719603A1 (en) 2011-05-06
KR101649096B1 (ko) 2016-08-19
CA2719603C (en) 2018-07-17
JP5697951B2 (ja) 2015-04-08

Similar Documents

Publication Publication Date Title
CN102073499B (zh) 在计算机辅助设计系统中设计对象组件的方法和系统
CN102053829B (zh) 用于在计算机辅助设计系统中设计对象组件的方法和系统
CN107544797B (zh) 用于生成在图形用户接口上显示的对象色彩的方法和装置
KR101264924B1 (ko) 제품 수명주기 관리 데이터베이스를 이용하여 뷰내에서 오브젝트를 렌더링하는 프로세스 및 시스템
JP6721332B2 (ja) 3dモデル化されたアセンブリ上で境界ボックスを生成すること
CN107545025B (zh) 利用形态学标准查询数据库
JP6721333B2 (ja) オブジェクトのセットの視点の選択
JP2019179544A (ja) フライス作業によって製造可能な部品の設計
CN102142152B (zh) 用于在计算机屏幕上显示对象的方法、装置和程序
JP7249144B2 (ja) 製品の部品の組み立て方法
CN102779202B (zh) 用于选择对象的操纵器的方法和装置
KR102055952B1 (ko) 오브젝트들의 원형 스태거드 패턴의 설계

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant