设计导航场景的制作方法

文档序号:6364778阅读:213来源:国知局
专利名称:设计导航场景的制作方法
技术领域
本发明涉及计算机程序和系统领域,更具体地涉及用于设计适合于导航(navigation)的场景以及用于在这样的场景中导航的方法、系统以及程序。
背景技术
在市场上提供有大量用于对象的设计、工程以及制造的系统和程序。CAD是计算机辅助设计的首字母缩写,例如,它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩写,例如,它涉及用于模拟未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的首字母缩写,例如,它涉及用来定义制造的过程以及操作的软件解决方案。在这样的系统中,图形用户界面对于技术的效率起到了重要的作用。可以将这些技术嵌入产品生命周期管理(PLM)系统内。PLM涉及帮助公司共享产品数据、应用共同的流程以及在扩 展型企业的概念上利用产品从构想到它们生命结束的开发过程的公司知识的经营策略。由达索(Dassault)系统公司(旗下商标为CATIA、ENOVIA以及DELMIA)提供的PLM解决方案提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心以及使企业整合并连接到工程和制造中心两者的企业中心。该系统一起提供开放的对象模型,该对象模型链接产品、过程、资源以实现动态的、基于知识的产品创造以及驱动最优的产品定义、制造准备、生产和服务的决策支持。还已知导航解决方案允许用户在虚拟世界中导航。这样的导航解决方案包括视频游戏和逼真的体验解决方案。逼真的体验是如此接近现实以至于它能够涉及直接的顾客决策的数字体验。在这样的体验中,用户沉浸在虚拟环境看起来以及运行起来像现实一样的世界中。在该情况下,仍然需要CAD领域中改善的导航解决方案。

发明内容
根据一方面,本发明因此提供一种用于设计适合于导航的场景的计算机实施方法,其中所述方法包括以下步骤定位所述场景中的多个相应类型的对象,其中所述对象是至少两种类型的CAD三维建模对象;提供数据库,所述数据库对于每种类型的对象包括至少一个动作;用于发起所述动作的至少一个触发界面;用于计算至少一个触发区的函数,所述函数以所述场景中的所述对象的参数值作为自变量,其中在导航期间到达所述触发区使得所述触发界面激活;对于每个相应对象,实例化与所述相应对象的类型相对应的触发界面,并且通过应用对应于所述相应对象的所述函数来计算触发区;将所实例化的触发界面和所计算的触发区添加到所述场景。该方法可以包括以下一个或多个-第一类型的所述动作与第二类型的所述动作不同;-所述对象由适合于制造对应实体对象的数据来定义;-所述对象由包含维度值、公差值、几何特征的历史记录和/或一组行为化特征的任意一个或组合的数据来定义;-激活所述触发界面包括显示微件(widget)工具或修改用以与用户进行图形交互所述对象的一部分的状态;-所述动作是以下任意一个或组合显示兴趣点、显示并且遵循导航路径、显示关于所述对象的信息、到达或显示至子对象的触发区的路径、执行所述对象的固有行为、和/或显示固有行为的信息或参数;和/或-在定位多个对象之前,以CAD系统设计包含所述对象的模型,以同一CAD系统执行定位所述多个对象、提供所述数据库、实例化所述触发界面并且添加所述触发界面到所述场景、计算所述触发区并添加所述触发区到所述场景。本发明还提出用于在根据以上方法设计的场景中导航的方法。导航模式可以是第一人称(1st person)导航、第三人称(3rd person)导航或自由相机导航。 本发明还提出一种CAD系统,该CAD系统包括■存储数据库的存储器,所述数据库包括对象的类型,其中所述对象是至少两种类型的CAD三维建模对象;多个相应类型的对象;对于每个类型的对象至少一个动作;用于发起所述动作的至少一个触发界面;用于计算至少一个触发区的函数,所述函数以所述场景中的所述对象的参数值作为自变量,其中在导航期间到达所述触发区使得所述触发界面激活;■图形用户界面,所述图形用户界面与所述存储器和处理器耦合,并适合于执行任一上述方法。本发明还提出一种计算机程序,包括由计算机执行的指令,所述指令包括用于以CAD系统的图形用户界面执行任一上述方法的模块,所述CAD系统与存储器和处理器耦合,其中所述存储器存储数据库,该数据库包括对象的类型,其中所述对象是至少两种类型的CAD三维建模对象;多个相应类型的对象;对于每个类型的对象至少一个动作;用于发起所述动作的至少一个触发界面;用于计算至少一个触发区的函数,所述函数以所述场景中的所述对象的参数值作为自变量,其中在导航期间到达所述触发区使得所述触发界面激活。本发明还提出一种计算机可读存储介质,其上记录有根据以上的计算机程序。


