用于修改实体模型中的几何关系的系统和方法转让专利

申请号 : CN200980122084.3

文献号 : CN102067130B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : D.C.斯塔普莱斯A.N.古鲁尚卡M.甘迪科塔J.A.瓦尔克H.C.D.马特森D.J.金N.G.麦凯

申请人 : 西门子产品生命周期管理软件公司

摘要 :

一种用于修改在具有用于设计的软件指令的计算机中操作的实体模型表示的系统、方法、和计算机程序,包括:计算机系统,其中,所述计算机系统包括存储器、处理器、用户输入设备、以及显示设备;存储在计算机系统的存储器中的计算机生成的几何模型;并且其中,所述计算机系统接收用户输入并访问具有定义几何模型的多个几何模型定义的至少一个数据文件;将所述几何模型定义转换成几何模型的几何表示;计算由用户识别的至少一个几何结构与几何模型之间的多个几何条件以产生一组约束;以及根据该组约束计算具有已修改几何结构的已修改几何模型以向用户进行显示;以及适当的装置和计算机可读指令。

权利要求 :

1.一种用于修改由具有用于设计的软件指令的计算机的用户操作的实体模型表示的系统,包括:用于访问具有定义几何模型的多个几何模型定义的至少一个数据文件的装置;

用于将几何模型定义转换成几何模型的几何表示的装置;

用于计算由用户识别的至少一个几何结构与几何模型之间的多个几何条件的装置;

用于确定多个几何定义中的哪些是刚性的以及多个几何定义中的哪些是非刚性的以创建一组约束的装置,其中刚性几何定义与几何模型的拓扑无关,以及非刚性几何定义与几何模型的拓扑有关;以及用于根据该组约束计算具有已修改几何结构的已修改几何模型以向用户进行显示的装置;

用于将已修改几何模型的已修改几何表示保存到所述至少一个数据文件中的装置;

用于用实体模型的联合的当前几何结构状态实时地对多个依赖关系进行定位的装置。

2.根据权利要求1所述的系统,还包括用于向用户显示所述几何模型的几何表示的装置。

3.根据权利要求1所述的系统,还包括用于从所述几何模型去除所述组约束的装置。

4.根据权利要求1所述的系统,其中,所述至少一个数据文件是几何建模器传输文件、建模工具箱信息文件、和实体模型部件文件中的一个。

5.根据权利要求1所述的系统,其中,所述几何表示采取边界表示格式。

6.一种用于修改由具有用于设计的软件指令的计算机的用户操作的实体模型表示的方法,包括:访问具有定义几何模型的多个几何模型定义的至少一个数据文件;

将几何模型定义转换成几何模型的几何表示;

计算由用户识别的至少一个几何结构与几何模型之间的多个几何条件;

确定多个几何定义中的哪些是刚性的以及多个几何定义中的哪些是非刚性的以创建一组约束,其中刚性几何定义与几何模型的拓扑无关,以及非刚性几何定义与几何模型的拓扑有关;以及根据该组约束计算具有已修改几何结构的已修改几何模型以向用户进行显示;

将已修改几何模型的已修改几何表示保存到所述至少一个数据文件中;

用实体模型的联合的当前几何结构状态实时地对多个依赖关系进行定位。

7.根据权利要求6所述的方法,还包括向用户显示所述几何模型的几何表示。

8.根据权利要求6所述的方法,还包括从所述几何模型去除所述组约束。

9.根据权利要求6所述的方法,其中,所述至少一个数据文件是几何建模器传输文件、建模工具箱信息文件、和实体模型部件文件中的一个。

10.根据权利要求6所述的方法,其中,所述几何表示采取边界表示格式。

说明书 :

用于修改实体模型中的几何关系的系统和方法

[0001] 相关申请的交叉引用
[0002] 本申请要求2008年4月14日提交的待决临时美国申请序号61/044,612的优先权。

技术领域

[0003] 本文所述的创新的系统一般涉及计算机辅助设计软件应用程序。更具体而言,所述系统涉及识别实体模型表示中的几何关系。

