Loading
0

干货!高性能Web端BIM 3D可视化引擎 ——破碎模式

一、概述
HOOPS Web Viewer组件使将多个模型聚合在一起变得容易。此类模型可能由联合BIM模型中的各种学科、汽车配置中的底盘不同变体或复杂 MCAD 装配的子组件组成。复杂的组件,例如汽车或飞机,由成百上千的单个零件组成。通常在原始CAD装配中,装配的每个子组件都将保存在其自己的文件中。 HOOPS Communicator中“破碎模式”支持的目标是在将装配体转换为SC格式时在很大程度上保留该结构。 我们没有为装配创建单个的整体式高速缓存(SC)模型,而是为每个零件生成了单独的SC模型,然后是将这些零件聚合为表示完整装配“master主模型”或XML产品结构文件。
二、破碎模式的优势
HOOPS Communicator(​申请HOOPS免费试用)中查看复杂CAD装配的一种方法是使用我们的转换工具或通过直接创作创建一个包含装配的所有零件的SC模型。尽管此SC模型可能会变得很大,但Stream Cache Server中的智能流式支持可确保几乎立即查看此模型。结合内存限制或使用服务器端渲染,甚至可以在一般的笔记本电脑或移动电话上查看大型整体模型。您还可以使用OnDemand模式将模型保留在服务器上,并且仅请求用户感兴趣的零部件或子装配。

与单片模式不同,破碎模式的主要优势在于它如何处理装配体的变体和配置(子模型变更),而PLM系统就是一个最好的示例。在同一装配体上工作的多个用户意味着数据在不断发展和变化,零件的新变体正在“检入”,一些可能被删除,添加并重新配置子装配。此外,用户可能希望查看装配体的较旧状态或模拟其他配置。在大多情况下,每次请求模型更改或模型的不同变体时,必须生成一个新的单片SC 模型,该模型可能速度慢且资源量大。使用破碎的方法,创建装配体的新配置只需更新装配体的 XML 产品层次结构,然后重新转换已更改的模型的组件。在大多数情况下,它使查看模型的不同变体几乎是即时的。

为了快速查看,这首先涉及创建XML产品结构文件。该文件描述了模型的结构及其对其他SC模型的依赖关系,而后者又通常代表装配的零件。然后,在可选步骤中,我们的转换工具可以从此XML文件生成SC master主模型。可以像其他任何SC模型一样,通过流缓存服务器将该文件加载到查看器中。
请参阅下面的两个图,其中显示了典型的稍微简化的装配树层次结构以及与此层次结构关联的文件。

Catia 装配的简化。请注意,每个唯一零件由单个"catpart"文件表示,而每个装配体(和子装配体)由"catproduct"文件表示。实例零件(如螺钉)只表示一次,但在层次结构中多次显示。

将第一个关系图中显示的装配体转换为破碎SC模型时,将为装配体中的每个唯一零件创建SC文件。此外,可能从包含装配体结构和引用零件级流缓存模型的 XML 产品结构文件创建SC master模型。SC 的破碎实现不支持引用子装配,因此这些子装配被展平。

申请HOOPS免费试用

三、客户端破碎

尽管您可以在服务器上创建一个与顶层装配体文件等效的“master主模型”,但这种方法的缺点是,每次装配体结构发生更改时,都需要重新生成此主模型 。此外,SC主模型必须通过HOOPS流缓存服务器进行流传输,并且不能为SCS文件。 该方法的替代方法是“客户端破碎”。
在之前,我们已经谈到了客户端支持的功能。通常的方法是您利用我们的导入工具转换CAD装配时或直接由您的应用程序生成的XML产品结构文件。您只需将此文件传递给相关的loadSubtree函数:

  • loadSubtreeFromXMLFile
  • loadSubtreeFromXMLBuffer
  • loadSubtreeFromScsXMLFile
  • loadSubtreeFromScsXMLBuffer

如您所见,客户端破碎也支持 SCS 文件,这意味着它不需要流缓存服务器。
客户端破碎的缺点是,您需要将 XML 产品结构文件传输到浏览器客户端(或在那里生成)。流加载性能和一般帧速率也不如服务器端破碎,因为流式处理之前对模型进行的优化较少。
四、使用 HTTP 压缩来减少资源大小
具有许多零件的复杂装配体的XML文件可能会变得很大。随着此文件的增加,将资源传输到客户端进行处理的时间增加了,从而降低了用户体验,因为他们必须等待更长的时间才能看到屏幕上的内容。
HTTP 压缩是处理大型 XML 装配文件时获得性能提升的一种简单方法。此方案在服务器或浏览器级别实现,不需要修改客户端代码。启用压缩后,压缩算法将应用于服务器上的数据,然后再发送给客户端。在浏览器和服务器之间协商编码。
在下图中,大型装配的XML文件为11.6mb。发送回客户端的响应为717kb,而资源大小为11.6mb。检查响应头,我们可以看到content-encoding设置为gzip,而content-type是application/xml。

启用压缩所需的步骤将因服务器和框架而异。但是,必须确保为xml文件启用压缩。

相关阅读:干货!HOOPS Communicator——Web端高性能BIM 3D可视化引擎!

关注“HOOPS技术”微信公众号

及时了解HOOPS的更多资讯

微信号|HOOPS_TechSupport
QQ号|2851253093I

访问HOOPS中文网了解关于HOOPS平台的更多功能和案例,联系慧都客服,或者拨打服务热线:4007001020申请免费试用。慧都科技是Tech Soft 3D-Hoops在中国区的唯一增值服务商,提供Hoops试用,咨询,销售,技术支持。