现将通过非限制性示例的方式并参照附图,来描述本发明的实施例,其中图I示出该方法的示例的流程图;图2示出图形用户界面的示例;图3示出客户端计算机系统的示例;图4示出导航方法的示例的流程图;以及图5-12示出导航方法的示例的屏幕截图。
具体实施例方式参照图I的流程图,提出了用于设计适合于导航的场景的方法。该方法包括在场景中定位(SI)多个相应类型的对象。这些对象是至少两种类型的CAD三维(以下为“3D”)建模对象。该方法还包括提供(S2)数据库。对于每个类型的对象,该数据库包括至少一个动作、至少一个用于发起动作的触发界面、用于计算至少一个触发区的函数。该函数以场景中的对象的参数值作为自变量。在导航期间到达触发区使触发界面激活。对于每个相应的对象,该方法还包括实例化(S31)与相应对象的类型相对应的触发界面,并且通过应用与相应对象相对应的函数来计算(S32)触发区;并且将实例化的触发界面以及所计算的触发区添加(S4)到场景。这样的方法实现了由CAD建模对象设计适合于导航的场景。该方法由计算机实施。这意味着该方法的这些步骤(或者基本上所有的步骤)由至少一个计算机来执行。在示例中,该方法的至少一些步骤的触发可以通过用户计算机交互来执行。所需的用户计算机交互的水平可以取决于自动预见(automatism foreseen)的水平,并且平衡实现用户的希望的需要。在示例中,该水平可以是用户定义和/或预定义的。例如,定位步骤(SI)优选由作为场景的创造者(architect)的用户来触发(但总言之由计算机来执行)。定位步骤也可以是计算机动作的组合,例如,在用户选择建模对象 添加到场景中之后,并随后用户移动该建模对象到场景中的另一个位置的默认定位。提供
(S2)、实例化(S31)、计算(S32)以及添加(S4)步骤优选由计算机执行,以进行更高的自动化并且因此更快的执行。提供(S2)步骤还可以涉及例如选择待提供的数据库的用户。该方法的计算机实施的典型示例是采用包括适合于该目的的图形用户界面(GUI)的系统来执行该方法。该⑶I与存储器和处理器耦合。存储数据库的存储器是适合于这样存储的任何硬件。这样的系统是允许由CAD建模对象设计适合于导航的场景的工具。例如,涉及用户的步骤通过GUI来执行,而全部的计算机化步骤由访问数据库的处理器来执行而不涉及⑶I。所谓“数据库”,指的是为了查找和检索而组织的任何数据(即信息)的采集。当存储在存储器时,数据库允许由计算机快速查找和检索。数据库真正地结构化为结合各种数据处理操作以有利于进行数据的存储、检索、修改以及删除。数据库可以由能够划分为记录的文件或文件集组成,每一个记录由一个或多个字段构成。字段是数据存储的基本单位。用户可以主要通过查询来检索数据。使用关键字和排序命令,用户能够根据正在使用的数据库管理系统的规则,快速地检索、重新排列、分组以及选择许多记录中的字段,以检索或创建关于数据的特定集合的报告。数据库包括对象的类型;多个相应类型的对象;针对每个类型对象,至少一个动作、至少一个用于发起动作的触发界面、用于计算至少一个触发区的函数。该方法和系统通常操控建模对象。建模对象是由存储在数据库中的数据定义的任何对象。甚至于,表述“建模对象”表示数据本身。根据系统的类型,建模对象可以由不同种类的数据来定义。该系统可以是真正的CAD系统。系统也可以是作为CAE系统的CAD系统。在这些不同的系统中,建模对象由相应的数据定义。因此,会提及CAD对象、CAE对象、CAD数据、CAE数据。然而,这些系统并不是相互排斥的,因为建模对象可以由与这些系统的任意组合相对应的数据来定义。因而CAE系统也可以是CAD系统,这根据以下提供的这样的系统的定义将变得更加明了。所谓CAD系统,指的是至少适合于基于建模对象的图形表示来设计建模对象的任何系统,例如CATIA。在该情况中,定义建模对象的数据包括允许表示建模对象的数据。例如,CAD系统可以使用边缘或线条,在某些情况中采用面或表面来表示CAD建模对象。线条、边缘或表面可以采用各种方式来表示,例如非均匀有理B样条(NURBS)。具体来说,CAD文件可以包含从其可以产生几何结构的规范(specification),该几何结构反过来实现要被生成的表示。建模对象的规范可以存储在单个CAD文件中或多个CAD文件中。表示CAD系统中的建模对象的文件的通常大小在每部分一兆字节的范围内。并且建模对象通常可以是数干部分的组合。在CAD的情况下,建模对象通常可以是3D建模对象。所谓“3D建模对象”,指的是由允许其3D表示的数据建模的任何CAD对象。3D表示允许从所有角度观察对象。例如,当3D表示时,可以绕3D建模对象的任意轴,或者绕 显示有该表示的屏幕上的任意轴旋转或处理3D建模对象。这尤其排除了无法被3D建模的2D图标。3D表示的显示有助于设计(即增加了设计者在统计学意义上完成他们任务的速度)。这加速了产业中的制造过程,因为产品的设计是制造过程的一部分。CAD系统可以是基于历史记录的。在该情况中,CAD建模对象进一步由包括几何特征的历史记录的数据定义。CAD建模对象可以由自然人(即设计者/用户)使用标准的建模特征(例如,挤压、后旋、裁剪和/或圆形等)和/或标准的表面化特征(例如,扫描、弯曲、放样、填充、变形和/或平滑等)来设计。这意味着设计特征的创建历史记录通常通过由输入以及输出链路一起链接所述几何特征的非循环数据流来保存。CAD建模对象由两个持久性数据表示来描述历史记录和B-rep (即边界表示)。B-rep是历史记录中定义的计算结果。在表示建模对象时显示在计算机的屏幕上的部分的形状是(棋盘形布置(tessellation)的)B_rep。部分的历史记录是设计意图。基本上,历史记录收集了关于建模对象已经经历的操作的信息。B-r印可以与历史记录一起保存,以使其更容易显示复杂的部分。历史记录可以与B-rep —起保存,以便根据设计意图允许部分的设计改变。对象可以进一步由适合于相应的实体对象的制造的数据来定义。相应的实体对象是CAD建模对象所表示的工业产品。这些数据通常是制造过程的函数。这些数据通常可以是维值和/或公差值。为了正确地制造对象,优选具有这样的值。所谓CAE系统,指的是适合于建模对象的物理行为的分析的任何系统。在CAE系统中,建模对象因而由适合于这样的行为的分析的数据来定义。这通常可以是一组行为化特征。例如,与门相对应的建模对象可以由表明该门围绕轴旋转的数据来定义。图2示出典型CAD系统的⑶I的示例。⑶I 2100可以是典型的类似CAD的界面,具有标准的菜单栏2110、2120,以及底部和侧边工具栏2140、2150。如在本领域已知的,这样的菜单和工具栏包含一组用户可选的图标,每个图标与一个或多个操作或功能相联系。这些图标中的一些与软件工具相关联,适于针对显示在⑶12100中的3D建模对象2000进行编译和/或工作。该软件工具可以分组为工作台(workbench)。每个工作台包含软件工具的子集。具体来说,这些工作台之一是适合于编辑建模产品2000的几何特征的编辑工作台。在操作中,例如,设计者可以预先选择对象2000的部分,并且随后通过选择适当地图标来启动操作(例如,改变尺寸、颜色等)或编辑几何约束。例如,典型的CAD操作是显示在屏幕上的3D建模对象的冲压或折叠建模。⑶I例如可以显示与所显示的产品2000相关的数据2500。在图2的示例中,显示为“特征树”的数据2500和其3D表示2000属于包括制动卡钳(caliper)和轮盘的制动器组件。GUI还可以显示各种类型的例如用于有助于对象的3D取向、用于触发编辑产品的操作的模拟或提供所显示产品2000的各种属性的图形工具2130、2070、2080。光标2060可以由触觉设备来控制,以允许用户与图形工具交互。图3示出作为客户端计算机系统,例如用户的工作站的系统架构的示例。客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU) 1010,也连接到总线的随机存取存储器(RAM) 1070。客户端计算机还设置有与连接到总线的视频随机存取存储器1100相关联的图形处理单元(GPU) 1100。视频RAM 1100在本领域中也已知为为帧缓冲器。大容量存储设备控制器1020管理对诸如硬盘驱动器1030的大容量存储器设备的访问。适合于有形地实现计算机程序命令和数据的大容量存储器设备包括任意形式的非易失性存储器,包括的示例有诸如EPROM、EEPROM以及闪速存储器的半导体存储器设备;诸如内部硬盘和可移动盘的磁盘;磁光盘;以及CD-ROM光盘1040。前述任何一个可以由专门设计的ASIC (特定应用集成电路)来补充,或纳入专门设计的ASIC中。网络适配器1050 管理对网络1060的访问。客户端计算机还可以包括诸如光标控制设备、键盘等的触觉设备1090。如参照图2所示,将光标控制设备用在客户端计算机中,以准许用户选择性地将光标定位在显示器1080上的任意期望的位置。而且,光标控制设备允许用户选择各种命令,并且输入控制信号。光标控制设备包括多个用于将控制信号输入给系统的信号产生设备。通常,光标控制设备可以是鼠标、用于产生信号的鼠标按键。为了使系统执行以上方法,提供包括由计算机执行的指令的计算机程序,该指令包含用于这一目的的模块。例如,该程序可以在数字电子电路中,或在计算机硬件、固件、软件或它们的组合中实施。本发明的装置可以在计算机程序产品中实施,该计算机程序产品有形地实现在机器可读存储设备中并用于由可编程处理器执行;并且本发明的方法步骤可以由可编程处理器来执行,该可编程处理器通过操作输入数据和产生输出来执行指令程序,以实现本发明的功能。指令可以在一个或多个计算机程序中有利地实施,该计算机程序可在包括至少一个可编程处理器的可编程系统上执行,该可编程处理器耦合以接收来自数据存储系统、至少一个输入设备以及至少一个输出设备的数据和指令,并且将数据和指令发送给数据存储系统、至少一个输入设备以及至少一个输出设备。应用程序可以以高级程序或面向对象编程语言实现,或如果需要以汇编或机器语言实现;并且在任何情况下,该语言可以是编译或解释语言。该程序可以是完整安装程序或更新程序。在后一种情况下,该程序将现有的CAD系统更新至系统适合于执行该方法的状态。所谓“场景”,指得是适合于导航的屏幕的任何区域。“导航”指的是逼真的体验。导航可以包括在包含建模对象的虚拟世界中运动。该方法用于设计这样的区域。通常,用户具有他所处置下的至少两种(不同)类型的属于CAD 3D对象的建模对象。对象的类型可以是任意定义的对象的属性。例如,对象可以是类型“门”、类型“楼梯”等等。通常,用户根据他希望创建的体验来定位(SI)场景中的对象。该方法提供(S2)根据类型设置数据的数据库。因此,将类型具体化为数据库中的属性。而且,在定义对象的数据没有指定类型的情况下,数据库可以提供用于确定任何对象的类型的手段。对于每个类型的对象,数据库包括至少一个动作、至少一个触发界面和函数。在该情况下,该对象可以称为“体验”对象。以下,当未明确指出时,所谓“对象”指的是“体验对象(experience object) ”,即对于其类型提供至少一个动作的对象,与传统的非体验对象相反。该方法用于设计场景,其中在导航期间,能够发生事件以增加现实的体验。动作是这样的事件。根据对象的类型,动作是与对象相关联的事件。每个体验对象可以包括一个或多个动作。这些动作可以与触发区(triggering zone)相关联,该触发区自身与对象的触发界面相关联。因而,触发区是通过相应的一个或多个触发界面可发起动作(在将位置,例如化身(avatar)的位置定义为处于触发区内时)的场景的空间(或体积)。触发界面是用于发起动作的图形工具。事实上,在导航期间,在用户到达对象的触发区时,一个或多个相应的触发界面被激活(即进入能够进行用户交互的状态)。随后,用户可以例如通过触觉设备与触发界面交互,并且从而发起动作。仅当在相应的触发区中时激活触发界面使得导航在所使用的缓冲器和能够显示的元件方面(在触发界面可以是待显示的附加元件时)更加轻巧,并因而更加容易。该函数是计算触发区(即计算定义该触发区的体积)的函数。该函数将场景中的对象的参数值作为自变量。换句话说,将函数存储为根据场景的对象(同一对象和/或其它对象)计算对象的触发区的程序。函数也可以将场景中非体验对象的参数值作为自变量。 事实上,也可以将非体验对象定位在场景中。值得注意的是,结构(即,再现例如建筑物、房子、商场等现实的场所的一组非体验对象)可以伴随定位SI步骤而创建或先于定位步骤SI而创建。一个示例是将该方法应用于设计房子。在该情况中,将诸如墙壁或房顶的非体验对象进行定位。它们形成结构。随后,将诸如门和窗户的体验对象定位在场景中。门属于“门”类型。窗户属于“窗户”类型。通常,窗户或门可以打开或关闭。因而,对于“窗户”和“门”这两种类型,数据库包括动作“打开”和“关闭”。门可以具有“锁上”动作的另一动作。动作“打开”的触发界面可以是门或窗户这两种情况下可看见的一面。触发区可以是房子内窗户或门所处的房间。因而,在导航期间,当在房间内时,例如点击门或窗户可以打开它。用于计算该触发区(例如对于门)的函数可以将场景的(体验)对象(诸如门自身)的参数值作为自变量以及将场景的非体验对象(诸如墙壁和天花板的位置,当墙壁和天花板处于相同房间中时,墙壁和天花板的位置全部与门的位置关联)的参数值作为自变量。对于门而言,第二触发区也可以计算为房子前面的体积。事实上,门可以从外部打开(而窗户仅可以从内部打开)。该方法包括由于在上述形式下提供(S2)数据库而能够生成的一系列步骤。针对每个相应的(体验)对象执行这些步骤(S31、S32、S4)。对于每个对象,该方法实例化(S31)与该对象的类型相对应的触发界面,并且通过应用与该对象相对应的函数来计算(S32)触发区。随后,该方法将所实例化的触发界面和所计算的触发区添加到场景中。来自面向对象编程的实例化是已知的。在这里,实例化与计算相对,因为,在实例化中,该方法仅将指针指向现有的定义。例如,利用门和作为该门的面(face)的触发界面,该门的该面已经在定义该门的数据中指定。实例化该触发界面仅意味着创建与动作(在该示例中为打开该门)相关联的特定类的新“触发界面”,并且将它例如通过指针与现有的几何图形(在该示例中为该门的该面)相链接。因而,该触发界面可以包括用于与用户图形交互的对象的一部分的已修改状态(即,对象的部分例如通过触觉设备进入能够进行用户交互的状态)。触发界面还可以包括诸如提醒物(phylactery)、按钮或绘图等的所显示的微件工具。通常将这样的微件工具存储在数据库中并且准备用于实例化。实例化触发界面而不是执行繁重的计算使得该方法加速。因此,该方法通过引入不同类型的动作和对象允许创建适合于精制导航的场景。值得注意的是,第一类型的动作或(多个动作之一)可不同于第二类型的动作或(多个动作之一)。这提高了导航期间现实体验的印象,因为对象被提供有固有的动作。优选地,自动执行步骤S31、S32、S4。由于数据库为该自动操作指定了所有的数据,这将是可行的。在这样的情况下,该方法是快速和非常方便的。事实上,用户不需要担心定义触发界面、触发区以及动作。由于该数据库,所有这些将自动操作。值得注意的是,如前所述,当在CAD系统中实施时,该系统适合于控制CAD对象,并且还可以适合于设计对象以及分析其行为。在该情况下,该方法非常方便,因为用户仅需要定位对象,而体验设计的剩余步骤可以自动执行。因而,该方法可以通过添加可能性以在包含CAD建模对象的虚拟世界中导航来改进整个制造过程。例如,在定位多个对象之前,该方法可以包括利用CAD系统设计包含对象 的CAD模型(或组件)。定位多个对象、提供数据库、实例化触发界面并且添加到场景、计算触发区并添加到场景均可以利用同一 CAD系统来执行。这样的CAD系统允许CAD建模对象的传统设计以及该方法的运行,因此该CAD系统加速总体的制造过程并且避免了制造(用于测试)不必要的实体对象。同一 CAD系统还可以提供在根据该方法设计的场景中导航,并且从而再一次改进实体对象的制造。导航可以遵循不同的导航模式。导航模式可以是第一人称导航、第三人称导航或自由相机导航。在第一人称导航中,采用化身的终端用户并没有“实体地”存在于场景中,而是如果他处于虚拟的场景中,由软件显示的视点与他将获得的景象相对应。在第三人称导航中,终端用户通过化身(虚拟人)出现在场景中。在这两个导航模式中,可以提供碰撞检测(不能够穿过诸如墙壁的实体障碍)。在自由相机导航中,终端用户可以在场景中自由地导航(飞离地面,没有采用墙壁的碰撞检测)。可以提供这三个模式之间的选择以更加容易使用。现在论述不同动作的示例。动作可以是显示兴趣点、显示并且沿着导航路径、显示关于对象的信息、到达或显示至子对象的触发区的路径、执行对象的固有行为、和/或显示固有行为的信息或参数中的任意一种或组合。此外,非体验对象没有预定义的动作并且没有预定义的语义(semantic)。这些对象通常由该体验(即,在导航期间)仅作为3D实体对象来处理。在体验对象中,可以根据它们允许的动作来定义不同的种类。第一分类聚集了与相机交互的对象。这种对象可以在体验中公布兴趣点(P0I,SP对于相机的优选位置)。该POI可以由3D微件来表示,该3D微件仅在相应的触发界面激活时才显示。例如,对于窗户,POI可以位于窗户的前方,以通过该窗户显示最佳的视点。这种对象还可以公布导航路径(即相机必须拍摄的一系列位置)。该导航路径的开始点可以由3D微件来表示。通常,在终端用户点击它时,可以将相机的控制转移到沿着导航路径使用相机的对象。例如,这可以是用于登上楼梯的导航路径触发界面可以是在楼梯底部的箭头,并且,在点击箭头时,当前相机向楼上拍摄。另一示例是工厂中或飞机中沿着管道的导航路径。另一分类聚集显示关于自身的信息的对象。例如,该动作可以包括显示具有某些关于对象的文字信息的提醒物,或发起信息消息。另一分类聚集具有能够被发起的固有动作的对象,例如,在点击该对象,由对象显示的特定的引人入胜的GUI或3D微件上时。在动作可以通过直接点击对象来发起的情况下,鼠标光标可以在移动对象时获得定制化。另一分类聚集显示关于它们动作的信息的对象。在对象的固有动作公布关于实施观点(implementation standpoint)的参数的情况下,能够选择将它们中的一些显示给体验模式中的终端用户。例如,在运行具体动作时(目标速度、对象的初始状态),这可以是初始条件。还必须注意,对象能够包含其它对象。它们的内部体积因而可以确定其它对象的 触发区的边界。因此对象在某种程度上可以是体验区本身并且包含了“子体验对象”。可以修改该区域内的导航参数。该区内的体验对象的(触发界面的)激活可以取决于该区和场景中终端用户的位置。例如,房子可以包含楼梯和窗户,或者电梯可以包含第三人称化身。现在论述触发区可以如何添加到场景中的示例,在该情况下,提供在CAD系统中设计的组件。组件可以具有其中对象被层次结构化的数据结构。在导航场景下的数据可以具有类似的层次结构。例如,可以将所有计算的触发区放置在取向图中,其中将孩子(至少部分)包含在其父母中。该触发界面是端节点。这使得基于CPU的导航更加容易,因为这样的图形更容易读取。例如,如果组件是具有以下树结构的建筑物-建筑物〇楼层I〇楼层2〇楼梯I〇通路■窗户 I■窗户 2■窗户 3■门 I■门 2随后,用户通常定位(SI)对象建筑物、窗户和门。随后,该方法识别所定位的体验对象的类型,并且根据所提供(S2)的数据库,计算(S32)触发区。通常,针对建筑物,计算被称为“建筑物区”的触发区。该触发区可以包含其它对象的触发区。在该情况下,让我们举例,其中除了对于不同动作具有两个触发区的楼梯采用不同的触发界面之外,每个对象的触发区是其楼层,并且每个对象仅具有与一个动作相对应的一个触发界面(以每次在相应的方向上的箭头表示,对于较低楼层的动作包括上楼梯,并且对于上部楼层的动作包括下楼梯)。该方法因而可以产生以下数据结构
-建筑物区〇楼层I区■楼层I界面I■窗户I界面■窗户2界面■门I界面■门2界面〇楼层2区 ■楼层I界面2■窗户3界面现在,参照图4的流程图论述用于根据该方法设计的场景中导航的示例。流程图表示在导航期间以运行时动态执行的过程。基本上用户每次运动S50,如果用户进入新的区,该过程测试S60。如果该区是相同的,则什么也不做。如果该区是不同的,则激活与新的区相关联的触发界面(S61-S62)。可以执行进一步的测试(S70、S80)和进一步的动作(S71、S81),以增强体验。现在,参照图5-图12论述采用该方法设计的场景和场景中的导航的示例,图5-图12示出根据该方法的一个实施方式设计的场景50中的导航的屏幕截图。在该示例中,将作为图5上所示的建筑物52的结构定位。该结构由非体验对象(墙壁、天花板等)构成。该方法定位(SI)不同的对象。所定位的对象包括楼梯60。楼梯60具有两个如先前示例中论述的动作(使相机沿着路径向上或向下拍摄)以及用于发起这些动作(根据对于类型“楼梯”提供这些信息的数据库)的相应的3D微件箭头62。所定位的对象包括电梯90,定位于第一层的特定点。电梯90具有采用不同界面的若干动作(通过直接点击来打开/关闭门,采用相机并采用引人入胜的2D GUI (提醒物)上下楼以改变楼层)。所定位的对象包括定位于第四层的特定点的风扇120。该风扇120具有转动其叶片的动作,该动作可通过点击风扇120来发起。还具有引人入胜的2D⑶I以重置该行为或获得关于该行为的信息。所定位的对象包括定位于第四层的风扇120下方的洗衣机122。洗衣机122的滚筒通过直接点击其按钮来转动。这里同样具有引人入胜的2D GUI以重置该行为或获得关于该行为的信息。该体验数据结构可以如下-建筑物区〇地面层区■楼梯〇第一层区■楼梯■电梯区 (相机)〇第二层区〇第三层区
〇第四层区■风扇■洗衣机在导航期间,如图5所示,当在建筑物外部时,没有触发界面被激活。如图6所示,当仍然在建筑物的外部但看到楼梯时,没有可见的3D微件。如图7所示,在进入建筑物地面层时,楼梯3D微件62是可见的。楼梯体验对象被激活(即上楼的动作是可发起的)。如图8所示,在点击3D微件之后,将第一人称相机拍摄第一层。如图9-图10所示,在进入第一层时,激活电梯90的触发界面。如图10所示,简单的点击门来打开它们。在第一相机进入电梯90时,电梯90接收事件,并显示新的提醒物92。如图11所示,使用它,用户可以到达第二 /第三/第四层。在进入第四层时,风扇120和洗衣机122的触发界面变为激活并可以被触发。如图12所示,它们的GUI变为可见的。在第一人称相机离开电梯区时,电梯 ⑶I被隐藏。
权利要求
1.一种用于设计适合于导航的场景的计算机实施方法,其中所述方法包括以下步骤 -定位(SI)所述场景中的多个相应类型的对象,其中所述对象是至少两种类型的CAD三维建模对象; -提供(S2)数据库,所述数据库对于每种类型的对象包括 〇至少一个动作; 〇用于发起所述动作的至少一个触发界面; O用于计算至少一个触发区的函数,所述函数以所述场景中的所述对象的参数值作为自变量,其中在导航期间到达所述触发区使得所述触发界面激活; -对于每个相应对象 〇实例化(S31)与所述相应对象的类型相对应的触发界面,并且通过应用对应于所述相应对象的所述函数来计算(S32)触发区; O将所实例化的触发界面和所计算的触发区添加(S4)到所述场景。
2.根据权利要求I所述的方法,其中第一类型的所述动作与第二类型的所述动作不同。
3.根据权利要求I或2所述的方法,其中所述对象由适合于制造对应实体对象的数据来定义。
4.根据权利要求3所述的方法,其中所述对象由包含以下任意一个或组合的数据来定义 -维度值; -公差值; -几何特征的历史记录;和/或 -一组行为化特征。
5.根据权利要求1-4中任一项所述的方法,其中激活所述触发界面包括显示微件工具或修改用以与用户进行图形交互的所述对象的一部分的状态。
6.根据权利要求1-5中任一项所述的方法,其中所述动作是以下任意一个或组合 -显示兴趣点; -显示并且遵循导航路径; -显示关于所述对象的信息; -到达或显示至子对象的所述触发区的路径; -执行所述对象的固有行为;和/或 -显示固有行为的信息或参数。
7.根据权利要求1-6中任一项所述的方法,其中,在定位所述多个对象之前,所述方法包括以CAD系统设计包含所述对象的模型,并且其中以同一 CAD系统执行定位所述多个对象、提供所述数据库、实例化所述触发界面并且添加所述触发界面到所述场景、计算所述触发区并添加所述触发区到所述场景。
8.一种方法,用于在根据权利要求1-7中任一项所述的方法设计的场景中导航。
9.根据权利要求8所述的方法,其中导航模式是第一人称导航、第三人称导航或自由相机导航。
10.一种CAD系统,包括-存储数据库的存储器,所述数据库包括 〇对象的类型,其中所述对象是至少两种类型的CAD三维建模对象; 〇多个相应类型的对象; 〇对于每个类型的对象 ■至少一个动作; ■用于发起所述动作的至少一个触发界面; ■用于计算至少一个触发区的函数,所述函数以所述场景中的所述对象的参数值作为自变量,其中在导航期间到达所述触发区使得所述触发界面激活; -图形用户界面,所述图形用户界面与所述存储器和处理器耦合,并适合于执行根据权利要求1-9中任一项所述的方法。
11.一种计算机程序,包括由计算机执行的指令,所述指令包括用于以CAD系统的图形用户界面执行根据权利要求1-9中任一项所述的方法的模块,所述CAD系统与存储器和处理器耦合,其中所述存储器存储数据库,该数据库包括对象的类型,其中所述对象是至少两种类型的CAD三维建模对象;多个相应类型的对象;对于每个类型的对象至少一个动作;用于发起所述动作的至少一个触发界面;用于计算至少一个触发区的函数,所述函数以所述场景中的所述对象的参数值作为自变量,其中在导航期间到达所述触发区使得所述触发界面激活。
12.—种计算机可读存储介质,其上记录有根据权利要求11所述的计算机程序。
全文摘要
一种用于设计适合于导航的场景的计算机实施方法可包括定位所述场景中的多个相应类型的对象,其中所述对象是至少两种类型的CAD三维建模对象;提供数据库,所述数据库对于每种类型的对象包括至少一个动作;用于发起所述动作的至少一个触发界面;用于计算至少一个触发区的函数,所述函数以所述场景中的所述对象的参数值作为自变量,其中在导航期间到达所述触发区使得所述触发界面激活;并且,对于每个相应对象,实例化与所述相应对象的类型相对应的触发界面,并且通过应用对应于所述相应对象的所述函数来计算触发区;以及将所实例化的触发界面和所计算的触发区添加到所述场景。这样的方法在CAD领域中提供了改进的导航解决方案。
文档编号G06F17/50GK102682150SQ20121003279
公开日2012年9月19日 申请日期2012年2月14日 优先权日2011年2月15日
发明者A·卡扎班, M·莫罗 申请人:达索系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1