背景技术

[0004] 在当今的计算机辅助设计(CAD)应用程序的世界中,通常以两种方式:基于历史或无历史(history-less)中的一种来设计部件。基于历史的系统常常以在19世纪80年代中期出现的参数建模范例为特征。在参数建模系统中,创建配方(recipe)或历史树以反映事物如何彼此相关。当对一个原始项目进行修改时,在稍后的时间由该原始项目产生的所有项目被更新。这样,例如,两个面可以保持共面,因为其被以在设计过程期间捕捉且在更新过程期间简单地“重放”的此类关系设计。图1a-1c举例说明三维块的三度投影。参照图1a,三维(“3D”)的C块100对于用户而言可在计算机显示器上观看且需要由用户通过改变底部支腿105、顶部支腿110、或底部支腿105和顶部支腿110两者来进行修改。在基于历史的系统中,用户有多容易地修改C块100取决于其最初在诸如西门子产品生命周期管理软件公司的SolidEdge的CAD应用程序系统中被如何设计。通常,原始设计者创建和/或设计稍后被修改设计者修改的部分,修改设计者可能对原始设计者完全不熟悉。例如,如果原始设计者、即最初设计C块100的那个人具有将与底部支腿105和顶部支腿110有关的面约束为共面的设计方法意图,则在图1c中举例说明的修改动作很容易使用对于3D模型设计领域的技术人员来说基本的已知参数/基于历史的建模技术来实现,但是用于简单的解释因为两个面被约束为共面,移动一个面将促使另一面也移动。如果另一方面,修改设计者意图在单独留下顶部支腿110的同时仅移动与底部支腿105相关联的面,例如,图1b,则必须发生多个附加步骤以去除共面约束,这要求多个附加步骤,从理解如果修改设计者不是原始设计者、那么如何产生C块100的两个支腿开始。此外,如果C块100的原始设计者未将底部支腿105和顶部支腿110建模成共面的,而是用诸如距离或公式的某些其它方法来对支腿进行建模,则如在图1c中看到的那样,要改进两者将使困难增加至修改设计者也可以从头开始对C块100进行建模的程度。
[0005] 另一方面,在由类似于例如CoCreate、IronCAD、和Kubotek的公司采取的无历史或基于主体的方法中修改C块100未能保持由参数建模范例使之普及的历史树。在无历史方法中,明确地对实体模型上的每个项目进行改变。如果C块100的原始设计者意图在于底部支腿105和顶部支腿110上的面保持共面关系,则稍后的修改要求用于编辑的面的手动选择以保证期望的结果,如果原始设计者的意图是未知或不能确定的,则这是困难的。例如,修改设计者可能仅仅通过选择一个面或单独地选择所有其它共面的面来进行图1b或图1c所示的变化,这在本示例中碰巧是少数的,但是在复杂组件模型中可以有几百个。或者,某些软件应用程序可以允许修改设计者“使面共面”并在事后在编辑时永久性地捕捉设计意图,但是这也可能是繁琐的,特别是在具有非常大的模型的情况下。设计意图是实体模型的原始设计者在如何设计模型方面的意图。或者,设计意图将影响实体模型的修改设计者的意图。此后一种变化将使日后进行的在图1b中看到的修改困难,特别是由于现在设计意图可能被烧固(baked)到与设计意图相反的模型中。
[0006] 基于历史的方法存在的问题是在模型创建时结合并固定设计意图,这可能使在模型创建时未预期的稍后进行的改变变得复杂。相反,无历史系统在日后的变化方面是灵活的,但捕捉到关于事物如何相关的微乎其微的智能(intelligence)。如果修改设计者确定在稍后的时间点手动地捕捉此类智能,则类似于基于历史的系统,该智能被结合并固定,从而限制进一步的灵活性。
[0007] 本发明人有利地认识到对在实体模型上提供直接编辑能力的系统和方法的需要,其中,检查当前几何结构并将其与各种模型约束相联合以便实时地对依赖关系(dependency)进行定位(localized)。

