《使用多事务技术对面向对象环境中的对象执行几何变换的方法和装置.pdf》由会员分享,可在线阅读,更多相关《使用多事务技术对面向对象环境中的对象执行几何变换的方法和装置.pdf(54页完整版)》请在专利查询网上搜索。
1、10申请公布号CN104081400A43申请公布日20141001CN104081400A21申请号201380007800X22申请日2013012461/596,79720120209USG06F17/50200601G06F17/3020060171申请人鹰图公司地址美国阿拉巴马州72发明人SD赫罗尔德74专利代理机构北京三友知识产权代理有限公司11127代理人吕俊刚刘久亮54发明名称使用多事务技术对面向对象环境中的对象执行几何变换的方法和装置57摘要可以在模型数据库中通过根据准则将对象划分成许多有序分区并且作为原子操作变换每个分区中的对象来对诸如表示面向对象企业工程系统中的横梁和立柱。
2、的对象这样的大量对象进行几何变换。要变换的对象被组织成有序的分区,并且以顺序次序对分区进行变换,使得给定对象的所有前趋在该给定对象之前或者在与给定对象相同的操作中变换。如果大的变换操作在所有小的变换操作已完成之前异常地终止,则模型数据库仍然处于一致状态。可以从中断点恢复变换操作。此外,可以变换的对象的数量不受系统中可用的存储器的量约束。30优先权数据85PCT国际申请进入国家阶段日2014080186PCT国际申请的申请数据PCT/US2013/0228512013012487PCT国际申请的公布数据WO2013/119390EN2013081551INTCL权利要求书3页说明书23页附图27。
3、页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书23页附图27页10申请公布号CN104081400ACN104081400A1/3页21一种用于对在面向对象企业工程系统内表示的多个对象进行几何变换的由计算机实施的方法,其中所述多个对象中的至少一个对象是所述多个对象中的另一个对象的前趋,所述方法包括处理器执行以下操作从用户接受选择要几何变换的所述多个对象的输入和要对所选对象执行的几何变换的类型的指示;对于每个所选对象,在所述多个对象中自动地标识所选对象的任何前趋对象,其中,所选对象的至少一个参数的值功能上依赖于所述任何前趋对象的至少一个参数;以及将所选对象自动地划分成多个。
4、有序的对象分区,使得对于任何给定对象,所述对象的前趋对象中的每个对象在以下至少一个中与所述给定对象相同的分区和前面的分区。2根据权利要求1的方法,所述方法进一步包括根据几何变换的所述类型的所述指示逐个对象分区以分区次序对所述对象进行几何变换。3根据权利要求2的方法,所述方法进一步包括,在对给定分区中的所述对象进行几何变换时暂时使所述分区中的每个对象的任何后继对象变得只读;以及暂时使所述分区中的每个对象的任何前趋对象变得只读。4根据权利要求3的方法,所述方法进一步包括对于暂时变得只读的每个对象,生成对应的待办项目;以及如果所述暂时变得只读的对象中的任一个对象随后被变换,则删除所述对应的待办项目。。
5、5根据权利要求2的方法,所述方法进一步包括,在对给定分区中的所述对象进行几何变换时标识所述分区中的所述对象的任何下级对象;将标识出的下级对象添加到所述分区;以及根据几何变换的所述类型的所述指示对所添加的下级对象进行几何变换。6根据权利要求1的方法,所述方法进一步包括以分区次序处理所述分区中的至少两个,其中,所述处理包括保存关于所述分区的信息;以及在处理后续分区之前,根据几何变换的所述类型的所述指示对所述分区中的所述对象进行几何变换;其中,所保存的信息包括足以重新开始对所述分区中的所述对象进行几何变换的信息。7根据权利要求1的方法,其中,将所选对象自动地划分成多个有序的对象分区包括生成将每个所选。
6、对象与所选对象的所有前趋对象联系起来的前趋图。8根据权利要求1的方法,所述方法进一步包括标识与所选对象中的任一个相关的至少一个外部对象;以及断开标识出的外部对象与所选对象之间的关系。9一种用于对在面向对象企业工程系统内表示的多个对象进行几何变换的系统,其中所述多个对象中的至少一个对象是所述多个对象中的另一个对象的前趋,所述系统包括用户接口,该用户接口被构造成从用户接受选择要几何变换的多个对象的第一输入并权利要求书CN104081400A2/3页3且用于从用户接受指示要对所选对象执行的几何变换的类型的第二输入;标识模块,该标识模块被耦接到所述用户接口并且构造成对于每个所选对象,自动地标识与所选对。
7、象相对应的任何前趋对象,其中,所选对象的至少一个参数的值功能上依赖于所述任何前趋对象的至少一个参数;分割模块,该分割模块耦接到所述标识模块并且构造成将所选对象自动地划分成多个有序的对象分区,使得对于任何给定对象,所述对象的前趋对象中的每个对象在以下至少一个中与所述给定对象相同的分区和前面的分区。10根据权利要求9的系统,所述系统进一步包括变换模块,该变换模块耦接到所述分割模块并且构造成根据所指示的几何变换的类型逐个对象分区以分区次序对所述对象进行几何变换。11根据权利要求10的系统,所述系统进一步包括冻结模块,该冻结模块耦接到所述变换模块并且构造成,逐个分区暂时使所述分区中的每个对象的任何后继。
8、对象变得只读;以及暂时使所述分区中的每个对象的任何前趋对象变得只读。12根据权利要求11的系统,其中,所述冻结模块被构造成对于暂时变得只读的每个对象,生成对应的待办项目;并且所述系统进一步包括清除模块,该清除模块耦接到所述变换模块并且构造成,如果所述暂时变得只读的对象中的任一个对象随后被变换,则删除所述对应的待办项目。13根据权利要求10的系统,所述系统进一步包括传播模块,该传播模块耦接到所述标识模块并且构造成,对于每个分区标识所述分区中的所述对象的任何下级对象;以及将标识出的下级对象添加到所述分区;其中所述变换模块被构造成根据所指示的几何变换的类型对所添加的下级对象进行几何变换。14根据权利。
9、要求9的系统,所述系统进一步包括处理控制模块,该处理控制模块耦接到所述变换模块并且构造成以分区次序处理所述分区中的至少两个,其中,所述处理控制模块被构造成,对于每个分区保存关于所述分区的信息,其中,所保存的信息包括足以重新开始对所述分区中所述对象进行几何变换的信息;并且使所述变换模块在处理后续分区之前根据所指示的几何变换的类型对所述分区中的所述对象进行几何变换。15根据权利要求9的系统,其中,所述分割模块被构造成生成将每个所选对象与所选对象的前趋对象联系起来的前趋图。16根据权利要求9的系统,所述系统进一步包括修剪模块,该修剪模块被构造成标识与所选对象中的任一个相关的至少一个外部对象;以及断开。
10、标识出的外部对象与所选对象之间的关系。17一种用于在计算机系统上使用以复制在面向对象企业工程系统内表示的多个前趋和后继对象的计算机程序产品,其中每个后继对象与前趋对象具有前趋关系,所述计算机程序产品包括权利要求书CN104081400A3/3页4非暂时性计算机可读介质,在该非暂时性计算机可读介质存储了计算机指令使得,当被处理器执行时,所述指令使所述处理器从用户接受选择要几何变换的所述多个对象的输入和要对所选对象执行的几何变换的类型的指示;对于每个所选对象,在所述多个对象中自动地标识所选对象的任何前趋对象,其中,所选对象的至少一个参数的值功能上依赖于所述任何前趋对象的至少一个参数;以及将所选对象。
11、自动地划分成多个有序的对象分区,使得对于任何给定对象,所述对象的前趋对象中的每个对象在以下至少一个中与所述给定对象相同的分区和前面的分区。18根据权利要求17的计算机程序产品,其中,所述指令使所述处理器根据几何变换的类型的指示逐个对象分区以分区次序对所述对象进行几何变换。19根据权利要求18的计算机程序产品,其中,所述指令使所述处理器暂时使所述分区中的每个对象的任何后继对象变得只读;以及暂时使所述分区中的每个对象的任何前趋对象变得只读。20根据权利要求19的计算机程序产品,其中,所述指令使所述处理器对于暂时变得只读的每个对象,生成对应的待办项目;并且如果所述暂时变得只读的对象中的任一个对象随后。
12、被变换,则删除所对应的待办项目。21根据权利要求18的计算机程序产品,其中,所述指令使所述处理器在对给定分区中的所述对象进行几何变换时标识所述分区中的所述对象的任何下级对象;将标识出的下级对象添加到所述分区;以及根据几何变换的所述类型的所述指示对所添加的下级对象进行几何变换。权利要求书CN104081400A1/23页5使用多事务技术对面向对象环境中的对象执行几何变换的方法和装置0001相关申请的交叉引用0002本申请要求于2012年2月9日提交的发明名称为“METHODANDAPPARATUSFORPERFORMINGAGEOMETRICTRANSFORMATIONONOBJECTSINAN。
13、OBJECTORIENTEDENVIRONMENTUSINGAMULTIPLETRANSACTIONTECHNIQUE”的美国临时专利申请NO61/596,797的权益,其整个内容用于所有目的通过引用并入在本文中。技术领域0003本发明涉及计算机辅助设计和计算机辅助制造CAD/CAM软件系统,并且更具体地,涉及用于对这样的系统所使用的数据库中的大量对象和关系执行几何变换的方法和装置。背景技术0004企业工程系统,有时也被称为空间信息管理SIM系统,是帮助二维2D和三维3D建模与可视化的计算机辅助设计CAD系统。这些系统被用在工业工厂诸如炼油厂和发电站以及其它大型复杂结构诸如高层建筑物、船舶以及。
14、采矿和其它材料处理设施的设计、施工、运营以及改建中。利用它们的图形用户接口GUI,企业工程系统使得设计者能够对结构、管道、电力、供暖、通风与空调HAVC以及其它复杂的系统进行布局并且在施工或运营的各种阶段使工程的所有或选择部分可视化。0005大多数现代企业工程系统利用面向对象范例,其中称作“对象”的软件构造表示现实项目,诸如横梁、墙壁、地板、管路、阀门、导管、开关、风扇、输送管等等。一些对象表示仅仅用于设计者的方便而不表示物理项目的项目,诸如坐标网格系统。0006对象典型地被用软件实施为数据结构有序的数据元素组,其存储标识所表示的项目的类型的信息、以及关于由每个对象表示的特定项目的信息诸如适合。
15、于每个项目的长度、宽度、颜色、容量等。对象典型地还包括“方法”,所述方法是对对象的数据元素进行操纵和/或将关于对象的信息返回给调用方的例程。表示用户的问题域内项目,并且为用户可见,并且能够由用户经由SIM系统用户接口UI操纵的对象有时被称为“设计对象”,以将它们和下级对象在下面描述或可能不为用户直接可见的但是仍然是模型所必需的对象进行区分。0007许多设计对象由其它“下级”对象组成。例如,横梁可以由单构件系统和许多下级对象组成,所述下级对象包括框架连接件表示横梁如何在每端连接到其它构件、零件表示最后的物理对象、端口表示沿着横梁的连接点以及其它对象。横梁中的开口由相应的附加的对象表示。如果横梁的。
16、一端被修整,则修整操作也由对象表示。在一些情况下,当用户将对象添加到模型时,SIM系统自动地将适当的下级对象添加到模型。共同地,设计对象及其相关的下级对象被称为“设计对象组”。0008大多数对象借助于关系链接到其它对象。在不同的上下文中使用不同类型的关说明书CN104081400A2/23页6系。例如,一种关系被用来将对象布置成“系统”的逻辑层次。当管道被连接到设备上的喷嘴时,使用不同类型的关系。第三类型的关系被用来将横梁连接到立柱。0009对象之间的关系是有序的概念。关系可以指示对应的对象被添加到模型的逻辑次序,其可以不同于现实项目将被构造的次序。例如,当对发电厂建筑物建模时,设计者典型地建。
17、立网格坐标系统。接着设计者添加立柱并且将立柱放置在网格系统内的期望坐标处。稍后,设计者在立柱下面添加底脚。然而,当实际地构建发电厂时,在能够将立柱设置在底脚上之前,建造底脚。0010对象之间的另一类型的关系是“功能依赖”。功能依赖可以存在于相关对象“独立”对象和一个或更多个“从属”对象之间。当独立对象改变时,所有从属对象也自动地改变。在先前的立柱和底脚示例中,立柱是独立对象并且底脚依赖于它。如果立柱被移动或者它必须承受的重量改变,则企业工程系统根据需要自动地移动底脚或者自动地改变其尺寸或承重能力。此外,由企业工程系统自动地再计算作为立柱的从属的任何其它对象的特性。更新对象即,重新计算对象的参数。
18、中的一个或更多个有时被称为“重新计算”对象。0011如所指出的,在建模阶段,典型地在将对应的底脚对象添加到模型之前,将立柱对象添加到模型。然而,当构造物理结构例如,发电厂时,必须在立柱能够被附接到基础的顶部之前建造底脚。因此,对象添加到模型的次序未必与对应的现实项目建造或者设置的次序相同。类似地,功能依赖关系未必指示现实项目建造或者设置的次序。0012许多现代企业工程系统利用关系数据库RDB或其它数据库管理系统DBMS来存储表示对象和关系的持久性数据结构。例如,RDB记录或表行可以被用来存储对象和关系数据结构。0013企业工程系统的一个特别有用的特点是对对象或用户选择的一组对象进行几何变换的能。
19、力。几何变换的示例包括移动对象和旋转对象。0014为了维持对象和关系在模型数据库中的有效性和一致性,对该数据库的每个操作在数据库事务内执行。事务具有两个主要目的1为了提供允许从系统故障正确恢复的可靠的工作单元;以及2为了提供同时访问数据库的程序之间的隔离。事务提供“全有或全无”主张。要么对数据库的所有修改成功地完成,要么哪个都不完成。0015因此,为了确保模型的有效性和一致性,企业工程系统典型地在单个事务中执行几何变换。事务包括三个步骤。在第一步骤中,开始事务并且将表示要变换的对象和关系的所有数据结构从数据库带进存储器。在第二步骤中,在存储器中变换对象并且重新计算所有从属对象。接着,在第三步骤。
20、中,现在修改的表示对象和关系的数据结构被写回到数据库并且事务被确认。0016许多工业工厂模型涉及极大量的对象和关系,这会对企业工程系统造成问题。系统的虚拟存储器必须足够大以同时存储表示要被几何变换的对象和它们的关系的所有数据结构。针对几何变换选择模型的大部分,诸如移动石油化学工厂内的蒸馏器,会使系统的存储器容量被超过。发明内容0017本发明的实施方式提供用于对在面向对象企业工程系统内表示的多个对象进行说明书CN104081400A3/23页7几何变换的由计算机实施的方法。多个对象中的至少一个对象是多个对象中的另一个对象的前趋PREDECESSOR。该方法涉及处理器执行数个操作,这些操作包括从用。
21、户接受选择要几何变换的多个对象的输入以及接受将对所选对象执行的几何变换的类型的指示。对于每个所选对象,在多个对象中,自动地标识所选对象的任何前趋对象。所选对象的至少一个参数的值功能上依赖于任何前趋对象的至少一个参数。将所选对象自动地划分成多个有序的对象分区。对于任何给定对象,对象的前趋对象中的每个对象在与给定对象相同的分区中或在前面的分区中。0018对象根据几何变换的类型的指示按照对象的分区以分区次序进行几何变换。当对给定分区中的对象进行几何变换时,暂时使分区中的每个对象的任何后继SUCCESSOR对象变得只读。暂时使分区中的每个对象的任何前趋对象变得只读。对于变得暂时只读的每个对象,可以生成。
22、对应的待办项目。如果暂时变得只读的对象中的任一个随后被变换,则可以删除所对应的待办项目。0019当对给定分区中的对象进行几何变换时,可以标识分区中的对象的任何下级对象。可以将标识出的下级对象添加到分区,并且可以根据几何变换的类型的指示对所添加的下级对象进行几何变换。0020可以以分区次序处理分区中的至少两个。处理包括在处理后续分区之前保存关于分区的信息并且根据几何变换的类型的指示对分区中的对象进行几何变换。所保存的信息可以包括足以重新开始对分区中的对象进行几何变换的信息。0021将所选对象自动地划分成多个有序的对象分区可以包括生成前趋图,所述前趋图将每个所选对象与所有所选对象的前趋对象联系起来。
23、。0022该方法可以包括标识与所选对象中的每个对象相关的至少一个外部对象并且断开标识出的外部对象与所选对象之间的关系。0023本发明的另一实施方式提供用于对在面向对象企业工程系统内表示的多个对象进行几何变换的系统。多个对象中的至少一个是多个对象中的另一个对象的前趋。该系统包括用户接口,该用户接口被构造成从用户接受选择要几何变换的多个对象的第一输入并且用于从用户接受指示要对所选对象执行的几何变换的类型的第二输入。标识模块耦接到用户接口并且被构造成对于每个所选对象,自动地标识与所选对象相对应的任何前趋对象。所选对象的至少一个参数的值功能上依赖于任何前趋对象的至少一个参数。分割模块耦接到标识模块并且。
24、被构造成自动地将所选对象划分成多个有序的对象分区。对于任何给定对象,对象的前趋对象中的每个对象在与给定对象相同的分区中或在前面的分区中。0024变换模块可以耦接到分割模块并且构造成根据所指示的几何变换的类型逐个对象分区以分区次序对对象进行几何变换。0025冻结模块可以耦接到变换模块并且构造成逐个分区,暂时使分区中的每个对象的任何后继对象变得只读并且暂时使分区中的每个对象的任何前趋对象变得只读。冻结模块可以被构造成为暂时变得只读的每个对象生成对应的待办项目。0026清除模块可以耦接到变换模块并且构造成如果暂时变得只读的对象中的任一个对象随后被变换,则删除所对应的待办项目。0027传播模块可以耦接。
25、到标识模块并且构造成对于每个分区,标识分区中的对象的任何下级对象并且将标识出的下级对象添加到分区。变换模块被构造成根据所指示的几何变说明书CN104081400A4/23页8换的类型对所添加的下级对象进行几何变换。0028处理控制模块可以耦接到变换模块并且构造成以分区次序处理分区中的至少两个。处理控制模块可以被构造成对于每个分区,保存关于分区的信息。所保存的信息包括足以重新开始对分区中对象进行几何变换的信息。处理控制模块可以被构造成使变换模块在处理后续分区之前根据所指示的几何变换的类型对分区中的对象进行几何变换。0029分割模块可以被构造成生成将每个所选对象与所有所选对象的前趋对象联系起来的前。
26、趋图。0030修剪模块可以被构造成标识与所选对象中的任一个相关的至少一个外部对象并且断开标识出的外部对象与所选对象之间的关系。0031本发明的又一个实施方式提供用于在计算机系统上使用的计算机程序产品。计算机程序产品可以被用于复制在面向对象企业工程系统内表示的多个前趋和后继对象。每个后继对象与前趋对象具有前趋关系。计算机程序产品包括在其上存储了计算机指令的非暂时性计算机可读介质。当被处理器执行时,指令使处理器从用户接受输入。该输入选择要几何变换的多个对象,并且该输入提供要对所选对象执行的几何变换的类型的指示。对于每个所选对象,指令使处理器在多个对象中自动地标识所选对象的任何前趋对象。所选对象的至。
27、少一个参数的值功能上依赖于任何前趋对象的至少一个参数。指令还使处理器将所选对象自动地划分成多个有序的对象分区。对于任何给定对象,对象的前趋对象中的每个对象在与给定对象相同的分区或前面的分区中。0032指令可以使处理器根据几何变换的类型的指示逐个对象分区以分区次序对对象进行几何变换。0033指令可以使处理器暂时使分区中的每个对象的任何后继对象变得只读并且暂时使分区中的每个对象的任何前趋对象变得只读。0034对于暂时变得只读的每个对象,指令可以使处理器生成对应的待办项目。如果暂时变得只读的对象中的任一个对象随后被变换,则指令可以使处理器删除所对应的待办项目。0035当对给定分区中的对象进行几何变换。
28、时,指令可以使处理器标识分区中的对象的任何下级对象并且将标识出的下级对象添加到分区。指令可以使处理器根据几何变换的类型的指示对所添加的下级对象进行几何变换。附图说明0036将通过与附图相结合地参照特定实施方式的以下具体描述来更全面地理解本发明,其中0037图1是假设的对象集合和假设的在对象之间的关系的示意表示图。0038图2是根据本发明的实施方式为几何变换作准备而排序并且分割的、图1的设计对象的示意表示图;0039图3是根据本发明的实施方式的模块化企业工程系统的示意框图。0040图4是例示了本发明的实施方式的总体操作的流程图。0041图5图13例示了本发明的实施方式的示例性用户接口的方面。00。
29、42图14是例示了图4的变换操作的子操作的高级别流程图。说明书CN104081400A5/23页90043图15是例示了在图4操作上扩展的用来将对象标识符OID的列表划分成有序分区的操作的流程图。0044图16是根据本发明的实施方式的两个设计对象和对应的相应的下级对象的示意图。0045图17包含根据本发明的实施方式用于提供类信息以使得能实现诸如图16的对象中的关系路径的遍历的示例性XML文件片段。0046图18是根据本发明的实施方式的XML类描述符XMLCLASSDESCRIPTOR文件的更完整的示例。0047图19例示了根据本发明的实施方式的示例性前趋图。0048图20示意性地例示了在对象之。
30、间或在对象中的关系中的循环的示例。0049图21是根据本发明的实施方式概括对分区进行排序并且依次处理分区的操作的流程图。0050图22是例示了根据本发明的实施方式在图21的这样的操作上扩展的处理选择分区中的对象的流程图。0051图23是根据本发明的实施方式的变换图数据结构的示意图。0052图24是根据本发明的实施方式的图23的变换图数据结构的值条目阵列的示意图。0053图25是根据本发明的实施方式的图24的阵列的值条目的示意图。0054图26是根据本发明的实施方式的图23的变换图数据结构的关系条目的示意图。0055图27是例示了根据本发明的实施方式的数个假设对象及其之间的关系的示意图。0056。
31、图28是与图27的对象和关系相对应的前趋图的示意表示。0057图29是例示了根据本发明的实施方式在对象已被划分成分区之后图27和图28的对象的示意图。0058图30图33例示了用来举例说明本发明的实施方式的操作的四个假设事务。0059图34A图34B包含根据本发明的实施方式示意性地例示了用于对在面向对象企业工程系统内表示的多个对象进行几何变换的计算机化的方法的流程图。0060图35包含根据本发明的实施方式用于对在面向对象企业工程系统内表示的多个对象进行几何变换的系统的示意框图。具体实施方式0061根据本发明,公开了用于对大量对象进行几何变换、同时维持模型数据库的完整性但是没有现有技术的存储器约。
32、束的方法和装置。大的几何变换操作被划分成顺序执行的许多较小的原子操作事务。每个小的事务对对象的选择子集进行几何变换。因此,如果大的几何变换操作在所有小的几何变换事务已完成之前中断,则模型数据库仍然处于一致状态,并且可以从中断点恢复整个几何变换操作。0062我认识到对对象进行几何变换的次序是重要的。我以图1开始我的描述,图1示意性地表示多个假设对象A1、A2、A3、B1、Z4和对象的对A1Z4之间的关系由实线表示。图1为了说明的简单示出了相对数量少的对象。对象A1、B1、C1以及D1表示设计对说明书CN104081400A6/23页10象。如所指出的,设计对象可以由零个或多个下级对象组成。例如,。
33、对象C2和C3是设计对象C1的下级对象。下级对象的每个合集形成起源于它相应的设计对象的层次。每个设计对象及其相应的下级对象被相应的细虚线100、102、104或106包围。0063如由箭头所指示的,对象A1Z4的一些对处于功能上从属的关系。例如,对象B6依赖于对象B4。这意味着对象B6的至少一个参数依赖于对象B4的至少一个参数。因此,如果对象B4的参数改变,则应该基于对象B4的一个或更多个已改变参数重新计算对象B6的一个或更多个参数。因此,至少相对于对象B4与B6之间的关系,对象B6被称为是“从属的”并且对象B4被称为是“独立的”。注意,一些功能关系跨越设计对象边界。例如,作为设计对象A1的一。
34、部分的对象A3功能上依赖于对象B5其是不同设计对象B1的一部分。0064即使在设计对象A1与B1之间没有显式关系,下级对象A3依赖于对象B5的事实也暗示设计对象B1是设计对象A1的“前趋”像该术语被用在本文中那样。如本文中所用的那样,前趋对象是另一设计对象所依赖于的设计对象。也就是说,从属设计对象或其下级对象中的一个或更多个对象依赖于前趋设计对象或其下级对象中的一个或更多个对象。因此,如果前趋设计对象或其下级对象中的一个或更多个对象的参数改变,则应该重新计算从属设计对象或其下级对象中的一个或更多个对象的一个或更多个参数。所暗示的设计对象A1与B1之间的关系是由下级对象A3与B5之间的实际关系所。
35、引发的。然而,设计对象能够与其它设计对象有显式关系未示出。0065应该注意的是,前趋关系完全不同于来自面向对象编程范例的父子也被称为类子类或广义层次或类实例关系。子类从其超类继承属性,诸如变量和方法。类似地,实例从其类定义继承属性。典型地,子类添加功能性,诸如附加的变量或方法,但是在一些情况下子类重载其超类的变量和/或方法。例如,可以为“车辆”定义类,其包括“WEIGHT重量”和“NUMBER_OF_WHEELS车轮数”的变量并且可能包括“ACCELERATE加速”的方法,其取油门被压低的距离作为输入。类的实例可以是表示各种汽车和卡车的对象。可以为“起重机”定义子类,其可能添加“MAX_LIF。
36、T_WEIGHT最大_提升_重量”和“MAX_LIFT_HEIGHT最大_提升_高度”的变量以及可能能够被调用来执行功能诸如提高或者降低负载的方法。0066前趋关系与类子类关系不相关。前趋关系不是从面向对象范例获知的;出于本申请中所描述的目的它们由本申请的发明人想象到。前趋关系不暗示继承。功能依赖不是继承。前趋对象不自动地从其从属对象继承属性变量或方法,或者反之亦然。相反,如果前趋设计对象或其下级对象中的一个或更多个对象的参数改变,则应该重新计算从属设计对象或其下级对象中的一个或更多个对象的一个或更多个参数。0067前趋关系中的对象未必处于类子类关系。典型地,前趋对象既不在它们的后继对象的子类。
37、中也不在超类中。例如,泵和管路典型地是在完全不同的类中,像横梁和立柱那样。此外,子类/超类关系不暗示功能关系。也就是说,如果一个类的对象被变更诸如通过被移动到新的位置,则不需要再计算其子类和超类中的对象。0068假定设计对象A1、B1、C1以及D1被选择用于变换。将被变换的对象被粗虚线108包围。注意,诸如对象X1、Y1以及Z1的一些对象与将被变换的对象相关,但是对象X1Z4未被选择用于变换。说明书CN104081400A107/23页110069如果以任意次序对虚线108内的对象进行几何变换,并且几何变换操作异常地终止,则数据库可能处于不一致状态,因为可能对一些从属对象进行了几何变换,但是到。
38、变换操作异常终止,它们所依赖于的对象可能未被变换。0070根据我的方法和装置,对象根据特定规则被划分成所选对象的有序集合也被称为“分区”,并且以顺序次序对分区进行几何变换。也就是说,分区的所有对象在任何后续分区中的对象中的任一个被变换之前被变换。对象被分配给分区,使得对从属对象的变换不早于对它们所依赖于的对象的变换。0071图2示出了根据我的规则的设计对象A1D3成为有序分区200、202、204以及206的示例性划分。例如,直到由分区202设计对象C1及其下级对象和分区204设计对象A1及其下级对象已被变换为止,设计对象D1及其下级对象即,分区206未被变换,因为设计对象D1或其下级对象中的。
39、至少一个依赖于分区202中的对象和分区204中的对象。“后继分区”是包含依赖于另一分区中的对象的对象的分区。例如,分区206是分区202和204中的每个的后继分区。“前趋分区”是包含另一分区中的另一对象所依赖于的对象的分区。例如,分区204是分区206的前趋分区。0072每个分区200206在对应不同的事务中变换。也就是说,对于每个分区200206,执行一事务,并且在事务期间变换在分区内的所有设计对象和它们相应的下级对象。图2中所示出的示例每分区200206包括仅一个设计对象,这是我优选的;然而,分区可以包括超过一个的设计对象。变换分区中的对象也被称为“变换分区”。如所指出的,分区被以顺序次序。
40、变换。例如,分区202在分区200之后被变换。0073随着每个分区被变换,后继分区中的所有对象和它们相应的下级对象,若有的话被置于暂时“冻结”状态。例如,随着分区202被变换,分区206中的所有对象和它们的下级对象被冻结。冻结对象被认为是暂时只读的。也就是说,如果已冻结对象依赖于另一对象,则不响应于其独立对象被修改而立即重新计算已冻结对象。不是立即重新计算已冻结对象,而是系统为每个冻结对象生成“待办”记录,这有效地使已冻结对象的变换延期直到它相应的分区被变换为止。此外,可以冻结一些对象以支持断开到其它对象的关系。例如,不是正在被变换但是与将要变换的对象相关的对象被称为“外部对象”。在图1中所示。
41、出的示例中,对象X1、Y1以及Z1是外部对象,并且与外部对象相关的对象诸如对象A2、B1以及D3被冻结以促进断开关系。0074对象的每个分区在原子操作事务中进行几何变换,即使大的几何变换操作异常地终止,这也使数据库一致。如果大的几何变换操作被异常地终止,则可以在它终止的点恢复变换操作。例如,如果硬件故障引起了异常终止,则可以在已排除故障之后恢复变换操作。在另一示例中,如果要变换的对象中的一些对象在数据库中被标记为“只读”,则在这些对象的保护被修改成许可变更这些对象的参数即,使这些对象变得“读写”之后,重新开始变换操作。此外,能够不顾可用存储器的量,通过将对象划分成足够小的分区来对极大量的对象进。
42、行几何变换,因为一次仅相对少量的对象需要被加载到存储器中。需要被加载到存储器中的对象包括来自当前分区的对象、来自一个或更多个任何前趋分区的对象以及来自一个或更多个任何后继分区的对象。在将几何变换后的对象提交给数据库时,就可以再使用该存储器。0075为了支持重新开始大的几何变换,数据库中存储了关于变换的信息被存储,实际说明书CN104081400A118/23页12上作为“变换操作对象”。每个分区的变换事务的状态也被存储在变换操作对象中。因此,如果需要重新开始几何变换操作,则关于哪些分区已经被变换的信息以及关于哪些分区仍然尚未被变换的信息是可用的,所以变换操作能够在它停止的地方恢复。0076外部。
43、关系0077如所指出的,“外部关系”是跨越将被变换的对象与将不被变换的对象之间的边界的关系。例如,在图1中,跨越粗虚线108的任何关系是外部关系,而不管相关对象之间的任何功能依赖如何。在图1中,对象X1依赖于对象B1。然而,对象X1未被选择用于变换。因此,对象B1与X1之间的关系110是外部关系。如果从属对象在该示例中,X1能够在与其独立对象在该示例中,B1没有关系的情况下存在,则外部关系被打破即,对象从彼此断开,并且,在一个实施方式中,从属对象X1变得独立。另一方面,在该实施方式中,如果从属对象X1在与其独立对象B1没有关系的情况下不能够存在,则从属对象X1被删除。0078哪些对象能够在没有。
44、关系的情况下存在是域特定DOMAINSPECIC的。也就是说,企业工程系统的设计者确定哪些关系是外部关系。例如,管道的系统是用PIPERUN制造出的。PIPERUN是设计对象。因此,PIPERUN是能够用多事务方法加以变换的最小的配管单元。PIPERUN能够由多个逻辑“器件”组成,诸如直线器件、转向器件、循支线器件、支路器件等。每个器件能够对应于物理零件,诸如直管、肘管、阀门或T形部件。彼此相邻的物理零件借助于连接对象彼此相关。诸如焊接点或垫圈的连接项目能够与每个连接相关联。因此,单个PIPERUN可以具有许多器件、零件、连接以及连接项目。PIPERUN与这些对象之间的关系可以是内部关系。例如。
45、,如果PIPERUN被变换诸如被移动,则所有这些对象可以连同该PIPERUN一起被变换移动。0079另一方面,第一PIPERUN还能够被连接到第二PIPERUN或者连接到一件设备上的喷嘴。第一PIPRRUN的构件与第二PIPERUN或设备的构件之间的关系可以是外部关系。在这种情况下,如果第一PIPERUN被变换诸如移动,则不需要变换外部对象。例如,如果第一PIPERUN被移动,则与第二PIPERUN或设备的关系被标识为外部关系。因为第二PIPERUN和设备能够作为独立对象而存在,所以能够打破该关系。0080架构概述0081可以在各种上下文诸如企业工程系统中实施本文中所描述的用于对对象进行几何变。
46、换的方法的装置。在图3中示意性的例示了模块化示例性企业工程系统300。核心软件平台301提供与各种设计对象有关地使用的公共服务即,一个或更多个任务的服务,包括几何变换。核心平台301可以提供其它公共服务,诸如复制对象的组,如在共同转让的美国专利申请NO12/476,399专利公开号US2009/0300083中所描述的,其整个内容从而通过引用并入以用于所有目的。公共服务的其它示例可以包括事务管理、图形显示、编辑与撤销操作、修订管理以及DBMS界面。所有设计对象共享由核心平台301所提供的公共三维工作空间。0082由任务302、304以及306所举例说明的一个或更多个软件任务做出对核心平台301。
47、的调用,并且经由图形用户接口GUI308将问题域特定服务提供给用户。示例性软件任务包括实施结构系统、电气系统、设备系统以及配管系统的任务。每个任务302306包括它自己的菜单集、它自己的对象和关系集以及它自己的功能依赖集。当然,一些类型的关系说明书CN104081400A129/23页13能够跨越从一个任务302306的对象到另一任务302306的对象的边界。每个任务302306实施由适于任务的需要的对象310、312以及314所举例说明的对象。对象310314可以被存储在关系数据库RDB316或其它适合的数据库中。图3中所示出的软件架构促进在不影响现有任务的情况下将新的任务添加到企业工程系统。
48、。0083高级别操作概述0084图4包含例示了由核心平台301图3执行来对一个或更多个对象进行几何变换的主要操作的高级别流程图。在这里概括并且在下面更详细地描述了这些操作中的每个操作。在400处,收集用户输入以指定要变换的对象,以及对该对象的变换诸如移动、旋转和/或镜像的类型和变换的参数视情况而定,诸如距离、旋转的角度、旋转的中心和/或用于镜像的轴。用户接口308图3可以允许用户从选项菜单选择对象,或者输入或选择过滤准则,系统接着使用该过滤准则来自动地选择满足准则的对象。另选地,用户接口可以提供图形选择工具,诸如选择光标或“橡皮圈”选择矩形或其它形状,或任何其它适合的选择比喻。参照图5图12在。
49、下面描述用于提示用户并且用于接受用户的输入的示例性“向导”风格用户接口的方面。在402处,执行变换操作,如在下面所描述的那样。在404处,向用户呈现关于变换操作的信息的显示。在图13中示出了示例性概要显示。0085用来收集指定要变换的对象的用户输入的用户接口0086如相对于图4的流程图所指出的,收集用户输入400以指定要变换的对象。参照图5图13,在下面描述了用于提示用户并且用于接受用户的输入以及显示关于变换操作的信息的示例性“向导”风格用户接口的方面。图5例示了引入模型数据变换系统向导的示例性对话框。0087使用图6中所示出的对话框,系统可以接受选择将被复制的现有模型的一部分的用户输入。如在示例性对话框中所使用的那样,术语“工厂”指的是数据库。因此,在图6中所示出的示例中,用户已选择命名“SDH_9059_MODELA”的源“工厂”600即,数据库。每个数据库将关于模型的信息存储在“系统”的层次中。示例性系统包括结构系统其可以包括诸如基础、横梁以及立柱的对象、电气系统其可以包括导管、线路、开关等等、设备系统其可以包括泵和罐以及配管系统其可以包括管道、肘管、T型连接、阀门等等。层次的粒度依赖于正使用的特定企业工程系统和用户要求。0088如所指出的,企业工程系统可以包括通过用户接口被露出给用户的设计对象,以及未被露出的其它下级对象。例如,系统可以露出设计结构对象,诸如基础、立柱以及。