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

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

Info

Publication number
CN102053829B
CN102053829B CN201010537284.XA CN201010537284A CN102053829B CN 102053829 B CN102053829 B CN 102053829B CN 201010537284 A CN201010537284 A CN 201010537284A CN 102053829 B CN102053829 B CN 102053829B
Authority
CN
China
Prior art keywords
assembly
interface information
group
rank
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
CN201010537284.XA
Other languages
English (en)
Other versions
CN102053829A (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 CN102053829A publication Critical patent/CN102053829A/zh
Application granted granted Critical
Publication of CN102053829B publication Critical patent/CN102053829B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/17Mechanical parametric or variational design
    • 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
    • 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]
    • 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
    • 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)所述组件中的第一对象相对于第二对象的一组位置;以及-同时显示(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应用允许用户定义对象组件中的对象(或部件)之间的空间关系,例如对象组件的两个产品之间的空间关系。通常,如本领域中所公知的,用户是相对于另一对象来移动对象以便将该对象放置在特定位置的设计者。例如,设计者可能希望将螺丝放置为通过平板中包括的孔。为此,设计者选择并在该平板上移动该螺丝,直到到达该螺丝相对于该平板中的孔的期望位置的大致接近位置。随后,使用该螺丝和该平板的匹配特性来找到螺丝相对于该平板的位置,该位置根据设计者所提供的螺丝的位置确定。
然而,相对于另一对象来定位一个对象对于设计者而言是困难且繁琐的任务,因为设计者必须以正确的位置,在第二对象(或第二对象的部件)上方移动第一对象(或第一对象的部件),并且第一和第二对象可能是非常小的;例如,对象的部件可能类似一个点。
另外,大多数当前解决方案提供两个所选对象之间的给定的两个位置中的仅仅一个位置。因此,这些解决方案不能提供这些对象之间的一组全局且排序后的所有相关解决方案,并且因此,设计者不能确定多个解决方案中的最好解决方案是什么。此外,如果用户不能在特定要素的上方移动对象,将不会向他/她告知对应的解决方案。
此外,一些解决方案通过使用第一和第二对象的所有几何要素,向设计者提供两个所选对象之间的位置,这些位置随后被无用的位置快速地淹没。
因此,根据如上简短讨论的现有解决方案的限制,需要以更容易和更快速地方式改进对象的重复组装,从而提高设计者的生产率以及最小化设计错误。
发明内容
因此,本发明提供了一种用于在计算机辅助设计系统中设计对象组件的方法。所述方法包括选择该组件中的第一对象和第二对象,该第一对象和第二对象中的每个具有界面信息;计算该组件中的第一对象相对于第二对象的一组位置;以及同时显示所计算出的第一对象相对于第二对象的位置的表示。
根据本发明的方法可以包括一个或多个下述特征:
-根据多个可视级别,显示同时显示的所计算出的位置的表示;
-同时显示的所计算出的位置的表示具有各自的透明度;
-根据所计算出的位置的排名(rank),显示同时显示的所计算出的位置的表示;
-在显示步骤之前,根据至少一个准则来对该组第一对象相对于第二对象的位置进行排名的步骤;
-在计算该组位置的步骤之前,在用户启动后,添加第一对象和第二对象之间的约束的步骤;
-所述组件中的第一对象和第二对象是三维建模对象,并且其中所述至少一个准则是下述中之一:
-所述组件中的第一对象和第二对象之间的多个约束;
-用户建议的所述组件中的第一对象和第二对象之间的多个约束,所述第一对象和第二对象被相对地放置;
-所述组件中的第一对象和第二对象在二维空间中的投影之间的距离,所述第一对象和第二对象被相对地放置;
-所述组件中的第一对象和第二对象之间在三维空间中的距离,所述第一对象和第二对象被相对地放置;
-所述组件中的第一对象和第二对象之间的转动角度,所述第一对象和第二对象被相对地放置;
-所述组件中的第一对象和第二对象在图形用户界面上是可见的,所述第一对象和第二对象被相对地放置;
-检测所述组件中的第一对象和第二对象之间的设计错误,所述第一对象和第二对象被相对地放置;
-计算所述组件中的第一对象相对于第二对象的一组位置的步骤包括计算所述第一对象和第二对象的界面信息的至少一个匹配,并且在每次计算所述至少一个匹配后,求解所述第一对象和第二对象之间的几何约束;
-根据图形的遍历来执行计算所述界面信息的至少一个匹配以及在每次计算所述至少一个匹配后求解几何约束的步骤,其中,所述图形的每个节点表示第一对象的一个界面信息和第二对象的一个界面信息的组合,在位于父节点上的该图形的给定级上的该图形的每个节点表示已经由在所述给定级的上级中的另一节点表示的组合,不具有可求解的几何约束的该图形的每个节点被从该图形中删除,并且对于给定节点,该组位置中的一个位置由下述提供:
-根据所述给定节点的组合构建的一组约束;
-根据所述给定节点的父节点的组合构建的一组约束;
-计算所述组件中的第一对象相对于第二对象的一组位置的步骤还包括计算所述第一对象的至少两个界面信息之间的第一标识符和所述第二对象的至少两个界面信息之间的第二标识符,将所述界面信息的所述第一和第二标识符与分别拥有所述第一对象的所述至少两个界面信息和所述第二对象的所述至少两个界面信息的对象相关联,并且在计算在所述第一和第二对象中的至少一个处涉及的另一匹配期间,使用所述第一和第二标识符来识别匹配;
-首先,在考虑用户所添加的约束的情况下,执行计算所述组件中的第一对象相对于第二对象的一组位置的步骤,随后,在不考虑用户所添加的约束的情况下,执行计算所述组件中的第一对象相对于第二对象的一组位置的步骤;
-根据至少两个准则来执行对该组第一对象相对于第二对象的位置进行排名的步骤,所述至少两个准则中的每个准则被排名,并依据该排名后的准则,按照字母顺序对该组位置进行排名;
-在选择第一对象和第二对象的步骤中,还包括识别所述第一对象的至少一个公开(publication)以及所述第二对象的至少一个公开的步骤,以及针对所述第一对象的至少一个所识别出的公开以及所述第二对象的至少一个所识别出的公开中的每一个,计算所述第一对象的界面信息以及所述第二对象的界面信息的步骤;
-所述第一对象的至少一个公开以及所述第二对象的至少一个公开包括几何要素;
-计算所述第一对象的界面信息以及第二对象的界面信息,以便表示与几何要素间的一致性;
-几何要素被限制为点、线、平面以及轴系统;
-在用户对触觉设备进行动作后,通过将光标放置在同时显示的计算出的位置的表示中的一个表示上,来强调同时显示的表示中的该一个表示。
本发明还提供了用于在计算机辅助设计系统中设计对象组件的计算机程序,该计算机程序存储在计算机可读介质中,所述计算机程序包括用于使得计算机辅助设计系统执行本发明的方法的上述步骤的代码模块。
本发明还涉及用于在计算机辅助设计系统中设计对象组件的装置,所述装置包括用于实现本发明的方法的上述步骤的模块。
附图说明
现在将通过非限制性的示例参照附图来描述实现所公开的技术的系统,在附图中:
图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的部件的这7个公开被公布,并且设计者可以访问它们所包含的信息。
回到图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的公开不是界面信息,所以根据螺丝400的两个公开来构建它的挂钩点,以及根据平板300的5个公开来构建它的挂钩点。另外,用户在选择螺丝和平板时建议约束:平板的顶面和螺丝的底面之间的用户约束。
随后,所述过程计算螺丝和平板之间的一组位置。为此,在第一次处理时,通过考虑所建议的约束来构建和遍历图形,以及在第二次处理时,在不考虑所建议的约束的情况下构建和遍历图形。基于螺丝和每个孔之间的轴-轴一致性来计算一组位置,并且该组位置包括四个位置420-423。在这步,所述过程可以同时显示位置420-423的表示。另外,可以根据多个可视级别来显示上述表示。例如,同时显示的表示可以具有不同的透明度。
接下来,根据准则对上述位置进行排名。第一准则分析螺丝和平板之间的约束的数目,这个数目是相同的。因此,需要第二准则来分离所计算出的位置:对于每个位置,用户所建议的螺丝和平板之间的约束的数目是相同的。随后,使用第三准则:螺丝400的拾取点403被放置在每个位置420-423上,并且随后,测量点430-433和平板300的拾取点310之间在二维空间中的距离。距离越短,则位置越好。根据图4,如下对上述位置进行排名(从最好到最坏):最好的位置(被标注为1)是位置423,随后是位置422(被标注为2)、420(被标注为3)以及421(被标注为4)。
一旦被排名,则根据该排名来显示所述位置的各个表示。在图4中,与位置420、421和422相比,位置423具有更好的可视级别。
除了设计者已经选择螺丝头400的角500a和平板300的角500b之外,图5与图4类似。因此,用户所建议的约束是两个角之间的接触。当计算一组位置时,与使用公开构建的约束一起完成用户所建议的约束。然而,在这种情况下,这种约束的组合导致的结果是,所述组合是过约束。因此,在考虑所建议的约束的情况下进行的对该图形的第一次处理失败,并且仅仅根据对所述图形的第二次处理(即,在不考虑所建议的约束的情况下进行的处理)来计算该组位置。结果是,基于螺丝和平板的公开来计算所述位置。随后,对该组位置中位置进行排名,如图4中类似,并且利用比三个其它位置更重要的可视级别,在GUI上显示解决方案501。
此外,设计者可以在位置之间进行导航。可以通过将光标放置在同时显示的位置中的一个位置上,来强调该位置。通常,这在用户对触觉设备进行动作(例如,将鼠标的光标放置在该位置上)后执行。对该位置的强调可以例如利用对该位置的高亮显示来执行。高亮显示包括对该位置的表示应用辐射的发光颜色。所述强调还可以经由可视化效果来执行,比如通过加深所强调位置的外廓来使该位置闪烁,或者增加构成所强调位置的外廓的点的密度。另外,可以使用允许设计者将一个位置与其它位置区分开的任何手段。
现在参见图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 (34)

1.一种用于在计算机辅助设计系统中设计对象组件的方法,所述方法包括:
-选择(20)所述组件中的第一对象和第二对象,所述第一对象和第二对象均具有界面信息,其中所述界面信息是利用数据增强来与另一兼容界面信息构建完全的指定约束的公开;
-根据所述第一对象和所述第二对象的所述界面信息,计算(40)所述组件中的所述第一对象相对于所述第二对象的一组位置;以及
-同时显示(90)所计算出的所述第一对象相对于所述第二对象的位置的表示。
2.如权利要求1所述的方法,其中,根据多个可视级别来显示同时显示的所计算出的位置的表示。
3.如权利要求1到2中的任何一个所述的方法,其中,所述同时显示的所计算出的位置的表示具有各自的透明度。
4.如权利要求1所述的方法,其中,根据对所计算出的位置的排名,显示同时显示的所计算出的位置的表示。
5.如权利要求1所述的方法,还包括位于所述显示步骤之前的如下步骤:
-根据至少一个准则,对所述第一对象相对于所述第二对象的所述一组位置进行排名。
6.如权利要求1所述的方法,还包括位于计算所述一组位置的步骤之前的如下步骤:
-在用户致动后,添加所述第一对象和第二对象之间的约束。
7.如权利要求5所述的方法,其中,所述组件中的所述第一对象和第二对象是三维建模对象,并且其中,所述至少一个准则是下述各项之一:
-所述组件中的所述第一对象和第二对象之间的多个约束;
-由用户建议的所述组件中的被相对地放置的所述第一对象和第二对象之间的多个约束;
-所述组件中的被相对地放置的所述第一对象和第二对象在二维空间中的投影之间的距离;
-所述组件中的被相对地放置的所述第一对象和第二对象之间在三维空间中的距离;
-所述组件中的被相对地放置的所述第一对象和第二对象之间的转动角度;
-所述组件中的被相对地放置的所述第一对象和第二对象在图形用户界面上是可见的;
-检测到所述组件中的被相对地放置的所述第一对象和第二对象之间的设计错误。
8.如权利要求1所述的方法,其中,计算所述组件中的所述第一对象相对于所述第二对象的一组位置的步骤包括:
-计算所述第一对象和第二对象的界面信息的至少一个匹配;以及
-在每次计算所述至少一个匹配后,求解所述第一对象和第二对象之间的几何约束。
9.如权利要求8所述的方法,其中,根据对图形的遍历来执行计算所述界面信息的至少一个匹配以及在每次计算所述至少一个匹配后求解几何约束的步骤,其中:
-所述图形的每个节点表示所述第一对象的一个界面信息和所述第二对象的一个界面信息的组合;
-指向父节点的所述图形的给定级别上的所述图形的每个节点表示已经由在所述给定级别的更高级别中的另一节点表示的组合;
-不具有可求解的几何约束的所述图形的每个节点在所述图形中被删除;以及
对于给定节点,通过下述各项提供所述一组位置中的一个位置:
-根据所述给定节点的组合构建的一组约束;以及
-根据所述给定节点的父节点的组合构建的一组约束。
10.如权利要求8到9中的任何一个所述的方法,其中,计算所述组件中的所述第一对象相对于所述第二对象的一组位置的步骤还包括:
-计算所述第一对象的至少两个界面信息之间的第一标识符和所述第二对象的至少两个界面信息之间的第二标识符;
-将所述界面信息的所述第一标识符和第二标识符关联到分别拥有所述第一对象的至少两个界面信息和所述第二对象的至少两个界面信息的对象;以及
在计算涉及所述第一对象和第二对象中的至少一个的另一匹配期间,使用所述第一标识符和第二标识符来识别匹配。
11.如权利要求1所述的方法,其中,首先,在考虑由用户添加的约束的情况下,执行计算所述组件中的所述第一对象相对于所述第二对象的一组位置的步骤,随后,在不考虑由所述用户添加的约束的情况下,执行计算所述组件中的所述第一对象相对于所述第二对象的一组位置的步骤。
12.如权利要求5所述的方法,其中,根据至少两个准则来执行对所述第一对象相对于所述第二对象的所述一组位置进行排名的步骤,所述至少两个准则中的每个准则被排名,并根据所述排名后的准则,按照字母顺序对所述一组位置进行排名。
13.如权利要求1所述的方法,还包括在选择第一对象和第二对象的步骤处执行如下步骤:
-识别所述第一对象的至少一个公开和所述第二对象的至少一个公开;以及
-针对所述第一对象的至少一个所识别出的公开以及所述第二对象的至少一个所识别出的公开中的每一个,计算所述第一对象的界面信息以及所述第二对象的界面信息。
14.如权利要求13所述的方法,其中,所述第一对象的至少一个公开和所述第二对象的至少一个公开包括几何要素。
15.如权利要求14所述的方法,其中,计算所述第一对象的界面信息和所述第二对象的界面信息,以便表示与几何要素间的一致性。
16.如权利要求14所述的方法,其中,所述几何要素限于点、线、平面、以及轴系统。
17.如权利要求1所述的方法,其中,在用户对触觉设备进行动作后,通过将光标放置在同时显示的所计算出的位置的表示中的一个表示上,来强调同时显示的表示中的所述一个表示。
18.一种用于在计算机辅助设计系统中设计对象组件的装置,所述装置包括:
用于选择(20)所述组件中的第一对象和第二对象的模块,所述第一对象和第二对象均具有界面信息,其中所述界面信息是利用数据增强来与另一兼容界面信息构建完全的指定约束的公开;
用于根据所述第一对象和所述第二对象的所述界面信息,计算(40)所述组件中的所述第一对象相对于所述第二对象的一组位置的模块;以及
用于同时显示(90)所计算出的所述第一对象相对于所述第二对象的位置的表示的模块。
19.如权利要求18所述的装置,其中,根据多个可视级别来显示同时显示的所计算出的位置的表示。
20.如权利要求18所述的装置,其中,所述同时显示的所计算出的位置的表示具有各自的透明度。
21.如权利要求18所述的装置,其中,根据对所计算出的位置的排名,显示同时显示的所计算出的位置的表示。
22.如权利要求18所述的装置,还包括:
用于根据至少一个准则,对所述第一对象相对于所述第二对象的所述一组位置进行排名的模块。
23.如权利要求18所述的装置,还包括:
用于在用户致动后,添加所述第一对象和第二对象之间的约束的模块。
24.如权利要求22所述的装置,其中,所述组件中的所述第一对象和第二对象是三维建模对象,并且其中,所述至少一个准则是下述各项之一:
-所述组件中的所述第一对象和第二对象之间的多个约束;
-由用户建议的所述组件中的被相对地放置的所述第一对象和第二对象之间的多个约束;
-所述组件中的被相对地放置的所述第一对象和第二对象在二维空间中的投影之间的距离;
-所述组件中的被相对地放置的所述第一对象和第二对象之间在三维空间中的距离;
-所述组件中的被相对地放置的所述第一对象和第二对象之间的转动角度;
-所述组件中的被相对地放置的所述第一对象和第二对象在图形用户界面上是可见的;
-检测到所述组件中的被相对地放置的所述第一对象和第二对象之间的设计错误。
25.如权利要求18所述的装置,其中,所述用于计算所述组件中的所述第一对象相对于所述第二对象的一组位置的模块包括:
用于计算所述第一对象和第二对象的界面信息的至少一个匹配的模块;以及
用于在每次计算所述至少一个匹配后,求解所述第一对象和第二对象之间的几何约束的模块。
26.如权利要求25所述的装置,其中,根据对图形的遍历来执行计算所述界面信息的至少一个匹配以及在每次计算所述至少一个匹配后求解几何约束,其中:
-所述图形的每个节点表示所述第一对象的一个界面信息和所述第二对象的一个界面信息的组合;
-指向父节点的所述图形的给定级别上的所述图形的每个节点表示已经由在所述给定级别的更高级别中的另一节点表示的组合;
-不具有可求解的几何约束的所述图形的每个节点在所述图形中被删除;以及
对于给定节点,通过下述各项提供所述一组位置中的一个位置:
-根据所述给定节点的组合构建的一组约束;以及
-根据所述给定节点的父节点的组合构建的一组约束。
27.如权利要求25到26中的任何一个所述的装置,其中,所述用于计算所述组件中的所述第一对象相对于所述第二对象的一组位置的模块进一步包括:
用于计算所述第一对象的至少两个界面信息之间的第一标识符和所述第二对象的至少两个界面信息之间的第二标识符的模块;
用于将所述界面信息的所述第一标识符和第二标识符关联到分别拥有所述第一对象的至少两个界面信息和所述第二对象的至少两个界面信息的对象的模块;以及
用于在计算涉及所述第一对象和第二对象中的至少一个的另一匹配期间,使用所述第一标识符和第二标识符来识别匹配的模块。
28.如权利要求18所述的装置,其中,首先,在考虑由用户添加的约束的情况下,执行计算所述组件中的所述第一对象相对于所述第二对象的一组位置,随后,在不考虑由所述用户添加的约束的情况下,执行计算所述组件中的所述第一对象相对于所述第二对象的一组位置。
29.如权利要求22所述的装置,其中,根据至少两个准则来执行对所述第一对象相对于所述第二对象的所述一组位置进行排名,所述至少两个准则中的每个准则被排名,并根据所述排名后的准则,按照字母顺序对所述一组位置进行排名。
30.如权利要求18所述的装置,所述用于选择第一对象和第二对象的模块进一步包括:
用于识别所述第一对象的至少一个公开和所述第二对象的至少一个公开的模块;以及
用于针对所述第一对象的至少一个所识别出的公开以及所述第二对象的至少一个所识别出的公开中的每一个,计算所述第一对象的界面信息以及所述第二对象的界面信息的模块。
31.如权利要求30所述的装置,其中,所述第一对象的至少一个公开和所述第二对象的至少一个公开包括几何要素。
32.如权利要求31所述的装置,其中,计算所述第一对象的界面信息和所述第二对象的界面信息,以便表示与几何要素间的一致性。
33.如权利要求31所述的装置,其中,所述几何要素限于点、线、平面、以及轴系统。
34.如权利要求18所述的装置,其中,在用户对触觉设备进行动作后,通过将光标放置在同时显示的所计算出的位置的表示中的一个表示上,来强调同时显示的表示中的所述一个表示。
CN201010537284.XA 2009-11-06 2010-11-05 用于在计算机辅助设计系统中设计对象组件的方法和系统 Active CN102053829B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09306066.3 2009-11-06
EP09306066.3A EP2333682B1 (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
CN102053829A CN102053829A (zh) 2011-05-11
CN102053829B true CN102053829B (zh) 2016-03-16

Family

ID=41508014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010537284.XA Active CN102053829B (zh) 2009-11-06 2010-11-05 用于在计算机辅助设计系统中设计对象组件的方法和系统

Country Status (6)

Country Link
US (2) US8554521B2 (zh)
EP (1) EP2333682B1 (zh)
JP (1) JP5697950B2 (zh)
KR (1) KR101669050B1 (zh)
CN (1) CN102053829B (zh)
CA (1) CA2719629A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2333683A1 (en) * 2009-11-06 2011-06-15 Dassault Systèmes Method and system for designing an assembly of objects in a system of computer-aided design
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
US8473257B2 (en) * 2010-03-26 2013-06-25 Siemens Product Lifecycle Management Software Inc. System and method for constraining curves in a CAD system
EP2633448A4 (en) * 2010-10-28 2017-11-01 Parametric Technology Corporation Methods and systems for computer-aided design
EP2600315B1 (en) * 2011-11-29 2019-04-10 Dassault Systèmes Creating a surface from a plurality of 3D curves
US20130317797A1 (en) * 2012-05-22 2013-11-28 Siemens Product Lifecycle Management Software Inc. Direct attachments to proxy bodies
EP2672456B1 (en) * 2012-06-07 2019-07-24 Dassault Systèmes Method and system for dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design
EP2672462A1 (en) * 2012-06-07 2013-12-11 Dassault Systèmes Computer-implemented method for defining initial conditions for dynamic simulation of an assembly of objects in a three-dimensional scene of a system of computer-aided design
JP6098120B2 (ja) 2012-11-01 2017-03-22 富士通株式会社 組立順序生成プログラム、組立順序生成装置、および製造方法
EP2733630A1 (en) * 2012-11-15 2014-05-21 Dassault Systèmes Designing a circular staggered pattern of objects
US9483873B2 (en) * 2013-03-26 2016-11-01 Autodesk, Inc. Easy selection threshold
US20150039279A1 (en) * 2013-08-02 2015-02-05 Vitali Volovoi Systems and methods for modeling a complex system using abridged petri nets
CN103530021B (zh) * 2013-10-18 2017-03-01 苏州浩辰软件股份有限公司 图纸中实体的选择方法和装置
US9606526B2 (en) * 2014-05-28 2017-03-28 Siemens Product Lifecycle Management Software Inc. Intelligent constraint selection for positioning tasks
EP2990970A1 (en) * 2014-08-26 2016-03-02 Dassault Systèmes Execution of sequential update
EP2990969A1 (en) * 2014-08-26 2016-03-02 Dassault Systèmes Criterion for sequential update
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
EP3118756B1 (en) * 2015-07-17 2022-10-19 Dassault Systèmes Computation of a measurement on a set of geometric elements of a modeled object
EP3159850A1 (en) * 2015-10-25 2017-04-26 Dassault Systèmes Comparing 3d modeled objects
WO2017074559A1 (en) 2015-10-27 2017-05-04 Siemens Product Lifecycle Management Method, data processing system and non-transitory computer-readable storage medium for automatically assembling components in a computer-aided design (cad) environment
US10061872B1 (en) 2016-09-01 2018-08-28 Bentley Systems, Incorporated Techniques for suppressing unwanted clashes
KR20180051288A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
EP3842911B1 (en) * 2019-12-26 2023-04-05 Dassault Systèmes A 3d interface with an improved object selection
US11199940B1 (en) * 2020-04-21 2021-12-14 Corel Corporation Three-dimensional operations based on planar projections in graphic user interfaces
CA3181966A1 (en) * 2021-02-18 2022-08-25 Unity Building Technologies, Inc. Digital positioning handles for a design platform

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 (16)

* 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
US5815154A (en) * 1995-12-20 1998-09-29 Solidworks Corporation Graphical browser system for displaying and manipulating a computer model
US7084884B1 (en) * 1998-11-03 2006-08-01 Immersion Corporation Graphical object interactions
US6906712B2 (en) * 2000-11-30 2005-06-14 Solidworks Corporation Automated three-dimensional alternative position viewer
US6907573B2 (en) * 2001-09-28 2005-06-14 Autodesk, Inc. Intelligent constraint definitions for assembly part mating
US6928618B2 (en) * 2001-10-23 2005-08-09 Autodesk, Inc. Intelligent drag of assembly components
US7110005B2 (en) * 2002-09-06 2006-09-19 Autodesk, Inc. Object manipulators and functionality
PL378138A1 (pl) * 2003-05-20 2006-03-06 Lego A/S Sposób i układ do manipulowania cyfrową reprezentacją obiektu trójwymiarowego
US7707171B2 (en) * 2005-09-16 2010-04-27 Imagini Holdings Limited System and method for response clustering
FR2907936B1 (fr) * 2006-10-27 2008-12-19 Airbus France Sas Procede et dispositifs d'aide au positionnement relatif d'objets durant une phase de conception.
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
US8056040B2 (en) * 2007-12-27 2011-11-08 Cadence Design Systems, Inc. Method and system for visual implementation of layout structures for an integrated circuit
WO2010024929A1 (en) * 2008-08-30 2010-03-04 All About Choice, Inc. System, apparatus, and method for decision support
WO2010030696A2 (en) * 2008-09-10 2010-03-18 Lcdesign, Inc. Assembly-based parametric modeler
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
EP2333683A1 (en) * 2009-11-06 2011-06-15 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
JP2011100455A (ja) 2011-05-19
US20110112803A1 (en) 2011-05-12
KR101669050B1 (ko) 2016-11-09
JP5697950B2 (ja) 2015-04-08
US8554521B2 (en) 2013-10-08
CA2719629A1 (en) 2011-05-06
CN102053829A (zh) 2011-05-11
US20140025349A1 (en) 2014-01-23
EP2333682A1 (en) 2011-06-15
KR20110050382A (ko) 2011-05-13
US11238186B2 (en) 2022-02-01
EP2333682B1 (en) 2020-05-20

Similar Documents

Publication Publication Date Title
CN102053829B (zh) 用于在计算机辅助设计系统中设计对象组件的方法和系统
CN102073499B (zh) 在计算机辅助设计系统中设计对象组件的方法和系统
KR101264924B1 (ko) 제품 수명주기 관리 데이터베이스를 이용하여 뷰내에서 오브젝트를 렌더링하는 프로세스 및 시스템
JP6978863B2 (ja) Gui上に表示されたオブジェクトの色の生成
KR100921357B1 (ko) 사용자 인터액티브 그래픽 툴을 가지는 제품 편집 및시뮬레이션 데이터베이스 시스템
CN105761303B (zh) 在3d建模组件上创建包围盒
CN107545025B (zh) 利用形态学标准查询数据库
CN102831636B (zh) 用于在三维场景中设计对象的三维建模组件的方法和设备
CN102142152B (zh) 用于在计算机屏幕上显示对象的方法、装置和程序
CN102542093A (zh) 设计计算机辅助设计系统与数据库进行交互的会话中的建模对象
JP7249144B2 (ja) 製品の部品の組み立て方法
CN102779202B (zh) 用于选择对象的操纵器的方法和装置
JP6721333B2 (ja) オブジェクトのセットの視点の選択
KR20150099464A (ko) 방정식들에 의해 제약된 물리적 시스템의 설계
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