发明内容

[0008] 为了解决所识别的需要及相关问题,一种系统提供用于修改在具有用于设计的软件指令的计算机中操纵的实体模型表示的系统,包括计算机系统,其中,所述计算机系统包括存储器、处理器、用户输入设备、以及显示设备;存储在计算机系统的存储器中的计算机生成的几何模型;并且其中,所述计算机系统接收用户输入并访问具有定义几何模型的多个几何模型定义的至少一个数据文件;将几何模型定义转换成几何模型的几何表示;计算用户所识别的至少一个几何结构与几何模型之间的多个几何条件以创建一组约束;以及根据该组约束来计算具有已修改几何结构的已修改几何模型以向用户进行显示。所述系统,其中,所述计算机系统还将已修改几何模型的已修改几何表示保存到所述至少一个数据文件中。所述系统,其中,所述计算机系统还从所述几何模型去除所述一组约束。所述系统,其中,所述至少一个数据文件是几何建模器(modeler)传输文件、建模工具箱(toolkit)信息文件、以及实体模型部分文件中的一个。所述系统,其中,所述几何表示采取边界表示格式。所述系统,其中,所述几何模型是实体模型。所述系统,其中,以递归方式将所述多个几何条件计算到至少一个识别级别(wherein the plurality of geometric conditions are calculated in a recursive manner to at least one level of recognition )。
[0009] 所述系统的其它特征部分地在以下说明书和附图中阐述,并且部分地通过该系统的实施了解。现在参照构成其一部分的以下附图来描述该系统。应理解的是在不脱离所述系统的范围的情况下,可以利用其它实施例且可以进行修改。

附图说明

[0010] 在下文中将结合附图来描述系统,其中,相同的标识表示相同的组件,并且:
[0011] 图1a-1c举例说明三维块的三度投影;
[0012] 图2举例说明样本虚拟产品开发环境;
[0013] 图3是其中可以实施所述系统的计算机系统的方框图;
[0014] 图4a-4b举例说明在软件应用程序中体现的软件编程代码的一般概念;
[0015] 图5是实施例所采用的方法的总体视图的框图;
[0016] 图6举例说明示例性实体模型修改系统;
[0017] 图7举例说明通过使用示例性实体模型修改系统的到平面的变化距离;以及[0018] 图8举例说明通过使用示例性实体模型修改系统的变化圆弧半径。

具体实施方式

