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

文档序号:6335519阅读:192来源:国知局
专利名称:用于在计算机辅助设计系统中设计对象组件的方法和系统的制作方法
技术领域
本发明涉及计算机程序和系统领域,并且更为具体地,涉及用于在计算机辅助设 计应用中设计对象组件领域。
背景技术
计算机辅助技术被公知为包括计算机辅助设计或CAD (Computer-Aided Design), CAD与用于编辑产品设计的软件解决方案相关。类似地,CAE是Computer-Aided Engineering(计算机辅助工程)的缩写,例如,CAE与用于模拟未来产品的物理行为的软件 解决方案相关。CAM表示计算机辅助制造(Computer-Aided Manufacturing),并且通常包 括用于定义制造过程和操作的软件解决方案。在市场上出售多种用于对象(或部件)或对象组件设计的系统和程序,并形成了 产品,比如由达索系统公司所提供的注册商标为CATIA的产品。这些CAD系统允许用户构 建和操纵对象或对象组件的复杂三维(3D)模型。因此,CAD系统提供使用边或线的建模对 象表示,在特定情形下,该建模对象的表示使用面。线或边可以以各种方式表示,例如,非均 勻有理B样条(NURBQ。这些CAD系统将部件或部件组件作为建模对象管理,该建模对象 大部分是几何图形说明(specification)。特别地,CAD文件包含利用来生成几何图形的说 明,该几何图形继而用于生成表示。几何图形和表示可以存储在单个CAD文件或多个CAD 文件中。CAD系统包括用于向设计者显示建模对象的图形工具。这些工具专用于显示复杂 对象一表示CAD系统中的对象的文件的典型大小在每个部件1兆比特的范围内,并且组 件可以包括数千个部件。CAD系统管理对象模型,所述对象模型存储在电子文件中。在计算机辅助技术中,就该技术的效率而言,图形用户界面(GUI)扮演重要角色。 用户(例如设计者)可以在该GUI上执行操纵和/或导航建模对象所要求的大部分操作。 特别地,用户可以创建、修改和删除用于形成产品的建模对象,并且还可以探测该产品,从 而例如经由产品结构来了解建模对象如何相互关联。通常,通过位于⑶I的侧边上的专用 菜单以及图标来执行这些操作。近来,比如CATIA之类的CAD系统允许在产品表示附近调 用这些功能。设计者不再需要将鼠标移到菜单以及图标。因此,在鼠标的触及范围内可获 得操作。另外,上述操作在语义上如下进行动作对于设计者选择的给定操作,CAD系统可 以根据设计者可能选择的先前选择的操作,仍然在鼠标附近向设计者建议一组新操作。还公知的是产品寿命周期管理(PLM)解决方案,该PLM解决方案称为商业战略,该 商业战略帮助公司在扩展企业的概念内,共享产品数据,应用公共过程,以及利用从概念到 产品寿命终止的用于开发产品的共同知识。通过包括动作者(公司部门、商业伙伴、供应 商、原始设备制造商(OEM),以及顾客),PLM可以允许该网络作为单个实体进行操作,以概 念化、设计、构建以及支持产品和过程。一些PLM解决方案使得例如可以通过创建数字实体模型(产品的3D图形模型) 来设计和开发产品。可以首先使用合适的应用来定义和模拟该数字产品。随后,可以定义 和建模精益数字制造过程。
达索系统公司所提供的PLM解决方案(注册商标为CATIA、ENOVIA以及DELMIA) 提供了工程中心、制造中心、以及企业中心,该工程中心组织产品工程知识,该制造中心管 理制造工程知识,以及该企业中心实现企业整合以及到工程和制造中心的连接。总之,所述 系统递送了开放的对象模型链接产品、过程、资源,以实现动态的基于知识的产品创建和决 定支持,该产品创建和决定支持驱动最佳的产品定义、制造准备、生产和服务。这种PLM解决方案包括产品的关系数据库。该数据库包括一组正文数据以及该数 据之间的关系。数据通常包括与产品相关的技术数据,该技术数据按照数据层次进行排序, 并且被索引以便可被搜索。所述数据表示建模对象,该建模对象通常是建模产品以及过程。包括产品配置、过程知识以及资源信息的产品寿命周期信息通常意在被以协作的 方式编辑。当前的CAD应用允许用户定义对象组件中的对象(或部件)之间的空间关系,例 如对象组件的两个产品之间的空间关系。通常,如本领域中所公知的,用户是相对于另一对 象来移动对象以便将该对象放置在特定位置的设计者。例如,设计者可能希望将螺丝放置 为通过平板中包括的孔。为此,设计者选择并在该平板上移动该螺丝,直到到达该螺丝相对 于该平板中的孔的期望位置的大致接近位置。随后,使用该螺丝和该平板的匹配特性来找 到螺丝相对于该平板的位置,该位置根据设计者所提供的螺丝的位置确定。然而,相对于另一对象来定位一个对象对于设计者而言是困难且繁琐的任务,因 为设计者必须以正确的位置,在第二对象(或第二对象的部件)上方移动第一对象(或 第一对象的部件),并且第一和第二对象可能是非常小的;例如,对象的部件可能类似一个 点O另外,大多数当前解决方案提供两个所选对象之间的给定的两个位置中的仅仅一 个位置。因此,这些解决方案不能提供这些对象之间的一组全局且排序后的所有相关解决 方案,并且因此,设计者不能确定多个解决方案中的最好解决方案是什么。此外,如果用户 不能在特定要素的上方移动对象,将不会向他/她告知对应的解决方案。此外,一些解决方案通过使用第一和第二对象的所有几何要素,向设计者提供两 个所选对象之间的位置,这些位置随后被无用的位置快速地淹没。因此,根据如上简短讨论的现有解决方案的限制,需要以更容易和更快速地方式 改进对象的重复组装,从而提高设计者的生产率以及最小化设计错误。

发明内容
因此,本发明提供了一种用于在计算机辅助设计系统中设计对象组件的方法。所 述方法包括选择该组件中的第一对象和第二对象,该第一对象和第二对象中的每个具有界 面信息;计算该组件中的第一对象相对于第二对象的一组位置;以及同时显示所计算出的 第一对象相对于第二对象的位置的表示。根据本发明的方法可以包括一个或多个下述特征-根据多个可视级别,显示同时显示的所计算出的位置的表示;-同时显示的所计算出的位置的表示具有各自的透明度;-根据所计算出的位置的排名(rank),显示同时显示的所计算出的位置的表示;-在显示步骤之前,根据至少一个准则来对该组第一对象相对于第二对象的位置进行排名的步骤;-在计算该组位置的步骤之前,在用户启动后,添加第一对象和第二对象之间的约 束的步骤;-所述组件中的第一对象和第二对象是三维建模对象,并且其中所述至少一个准 则是下述中之一-所述组件中的第一对象和第二对象之间的多个约束;-用户建议的所述组件中的第一对象和第二对象之间的多个约束,所述第一对象 和第二对象被相对地放置;-所述组件中的第一对象和第二对象在二维空间中的投影之间的距离,所述第一 对象和第二对象被相对地放置;-所述组件中的第一对象和第二对象之间在三维空间中的距离,所述第一对象和 第二对象被相对地放置;-所述组件中的第一对象和第二对象之间的转动角度,所述第一对象和第二对象 被相对地放置;-所述组件中的第一对象和第二对象在图形用户界面上是可见的,所述第一对象 和第二对象被相对地放置;-检测所述组件中的第一对象和第二对象之间的设计错误,所述第一对象和第二 对象被相对地放置;-计算所述组件中的第一对象相对于第二对象的一组位置的步骤包括计算所述第 一对象和第二对象的界面信息的至少一个匹配,并且在每次计算所述至少一个匹配后,求 解所述第一对象和第二对象之间的几何约束;-根据图形的遍历来执行计算所述界面信息的至少一个匹配以及在每次计算所述 至少一个匹配后求解几何约束的步骤,其中,所述图形的每个节点表示第一对象的一个界 面信息和第二对象的一个界面信息的组合,在位于父节点上的该图形的给定级上的该图形 的每个节点表示已经由在所述给定级的上级中的另一节点表示的组合,不具有可求解的几 何约束的该图形的每个节点被从该图形中删除,并且对于给定节点,该组位置中的一个位 置由下述提供-根据所述给定节点的组合构建的一组约束;-根据所述给定节点的父节点的组合构建的一组约束;-计算所述组件中的第一对象相对于第二对象的一组位置的步骤还包括计算所述 第一对象的至少两个界面信息之间的第一标识符和所述第二对象的至少两个界面信息之 间的第二标识符,将所述界面信息的所述第一和第二标识符与分别拥有所述第一对象的所 述至少两个界面信息和所述第二对象的所述至少两个界面信息的对象相关联,并且在计算 在所述第一和第二对象中的至少一个处涉及的另一匹配期间,使用所述第一和第二标识符 来识别匹配;-首先,在考虑用户所添加的约束的情况下,执行计算所述组件中的第一对象相对 于第二对象的一组位置的步骤,随后,在不考虑用户所添加的约束的情况下,执行计算所述 组件中的第一对象相对于第二对象的一组位置的步骤;-根据至少两个准则来执行对该组第一对象相对于第二对象的位置进行排名的步骤,所述至少两个准则中的每个准则被排名,并依据该排名后的准则,按照字母顺序对该组 位置进行排名;-在选择第一对象和第二对象的步骤中,还包括识别所述第一对象的至少一个公 开(publication)以及所述第二对象的至少一个公开的步骤,以及针对所述第一对象的至 少一个所识别出的公开以及所述第二对象的至少一个所识别出的公开中的每一个,计算所 述第一对象的界面信息以及所述第二对象的界面信息的步骤;-所述第一对象的至少一个公开以及所述第二对象的至少一个公开包括几何要 素;-计算所述第一对象的界面信息以及第二对象的界面信息,以便表示与几何要素 间的一致性;-几何要素被限制为点、线、平面以及轴系统;-在用户对触觉设备进行动作后,通过将光标放置在同时显示的计算出的位置的 表示中的一个表示上,来强调同时显示的表示中的该一个表示。本发明还提供了用于在计算机辅助设计系统中设计对象组件的计算机程序,该计 算机程序存储在计算机可读介质中,所述计算机程序包括用于使得计算机辅助设计系统执 行本发明的方法的上述步骤的代码模块。本发明还涉及用于在计算机辅助设计系统中设计对象组件的装置,所述装置包括 用于实现本发明的方法的上述步骤的模块。


现在将通过非限制性的示例参照附图来描述实现所公开的技术的系统,在附图 中图1是CAD系统中的典型⑶I的示意图;图2是用于执行本发明的一个实施例的流程图;图3到图5是根据本发明的方法的图形表示;图6到图8例示了根据本发明的曲柄与轴间的匹配;以及图9是适于执行本发明的硬件和软件环境的示意图。
具体实施例方式参见图1,所例示的图形用户界面(或GUI) 100可以是典型的CAD类界面,该GUI 100具有标准的菜单栏110、120以及底部和侧边工具栏140、150。这些菜单栏和工具栏包 含一组可由用户选择的图标,每个图标与一个或多个操作或功能相关联,如本领域所公知 的那样。这些图标中的一些与适用于在比如在⑶I 100上显示的建模产品200或产品200 的部件上进行编辑和/或工作的软件工具相关联。为了简单,在下面的描述中,“产品”、“部 件”、“组件”等可以称为“部件”。注意,概念“部件”实际上可以归纳为概念“对象”,其中, 对象可以是所设计的产品的仅仅“物理”部件,或者更普遍地,对象可以是参与设计过程的 任何软件工具(而不必在最后的产品“中”)。上述软件工具可以被成组为工作台(worlcbench)。每个工作台包括软件工具的一个子集。特别地,一个工作台是编辑工作台,该编辑工作台适于编辑建模产品200的几何特 征。在操作时,设计者可以例如预选对象200的部件,并且随后通过选择合适的图标,发起 操作(例如,改变维度、颜色等)或编辑几何约束。例如,典型的CAD操作是对在所述屏幕 上显示的3D建模对象的打孔或折叠进行建模。另外,所述一个或多个操作或功能可以在⑶I 100上所显示的建模产品200或产 品200的部件附近被直接选择。为此,与操作或功能相关联的可由用户选择的图标170可 以出现在选择器160(例如,比如鼠标的触觉设备的光标)附近。用户可以使得光标160从 图标匣(phylactery) 170上经过,与之响应,该图标匣170显示一组图标180。通常,可由用 户选择的图标170、180具有图标匣的形式。随后,用户选择该组图标180中的一个图标,以 便执行与所选图标相关联的功能。此外,该组图标180按照语义进行动作,也就是,根据假 定用户想要做的操作,由CAD系统建议该组图标180。⑶I可以例如显示与所显示的产品200相关的数据250。在图1的示例中,被显示 为“特征树”的数据250以及它们的3D表示200与包括制动钳和盘片的制动组件相关。GUI 还可以示出各种类型的图形工具130、160,例如用于便于对象的3D取向,用于触发编辑后 的产品的操作的模拟,或者GUI还可以呈现所显示的产品200的各种属性。图2是描绘本发明的一个实施例的流程图,其中,可见到四个块,分别与选择具有 界面信息的对象(步骤20、30以及31)、计算第一对象相对于第二对象的一组位置(步骤 40-6 、对上述位置进行排名(步骤80)以及同时显示所计算出的位置的表示(步骤90) 的阶段相关。流程图的各个方框具有多个形状梯形形状2000指出用户(例如,设计者) 输入,矩形形状2001表示阶段,六边形形状2002示出循环,以及平行四边形形状2003是条 件测试。所描绘的本发明的实施例开始于选择对象组件中的第一对象和第二对象。第一对 象和第二对象具有界面信息。这在图2中由步骤20、30和31例示。在步骤20,选择所述组件中的第一对象和第二对象,也就是说,在所述对象组件的 对象中识别和选择第一和第二对象。所述选择可以由CAD系统执行。所述选择也可以在用 户动作后执行,该动作通常在CAD系统的图形用户界面中进行,如图1中所示。当用户执行 所述选择时,他/她可以使用比如键盘、鼠标、记录笔(stylus)、或触摸屏等的触觉设备。例 如,在双键鼠标中,当鼠标的光标在GUI的特定区域上方时,左键可以被使用来选择对象。所选择的第一和第二对象可以在⑶I 100上显示。另外,所选择的第一和第二对 象可以是建模对象或三维(3D)建模对象。三维(3D)建模对象是对象在三维(3D)空间中 的描述。3D空间是物质世界的几何模型,该物质世界可以在数学上由几何图形表示,该几何 图形利用坐标来描述三维空间中的每个点。此外,存在用于描述三维空间的其它方式。3D 建模对象本质上指的是说明,根据该说明可以生成几何图形。因此,3D建模对象是对3D对 象的数学描述,也就是,由比如三角形、直线、曲面等的各种几何实体连接的3D空间中的点 的集合。3D建模对象由该3D建模对象的3D表示来表示。另外,所述对象组件中的第一对象和第二对象可以是不同的产品。产品由对象组 件构成。因此,所述选择可以针对所述组件中的对象执行,或者针对所述组件的产品执行。 第一对象可以称为“要被放置的”对象(或产品),而第二对象可以称为“目标”对象(或产品)。
第一对象和第二对象具有公开。通常,公开可以与对象一起存储(或嵌入有对 象)。公开是在对象下聚集的到几何要素或该对象内的另一公开的链接,并且该公开公布并 且使得与将第一对象与对象组件中的其它对象(例如,与第二对象)交接相关的匹配信息 公开。相应地,公开可以定义对象相对于对象组件中的至少一个其他对象的定位的一组知 识。所述公开与对象的聚集(或“嵌入”)大大增加了放置对象时的自动化,因为第一和第 二对象两者都具有执行匹配所需要的信息。公开是到几何要素的链接。有利地,所述几何要素可以被限制为点、线、平面和轴 系统。通常,根据所述组件的技术上下文(例如,在机械上下文中)作出上述限制,所述几 何要素优选被限制为点、线、平面和轴系统。在另一技术上下文(例如,包括齿轮的机械系 统)中,将保留曲面。该限制所导致的结果是,提供给对象的信息量受限,但同时保持足够 数目的信息来匹配对象。另外,相对于至少一个其它对象来定位对象的解决方案的数目是 受限的,并且保留大多数相关的位置。因此,在尝试次数减少的同时,提供更好的结果。现在参见图3,在如参照图1中所示的⑶I 100上显示平板300和螺丝400。⑶I 显示与所显示的产品300和400相关的数据250。在图3的示例中,数据250被显示为“特 征树”,并且示出平板300和螺丝400的公开。螺丝400包括两个公开轴401的公开以及 面402的公开。平板300包括5个公开孔301到304的每个轴对应一个公开,以及面305 对应于一个公开。两个产品300和400的部件的这7个公开被公布,并且设计者可以访问 它们所包含的信息。回到图2,在步骤30,所公开的技术的过程确定所述第一对象和第二对象的公开 是否是界面信息。如果所有公开是界面信息,则所述过程的下一步骤是步骤40。相反,如果 部分所述公开不是界面信息,则所述过程的下一步骤是步骤31。界面信息是利用数据增强来与另一兼容界面信息构建完全的指定约束的公开。由 此,界面信息提供与将所述组件的第一对象与至少另一对象交接相关的匹配信息,所述匹 配信息包括相对于所述组件的至少一个其它对象来定位第一对象所需要的知识。因此,由 于界面信息,可以相对另一对象添加和放置新的对象,而无需补充信息。使用界面信息对于 设计者是有利的,因为设计者可以在放置对象之前,添加该对象的匹配信息。另外,他们可 以取决于他们对对象的权利,访问或不访问该对象的匹配信息。这可以使得减少设计错误。 结果是,相对于另一对象来定位对象的过程得到改进,并且更快。在步骤31,根据本发明的过程识别所述第一和第二对象的至少一个公开,并且针 对每个所识别出的第一和第二对象的公开,计算所述第一和第二对象的界面信息。为此, 第一和第二对象的公开被增强,从而包括所有可用信息,比如所期望的几何图形的类型、方 位、以及第一对象的距离,以便构建与兼容公开间的完全的指定约束。因此,界面信息基于 根据所述对象组件的所组装的产品推导出的信息构建。在实践中,计算所述第一和第二对象的界面信息,以便表示与所述对象组件的 几何要素间的一致性,例如,产品之间的最普遍的运动学联合,比如一致性、旋转、棱形 (prismatic),其中点到点一致性、线到线一致性以及面到面接触作为约束。有利地,界面信 息被链接到对象的几何要素,例如,几何要素可以被限制到点、线、平面以及轴系统。与公开 类似,这个限制所导致的结果是,用于匹配对象所需要的信息量受限。另外,一旦第一和第二对象的公开已经被增强,也就是,计算出界面信息,则可以构建挂钩点(hooking point)。挂钩点是具有公共标识符的一组界面信息或公开。在所述 过程的这个阶段,挂钩点允许识别在步骤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-6 可以包括两个子步骤。第一个子步骤由步骤50-52 定义,并且包括计算第一和第二对象的界面信息的至少一个匹配。第二个子步骤包括步骤 60-62,并且包括在步骤50-52中所执行的每次计算至少一个匹配后,求解第一和第二对象 之间的几何约束。因此,通过尝试由界面信息提供的几何约束的每个组合来发现(也就是, 计算)位置。如果几何约束的组合可以被求解,并且对于该组合的另一约束而言没有约束 是冗余的,则该几何约束的组合是位置。优选地,利用专用的图形结构计算对象的界面信息之间的匹配以及求解几何约 束,该专用的图形结构在计算和求解步骤期间被构建和遍历。10
如本领域中所公知,图形结构包括由弧形连接的节点。该图形的每个节点表示第 一对象的一个界面信息和第二对象的一个界面信息的组合,并且每个弧形表示从一个节点 通行到另一节点的可能性。如先前所见,可以在步骤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)中相同的优点。ν)所放置的第一对象和第二对象之间的转动角度,所述第一对象和第二对象是三 维对象。转动角测量由所选择的第一对象所执行的转动,以便与所计算出的位置吻合。根据所测量的转动角,可以对上述位置进行排名。在实践中,较小的转动角被赋予特权实际 上,在设计对象组件时给更接近设计者所看到的东西的解决方案赋予特权是有利的。例如, 图3中的螺丝400可以穿过孔301-303,其中螺丝400的头在平板300的顶面或底面上。然 而,由于在被选择时螺丝400的头被转到顶面,与螺丝的头被转到底面的位置相比,螺丝的 头被转到顶面的位置被赋予特权,因为螺丝的头被转到顶面的情形的转动角比螺丝的头被 转到底面的情形的转动角小。vi)所述组件中的第一定位的对象和第二对象在图形用户界面上是可见的。与不 可见的位置相比,可见的位置被赋予特权。在实践中,所放置的第一对象(要放置的对象) 在图形用户界面上是可见的,并且它的拾取点在解决方案的位置中是可见的。有利地,设计 者不会被他/她不感兴趣的位置淹没实际上,设计者关注所述组件中的少量对象,并且因 此,不对其它对象感兴趣。此外,设计者可以缩小组件,并且因此在排名步骤期间可以考虑 新的位置。vii)检测到定位的第一对象和第二对象之间的设计错误。通常,设计错误可能在 没有考虑干扰说明时发生。一般来说,干扰说明包括碰撞、接触以及间隙说明。在这点上, 重要的是避免两个对象之间的碰撞(物质间的相互渗透)。在实践中,当检测到碰撞时,从 该组位置中删除该位置。所述准则不限于上述引用的准则,并且可以使用任何其它的准则来对位置进行排 名。另外,用户可以修改对准则的排名。通过这种方式,对位置的排名符合用户的需要和要 求。在步骤90,根据所计算出的位置的排名,同时显示第一对象相对于第二对象的所 计算出的位置的表示。在实践中,可以根据多个可视级别来显示同时显示的表示,并且所述 位置表示的各个可视级别中的每一个表示对位置的对应排名。相应地,利用对应的可视级 别来同时显示和表示所计算出的位置因此,为设计者提供直观和有效的方式来在多个位 置中选择位置。因此,增强设计者在设计对象组件时的体验,因为他/她可以看到所有可能 的位置,即使这些位置难以发现。因此,即使位置是大量的,设计者也可以容易地做出他/ 她的选择。另外,位置的每个所显示的表示可以具有对应的透明度级别。透明度级别暗含该 透明度不是完全的因此,设计者总是可以看见位置。当透射和散射位置的光可以仅仅是部 分的或散射的时,实现部分透明度(或半透明)。此外,可以根据对所计算出的位置的排名 来确定透明度级别。通常,可以确定透明度级别,从而利用最低的透明度级别来显示所述排 名中的最好的位置(即,符合最重要的多个准则的位置),同时利用最低的透明度级别来显 示最坏的位置(即,符合较不重要的多个准则的位置)。换言之,位置越好,则所显示的位 置的透明度越小。在实践中,所述排名中的最好位置的透明度被设置为参考值,并且从第二 解决方案到最后的解决方案的透明度从峰值(参考值的一半)线性且规则地降低到最低值 (几乎透明)。此外,还可以根据颜色代码来执行对应的渲染。因此,设计者的视角不再被 重要的多个位置淹没,因为透明度调整该组位置中的位置的显示。因此,设计者更容易发现 和理解对象组件,并且因此增加他/她的生产率。此外,如果具有较小透明表示的位置不能使设计者满意,则他/她仍然有可能利 用相同的透明度级别来显示另一位置,因为该位置具有较小的透明表示。例如,用户可以致13动触觉设备,并且在致动后(例如,在致动鼠标轮后),基于所述位置的排名,按照降序显示 所计算出的位置。图3到图5是根据本发明的方法的实施例的图形表示。图3描述了在⑶I上显示 的平板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(被标注为幻、420(被 标注为3)以及421 (被标注为4)。一旦被排名,则根据该排名来显示所述位置的各个表示。在图4中,与位置420、 421和422相比,位置423具有更好的可视级别。除了设计者已经选择螺丝头400的角500a和平板300的角500b之外,图5与图4 类似。因此,用户所建议的约束是两个角之间的接触。当计算一组位置时,与使用公开构建 的约束一起完成用户所建议的约束。然而,在这种情况下,这种约束的组合导致的结果是, 所述组合是过约束。因此,在考虑所建议的约束的情况下进行的对该图形的第一次处理失 败,并且仅仅根据对所述图形的第二次处理(即,在不考虑所建议的约束的情况下进行的 处理)来计算该组位置。结果是,基于螺丝和平板的公开来计算所述位置。随后,对该组位 置中位置进行排名,如图4中类似,并且利用比三个其它位置更重要的可视级别,在⑶I上 显示解决方案501。此外,设计者可以在位置之间进行导航。可以通过将光标放置在同时显示的位置 中的一个位置上,来强调该位置。通常,这在用户对触觉设备进行动作(例如,将鼠标的光 标放置在该位置上)后执行。对该位置的强调可以例如利用对该位置的高亮显示来执行。 高亮显示包括对该位置的表示应用辐射的发光颜色。所述强调还可以经由可视化效果来执 行,比如通过加深所强调位置的外廓来使该位置闪烁,或者增加构成所强调位置的外廓的点的密度。另外,可以使用允许设计者将一个位置与其它位置区分开的任何手段。现在参见图6到图8,描绘了曲柄900与轴901间的匹配。在图6,在⑶I上表示 根据本发明计算出的一组位置中的位置。在这些表示中,位置910具有较小的透明度实际 上,根据排名,该位置是最好的位置(即,该位置符合较不重要的多个数目的准则)。位置 920和930具有更大的透明度。图6例示了透明度和所计算出的位置的相关性之间的线性 度。因此,用户可以容易地检测到什么是最好的位置,因为透明度是较不重要的。同时,如 果最好的位置不被认为是设计者所关心的,则他/她仍然可以看见其它位置。在图7,设计者已经将触觉设备的光标902移到最好的位置910上。因此,该位置 被强调。随后,设计者可以预先见到基于该最好位置的解决方案在位置910的透明度增加 的同时,其它位置的透明度减小。因此,强调解决方案位置910,这有利地允许用户容易地了 解该解决方案。当设计者将光标902移到另一位置930上方时,则接着该位置被强调,如图8中所 示。因此,设计者可以预先见到独立于其它位置的每个位置。同时,设计者可以在其它位置 间容易地进行导航。要理解的是,前述方法可以应用于能够由CAD/CAM/CAE系统或者用于设计对象组 件的任何系统定义的任何配置中的任何对象。本发明可以在数字电路中实现,或者在计算 机硬件、固件、软件或它们的组合中实现。本发明的装置可以在可触及地包含在机器可读存 储设备中的计算机程序产品中实现,该计算机程序产品可供可编程处理器执行。本发明的 方法步骤可以由可编程处理器执行,该可编程处理器执行指令程序来通过操作输入数据并 且生成输出来执行本发明的功能。有利地,本发明可以在一个或多个计算机程序中实现,该一个或多个计算机程序 可以在包括至少一个可编程处理器、至少一个输入设备和至少一个输出设备的可编程系统 上执行,该至少一个可编程处理器被耦合来从数据存储系统接收数据和指令,并且将数据 和指令发送到数据存储系统。所述应用程序可以利用高级别过程或面向对象编程语言实 现,或者如果需要,可以利用汇编或机器语言实现;并且在任何情况下,所述语言可以是编 译或解释的语言。图9示出了客户端计算机系统,例如,用户设计对象组件的工作站。该客户端计算 机包括与内部通信总线1200相连的中央处理单元(CPU) 1201,以及也与该总线相连的随机 存取存储器(RAM) 1207。该客户端计算机系统还具有图形处理单元(GPU) 1211,该GPU 1211 与连接到该总线的视频随机存取存储器1210相关联。视频RAM 1210在本领域中还被公知 为帧缓存器。海量存储设备控制器1202管理对比如硬盘驱动器1203之类的海量存储设备 的访问。适于可触及地包含计算机程序指令和数据的海量存储设备包括所有形式的非易失 性存储器,作为示例,包括比如EPROM、EEPROM以及快闪存储设备之类的半导体存储设备, 比如内部硬盘和可移动盘之类的磁盘;磁光盘;以及⑶-ROM盘1204。前述中的任何一个可 以由专门设计的ASIC (专用集成电路)进行补充,或者包含在ASIC中。网络适配器1205管 理对网络1206的访问。客户端计算机系统还可以包括触觉设备1209,比如光标控制设备、 或键盘等。光标控制设备在客户端计算机中被使用来允许用户有选择地将光标放置在显示 器1208的任何期望位置上。另外,光标控制设备允许用户选择各种命令,以及输入控制信 号。光标控制设备包括多个信号生成设备,用于向系统输入控制信号。通常,光标控制设备可以是鼠标,该鼠标的按键被使用来生成上述信号。 已经描述了本发明的优选实施例。将理解的是,可以在不背离本发明的精神和范 围的情况下进行各种修改。因此,其它实现在所附权利要求的范围内。例如,可以根据组件 的技术上下文来对准则进行排名。
权利要求
1.一种用于在计算机辅助设计系统中设计对象组件的方法,所述方法包括-选择00)所述组件中的第一对象和第二对象,所述第一对象和第二对象均具有界面 fn息;-计算Go)所述组件中的所述第一对象相对于所述第二对象的一组位置;以及 -同时显示(90)所计算出的所述第一对象相对于所述第二对象的位置的表示。
2.如权利要求1所述的方法,其中,根据多个可视级别来显示同时显示的所计算出的 位置的表示。
3.如权利要求1到2中的任何一个所述的方法,其中,所述同时显示的所计算出的位置 的表示具有各自的透明度。
4.如权利要求1到3中的任何一个所述的方法,其中,根据对所计算出的位置的排名, 显示同时显示的所计算出的位置的表示。
5.如权利要求1到4中的任何一个所述的方法,还包括位于所述显示步骤之前的如下 步骤-根据至少一个准则,对所述第一对象相对于所述第二对象的所述一组位置进行排名。
6.如权利要求1到5中的任何一个所述的方法,还包括位于计算所述一组位置的步骤 之前的如下步骤-在用户致动后,添加所述第一对象和第二对象之间的约束。
7.如权利要求5到6中的任何一个所述的方法,其中,所述组件中的所述第一对象和第 二对象是三维建模对象,并且其中,所述至少一个准则是下述各项之一-所述组件中的所述第一对象和第二对象之间的多个约束;-由用户建议的所述组件中的被相对地放置的所述第一对象和第二对象之间的多个约束;-所述组件中的被相对地放置的所述第一对象和第二对象在二维空间中的投影之间的 距离;-所述组件中的被相对地放置的所述第一对象和第二对象之间在三维空间中的距离; -所述组件中的被相对地放置的所述第一对象和第二对象之间的转动角度; -所述组件中的被相对地放置的所述第一对象和第二对象在图形用户界面上是可见的;-检测到所述组件中的被相对地放置的所述第一对象和第二对象之间的设计错误。
8.如权利要求1到7中的任何一个所述的方法,其中,计算所述组件中的所述第一对象 相对于所述第二对象的一组位置的步骤包括-计算所述第一对象和第二对象的界面信息的至少一个匹配;以及 -在每次计算所述至少一个匹配后,求解所述第一对象和第二对象之间的几何约束。
9.如权利要求8所述的方法,其中,根据对图形的遍历来执行计算所述界面信息的至 少一个匹配以及在每次计算所述至少一个匹配后求解几何约束的步骤,其中-所述图形的每个节点表示所述第一对象的一个界面信息和所述第二对象的一个界面 信息的组合;-指向父节点的所述图形的给定级别上的所述图形的每个节点表示已经由在所述给定 级别的更高级别中的另一节点表示的组合;-不具有可求解的几何约束的所述图形的每个节点在所述图形中被删除;以及对于给定节点,通过下述各项提供所述一组位置中的一个位置-根据所述给定节点的组合构建的一组约束;以及-根据所述给定节点的父节点的组合构建的一组约束。
10.如权利要求8到9中的任何一个所述的方法,其中,计算所述组件中的所述第一对 象相对于所述第二对象的一组位置的步骤还包括-计算所述第一对象的至少两个界面信息之间的第一标识符和所述第二对象的至少两 个界面信息之间的第二标识符;-将所述界面信息的所述第一标识符和第二标识符关联到分别拥有所述第一对象的至 少两个界面信息和所述第二对象的至少两个界面信息的对象;以及在计算涉及所述第一对象和第二对象中的至少一个的另一匹配期间,使用所述第一标 识符和第二标识符来识别匹配。
11.如权利要求1到10中的任何一个所述的方法,其中,首先,在考虑由所述用户添加 的约束的情况下,执行计算所述组件中的所述第一对象相对于所述第二对象的一组位置的 步骤,随后,在不考虑由所述用户添加的约束的情况下,执行计算所述组件中的所述第一对 象相对于所述第二对象的一组位置的步骤。
12.如权利要求5到11中的任何一个所述的方法,其中,根据至少两个准则来执行对所 述第一对象相对于所述第二对象的所述一组位置进行排名的步骤,所述至少两个准则中的 每个准则被排名,并根据所述排名后的准则,按照字母顺序对所述一组位置进行排名。
13.如权利要求1到12中的任何一个所述的方法,还包括在选择第一对象和第二对象 的步骤处执行如下步骤-识别所述第一对象的至少一个公开和所述第二对象的至少一个公开;以及-针对所述第一对象的至少一个所识别出的公开以及所述第二对象的至少一个所识别 出的公开中的每一个,计算所述第一对象的界面信息以及所述第二对象的界面信息。
14.如权利要求13所述的方法,其中,所述第一对象的至少一个公开和所述第二对象 的至少一个公开包括几何要素。
15.如权利要求13到14中的任何一个所述的方法,其中,计算所述第一对象的界面信 息和所述第二对象的界面信息,以便表示与几何要素间的一致性。
16.如权利要求14到15中的任何一个所述的方法,其中,所述几何要素限于点、线、平 面、以及轴系统。
17.如权利要求1到16中的任何一个所述的方法,其中,在用户对触觉设备进行动作 后,通过将光标放置在同时显示的所计算出的位置的表示中的一个表示上,来强调同时显 示的表示中的所述一个表示。
18.一种存储在计算机可读介质中的计算机程序,用于在计算机辅助设计系统中设计 对象组件,所述计算机程序包括用于使得所述计算机辅助设计系统执行如权利要求1到17 中的任何一个所述的方法的步骤的代码模块。
19.一种用于在计算机辅助设计系统中设计对象组件的装置,所述装置包括用于实现 如权利要求1到17中的任何一个所述的方法的步骤的模块。
全文摘要
本发明涉及用于在计算机辅助设计系统中设计对象组件的方法和系统,所述方法包括选择(20)所述组件中的第一对象和第二对象,所述第一对象和第二对象中的每个具有界面信息;计算(40)所述组件中的第一对象相对于第二对象的一组位置;以及同时显示(90)所计算出的第一对象相对于第二对象的位置的表示。
文档编号G06F9/44GK102053829SQ20101053728
公开日2011年5月11日 申请日期2010年11月5日 优先权日2009年11月6日
发明者A·特滕, F·肖万, M·迪盖 申请人:达索系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1