专利名称:用于显示plm数据库中的对象的方法和实现该方法的装置的制作方法
技术领域:
本发明涉及计算机实现方法和系统领域,并且更具体涉及产品生命周期管理方案,该产品生命周期管理方案包含建模对象的数据表示的数据库。
市场上提供了许多用于设计部件或部件的组合的系统和方案,例如DASSAULT SYSTEMES所提供的商标为CATIA的系统和方案。这些所谓的计算机辅助设计(CAD)系统允许用户构建、操纵以及查看对象或者对象的组合的复杂三维(3D)模型。CAD系统使用边缘或线,在某些情况下使用面,提供建模对象的表示。线或边缘可以以各种方式表示,例如非均匀有理B样条(non-uniform rational B-splines,NURBS)。这些CAD系统将部件或部件的组合作为建模对象管理,其主要是几何形状的规格。具体地,CAD文件包含从其生成几何形状的规格,并且从几何形状生成了表示。规格、几何形状和表示可以存储在一个或多个CAD文件中。CAD系统包括用于向设计者展示建模对象的图形工具;这些工具用于复杂对象的显示——CAD系统中表示对象的文件的典型大小是在每个部件兆字节的范围内,并且组合可以包括数千个部件。CAD系统管理存储在电子文件中的对象的模型。
还存在产品生命周期管理(PLM)方案,例如DASSAULTSYSTEMES提供的商标为CATIA、ENOVIA以及DELMIA等成套产品的产品生命周期管理(PLM)方案;这些方案提供了工程中心(Engineering Hub),其组织产品工程知识;制造中心(ManufacturingHub),其管理制造工程知识;以及企业中心(Enterprise Hub),其支持企业集成并连接到工程中心和制造中心。整个系统一起传递连接产品、工艺、资源的开放对象模型,以使得能够进行动态的、基于知识的产品创建和决策支持,该决策支持促进优化的产品定义、制造准备、生产以及服务。
这种PLM方案包括产品的关系数据库。数据库通常定义为用于快速搜索和查寻而组织的数据的集合(典型地,为数据和数据之间的关系)。构建数据库以易于结合各种数据处理操作的进行数据的存储、查寻、修改以及删除。数据库通常包括文件或文件组,可以将它们划分成多个记录,每个记录包括一个或多个字段。字段是数据存储的基本单元。用户主要通过查询来查寻数据库信息。利用关键字和排序命令,用户能够根据正在使用的数据库管理系统的规则,快速地对许多记录中的字段进行搜索、重新排列、分组和选择,以查寻或创建关于特定数据集合的报告。
使用PLM方案,用户的基本要求是使由几千个对象/部件构成的复杂产品可视化,并且这可能根据不同的视图或者不同的视点(虚拟摄像头)。特别地,用户可以在查看正被显示的建模产品的同时修改视点。用户也可以希望选择指定的部件以对其编辑(也就是说,可能对其修改)等。
该问题的一个标准解决方案依赖于将对应于所述对象的组合的整个模型(包括该模型的三维图形表示以及关于所述对象的所有信息,例如几何形状、限制...以及到其他对象的超链接)载入客户计算机。因此,选择单个部件是可行的。然而,在PLM/CAD领域,关键问题是可视化数据的总量太大以至于不能载入存储器,或者至少大到不能进行快速显示。因此,由于表示CAD系统中产品(诸如飞机等产品可能包含数百万个部件)的文件的典型大小,使得所述对象的视图的呈现时间(rendering time)可能极长。
因此,需要一种能够高效显示包括许多部件的CAD产品的方案。优选地,该方案应该允许在具有减少的输入/输出(I/O)和存储器占用的情况下在大量的3D PLM数据中导航。
在一个实施例中,本发明由此提供了一种显示PLM数据库中的对象的方法,该方法包括-提供含有建模对象的PLM数据库和图形用户界面;-标识位于将被呈现的对象的视图上的视点;
-根据所述视点,呈现所述视图,其中所述呈现步骤包括-确定所述视图中的多个位置;-搜索数据库,并标识其中根据所确定的位置的建模对象,和-在图形用户界面中增量(incrementally)显示所标识的建模对象,从而呈现所述视图。
在其它实施例中,根据本发明的方法可以包括一个或多个下列特征-根据本发明的方法,还包括在标识视点的步骤前,接收用户的视点的动态定义的步骤,并且其中根据视点的用户定义,确定多个位置的步骤是动态地执行的。
-从视图中定义的网格(grid)确定该位置;-确定多个位置的步骤包括随时间细化所述网格;-该PLM数据库还包括建模对象的显示组件,并且其中所述呈现步骤包括,流化显示(streaming display)被标识的建模对象的组件,并且其中,在所述呈现步骤,所述增量显示步骤包括对显示组件进行增量显示;-标识建模对象和增量显示的步骤基于时间交替地执行;-所述呈现步骤还包括,对在标识建模对象的步骤所标识的对象建立等级,并且根据所述等级执行增量显示建模对象的步骤;-根据本发明的方法,还包括,在数据库中标识在所述视图中根据视点可见的建模对象列表的步骤,该步骤与搜索数据库和标识建模对象的步骤并行,增量显示步骤包括根据所确定的位置显示被标识的建模对象并根据该列表完成建模对象的显示;-搜索数据库和标识建模对象的步骤还包括,计算通过该视点和所确定位置中的至少一个位置的光线;-搜索和标识步骤还包括,标识与所计算的光线相交的各个建模对象的一个或多个包围体;-根据本发明的方法,还包括,在对应于相交包围体的多个对象中,标识最靠近视点的对象;-根据本发明的方法,还包括,在搜索数据库的步骤前,计算各个建模对象的包围体并将其存储在PLM数据库的步骤;-在计算和存储包围体的步骤中,对于建模对象的多示例化对象,;只存储一个包围体-基于存储在数据库中的各个对象之间的关系,递归执行标识一个或多个相交包围体的步骤;-根据本发明的方法,还包括,在搜索数据库的步骤前,计算各个包围体的再分包围体并将其存储在PLM数据库;-根据本发明的方法,还包括,标识一个或多个与所计算的光线相交的再分包围体;和-显示建模对象的步骤包括,显示所述建模对象的三维表示,所述表示是用户可选择的,从而对所述对象进行编辑。
本发明还提出了一种在含有建模对象的PLM数据库中选择对象的装置,该装置包括用于实现根据本发明的方法的步骤的单元。
本发明还涉及一种存储在计算机可读介质上的计算机程序,其用于在含有建模对象的PLM数据库中选择对象,包括单元,用于使计算机进行根据本发明的方法的步骤。
现在将通过非限制性的实例并参照附图介绍体现本发明的系统,其中
图1是CAD等图形用户界面的示例性显示;图2示出了反映本发明的方法的根本步骤的流程图;图3a和3b示出了应用在根据本发明实施例的方法中的八叉树(octree);图4示出了在图1的图形用户界面中显示的一组对象的视图,该对象可以根据本发明的实施例来标识;图5a-h示出了反映用于显示PLM数据库的对象的方法的步骤的一系列视图,该方法根据本发明的实施例;图6比较使用各种方法得到的显示结果,其可在根据本发明的实施例的方法中可以同时实现。
本发明涉及一种用于显示PLM数据库中的对象的方法。提供了含有建模对象的PLM数据库以及图形用户界面。对将被呈现的对象的视图上的视点进行标识。然后,根据该视点呈现该视图。该呈现步骤包括,在视图中确定多个位置,这些位置例如根据网格而得到。接着,搜索数据库并根据所述位置标识建模对象。同时,将被标识的建模对象增量显示在图象用户界面上,从而呈现该视图——优选是三维视图。
增量显示所标识的对象,而不是同时显示所有,这允许进行逐步因而更加灵活的显示可以大略或者部分显示对象,它们的显示部分载入到客户存储器中。
而且,由于根据视图中所确定的位置来标识该对象,因此,在屏幕的表面上越可见,它们被首先确定的机会越大。因此,首先显示最明显的对象,其后显示较小的对象(如在屏幕上所看到的那样)。因此,显示看起来更加与用户有关。另外并且有利地,发现不了完全隐藏的对象,并由此不需要将其载入到存储器中。标识对象和增量显示的步骤可以交错进行,以得到更加有效的显示。
提出的方案允许快速显示视图。然而,由于显示“单个”建模对象,一旦在视图中显示,就可以单个选择这个对象,并且如果需要,例如可以通过单击鼠际将所选择的对象及与其相关的数据载入活动(session)(设计、导航、查看...)中。
关于根据所确定位置来标识对象例如利用存储在PLM数据库中的包围体。这可以经由实例并参照图2-4来说明,其中只考虑视图中的一个特定位置(其实际上是在数据库中进行所谓的“挑选查询”)。将参照图5a-h对根据本发明的总体方法进行更加详细地说明,该总体方法依赖于视图中所确定的多个位置。
参考图1,其提供了具有例如鼠标等的用户控制指针的图形用户界面。
图形用户界面(GUI)10一般可以是CAD/CAM/CAE等界面,其具有标准的菜单栏11、12以及底边和侧边工具栏14、15。这种菜单和工具栏含有一组用户可选择的图标,如本领域所公知,每个图标与一个或多个操作或者功能有关。
这些图标中的一些与软件工具相关,适用于编辑和/或处理建模对象30,例如GUI 10中所显示的建模对象。所讨论的软件工具可以被集合到工作台中。换句话说,每个工作台包括软件工具的不同子集。具体而言,这些工作台之一是编辑工作台,适于编辑建模对象30的几何特性。操作中,设计者例如可以预先选择对象30的部件,然后通过选择适当的图标来开始操作(例如改变大小或者任何属性等)。例如,典型的CAD操作是对显示在屏幕上的3D建模对象的冲孔或者折叠的模拟。
该GUI例如可以显示与显示对象30有关的显示数据25。在图1的实例中,显示为“特征树”的数据25及其3D表示30属于包括制动钳和制动盘的制动组件。所述GUI还可以显示各种类型的图形工具13、40,例如用于协助所述对象的3D方位,用于触发对所编辑产品的操作的模拟或者呈现所显示产品30的各种属性。
作为实施例的实例,在包括用户计算机和产品数据管理系统的计算机网络中实现了本发明的方法。用户计算机间通过PDM系统进行通信,该PDM系统考虑对可能是分级相互关联的各种文献、关系和数据进行管理。该PDM系统例如可以位于所述网络的主干上。这种PDM系统利用具有与建模对象有关的数据库,该建模对象可能要由设计者编辑。于是,多个用户就可以以合作的方式处理不同的对象(例如,部件、产品或者部件的组合)。
另外,与现有的CAD/CAM/CAE界面不同,可以设计GUI 10和相关的CAD/CAM/CAE应用程序,以允许根据用户请求或者作为后台任务访问PLM数据库。因此,在操作中,希望访问该数据库的用户无须从第一个CAD窗口跳至PDM窗口(例如通过最小化第一个窗口和最大化第二个窗口),然后再返回到CAD窗口。这种由设计者频繁执行的窗口切换操作是浪费时间的,并且在CAD/CAM/CAE领域中特别不方便。
GUI 10运行在网络的一个用户计算机上,所述用户计算机具有显示器和存储器。例如,类似于图1显示的由附图标记10所标示的GUI可以运行在网络的其他计算机上。这些计算机还可以受益于类似的本地CAD/CAM/CAE应用程序,以及更一般的通用环境。
现在参考图2,该过程大略分解为建立时间(包括步骤100)和运行时间(步骤130-160)。建立时间可以具体包括预处理步骤100,其主要用于包围体的计算,并且可能用于创建对象的索引。
“包围体”或者包围盒(bounding box)指包围对象的任何数学上较简单的表面,例如出于裁剪或者相交测试目的。典型的包围体例如是立方体、圆柱盒或者球体。下面,利用包围体。
计算将被显示的各个对象的包围体并随后将其存储在PLM数据库中。将这种包围盒连同与它们相应对象的关系进行存储。可以使用对象的几何定义来计算所述盒。使用的定义可以是完整的定义或者简化的定义,例如所述对象的小方格的表示。
优选地,使用小方格表示的定义,这可得到更快的计算时间。
将产品做为例如树等的分级的对象考虑,其例如是属于该树的端节点的第一被计算盒子。然后,已经生成了结构的定义和端点盒子,所以使用产品结构定义来计算组装盒(步骤100)。
此外,计算再分的盒子并将其连同各自的父包围盒一起存储在数据库中。在这种情况下,父包围盒是八叉树(即数据结构)的父节点,其中每个父节点具有八个子节点,其共同对父节点的空间体积进行划分。因此,树中的每个节点代表立方体体积,例如再分的包围体。根据期望的分辨率,可以考虑进行多次再分(父、孩子、孩子的孩子等)。
而且,优选地,对于对象组的多示例化对象,只存储一个包围盒。也就是说,只计算包围盒作为参考。在该情况下,很有可能存储相同参考的实例连同位置矩阵(或者到那里的链接)。因此,在操作中,在简单的笛卡儿坐标系统改变后,盒子可以动态地等同于多示例化对象中的任意一个。
关于对象的标识,该过程包括在视图中确定多个位置的步骤。如将在后面所具体介绍的那样,所述的位置例如可以通过在视图中定义的网格来确定。在下面,将首先使用在视图中确定的单个位置来说明根据本发明的方法。
首先,在步骤130,在视图中确定位置,例如具体确定屏幕上的x、y位置。可以使用任何公知的便利方法来执行步骤130。
接下来,在步骤140-160,系统搜索数据库,并向用户标识根据所确定位置的一个对象。根据本发明的一些具体实施例,现在详细描述该步骤首先,在步骤140,计算通过视图的视点和屏幕中的所确定的(x、y)位置的光线或任何几何等价物。在这里,视点取决于用于在3D环境中表示的透视选择。其可以是如本领域所公知的消失的或者摄像头站点(station point),或者其它任何类型的透视。
接下来,在步骤150,标识与所计算的光线相交的对象组中的各个对象的一个或多个包围盒。为实现该目的,可以使用几个公知的技术来确定是否存在相交。例如,使用视点和已在屏幕上确定的位置,可以确定光线是否与包围盒相交。
在强力方法中,算法例如可以扫描对应于参考视图的每个子示例(child instance)的所有包围盒,以便确定哪个盒子与所述计算光线相交。该步骤在参考视图的坐标系中执行。
然而,当对象的数量增加时,上述扫描步骤很快就变得十分耗费资源。例如,现代飞机的CAD/CAM建模可能需要存储高达3百万个盒子。因此,应该理解,加快相交搜索算法是有利的。
在这方面,例如可以使用所谓的R-树(R-tree)技术,也就是空间访问方法,其中将空间分成分级嵌套的、可能是重叠的盒子。这种技术导致更加平衡的根据各种可行标准的特征树,这导致更加有效的扫描。
接下来,一旦已经发现与参考视图的子示例的相交,则在所述相交的子示例的坐标系中再次计算初始光线,并且在其中的子示例内进行新的扫描等,直到不再发现相交。
因此,该相交搜索算法是递归的(步骤150-160),也就是说,搜索第n级相交父盒的最后相交子盒,并且执行如下一旦检测到相交的包围盒,则在相交的包围盒的内部,根据一个实施例的方法以较小的再分级工作。例如,可以考虑八叉树,其是如图3a所示的分成八个立方体盒子的体积。
例如,八叉树300自身可以进一步再分,如图3b所示(为了清晰,以两维表示),除非如果八叉树300不含有模型的任何部件或者完全由模型的部件填充。对含有模型的部件的每个八叉树300进一步再分。
由此扫描八叉树300以检测与所计算光线的任何相交,直到称为三维象素320(其尺寸取决于用户输入的分辨率)的最小不可再分的体积为止。然后,停止该方法并在视图中选择在被标识的三维象素的内部(或者靠近)被标识的三维象素的对象。
一旦选择了对象,则存储相应的三维象素到视点的距离。然后,该方法根据相同的步骤(包围盒、八叉树、三维象素)对其它包围盒(步骤150-160)进行递归测试以查找并选择(沿光线)最接近视点的对象。为了优化该方法,如果包围盒没有与所计算的光线相交(在新的坐标系统中),则舍弃该包围盒。同样地,如果包围盒与该光线相交,但是如果同时包围盒与视点之间的距离大于先前存储的距离,则不将对所述的包围盒做进一步测试。
一旦已经测试了所有包围盒并且标识了数据库中的对象,则从数据库载入所述对象的表示并将其显示。所述表示可以是简化的或者精确的表示,例如精确的小方格表示或者NURBS表示。载入和随后的显示如何交错将在下面进一步说明。
所述选择的对象例如可以使用实际的属性(颜色、纹理、材料...)显示。另外,可以邻近被标识部件或者在特征树(见图1)中显示其它查询到的信息,例如其名称、拥有者或者其它属性。
现在将参照图4说明上述方法的实施例,图4示出了显示在与图1相同的图形用户界面中的建模对象。注意在图4中以点线描绘包围盒,这仅仅是为了引起注意。在GUI 10中,描述了将被呈现的对象21-24的视图。
在这里,GUI 10具有类似于那些已经参考图1所介绍的菜单和工具栏。然而,在GUI 10中,显示了要呈现的对象21-24的视图。应该紧记该方法在最开始时,实际上还没有显示任何对象。所述视图显示滑板(skateboard)20的非相关视图,该滑板20包括板21、前(f)和后(r)滚轮(truck)22f、22r。所述这些滚轮包括各自的轴23f、23r和左(l)和右(r)轮24lf、24rf、24lr、24rr(“lf”代表左前,“rf”代表右前等)。使用相似的标识21b、22fb、22rb、23fb、23rb、24lfb、24rfb、24lrb和24rrb描绘各个包围盒(b)。具体地,一些盒子对应于端点节点,例如轮、轴和板,而其它盒子对应于部件的一些组合(例如滚轮)。如上所述,优选地在建立时间的过程中,根据产品结构定义计算所述盒子。
在操作中,定义网格,其特别包括参考点32,其位置通过网格定义来确定。在该实例中,所述点32在屏幕上的位置位于恰好对应滑板的左前轮24lf的位置。
然后,根据该方法,触发数据库中的查询。如上所述,计算通过视点和指针位置的光线。然后,扫描形成该滑板的组20的所有子示例。在该实例中,由于发现与盒子22fb相交(对应于前滚轮23f),因此继续程序,切换到盒子22f的系统坐标。舍弃没有相交的盒子。
接下来,由于该“组成”关系,因此然后测试所述光线是否与盒子23fb、24rfb和24lfb中的任何一个相交。发现与盒子23fb和24lfb相交,也就是说,对应于前轴,例如参考“轴”和左轮的示例,例如参考“轮”的示例。因为没有发现组成相交示例的更多示例,所以停止该分级下降。接下来,在满足所提供的精度标准的条件下程序将各个距离与视点进行比较,最后返回轮241f作为待显示的部件。根据该方法,系统然后从数据库中查询该部件的精确表示以及或者关联该选择部件的所有数据。
注意由于存储在数据库中的产品结构定义,查询结果是出现的示例,也就是示例路径。在这方面,在先前的实例中,查询的结果不仅仅是前左轮24lf,而是参考“滚轮”的“前滚轮”示例中的参考“轮”的“左轮”示例在。
注意在实施例中,在显示部件后,通过(例如通过简单的点击)选择标识的部件可以打开编辑窗口,其中呈现所选择的部件,可以对其进行编辑。
在另一个实施例中,可以考虑执行“增加”指令以便将所选择的部件加入已经打开的编辑窗中,或者将所选择的部件添加到查看活动等中。
因此,可以将参考图2所说明的过程看作预选择方法,并且,只有在激活指向所标识对象的指针后,才执行对象的最终选择。
出于理解的目的,图4的实例显然是非常简单的。然而,现在往回参考图2的流程图,在发现几个包围体的情况下,可以执行附加方案以明确地分辨盒子。具体地,如果发现几个与光线相交的三维象素,则将最接近视点的三维象素标识为将被选择的一个,如此等等。
因此,该过程允许从数据库中查询诸如部件等的对象以便编辑。仅需要点位置和部件之间的对应;因此可以快速地查询到该部件。结果,可以载入该部件以便显示。这种方法还是高伸缩性的,使得访问光设备(个人电脑)上的3D导航中的3D数据变得可能。
在实施例中,每次改变视点都将触发在数据库的查询。
上面已经参考在视图中确定位置说明了该方法的基本步骤。现在参照图5a-h说明该方法,图5a-h说明了在运行时间发生的步骤,其中使用多个位置。
如上所述,该方法可以分解为建立时间和运行时间。典型地,参见图4,为了使方法高效,在建立时间的过程中,建立产品索引(形成对象之间的关系)并存储包围盒。使用一些PLM数据的复制以使3D搜索更快。对于存储的PLM模型,所述复制优选地是同构的。
注意然而,在变形中,由于在运行时可以进行过滤,因此不需要为存储在数据库中的每个产品结构生成索引。
图5a-h更具体地说明了运行时间。
参照图5a为了说明,描述了将被呈现的对象的视图110。还没有显示所述对象。为了清晰,略去GUI的细节。所述对象组和对象对应于参照图4所述的组20和对象21-24。还使用各个包围盒描述了所述对象。为了清晰,还省略了参考标记。图5a说明了步骤S200,在该步骤,标识将被呈现的所述视图上的视点。用户可以动态地定义视点(即,实时修改)。由此,使虚拟摄像头变得可能。
接着,在步骤S210并参照图5b,在视图上确定多个位置32a-i。如上所述,所述位置通过视图中定义的网格确定。因此,当使用网格时,下面将该方法称为网格扫描过程。此外,可以根据视点的可能动态定义,动态地执行确定所述位置。
从当前视点,计算眼睛和例如对应于网格的一组屏幕象素之间的光线列表。然后,根据上述步骤,处理所述光线。使用熟练技术人员的术语,因此执行挑选查询的循环。
从图5b的可视网格中,因为这些点接触与其相对应的包围体,所以搜索数据库会得出结论,即一些点位置属于板(图4的参考标记21)。这些是点32a、32d、32e、32h和32i(由此共5个点)。另一个点32b属于左前轮(见图4的参考标记23lf)。因此,在完成第一次扫描时,标识相关部件并且从例如连接到数据库的PLM服务器返回其中列表。
接着,参照图5c-d,开始显示程序。增量显示建模对象,其允许在视图上立即显示。此外,如上所述,对象越大,遇到网格的点的机会越大。因此,首先显示最明显的对象。在该实例中,毫无疑问,板被标识以随后显示。
然而,前左轮也被标识,在当前视点下,前左轮实际上步是最明显的对象。因此,通过建立标识对象的等级可以改善网格扫描方法,例如-板5点;-左前轮1点。
只使用关于端点结点的统计。然而,在变形中,可以考虑关于父节点的统计,例如因为前左轮是前滚轮的孩子,也可以将一点赋予前滚轮。
因此,优选地,根据上述等级计算显示所述对象的顺序,从而确保确实首先显示最明显的对象(例如板)。
在实施例中,PLM数据库还存储建模对象的显示组件。呈现步骤可以由此包括对所标识的建模对象的显示组件进行流化。相应地,对显示部件进行增量显示(S220-S230)。流化可以在后台运行。
如图5c到5d所示,所述显示组件可以包括同一部件的不同组件(如不同的表面)。在图5c中首先显示板的上表面21uf。在图5d中随后显示侧面21sf。
优选地,将讨论中的组件增量载入作为一系列越来越精确的子组件,例如三维象素,然后是低分辨率三角形,而最后是精确三角形。这允许减少使用的I/O。
在变形中,交错增量显示对象和增量流化/显示对象组件的步骤以改善呈现时间。例如,在第一次扫描过程中,标识给定数量的对象。通过首先显示三维象素然后显示三角形显示所述对象。在第二次扫描过程中,标识其它对象,同时继续在后台流化先前的组件等。
而且,可以根据当前视点,使用某种适应性载入。还可以利用裁剪技术(视点裁剪、闭塞裁剪、象素裁剪...)。此外,当视点改变时,可以执行附加载入或载出,从而限制峰值内层使用。
图5e-f现在显示左前轮24lf,例如根据组件的增量流化(在该实例中,依次显示左前轮24lf的外部组件和侧部组件)。
图5g-h确定多个位置的步骤可以包括使用随时间细化初始网格的步骤。因此,计算新的网格,执行新的光线查询(因此,进行新的扫描)并且返回新的计数统计,导致显示先前未载入的部件(例如滑板的后右轮24rr)。
此外,可以使用可变网格分辨率,这取决于屏幕区域的局部统计。这可以帮助改善屏幕扫描的收敛。
同样优选地,标识建模对象(例如扫描/光线查询)和增量显示(例如3D显示)的步骤基于时间交替进行。例如在300ms过程中,计算光线(包括网格细化)并返回累计结果。可以根据视点改变的“速度”可以对时间基础进行调节。这使得可以将部件标识和当前视点匹配。
因此,可以连续对网格分辨率进行细化。相应地执行多屏幕扫描,由此建立了测试象素的网格,该象素细化时间。第一次快速扫描地找到最显著的对象。
测试象素的数量随网格分辨率成平方增长。因此,虽然所描述的方法允许立即显示,但是收敛最后变慢。此外,屏幕上比最终网格分辨率小的一些对象没有被返回。
这在图6中进行了说明,其比较使用各种方法得到的显示完成随时间变化函数。如图所示,上述网格扫描过程(实线)可以舍弃一些较小的部件(如果使用有限分辨率,更加如此)在网格扫描的结束时,不是所有部件都被显示。相反,本领域公知的过程(点线和虚线)可能显示慢的开始,但是最终允许进行完整的列表查询。
因此,参照图6,上述网格扫描可以与一个或多个其它查询并行执行,该查询花费更多时间来开始显示,但是最终返回完整的对象列表,如果需要,限于视图中的可视单个对象。
特别地,上述过程可以包括标识数据库中(并行地)建模对象的列表的步骤(并行)。一旦标识,对象的可视化数据被载入并便于存储,等待显示。
此外,增量显示相应地分解为两个互补的显示子步骤。在第一子步骤中,该方法根据所确定的位置显示被标识的建模对象,也就是根据上面所述的网格扫描方法。在第二子步骤中,根据返回的并行列表,完成建模对象的显示。因此,可以使用改善的收敛显示所有可视对象。注意当完成关于第二子步骤的过程时,由于并行列表完成,因此可以停止第一子步骤的过程。
第二子步骤可以例如仅仅包括使用根据屏幕区域的局部统计的网格分辨率,从而改善屏幕扫描的收敛(如已经引起的)。
第二子步骤还可以包括“视点查询”(例如标识并行列表的所有可视对象,无论其使用或者不使用闭塞)或者类型“扩展所有”的查询(返回所有对象的强力列表)。这种方法例如可以允许在不测试所有屏幕象素的情况下完成显示。
关于视点查询可以考虑任何计算在视图中(甚至隐藏的)全部对象列表的公知方法。该列表可能限于单个可视对象。这允许在使用最小的I/O和存储的条件下完成显示。
如图6所示,与网格扫描过程相比,该公知方法(点/虚线)具有较慢的开始。然而,在一些交叉点,切换到公知方法的一种允许改进收敛速率,并且如果需要,用于完成显示。
本发明不限于上面参照附图所述的优选实施例。特别地,当在GUI上呈现视图时,可以考虑混合表示。所述视图可以例如是关于特定对象组的部分非相关视图。这具体适用于部件组装,允许进行快速载入。相反,可以将其它对象连同各自的属性载入到视图中,以允许对其直接选择。这需要在建立时,对产品进行具体索引。例如,一些对象的表示可以包括一组到数据库的超链接。因此,单击对应于超链接的适当区域允许直接选择各个部件。
权利要求
1.一种用于显示PLM数据库的对象的方法,其包括-提供含有建模对象的PLM数据库和图形用户界面(100);-标识位于将被呈现的对象(21-24)的视图(110)上的视点(S200);和-根据所述视点,呈现所述视图(S210-270),其中所述呈现步骤包括-确定所述视图中的多个位置(32a-i);-根据所确定的位置,搜索该数据库并标识其中的建模对象(21-24),以及-在该图形用户界面中增量显示(S220-270)所标识的建模对象(21-24),从而呈现所述视图(110)。
2.如权利要求1所述的方法,在标识所述视点的步骤前,还包括步骤-接收用户对所述视点的动态定义,并且其中根据所述视点的用户定义,动态地执行所述确定多个位置的步骤。
3.如权利要求1或者2所述的方法,其中所述位置从所述视图中定义的网格(32a-i)确定。
4.如权利要求3所述的方法,其中所述确定多个位置的步骤包括,使用随时间细化所述网格(S250-S260)。
5.如权利要求1到4中的任意一项所述的方法,其中-所述PLM数据库还包括所述建模对象(21-24)的显示组件(21uf、21sf),并且其中所述呈现步骤还包括-流化对所述被标识的建模对象的显示组件(S220-230,S240-250),并且其中,在所述呈现步骤中,所述增量显示步骤包括-对所述显示组件(21uf、21sf)进行增量显示(S220-S230)。
6.如权利要求1到5中的任意一项所述的方法,其中所述标识建模对象和增量显示的步骤基于时间交替执行。
7.如权利要求1到6中的任意一项所述的方法,其中所述呈现步骤还包括-对在所述标识建模对象步骤标识的对象(21-24)建立等级,并且其中,根据所述等级执行所述增量显示建模对象的步骤。
8.如权利要求1到7中的任意一项所述的方法,与所述搜索数据库和标识建模对象的步骤并行,还包括步骤-在所述数据库中根据所述视点,标识在所述视图中可视的建模对象(21-24)的列表,并且其中所述增量显示的步骤包括-显示根据所确定的位置被标识的所述建模对象;以及-根据所述列表,完成对所述建模对象的显示。
9.如权利要求1到8中的任意一项所述的方法,其中所述搜索数据库并标识建模对象的步骤还包括-计算通过所述视点和所定义位置(32a-i)中的至少一个位置的光线。
10.如权利要求9所述的方法,其中所述搜索和标识步骤还包括-标识与所计算的光线相交的各个建模对象(21、22、23、24)的一个或多个包围体(21b、22b、23b、24b)。
11.如权利要求10所述的方法,还包括-在对应于相交包围体的所述多个对象中,标识最靠近所述视点的对象。
12.如权利要求10或者11所述的方法,在所述搜索数据库的步骤前,还包括步骤-计算各个建模对象的包围体并将其存储在所述PLM数据库。
13.如权利要求12所述的方法,其中在所述计算和存储包围体的步骤中对于所述建模对象的多示例化对象,只存储一个包围体。
14.如权利要求10到13中的任意一项所述的方法,其中基于存储在所述数据库中的各个对象之间的关系递归执行所述标识一个或多个相交包围体的步骤。
15.如权利要求10到14中的任意一项所述的方法,在所述搜索数据库的步骤前,还包括-计算各个包围体的再分包围体并将其存储在所述PLM数据库。
16.如权利要求15所述的方法,还包括-标识一个或多个与所述计算的光线相交的再分包围体。
17.如权利要求1到16中的任意一项所述的方法,其中所述显示建模对象的步骤包括,显示所述建模对象的三维表示,所述表示是用户可选择的,从而对所述对象进行编辑。
18.一种在含有建模对象的PLM数据库中选择对象的装置,该装置包括,用于实现权利要求1-17中任意一项所述方法的步骤的单元。
19.一种存储在计算机可读介质上的计算机程序,其用于在含有建模对象的PLM数据库中选择对象,包括用于使计算机进行权利要求1-17中任意一项所述方法的步骤代码单元。
全文摘要
本发明涉及一种用于显示PLM数据库的对象的装置、计算机程序和方法,包括步骤提供含有建模对象的PLM数据库和图形用户界面(100);标识位于将被呈现的对象(21-24)的视图(110)上的视点(S200);和根据所述视点,呈现所述视图(S210-270),其中所述呈现步骤包括确定(S210)所述视图中的多个位置(32a-i);根据所确定的位置,搜索数据库并标识其中的建模对象,以及在图形用户界面中增量显示所标识的建模对象(S220-S270),从而呈现所述视图。
文档编号G06F17/30GK101017492SQ20061015628
公开日2007年8月15日 申请日期2006年12月29日 优先权日2005年12月30日
发明者纪尧姆·德拉吕, 阿诺·农克莱尔 申请人:达索系统公司