一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于计算机辅助设计(CAD)模型的可视化元素的交互数据的选择性加载的制作方法

2022-03-31 10:28:02 来源:中国专利 TAG:

用于计算机辅助设计(cad)模型的可视化元素的交互数据的选择性加载


背景技术:

1.计算机系统可用于创建、使用和管理用于产品和其他物品的数据。计算机系统的示例包括计算机辅助设计(cad)系统(其可以包括计算机辅助工程(cae)系统)、可视化和制造系统、产品数据管理(pdm)系统、产品生命周期管理(plm)系统等。这些系统可以包括有助于产品结构和产品制造的设计和模拟测试的部件。
附图说明
2.在下面的具体实施方式中并参照附图来描述某些示例。
3.图1示出了支持用于cad模型的可视化元素的交互数据的选择性加载的客户端计算系统的示例。
4.图2示出了支持用于cad模型的可视化元素的交互数据的选择性加载的示例架构。
5.图3示出了模型交互引擎可以识别以支持交互数据的选择性加载的候选cad面的示例。
6.图4示出了模型交互引擎可以识别以支持交互数据的选择性加载的邻近cad面的示例。
7.图5示出了逻辑的示例,系统可实施该逻辑以支持用于cad模型的元素的交互数据的选择性加载。
8.图6示出了支持用于cad模型的元素的交互数据的选择性加载的系统的示例。
具体实施方式
9.可以通过各种方式来实现cad系统和cad应用。例如,cad应用可以被提供为基于云的服务,例如作为软件即服务(software-as-a-service,saas)提供,其中客户端计算系统经由本地实施的瘦客户端访问集中托管的cad应用。在这种客户端-服务器模型中,尤其是随着cad模型的尺寸和复杂度持续地增加,用户对cad模型的访问将是耗费时间且耗费资源的过程。经由瘦客户端从服务器接收并加载3d cad模型将消耗大量计算资源和网络资源。在某些情况下,cad系统可以将传输的cad模型数据减少(例如,使其最小化)至仅在客户端计算系统上将cad模型可视化(例如,显示)所需的数据。如本文所使用的,可视化数据可以指客户端计算系统将给定cad模型可视化所需的任何cad模型数据。
10.除可视化数据外,cad应用还可以利用其他类型的cad模型数据来支持各种cad功能和特征,包括与cad模型的特定元素交互的cad能力。cad应用可以支持的示例性交互包括cad模型元素选择、拖动、上下文菜单显示、抬头(heads-up)显示、几何分析、以及与cad模型元素交互的许多其他形式。用于通过cad应用来支持这些交互的cad模型数据可被称为交互数据。就该方面而言,交互数据可以包括支持与cad模型的可视化的cad模型元素进行用户交互的任何cad模型数据。如本文所使用的,交互数据和可视化数据可以是不同的,因为可视化数据允许cad系统将cad模型可视化,而交互数据可以支持与经由cad系统可视化的不
同cad模型元素进行用户交互。
11.在基于saas的cad系统中加载交互数据可能会导致额外的资源、延迟和网络消耗损失。在某些情况下,交互数据可能包括适当地支持cad系统的基于cad的功能所需的数量可观的cad模型数据(多达加载的cad模型数据的30%,有时甚至更多)。在初始模型加载期间,一起加载交互数据和可视化数据是一种方法,但在用户登录到cad应用时,使用添加的交互数据完全加载cad模型将导致额外的延迟和性能损失。另一种简单的方法是在用户交互时(例如,在鼠标悬停在给定cad模型元素上或鼠标点击该cad模型元素时)加载用于特定cad模型元素的交互数据。但是,在发生此类交互以完成对交互数据的服务器查询时,此类方法可能会产生滞后和延迟,并且cad应用用户在选择cad模型元素或以其他方式与cad模型元素交互时将经历明显的延迟。
12.本公开可以提供用于cad模型的可视化元素的交互数据的选择性加载的系统、方法、设备和逻辑。如下面更详细地描述的,本文的选择性交互数据加载特征可以支持确定由用户可以潜在地与其交互的客户端计算系统进行可视化的候选cad面。通过这样做,选择性交互数据加载可以利用这样的理念,即给定cad模型的所有几何元素并非都是实际的交互候选者,其包括甚至未显示在当前视图中的cad模型元素,或对于用户而言太小而无法实际选择的可视化的cad模型元素。
13.加载用于cad模型的所有cad模型元素的交互数据将导致网络带宽浪费和资源消耗。因此,本文描述的特征可以支持非候选cad模型元素的剔除,以及支持对所确定的交互候选者的交互数据进行服务器查询而无需(不必要地)查询非候选cad模型元素的交互数据。通过这样做,本文描述的特征可以选择性地加载给定cad模型中的几何实体的候选子集(低至10%或更低)的交互数据,这与其他简单交互数据加载技术相比,可以导致减少用于查询、下载和本地存储的数据。
14.本文更详细地描述了这些和其他选择性交互数据加载特征和优点。
15.图1示出了客户端计算系统100的示例,该客户端计算系统100支持用于cad模型的可视化元素的交互数据的选择性加载。客户端计算系统100可以采用单个或多个计算设备的形式,例如应用服务器、计算节点、台式或膝上型计算机、智能手机或其他移动设备、平板设备、嵌入式控制器等。在一些示例中,客户端计算系统100实施或执行瘦客户端cad应用,以提供对cad应用的基于云的实施方式的访问。客户端计算系统100可以与集中存储cad模型数据的服务器计算系统交互,以作为客户端-服务器架构中的客户端来访问cad应用、cad模型和各种cad功能。
16.作为用以支持本文描述的选择性交互数据加载特征的任何组合的示例性实施方式,图1所示的客户端计算系统100包括模型可视化引擎108和模型交互引擎110。客户端计算系统100可以以各种方式(例如以硬件和编程的方式)来实施引擎108和110(包括其组件)。用于引擎108和110的编程可以采用存储在非瞬时性机器可读存储介质上的处理器可执行指令的形式,并且用于引擎108和110的硬件可以包括用于执行这些指令的处理器。处理器可以采用单处理器或多处理器系统的形式,并且在一些示例中,客户端计算系统100使用相同的计算系统特征或硬件组件(例如,公共处理器或公共存储介质)来实现多个引擎。
17.在操作中,模型可视化引擎108可以从远离客户端计算系统100的服务器计算系统访问可视化数据,以在客户端计算系统的查看窗口中显示cad模型。在操作中,模型交互引
擎110可以向服务器计算系统查询cad模型的所选部分而不查询cad模型的其他部分的交互数据,其中所述交互数据包括支持与cad模型的所选部分进行用户交互的cad模型数据。由模型交互引擎110确定的cad模型的所选部分可以包括根据如本文更详细描述的各种交互标准确定的、用户可以潜在地与之交互的确定的候选cad模型元素。下面更详细地描述根据本公开的这些和其他选择性交互数据加载特征。
18.图2示出了示例性架构200,该示例性架构200支持用于cad模型的可视化元素的交互数据的选择性加载。如图2所示的示例性架构200包括客户端计算系统100和服务器计算系统202。客户端计算系统100和服务器计算系统202可以一起支持cad应用的基于客户端-服务器(例如,saas)的实施方式,其中cad软件可以集中地托管在cad应用服务器(例如,服务器计算系统202)上,并且经由由客户端设备(例如,客户端计算系统100)实施的瘦客户端来访问该cad软件。为了支持这样的特征,客户端计算系统100和服务器计算系统202可以例如经由因特网、局域网或广域网等通信地链接。
19.如图2所示的客户端计算系统100包括模型可视化引擎108和模型交互引擎110。模型可视化引擎108可以包括由客户端计算系统100支持cad模型可视化的任何能力。在这方面,模型可视化引擎108可访问用于cad模型的可视化数据并且经由客户端计算系统100的瘦客户端显示cad模型(或cad模型的给定视图)。如图2所示的示例中,模型可视化引擎108通过瘦客户端的应用窗口210提供cad应用显示,并且示例性瘦客户端包括web浏览器、应用门户或轻量级客户端应用,或者包括可以与由服务器计算系统202集中托管的cad软件交互的任何其他客户端。如图2所示,模型可视化引擎108可以在应用窗口210中将cad模型212可视化,然后该应用窗口可以支持用户交互,以访问、修改、测试或以其他方式配置cad模型212。
20.模型可视化引擎108可从服务器计算系统202访问用于cad模型212的可视化数据。随着cad模型的复杂度持续地增加,可视化数据的大小和复杂度也将随之增加。因此,模型可视化引擎108可以将用于cad模型212的访问的可视化数据压缩成、减少到或以其他方式限制为仅在应用窗口210中显示cad模型212所必需的数据。换句话说,由模型可视化引擎108访问的cad模型212的可视化数据可以支持cad模型212的显示,但是可能缺少支持给定的与cad模型212的可视化元素(例如,cad面)进行用户交互的任何数据。可视化数据的示例性形式包括用于构建cad模型212的渲染以在应用窗口210中显示的cad面数据或cad网格数据。
21.为了支持cad模型交互,模型交互引擎110可以为在应用窗口210中显示的cad模型212的一些但不是全部的可视化元素选择性地加载交互数据。如本文所述的,交互数据可以包括支持任何与cad模型212或其所选部分进行用户交互的cad模型数据(除了可视化数据以外的数据)。交互数据的示例包括cad模型212的边缘数据(例如,当可以单独通过cad面数据来可视化cad模型时,无需边缘数据)、捕捉点数据、切线链接数据、特征选择数据、几何分析数据等。这样的交互数据可以支持以选择、拖动、上下文菜单、抬头显示等形式的cad模型交互。
22.为了选择性地加载交互数据,模型交互引擎110可以将所选的cad模型元素(例如,cad面、组件或cad模型的任何其他描划部分)识别为用户可以潜在地与之交互的候选cad模型元素,这样做是通过应用任意数量的交互标准来作出这种确定。所确定的候选元素的集
合可以包括在应用窗口210中可视化的候选cad模型元素的集合,其中模型交互引擎110可以为该应用窗口210选择性地加载交互数据。
23.使用候选cad面作为模型交互引擎110可以确定或识别的示例性候选cad模型元素来呈现本文描述的许多选择性加载特征。cad面可以指cad模型中的任何描划的表面,并且可以利用多个小面(例如,作为表面网格)进行可视化。然而,在本公开范围内考虑了任何类型的候选cad模型元素和对应的交互标准。例如,模型交互引擎110可以识别作为较大cad组件的一部分的候选cad部件(例如,包括多个cad面或其他cad子零件)。交互标准和选择性交互数据加载特征可以被一致地应用于候选cad部件和/或模型交互引擎110可确定为用于用户交互的候选者的任何其他类型的cad模型元素。
24.可以由模型交互引擎110设定交互标准,该交互标准的目标是识别用户可以与之交互的cad模型212的实际的(realistic)或可能的候选者。以另一种方式解释,应用的交互标准可以过滤掉用户交互的非实际的或不可能的cad模型元素,并且通过交互标准的特定参数进行控制。实际上,应用的交互标准可以允许模型交互引擎110加载用于cad模型212的可视化元素的所选子集的交互数据,从而与简单地加载用于cad模型212的所有可视化元素的交互数据相比,提高了效率并减少了网络延迟。此外,交互标准可以允许模型交互引擎110在实际用户交互之前预加载交互数据,这可以减少或消除对于在实际用户交互时或实际用户交互之后执行的交互数据查询中可能普遍存在的网络延迟和应用滞后。
25.下面结合图3和图4来更详细地描述模型交互引擎110可以应用的交互标准的示例。
26.通过应用交互标准,模型交互引擎110可以为可视化的cad模型212确定候选cad模型元素(例如,cad面)的集合。再次参考图2,模型交互引擎110可以向服务器计算系统202查询特别针对所确定的候选cad面的交互数据。在图2中,模型交互引擎110构建服务器查询220并且将服务器查询220发送到服务器计算系统202。服务器查询220可以请求针对由模型交互引擎110确定的cad模型212的候选cad面的交互数据,而不请求针对cad模型212的其他非候选cad面的交互数据。服务器计算系统202可以利用服务器响应222来响应服务器查询220,该服务器响应222可以包括所请求的针对所确定的cad模型212的候选cad面的交互数据。
27.针对所确定的cad模型212的候选cad面的交互数据在图2中示出为交互数据230,模型交互引擎110可以在客户端计算系统100中本地存储该交互数据230。例如,模型交互引擎110可以将交互数据230存储在客户端高速缓存(cache)240中,模型交互引擎110可以自身实现该客户端高速缓存240,或者可以通过客户端计算系统100以其他方式本地化地实现该客户端高速缓存240。高速缓存的交互数据可以本地存储在客户端计算系统100上,并且容易用于后续的与cad模型212的用户交互。因此,模型交互引擎110可以选择性地加载用于cad模型的其中一些(但不是所有的)显示元素的交互数据230(例如,加载到客户端高速缓存240中)。
28.下面结合图3和图4展示模型交互引擎110如何确定为其选择性地加载交互数据的候选cad面的各个示例。
29.图3示出了模型交互引擎110可识别以支持交互数据的选择性加载的候选cad面的示例。在图3中,再次示出了图2中描述的应用窗口210,其包括图3中标记的查看窗口312。该
查看窗口312可以参考应用窗口210的所选子部分(例如,web浏览器的特定部分),并且可以是由cad应用特别地指定以显示cad模型212的任何显示部分。在这方面,查看窗口312可以与用于cad应用或应用窗口210的用户界面(“ui”)的其它部件分离,例如,与web地址栏、命令条、操作库、格式化栏或cad应用的其它ui部件分离。因此,查看窗口312可以参考cad应用ui的特定应用部分,以可视化并显示cad模型。
30.在一些实施方式中,模型交互引擎110基于查看窗口312的属性来确定候选cad面,以选择性地加载交互数据。具体地,模型交互引擎110可以相对于查看窗口312来应用尺寸标准,以确定要为其选择性地查询交互数据的候选cad面。例如,当给定cad面的尺寸超过查看窗口312的尺寸(例如,总尺寸、宽度、高度等)的阈值百分比(例如,10%)时,则将满足该尺寸标准。通过应用这种尺寸标准,模型交互引擎110可以消除(相对)较小的cad面作为交互候选者的情况,并且尺寸标准可以被配置以应用查看窗口312的尺寸的阈值百分比,以便识别尺寸较小的并因此对于cad模型212的当前可视化视图不太可能(或不能)进行用户交互的非候选cad面。
31.为了应用这样的尺寸标准,模型交互引擎110可以确定查看窗口312的尺寸,并且计算在查看窗口312中可视化的cad模型212的每个cad面的尺寸。在这方面,这种尺寸标准可被称为全局应用的尺寸标准,因为该尺寸标准可应用于如在查看窗口312中显示的任何cad面(并且这样做,模型交互引擎110可根据候选确定结果来过滤掉未在查看窗口312中显示的cad模型212的任何cad模型元素)。计算的尺寸可以是二维(2d)面积(例如,如在2d像素空间中测量的)、周长、高度值或宽度值、对角线值(例如,围绕cad模型元素的边界框)的形式,或者根据查看窗口312的任何其他尺寸参数和cad模型的cad模型元素的形式。cad面尺寸的计算可以是特别地针对如在查看窗口312中显示的cad模型212的当前视图做出的。模型交互引擎110可以将尺寸至少超过查看窗口312尺寸的阈值百分比的cad模型212的任何给定cad面识别为候选cad面。
32.通过图3作为说明性示例,模型交互引擎110可以将查看窗口312确定为具有800像素
×
600像素的尺寸,并因此具有480,000像素尺寸。在应用示例性阈值百分比为4%的尺寸标准时,模型交互引擎110可以将候选cad面识别为在查看窗口312中的显示的cad模型212的视图中的尺寸大于19,200像素的任何cad面。作为另一示例性实施方式,与查看窗口312的对角线值的阈值百分比相比,尺寸标准可以应用于围绕cad面的边界框的对角线值。在图3所示的示例中,模型交互引擎110可以应用尺寸标准来确定候选cad面的集合,该候选cad面的集合被标记为在查看窗口312中显示的用于cad模型212的候选cad面320(图3中黑色图案的多个单独cad面)。然后,模型交互引擎110可以向cad应用服务器查询针对在查看窗口312中显示的cad模型212而确定的候选cad面320的交互数据。
33.在一些实施方式中,模型交互引擎110可以重新确定候选cad面,以选择性地查询针对触发事件的交互数据。触发事件可以指由模型交互引擎110确定的一旦发生则模型交互引擎110选择性地向cad应用服务器查询交互数据的任何事件。例如,模型交互引擎110可以识别基于尺寸的触发事件,该触发事件可以是指查看窗口312的尺寸改变或显示在查看窗口312中的cad模型212的阈值数量的可视元素的尺寸改变的任何事件。
34.基于尺寸的触发事件的示例可以包括:例如通过将应用窗口210最大化或以其他方式调整cad应用ui以增加或减小查看窗口312的尺寸来重新调整查看窗口312的尺寸。其
他示例包括:无论是通过旋转cad模型212的视图(从而改变在查看窗口312中显示的cad面的2d面积、将先前未显示的cad模型212的cad面可视化、移除在相机改变之前被可视化的cad面,等等)还是通过调节相机的缩放(或者通过进行可以增加显示的cad面的2d面积的放大或者通过进行可以减少显示的cad面的面积的缩小),来改变查看窗口312中的cad模型212的相机视图。
35.一旦识别出上述触发事件的任何组合,模型交互引擎110可以重新确定如在查看窗口312中显示的用于cad模型212的候选cad面,并且相应地选择性地加载用于重新确定的候选cad面的交互数据。模型交互引擎110可以以如上所述的一致方式重新确定候选cad面,将尺寸标准全局地应用到随触发事件改变的cad模型212的更新视图。
36.作为交互标准和触发事件的其他示例,模型交互引擎110可以基于与光标位置的接近度来确定候选cad面,如下面结合图4更详细地描述的。
37.图4示出了模型交互引擎110可识别以支持交互数据的选择性加载的邻近cad面的示例。邻近cad面可以指模型交互引擎110可以基于所应用的接近标准(例如,关于光标或其他基于ui的交互机制)选择性地为其加载交互数据的cad面。在这方面,邻近cad面也可以被认为是模型交互引擎110可以向cad应用服务器查询交互数据的、但可以基于与相对于查看窗口的尺寸相对的接近距离来识别的候选cad面。也就是说,基于鼠标光标(或其他基于ui的交互机制)位置,可以将邻近cad面识别为潜在的交互候选者。模型交互引擎110可以确定可视化的cad模型元素与鼠标光标的距离越近,则用户更可能与特定cad面或可视化的cad模型元素交互。
38.为了说明,图4示出了具有查看窗口412的应用窗口210。图4所示的查看窗口412包括光标414,用户可通过光标414与cad模型212的可视化元素交互(例如,选择或拖动)。为了确定邻近cad面,模型交互引擎110可以应用当cad模型212的cad面在距离光标414接近距离以内时满足的接近标准。在图4中,所述接近距离被指定为像素距离,并且通过半径“r”和包围光标414尖端的虚线圆来例示。在距离光标414(例如,光标尖端)“r”像素距离以内的cad模型212中的任何cad面都可以被模型交互引擎110识别为邻近cad面。
39.模型交互引擎110可以以各种方式配置接近标准的接近距离,例如,配置为明确的距离值(例如,50像素阈值距离),配置为查看窗口412的维度的百分比(例如,查看窗口412的宽度尺寸的5%),或以各种其他方式进行配置。作为其他示例,由模型交互引擎110应用的接近标准可以通过围绕光标414的边界框(例如,光标414的尖端位于边界框中心的100像素
×
100像素的边界框)来应用,或者以提供基于距离的标准的任何其他形式来应用,其中模型交互引擎110通过该基于距离的标准可以识别在应用窗口412中显示的邻近cad面。
40.在图4中,模型交互引擎110识别在查看窗口412中显示的针对cad模型212的视图的邻近cad面420,并且基于光标414的位置进行识别。然后,模型交互引擎110可以向cad应用服务器查询邻近cad面420的交互数据,以支持后续的与任何所识别的邻近cad面420的用户交互。随着光标414改变位置,模型交互引擎110可以继续识别邻近cad面,以向cad应用服务器选择性地查询对应的交互数据。
41.在一些实现方式中,模型交互引擎110将距离光标414接近距离内的一些(但不是全部的)cad面识别为为其选择性地加载交互数据的邻近cad面420。在这种情况下,模型交互引擎110可以将第二尺寸标准应用于接近距离以内的cad面。以与上面针对全局地应用于
cad模型212的当前视图的尺寸标准所讨论的类似的方式,第二尺寸标准可以过滤掉过小而不可能是交互候选者的cad面,即使当该cad面到光标414的距离小于接近距离时也是如此。然而,第二尺寸标准可被称为局部应用的尺寸标准,因为模型交互引擎110可以将该第二尺寸标准仅应用于位于距离光标414接近距离以内的cad面。
42.除全局应用的尺寸标准外,还可以应用第二尺寸标准以用于基于查看窗口的尺寸确定候选cad面(例如,如上文图3所述的)。在一些实现方式中,第二尺寸标准可以指定与总体上(例如,全局)应用于cad模型212的尺寸标准相比更宽松的尺寸阈值。换句话说,与如图3所示的用于确定cad模型212的候选cad面的尺寸标准相比,cad模型212的更大数量的cad面可满足第二尺寸标准(如果全局地应用)。
43.为了说明,当给定cad面的尺寸至少为查看窗口412的尺寸的2%时,可以满足第二尺寸标准,而全局应用的尺寸标准可能需要查看窗口412尺寸的至少4%。因此,模型交互引擎110可以基于与光标414的接近度来识别cad模型中的某些邻近cad面,基于全局地应用于cad模型212的尺寸标准,这些邻近cad面未被或不会被识别为候选cad面(例如,被识别为图3中的候选cad面320),但是现在通过距离光标414接近距离以内并且满足第二(更宽松的)尺寸标准而被识别为邻近cad面。
44.如本文所描述的,包括通过应用基于尺寸的交互标准、基于接近度的交互标准、或者这两者的组合,模型交互引擎110可以识别候选cad面(其可包括邻近cad面)以选择性地加载交互数据。
45.在一些实施方式中,模型交互引擎110向cad应用服务器查询用于所识别的候选cad面的交互数据的特定子集,基于cad应用在其中操作的特定应用上下文或模式来进行。cad应用可以通过各种cad交互操作(如选择操作、拖动操作、几何分析操作等)来提供多种交互能力。模型交互引擎110可以基于用于与cad模型交互的当前cad交互操作来查询所确定的候选cad面的所选交互数据。
46.作为说明性示例,当由用户针对cad模型使用的当前cad交互操作是选择操作时,模型交互引擎110可以改为向cad应用服务器查询捕捉点数据形式的交互数据。当当前交互操作改为几何分析操作时,模型交互引擎110可以向cad应用服务器查询几何分析数据(而不查询捕捉点数据)。通过这样做,模型交互引擎110可以将查询的交互数据限制为具体应用于当前为cad应用选择/使用的cad交互操作。对所选形式的交互数据的查询可以减少查询的交互数据的总量,并因此减少检索交互数据所需的消耗网络带宽,并提高用户在基于客户端-服务器的cad应用实施方式中与cad模型的交互效率。
47.为了支持查询基于当前cad交互操作而不同的所选交互数据,模型交互引擎110可以区分基于cad交互操作的交互数据的高速缓存。例如,模型交互引擎110可以将客户端高速缓存(例如,图2所示的客户端高速缓存240)分割成多个不同的存储器,无论是物理上的分割还是逻辑上的分割。每个分割的存储器可以高速缓存用于不同cad交互操作的交互数据或不同类型交互数据(例如,用于存储捕捉点交互数据的第一高速缓存、用于存储几何分析交互数据的第二高速缓存等)。基于当前的cad交互操作以及所构建的针对所识别的cad候选面的向cad应用服务器的查询,模型交互引擎110可以将所接收的交互数据高速缓存在多个存储器中的对应一者中。
48.附加地或可替代地,模型交互引擎110可以采用任意数量的高速缓存索引和回收
(eviction)技术来维护用于存储交互数据的客户端计算系统的本地高速缓存。对于所识别的候选cad面的集合(其可以包括邻近cad面),模型交互引擎110可以首先利用客户端高速缓存中的已索引的(并因此是已存储的)交互数据来过滤任何候选cad面,包括基于特定的cad交互操作来过滤任何候选cad面。为了说明,当针对cad应用的当前cad交互操作是选择操作时,对于所识别的邻近cad面集合,模型交互引擎110可以从服务器查询中过滤掉具有已经存储在指定用于存储捕捉点交互数据的本地高速缓存中的捕捉点数据的任何邻近cad面。以类似的方式,模型交互引擎110可以在其他交互数据高速缓存中查找条目,以过滤向cad应用服务器查询的交互数据。通过这样做,模型交互引擎110可以从先前对cad应用服务器的交互数据查询中减少或消除对已经加载在客户端高速缓存中的交互数据的冗余查询。
49.因此,模型交互引擎110可以支持用于显示的cad模型的所选部分的交互数据的选择性加载。
50.图5示出了逻辑500的示例,其中系统可以实现该逻辑500以支持用于cad模型的可视化元素的交互数据的选择性地加载。例如,客户端计算系统100可以将逻辑500实现为硬件、存储在机器可读介质上的可执行指令、或这两者的组合。客户端计算系统100可以经由模型可视化引擎108和模型交互引擎110来实现逻辑500,客户端计算系统100可通过模型可视化引擎108和模型交互引擎110将逻辑500实现为或执行为用以支持选择性交互数据加载的方法。使用模型可视化引擎108和模型交互引擎110作为示例来提供逻辑500的以下描述。但是,也可以通过系统实现各种其他实现方案选项。
51.在实现逻辑500时,模型可视化引擎108可以访问可视化数据,以在客户端计算系统中显示cad模型(502)。模型可视化引擎108还可以使用访问的可视化数据,以在查看窗口中显示cad模型的视图,例如,通过用于显示cad模型的初始或当前相机视图的3d到2d映射在查看窗口中显示cad模型的视图。
52.在实现逻辑500时,模型交互引擎110可以确定在查看窗口中显示的cad模型的满足相对于查看窗口的尺寸标准的候选cad面的集合(504)。在这方面,模型交互引擎110可以将尺寸标准全局地应用于在cad模型的当前相机视图中显示的cad面中的每一者。如本文所述的,当给定cad面的尺寸超过查看窗口尺寸的阈值百分比时,则将满足这种全局应用的尺寸标准。
53.然后,模型交互引擎110可以向服务器计算系统查询候选cad面的交互数据,并且在不向服务器计算系统查询不满足所述尺寸标准的cad模型的非候选cad面的交互数据的情况下这样做(506)。以这种方式,模型交互引擎110可以向cad应用服务器选择性地查询当前相机视图中的cad模型的其中一些(但不是全部的)可视化元素。一旦接收到对查询的服务器响应,模型交互引擎110可以用由服务器计算系统提供的交互数据加载客户端高速缓存(508)。
54.因此,模型交互引擎110可选择性地加载用于cad模型的当前视图的交互数据。响应于对触发事件的识别,模型交互引擎110可以基于查看窗口中的变化、所显示的cad模型中的变化、或由cad应用支持的鼠标光标或其他ui交互机制的移动来重新确定候选cad面。
55.例如,模型交互引擎110可以基于相机视图的变化、相机缩放、或查看窗口尺寸的调整来识别基于尺寸的触发事件。响应于识别这些触发事件中的任一者,模型交互引擎110可以针对更新的相机视图或重新调整尺寸的查看窗口来确定满足(可能重新调整尺寸的)
相对于查看窗口的尺寸标准的重新确定的候选cad面的集合(504),针对重新确定的候选cad面的集合向服务器计算系统发送另一查询(506),以及用所提供的交互数据加载客户端高速缓存(508)。在一些实例中,模型交互引擎110可以过滤查询,使得针对重新确定的候选cad面的已高速缓存的交互数据(例如,根据先前查询加载的交互数据)并不被重新加载到客户端高速缓存中。
56.触发事件的其他示例可以是基于接近度的。在这样的示例中,模型交互引擎110可以跟踪鼠标光标(或其他ui交互机制)的移动。为了说明,模型交互引擎110可以识别光标在客户端计算系统的查看窗口中的移动(510),并且确定cad模型的距离光标接近距离以内的邻近cad面的集合(512)。在一些实施方式中,为了确定邻近cad面,模型交互引擎110可以应用针对在邻近距离以内的cad面的第二(或局部)尺寸标准。然后,模型交互引擎110可向服务器计算系统查询邻近cad面的交互数据(514),这还可以包括对查询进行过滤,以考虑(account for)已高速缓存的交互数据。
57.在以上描述的各种方式中,模型交互引擎110可以用用于cad模型的所选可视化元素的交互数据来填充客户端高速缓存,包括考虑可能通过用户主动使用cad应用而发生的不同触发事件。注意,模型交互引擎110可以支持在与给定cad面或可视化的cad模型元素进行用户交互之前将交互数据选择性加载到客户端高速缓存中。可以在cad模型元素的用户交互(通过选择、鼠标悬停、拖动等)之前由模型交互引擎110具体地识别触发事件。相反,模型交互引擎110可以在相机视图改变时或鼠标移动接近cad模型元素(但尚未到达该cad模型元素位置处)时确定候选cad面,并在实际用户交互之前查询交互数据。
58.当用户经由cad应用与给定cad模型元素交互时,模型交互引擎110可能已经将针对给定cad模型元素的交互数据加载到本地客户端高速缓存中,从而可以支持具有减少的延迟和减少的网络消耗的交互,同时提高应用性能。
59.为了通过图5示出,模型交互引擎110可以通过识别光标在给定的cad模型元素(例如所显示的cad模型中的边缘)上的移动来识别cad应用中的用户交互(516)。作为响应,模型交互引擎110可以向本地实现的客户端高速缓存查询给定cad模型元素的交互数据(518)。由于给定cad模型元素可能已被预先确定为候选cad面,因此在识别的光标移动到给定的cad模型元素上之前,针对给定cad模型元素的交互数据可能已被选择性地加载到客户端高速缓存中。因此,模型交互引擎110可以检索本地高速缓存的交互数据,并且通过从客户端高速缓存返回的交互数据来支持与给定cad模型元素进行用户交互(520)。
60.图5中所示的逻辑500仅提供了一个示例,通过该示例,客户端计算系统100可以支持用于cad模型的可视化元素的交互数据的选择性加载。本文考虑了逻辑500中的附加的或可替代的步骤,包括根据针对模型可视化引擎108、模型交互引擎110或其任何组合描述的任何特征。
61.图6示出了支持用于cad模型可视化元素的交互数据的选择性加载的系统600的示例。该系统600可以包括处理器610,处理器610可以采用单个或多个处理器的形式。一个或多个处理器610可包括中央处理单元(cpu)、微处理器或适于执行存储在机器可读介质上的指令的任何硬件设备。系统600可以包括机器可读介质620。机器可读介质620可以采用存储可执行指令的任何非瞬时性电子、磁性、光学或其他物理存储设备的形式,例如图6所示的模型可视化指令622和模型交互指令624。因此,机器可读介质620可以是例如随机存取存储
器(ram),(例如动态ram(dram))、闪存、自旋转移转矩存储器、电可擦除可编程只读存储器(eeprom)、存储驱动器、光盘等。
62.系统600可以通过处理器610执行存储在机器可读介质620上的指令。执行指令(例如,模型可视化指令622和/或模型交互指令624)可以使系统600执行本文描述的任何选择性交互数据加载特征,包括根据关于模型可视化引擎108、模型交互引擎110或这两者的组合的任何特征。
63.例如,通过处理器610执行模型可视化指令622可以使系统600从远离系统600的服务器计算系统访问可视化数据,以在系统600的查看窗口中显示cad模型。通过处理器610执行模型交互指令624可以使系统600确定在客户端计算系统的查看窗口中显示的cad模型的候选cad模型元素的集合,包括通过确定候选cad模型元素满足相对于查看窗口的尺寸标准,以及向服务器计算系统查询候选cad模型元素的交互数据,而不向服务器计算系统查询不满足所述尺寸标准的cad模型的非候选cad模型元素的交互数据。
64.可以经由模型可视化指令622、模型交互指令624或这两者的组合来实现如本文所述的任何附加的或可替代的特征。
65.以上描述的系统、方法、设备和逻辑,包括有模型可视化引擎108和模型交互引擎110,可以以多种不同的方式以多种不同的硬件、逻辑、电路以及存储在机器可读介质上的可执行指令的组合来实现。例如,模型可视化引擎108、模型交互引擎110或其组合可以包括控制器、微处理器或专用集成电路(asic)中的电路,或者可以用分立逻辑或部件来实现,或者可以用组合在单个集成电路上或分布在多个集成电路之间的其它类型的模拟或数字电路的组合来实现。诸如计算机程序产品的产品可以包括存储介质和存储在该介质上的机器可读指令,当在端点、计算机系统或其他设备中执行时,该存储介质和机器可读指令使所述设备根据以上描述中的任一者(包括根据模型可视化引擎108、模型交互引擎110或其组合的任何特征)来执行操作。
66.本文描述的包括模型可视化引擎108和模型交互引擎110的系统、设备和引擎的处理能力可以分布在多个系统部件之间,例如分布在多个处理器和存储器之间,可选地包括多个分布式处理系统或云/网络元件。参数、数据库和其他数据结构可以被单独存储和管理、可以被合并到单个存储器或数据库中、可以以多种不同的方式被逻辑地和物理地组织、以及可以以包括有数据结构(例如链表)、哈希表或隐式存储机制的多种方式来实现。程序可以是单个程序的一部分(例如子例程)、分开的程序、分布在多个存储器和处理器上的程序、或以多种不同的方式(例如库(例如共享库))来实现。
67.尽管上面已经描述了各个示例,但是更多的实施方式也是可行的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献