当前位置: 首页 > news >正文

干货分享 | 3D WEB轻量化引擎HOOPS Communicator如何读取复杂大模型文件?

HOOPS Communicator是一款简单而强大的工业级高性能3D Web可视化开发包,其主要应用于Web领域,主要加载其专有的SCS、SC、SCZ格式文件;HOOPS还拥有另一个桌面端开发包HOOPS Visualize,主要加载HSF、HMF轻量化格式文件。

两者虽然同为Tech Soft 3D公司的图像处理引擎,但两者加载的文件却并不通用,对于同时使用两个开发包的用户来说,需要维护两套文件系统。

HOOPS中文网icon-default.png?t=N7T8http://techsoft3d.evget.com/Tech Soft 3D公司也注意到这个问题,因此在内部提出了两个图像引擎使用归一的计划。从HOOPS Visualize HPS 2020 SP2(桌面端)版本开始,HPS开始集成HOOPS Communicator Sprocket,该工具支持HPS打开SCS文件(本地文件)以及从HOOPS Communicator服务端读取SC文件(流缓存文件),实现了Web端和桌面端读取统一格式文件的计划。

下面,让我们来看一看在HPS中如何读取HOOPS Communicator服务端文件。

加载文件

加载本地模型文件

SCS文件在HOOPS作为本地文件使用,HPS加载它并不需要服务器,直接打开就好。

首先打开HPS软件包随附的应用程序hps_mfc_hca_sandbox.exe,然后打开相应版本的SCS文件。

显示效果如下:

HOOPS Communicator Sprocket加载文件的过程如下:

在HPS :: HCA :: NetworkImportOptionsKit中设置访问参数。

使用HPS :: HCA :: File :: Import导入文件。

等待程序通知,使得我们知道模型何时完成加载。

加载本地模型的示例代码如下:

以这种方式加载模型时,调用Wait()将等待整个文件加载,就像加载其它本地文件类型一样。

1 加载网络模型

除了直接加载本地模型外,HPS还可以加载HOOPS Communicator服务器上的流缓存模型(SC文件)。加载流缓存模型与从文件系统加载文件不同,需要使用到HOOPS Communicator服务器通过网络传输文件。除了客户端应用程序之外,我们还需要一个可被访问的HOOPS Communicator服务器。其整个过程如下:

1.首先需要启动HOOPS Communicator服务器,打开HOOPS Communicator根目录\quick_start文件夹,运行start_server.bat批处理文件启动服务。

HOOPS Communicator服务器启动成功:

打开HPS软件包随附的应用程序hps_mfc_hca_sandbox.exe,设置需要访问的HOOPS Communicator服务器路径以及访问文件名称,这里访问的文件格式是SCZ,它是SC格式的单文件格式。

点击Connet,加载服务端流缓存模型。

加载流缓存模型的示例代码如下:

通过网络加载模型时,调用Wait()将仅等待到开始导入流式传输数据,在将几何体添加到场景时会将控制权返回给用户。这是因为通过网络导入的文件可能非常大,也许永远无法完全加载。

注意事项

HOOPS Communicator Sprocket加载模型文件,需要注意一些问题:

所需要的功能库

HOOPS Communicator Sprocket是在HPS正常功能外添加的功能插件,需要一些额外的功能库,如果缺少这些功能库,HOOPS Communicator Sprocket将不能正常工作,HOOPS Communicator Sprocket所需要的功能库如下:

  • cc_exchange_lib.dll
  • hc_access.dll
  • libeay32.dll
  • ssleay32.dll
  • v8.dll
  • v8_libbase.dll
  • v8_libplatform.dll
  • websockets.dll

版本对应

HOOPS Communicator Sprocket与HOOPS Communicator的版本必须对应,否则将无法加载文件,比如HPS 2020 SP2集成HOOPS Communicator Sprocket版本,需要使用对应的HOOPS Communicator版本为2020 SP1 U2,具体版本的对应关系,需要查询HPS的版本发布页面,其上有该版本HPS的HOOPS Communicator Sprocket对应的HOOPS Communicator版本。

支持的文件类型

HOOPS Communicator在提供模型服务之前,需要将其它CAD格式文件转换为自己专有SC、SCS和SCZ文件格式。与通常为B-rep的CAD文件格式不同,它们针对流进行了优化,并且经过镶嵌处理。这三种文件格式HOOPS Communicator Sprocket都可以读取,三种文件格式描述如下:

  • SCS文件不需要Communicator服务器即可访问。它们可以通过HOOPS Communicator Sprocket直接加载。在这种情况下,整个SCS文件将被加载到Visualize中。
  • SC文件通过服务器的网络流式传输,通常会在后台分解为多个文件。
  • SCZ文件是SC格式的单文件格式。

申请HOOPS试用icon-default.png?t=N7T8http://x7pfmmn259623uby.mikecrm.com/l9292M9

相关文章:

  • 全媒体整合营销时代,如何做好网络营销?
  • 视频剪辑技巧:批量合并视频,高效省时,添加背景音乐提升品质
  • 3、Sentinel 动态限流规则
  • postMessage
  • 聊一聊GPT——让我们的写作和翻译更高效
  • 如何设置没有采购申请不允许创建采购订单(TCODE:OMET)<转载>
  • 目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】SLAM(补充篇)
  • 无效的标记: --release
  • 包装印刷行业万界星空科技云MES解决方案
  • eBPF BCC开源工具简介
  • 如何从视图中取消nspopover?
  • UUID 的 5 个版本
  • llinux的更目录下的文件作用和举例
  • SpringBoot+Swagger详细使用方法
  • wagtail的使用
  • ----------
  • 【剑指offer】让抽象问题具体化
  • android 一些 utils
  • axios 和 cookie 的那些事
  • css布局,左右固定中间自适应实现
  • gcc介绍及安装
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • java第三方包学习之lombok
  • Magento 1.x 中文订单打印乱码
  • nodejs调试方法
  • Python连接Oracle
  • STAR法则
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 工作手记之html2canvas使用概述
  • 后端_MYSQL
  • 实现简单的正则表达式引擎
  • 使用docker-compose进行多节点部署
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 移动端唤起键盘时取消position:fixed定位
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​如何防止网络攻击?
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (rabbitmq的高级特性)消息可靠性
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (十一)图像的罗伯特梯度锐化
  • (转)http-server应用
  • ./configure,make,make install的作用(转)
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .net MySql
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • @GetMapping和@RequestMapping的区别
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • []串口通信 零星笔记
  • [16/N]论得趣