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

相关文章

手把手教你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)

MySQL高性能优化规范

前言:      笔者最近上班途中突然想丰富下自己的数据库优化技能。于是在查阅了多篇文章后,总结出了这篇! 数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份

Java Web指的是什么

Java Web指的是使用Java技术进行Web开发的一种方式。Java在Web开发领域有着广泛的应用,主要通过Java EE(Enterprise Edition)平台来实现。  主要特点和技术包括: 1. Servlets和JSP:     Servlets 是Java编写的服务器端程序,用于处理客户端请求和生成动态网页内容。     JSP(JavaServer Pages)

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

模版方法模式template method

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/template-method 超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 上层接口有默认实现的方法和子类需要自己实现的方法