[0019] 1.介绍
[0020] 描述了一种用于修改实体模型中的几何关系的方法和系统。在以下说明中,出于解释的目的,阐述了许多特定细节以便提供对所述系统的透彻理解。然而,对于本领域的技术人员来说应显而易见的是可以在没有这些特定细节的情况下实施该系统。在其它实例中,以方框图的形式示出众所周知的结构和设备以便避免不必要地使该系统含糊难懂。
[0021] 图2举例说明样本虚拟产品开发环境。当今所采用的虚拟开发环境通常从创建产品或对其加以改进的客户请求或固有期望开始,一般在200处示出。该产品可以是如开瓶器一样简单或如潜水艇一样复杂。进一步参照图2,原始设计者根据计算机辅助设计(CAD)应用程序205所采用的已知方法对期望产品进行建模,在通用计算机上执行CAD应用程序205,所述通用计算机随后变成用于在应用程序执行和交互时执行计算机辅助设计例行程序的专用计算环境,其细节在下文讨论。CAD应用程序205优选地是都由西门子产品生命周期管理软件公司提供以获得许可的SolidEdge或NX。CAD用户以众所周知且被很好地理解的方式操作CAD应用程序205以便虚拟地显示类似于且符合根据客户请求或固有期望确定的原始设计要求的实体模型。该实体模型一般是部件的组件和多个组件,其中,所述多个组件被进一步分解为子组件和/或部件,全部优选地具有被存储在实体模型数据文件225中以供后续重新调用的虚拟表示。
[0022] 一旦实体模型被确定为处于与原始设计要求一致的适当形式,则优选地由CAE用户使用诸如由西门子产品生命周期管理软件公司提供的NX CAE或FEMAP的计算机辅助工程(CAE)应用程序210对其进行测试,以便进行部分容错测试和多种其它工程测试。如果CAE用户确定必须对实体模型进行修改以成功地通过容错测试,则实体模型被返回到CAD用户以便在CAD应用程序205中进行修改。CAD应用程序205和CAE应用程序210与各用户之间的此迭代是递归的,直至实体模型成功地通过必要的设计要求和工程测试为止。
[0023] 在成功完成之后,处于以其最终设计形式的实体模型还被设计为用于诸如都由西门子产品生命周期管理软件公司提供的NX CAM或CAM Express的计算机辅助制造(CAM)应用程序215中的实际制造。通过使用CAM应用程序215,CAM用户将对数控程序、模具、工具和冲模(die)如何制造实际产品230进行建模。CAM用户可以具有附加修改以符合原始设计要求,例如使用放电加工(EDM)可能要求不同的技术,取决于是否使用线切割EDM还是刻模(die sinking)EDM来制造实际产品230。为了虚拟地对一部分进行铣磨(mill),CAM应用程序215定义用于EDM过程的轨道的优选电极路径。CAM用户可以确定为了符合设计和工程要求,实体模型要求例如在冷却之后的尺寸方面的细微修改以允许包括实际产品230的材料的硬化。
[0024] 在产品的成功虚拟设计、工程化、和制造之后,制造省可以将所有制造规则与和产品有关的产品工程化链接,包括:过程布局和设计、过程模拟/工程化、和利用诸如由西门子产品生命周期管理软件公司提供的Tecnomatix的数字工厂应用程序200的生产管理。制造省可能发现需要改进实际产品230,因为CAM用户用例如已过时且要求制造商使用5轴图灵机(turning machine)来产生必要的坯的EDM系统对产品进行建模,或者制造商已转入喷射成型而不是压缩成型来形成包括实际产品230的部分。例如,必须将实体模型修改为符合制造实际产品230的最终要求。
[0025] 遍及上述虚拟产品开发,产品设计例如从客户请求流动至CAD用户至CAE用户至CAD用户,返回至CAE用户、至CAM用户、然后至用于实际产品230的实际生产的制造商。随着对实体模型的每次编辑,还修改几何关系以便符合例如CAD用户、CAE用户、CAM用户、以及制造商进行的必要设计更改。此外,由于CAD/CAE/CAM用户中的每一个修改实体模型,定义实体模型的数据模型也被修改以适当地解决上文所讨论的变化并被适当地存储在实体模型数据文件225中。然后,制造商根据原始设计规范和后续工程化修改来继续生产实际产品230。虚拟产品开发在系统中发生,其中,用于修改实体模型中的几何关系的所述系统和方法可在驻留于多种硬件系统上的存储器中的多种软件应用程序中执行,下文进行更详细的描述。
[0026] 2.计算机程序产品
[0027] 现在转到硬件系统,图3是其中可以实施所述系统的计算机系统的方框图。图3和随后的讨论意图提供其中可以实现本实施例的适当硬件系统和计算环境的简要的一般说明。本实施例可以在多种已知计算环境中的任何一种中执行。
[0028] 参照图3,示例性计算机系统包括计算机300形式的计算设备,诸如台式计算机或膝上型计算机,其包括多个相关外围设备(未描绘)。计算机300包括中央处理单元(CPU)305和依照已知技术用来在中央处理单元305与计算机300的多个部件之间进行连接并能够实现通信的总线310。CPU 350的操作在本领域中被透彻地理解,其优选地为电路,能够执行具有被编码在其上的计算机可执行指令的计算机程序,诸如由计算机300执行的程序模块。通常,程序模块包括执行特定任务或实现特定数据类型的例行程序、程序、对象、部件、数据结构等。优选地,程序模块包括文件处理模块306、数据显示模块307、逻辑处理模块308、和方法处理模块309。逻辑处理模块308向文件处理模块306、数据显示模块307和方法处理模块309发送请求以根据计算机可执行指令进行操作。同样地,逻辑处理模块从文件处理模块306、数据显示模块307和方法处理模块309接收请求以根据计算机可执行指令进行操作。所述总线310还使得能够实现各种程序模块和多个部件之间的通信。总线310可以是多种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、和本地总线,其使用多种总线架构中的任何一种。计算机300通常包括将中央处理单元306经由总线310连接到诸如键盘320、鼠标325、和/或其它接口设备330的一个或多个接口设备的用户接口适配器315,其它接口设备330可以是任何用户接口设备,诸如触感屏、数字化钢笔输入板等。总线310还经由显示适配器340将诸如LCD屏幕或监视器的显示设备
335连接到中央处理单元305。总线310还将中央处理单元305连接到可以包括ROM、RAM等的存储器345。
[0029] 计算机300还包括将至少一个存储设备355和/或至少一个光驱360耦合到总线的驱动接口350。存储设备355可以包括用于从盘读取和向其写入的未示出的硬盘驱动器、用于从可移动磁盘驱动器读取或向其写入的未示出的磁盘驱动器。同样地,光驱360可以包括未示出的光盘驱动器,其用于从诸如CD ROM或其它光学介质的可移动光盘读取或向其写入。前述驱动器和相关计算机可读介质提供计算机可读指令、数据结构、程序模块和用于计算机300的可被文件处理模块306在由方法处理模块309提供的指令所描述的方法中根据由逻辑处理模块308接收到的指令进行访问的其它数据的非易失性存储。
[0030] 计算机300可以经由通信信道365与其它计算机或计算机网络通信。计算机300可以与局域网(LAN)或广域网(WAN)中的此类其它计算机相关联,或者其可以是具有另一计算机的客户端/服务器布置中的客户端等。此外,还可以在分布式计算环境中实施本实施例,其中,由通过通信网络链接的远程处理设备来执行在由方法处理模块309提供的指令所描述的方法中由逻辑处理模块308提供的任务指令。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备二者中。所有这些配置、以及适当的通信硬件和软件在本领域中是已知的。
[0031] 现在更详细地转到程序模块,图4a-4b举例说明在软件应用程序中体现的软件编程代码的一般概念。进一步参照图4a,下面将在本实施例的背景下更详细地描述程序模块,其中,软件应用程序400包括如上文所讨论的那些的可访问程序模块。软件应用程序400可以是实体建模应用程序的形式,诸如上述CAD应用程序205、CAE应用程序210或CAM应用程序215。此外,可以预期由具有供访问和利用的特定API(“应用程序编程界面”)调用特征的第三方供应商提供软件应用程序400。继续,随着用户与软件应用程序400相交互,某些修改事件触发器与变化建模工具箱405相交互,这将在下文中更详细地讨论。软件应用程序400和变化建模工具箱405一起或单独地在由方法处理模块309提供的指令所描述的方法中利用逻辑处理模块308来调用低级几何建模内核以根据由用户选择并由软件应用程序400执行的命令来实现实体模型的某些修改事件,如在实体建模领域中一般理解的那样,但在下文中更详细地进行讨论。低级几何建模内核通常是类似于由西门子产品生命周期管理软件公司授权的Parasolid的至少三维(3D)几何建模器(modeler)410的集合和类似于由西门子产品生命周期管理软件公司提供的3D DCM产品的几何软件部件库415的集合。
[0032] 另一方面,参照图4b,变化建模工具箱405对从软件应用程序400传送的变化编辑命令进行操作。另外,软件应用程序400将非变化建模调用(call)传送到3D几何建模器410,并且3D几何建模器410利用几何软件部件库415的集合,如几何建模器领域中通常理解的那样。关于变化建模工具箱405及下文将更详细地讨论的,发生与涉及查找、编辑、求解和应用的变化编辑有关的多个操作。在实体建模领域中一般应理解的是以上几何软件部件库的集合提供建模功能,例如,诸如几何约束求解、变化设计、参数设计、运动模拟、冲突检测、间隙计算、拓扑结构位置、拓扑结构移动解决方案、以及隐藏线消除。还可以预期在本实施例的范围内,3D几何建模器410和部件库415是同一应用程序的部件而不是单独的部件、或其组合。已描述了计算机程序产品,现在提供关于模型修改系统的更多细节。
[0033] 3.模型修改系统
[0034] 现在转到模型修改系统,图5是本实施例所采用的方法的总体视图的框图。参照图5,本实施例公开了使用由方法处理模块309提供的指令所描述的方法的逻辑处理模块308,其中,所述方法是用于在具有用于设计的软件指令的计算机中操纵的实体模型表示中修改几何关系的方法,一般在500处描绘。提到以下步骤是为了提供在具有随后讨论的细节的系统中所述的实施例的概观。所述系统访问具有定义几何模型的多个几何模型定义的至少一个数据文件(步骤500)。所述系统将几何模型定义转换成几何模型的几何表示(步骤
505)。所述系统计算由用户识别的至少一个几何结构与几何模型之间的多个几何条件以创建一组约束(步骤510)。所述系统根据该组约束来计算具有已修改几何结构特征的已修改几何模型以向用户进行显示(步骤515)。
[0035] 图6举例说明示例性实体模型修改系统。参照图6,使用软件应用程序400的用户执行用于软件应用程序400的必要命令以访问优选的是硬盘驱动器600的存储设备355,硬盘驱动器600具有与存储在实体模型数据文件225中的实体模型的虚拟表示有关的数据,所述实体模型数据文件225优选地可被软件应用程序400、变化建模工具箱405、3D几何建模器410和部件库415访问。软件应用程序400的特征在于实体建模应用程序605,其使用文件处理模块308访问优选地被构造为优选地以指示用于3D几何建模器410的建模器传输文件类型的stand.x_t格式、指示用于变化建模工具箱405的变化建模工具箱信息文件类型的stand.vtk_data格式被存储在硬盘驱动器600上的数据文件610的实体模型数据文件225,其中,stand*指的是类属部分文件名。实体建模应用程序605具有其自己的已识别文件类型扩展,例如*.APP,其用该已识别文件类型扩展来获得用于操纵实体模型的足够信息。继续,实体建模应用程序605访问存储在硬盘驱动器600上的数据文件610以将stand.x_t文件加载到将被3D几何建模器410访问的3D几何建模器会话主体。stand.vtk_data文件被加载并添加到3D几何建模器会话主体。实体建模应用程序605加载关于实体模型的应用程序数据并根据其自己的文件类型例如PRT来访问数据文件610。一旦已产生相互作用,如稍后将讨论的,变化建模工具箱405通过下文更详细地讨论的变换建模工具箱API 615来处理修改计算。在实体模型修改之后,为了将已修改实体模型保存到硬盘驱动器600,块620举例说明与变化建模工具箱405有关的数据被从实体模型删除(striped)并放置到vtk_data数据结构中,所述vtk_data数据结构随后被保存到stand.vtk_data文件。被删除的实体主体也被保存到硬盘驱动器600,如应用程序数据一样。
[0036] 4.模型修改方法
[0037] 其中可以存在不止一个交互作用的交互作用初始化在实体建模应用程序605创建交互作用对象625时开始并在交互作用对象625被摧毁时结束。实体建模应用程序605优选地在模型状态下用部件实例、现有约束和不可直接从部件获得的,例如内部部件(intra-part)的尺寸填充(populate)交互作用对象625,并且还规定哪些尺寸是硬性意图尺寸-可以被浮动的那些和可以按照实体建模应用程序605的用户所定义的被打破的那些。实体建模应用程序605优选地在模型状态下用变化拓扑结构(topology)填充交互作用对象625,其中,该拓扑结构是还不仅包括变化拓扑结构、而且包括随着由实体建模应用程序605提供的修改操作而变的FEV组的面、边、或顶点(“FEV”)。此外,实体建模应用程序
605优选地在模型状态下用与实体模型有关且不可直接获得的,例如,诸如定义环境的距离和邻近关系(neighborhood)的搜索范围选项的附加信息来填充交互作用对象625。实体建模应用程序605通过诸如到变化建模工具箱405的程序或API调用的已知通信方法来传送上述项目。
[0038] 变化建模工具箱405从实体建模应用程序605接收交互作用信息并通过使用例如共面、共轴、等半径、相切和对称的一般在实体建模应用程序605中使用的已知实体搜索机制,通过搜索变化拓扑结构与不在变化拓扑结构中的其它FEV之间的几何关系来计算交互作用对象625的意图。变化建模工具箱405将搜索到的信息传送回到实体建模应用程序605以供用户优选地选择。或者,选择可以根据预定义选择方案或其它已知识别方法自动地发生。实体建模应用程序605可选地在一级、二级、直至n级的识别中以迭代方式递归地搜索变化拓扑结构与其它FEV之间的几何关系。例如,一级的识别适用于通过一个程度与变化拓扑结构相关的那些FEV(a first level of recognition applies to those FEVs related to the change topology by one degree),也就是说,与变化拓扑结构共享特征的那些被搜索的FEV。
[0039] 继续该意图,实体建模应用程序605规定所确定的几何关系中的哪个拓扑结构特征将是刚性或非刚性特征。刚性特征由其几何定义与主实体模型拓扑结构无关的拓扑结构定义。相反,非刚性特征由其几何定义取决于主实体模型拓扑结构的拓扑结构定义。变化建模工具箱405将以上信息提供给部件库415,例如三维空间约束管理器(3D DCM),其向使得能够高效地使用尺寸和约束以将部件定位于组件和机构中的一系列应用程序提供尺寸驱动的基于约束的设计功能,以控制部件的形状并产生3D草图。此外,实体建模应用程序605的用户指示将在变化拓扑结构上执行的操作类型,例如改变距离值、拖曳特征、或产生偏移。关于可用操作类型,用户还可以规定包括诸如以美国公开号2008/0143708在2006年12月18日提交的“SYSTEM AND METHOD FOR AUTO-DIMENSIONING BOUNDARY REPRESENTATION MODEL”中公开和描述的Autodimensioning的选项。实体建模应用程序605在考虑为了确定一组约束而提供的操作的情况下向交互作用对象625提供用于修改的所选值,其中,所述约束是被推断的或被定义的或两者。变化建模工具箱405将被识别和被接受的约束和尺寸提供给3D DCM,并添加最小连接约束以在必要时将实体模型保持在一起。
[0040] 该修改发生并在更新期间被应用于实体模型。例如,实体建模应用程序605通过将尺寸值或FEV组位置改变规定的距离在符合该组约束的同时根据设计意图来修改变化拓扑结构。当使面拓扑结构偏移时,优选的是使用3D几何建模器410来预先计算新的几何结构。在更新期间,变化建模工具箱405对约束和尺寸求解以确定包括半径的新FEV位置值。涉及变化建模工具箱405的更新被分成被应用于实例的3D几何建模器410和实体模型部件位置变换,其能够被实体建模应用程序605询问。系统计算具有已修改编辑特征的几何模型以便显示给用户。这样做时,变化建模工具箱405优选地将求解的变化应用于3D几何建模器410所表示的模型,以及对由实体建模应用程序605所提供的解导致的约束违反的检查。在拖曳FEV组的情况下,软件应用程序400可以通过优选地使用回卷(rollback)程序在一个循环内重复地应用变化组值来避免滞后。此外,实体建模应用程序605可以对共享同一基本数据并形成同一交互作用的一部分的不同操作进行进一步程序调用。实体建模应用程序605优选地请求任何被消耗的拓扑结构面,更新用于变化的面的映射信息,进行部件定位变换以向用户显示已修改的实体模型,并随后摧毁交互作用对象625。
[0041] 5.应用程序工作流程示例
[0042] 图7举例说明通过使用示例性实体模型修改系统的到平面的变化距离。参照图7,用户意图通过将所选编辑部分拖曳至在705处所示的位置来修改实体模型部分700。用户激活在显示设备335中所示的实体建模应用程序605以加载实体模型部分。实体建模应用程序605将具有平面710的实体模型部分700加载到变化建模工具箱405中。继续的,变化建模工具箱405还通过来自实体建模应用程序605的帮助将圆柱面715识别为与平面
710相切。实体建模应用程序605将圆柱面715添加到选择组,并递归地检查来看是否存在可能被修改的任何其它FEV组。变化建模工具箱405还将斜角面720识别为当前与圆柱面
715相切并将其添加到选择组。用户意图使平面710固定,但将该选择组确定为非刚性的。
非刚性特征是其几何定义取决于主模型拓扑结构的特征。进一步确定约束,平面710和圆柱面715被约束为相切,以及圆柱面715和斜角面720被约束为相切。此外,自动确定尺寸(autodimensioning)操作选项添加从远平行面725到所选平面710的距离。用户利用由实体建模应用程序605提供的工具来以图形方式将选择组从平面710位置到远平行面725位置拖曳自动距离(autodistance)。
[0043] 图8举例说明通过使用示例性实体模型修改系统的变化圆弧半径。参照图8,用户意图通过将数值半径值从10个单位变成20个单位来修改实体模型部分800。用户激活在显示设备335中所示的实体建模应用程序605以将实体模型部分800加载到变化建模工具箱405。所选边805也被以使得壳(shell)特征被变化建模工具箱405认出并识别的方式识别并加载到变化建模工具箱405中。软件应用程序400将所选边805添加到选择组,并递归地检查来看是否存在可能被修改的任何其它FEV组。变化建模工具箱405识别到所选边805在面拓扑结构上,因此相关面拓扑结构被添加到变化建模工具箱405。用户通过使用将必要程序调用传送到变化建模工具箱405的实体建模应用程序605来选择变化半径操作。所选边805被约束与面拓扑结构一致,而圆柱面被确定为非刚性的。如前所述,非刚性圆柱面取决于主模型拓扑结构。计算相关壳面之间的距离并应用新的半径值。变化建模工具箱405将用于偏移的新位置810和两个圆柱半径的变化面传送回到实体建模应用程序605以便由用户在显示设备335中观看。
[0044] 6.结论
[0045] 本实施例可以在数字电子电路中、或在计算机硬件、固件、软件中、或在其组合中实现。本实施例的装置可以在有形地在机器可读存储设备中体现的用于由可编程处理器执行的计算机程序产品中实现;并且本实施例的方法步骤可以由通过对输入数据进行操作并生成输出来执行指令程序以执行本实施例的功能的可编程处理器来执行。
[0046] 本实施例可以有利地在可在可编程系统上执行的一个或多个计算机程序中实现,所述可编程系统包括被耦合已从数据存储系统接收数据和指令、并向其发送数据和指令的至少一个可编程处理器、数据存储系统、至少一个输入设备、和至少一个输出设备。所述应用程序可以以高级程序或面向对象的编程语言、或者如果期望以汇编或机器语言来实现;并且在任何情况下,所述语言可以是编译或解释语言。
[0047] 通常,处理器将从只读存储器和/或随机存取存储器接收指令和数据。适合于有形地体现计算机程序指令和数据的存储设备包括许多形式的非易失性存储器,包括例如半导体存储器设备,诸如EPROM、EEPROM、和闪速存储器设备;磁盘,诸如内部硬盘和可移动盘;磁光盘;以及CD-ROM盘。前述的任何一个可以由专门设计的ASIC(专用集成电路)来补充或结合到其中。
[0048] 已描述了许多实施例。应理解的是在不脱离本实施例的精神和范围的情况下进行各种修改。因此,其它实现在以下权利要求的范围内。