高性能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

相关文章

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)