高性能Web端BIM 3D轻量化引擎HOOPS Commuicator的破碎模式是什么?

2023-11-07 17:28

本文主要是介绍高性能Web端BIM 3D轻量化引擎HOOPS Commuicator的破碎模式是什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

HOOPS Web Viewer组件使将多个模型聚合在一起变得容易。此类模型可能由联合BIM模型中的各种学科、汽车配置中的底盘不同变体或复杂MCAD装配的子组件组成。复杂的组件,例如汽车或飞机,由成百上千的单个零件组成。

通常在原始CAD装配中,装配的每个子组件都将保存在其自己的文件中。HOOPS Communicator破碎模式”支持的目标是在将装配体转换为SC格式时在很大程度上保留该结构。

 我们没有为装配创建单个的整体式高速缓存(SC)模型,而是为每个零件生成了单独的SC模型,然后是将这些零件聚合为表示完整装配“master主模型”或XML产品结构文件。

破碎模式的优势

在HOOPS Communicator中查看复杂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的破碎实现不支持引用子装配,因此这些子装配被展平。

客户端破碎

尽管您可以在服务器上创建一个与顶层装配体文件等效的“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试用icon-default.png?t=N7T8http://x7pfmmn259623uby.mikecrm.com/l9292M9

如果您的企业也有相关需求,可以联系我们哦~

这篇关于高性能Web端BIM 3D轻量化引擎HOOPS Commuicator的破碎模式是什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/365152

相关文章

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

SQL Server身份验证模式步骤和示例代码

《SQLServer身份验证模式步骤和示例代码》SQLServer是一个广泛使用的关系数据库管理系统,通常使用两种身份验证模式:Windows身份验证和SQLServer身份验证,本文将详细介绍身份... 目录身份验证方式的概念更改身份验证方式的步骤方法一:使用SQL Server Management S