3D Web轻量化引擎HOOPS Communicator如何实现对BIM桌面端的支持?

HOOPS Communicator是一款简单而强大的工业级高性能3D Web轻量化渲染开发包,其主要应用于Web领域,主要加载其专有的SCS、SC、SCZ格式文件;HOOPS还拥有另一个桌面端开发包HOOPS Visualize,主要加载HSF、HMF轻量化格式文件。两者虽然同为Tech Soft 3D公司的图像处理引擎,但两者加载的文件却并不通用,对于同时使用两个开发包的用户来说,需要维护两套文件系统。



HOOPS中文网icon-default.png?t=N6B9http://techsoft3d.evget.com/

Tech Soft 3D公司也注意到这个问题,因此在内部提出了两个图像引擎使用归一的计划。从HOOPS Visualize HPS 2020 SP2(桌面端)版本开始,HPS开始集成HOOPS Communicator Sprocket,该工具支持HPS打开SCS文件(本地文件)以及从HOOPS Communicator服务端读取SC文件(流缓存文件),实现了Web端和桌面端读取统一格式文件的计划。下面,让我们来看一看在HPS中如何读取HOOPS Communicator服务端文件。

一、加载文件

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

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

显示效果如下:

HOOPS Communicator Sprocket加载文件的过程如下:
1.在HPS :: HCA :: NetworkImportOptionsKit中设置访问参数。
2.使用HPS :: HCA :: File :: Import导入文件。
3.等待程序通知,使得我们知道模型何时完成加载。
加载本地模型的示例代码如下:

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

(2)加载网络模型

除了直接加载本地模型外,HPS还可以加载HOOPS Communicator服务器上的流缓存模型(SC文件)。加载流缓存模型与从文件系统加载文件不同,需要使用到HOOPS Communicator服务器通过网络传输文件。除了客户端应用程序之外,我们还需要一个可被访问的HOOPS Communicator服务器。其整个过程如下:
1.首先需要启动HOOPS Communicator服务器,打开HOOPS Communicator根目录\quick_start文件夹,运行start_server.bat批处理文件启动服务。

HOOPS Communicator服务器启动成功:

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

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

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

通过网络加载模型时,调用Wait()将仅等待到开始导入流式传输数据,在将几何体添加到场景时会将控制权返回给用户。这是因为通过网络导入的文件可能非常大,也许永远无法完全加载。
二、注意事项
HOOPS Communicator Sprocket加载模型文件,需要注意一些问题:
(1)所需要的功能库
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

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

(3)支持的文件类型
HOOPS Communicator在提供模型服务之前,需要将其它CAD格式文件转换为自己专有SC、SCS和SCZ文件格式。与通常为B-rep的CAD文件格式不同,它们针对流进行了优化,并且经过镶嵌处理。这三种文件格式HOOPS Communicator Sprocket都可以读取,三种文件格式描述如下:
SCS文件不需要Communicator服务器即可访问。它们可以通过HOOPS Communicator Sprocket直接加载。在这种情况下,整个SCS文件将被加载到Visualize中。
SC文件通过服务器的网络流式传输,通常会在后台分解为多个文件。
SCZ文件是SC格式的单文件格式。

点击此处>>>申请HOOPS试用  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/31522.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 eclipse-temurin 构建国内时区,地区,语言的docker镜像

基于 eclipse-temurin 构建国内时区,地区,语言的镜像 使用场景自定Dockerfile构建自己的基础镜像构建本地镜像推送远程仓库 使用场景 在给应用构建自定义镜像时,往往需要在每次构建时去调整时区,地区这些东西;每次构建…

那些年的Xposed开发经验记录

把之前写的Xposed相关文章合并到一块,方便查阅 目录 多进程App的Hook问题XposedHelper中的静态变量demo的AndroidManifest.xml的测试核心代码结论限制handleLoadPackage被单个进程多次执行的问题 多dex Hook问题为应用增加权限利用Xposed删除权限参考 Hook框架集锦…

Java基础入门篇——IDEA开发第一个入门程序(五)

目录 一、IDEA层级结构分类 二、IDEA层级结构介绍 三、IDEA层级关系 四、创建IDEA中的第一个代码 一、IDEA层级结构分类 IntelliJ IDEA的项目结构主要分为以下几个层级: Project: 项目Module: 模块Package: 包Class: 类 一个项目里面…

hive-3.1.3 部署 ubuntu20

准备 安装hadoop 安装hive derby # 上传 scp -P 22 -r D:\00garbage\big_data\hive\apache-hive-3.1.3-bin.tar.gz mybigdata192.168.66.20:/home/mybigdata/ tar -zxvf apache-hive-3.1.3-bin.tar.gz mv apache-hive-3.1.3 hive # 环境变量 vim ~/.bashrc # 初始化元数据库…

力扣:58. 最后一个单词的长度(Python3)

题目: 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 来源:力扣(LeetCode) 链接&#x…

Android图形-合成与显示-概论

目录 引言 概念与理解 SurfaceFlinger Surface HWC Fence: Gralloc: DisplayDevice 引言 Activity是Android的主要UI相关组件。通过View的相关类和接口实现,在WMS的管理下,进行窗口和控件的测量,布局和绘制&am…

(十四)大数据实战——hadoop集群一键式高可用实现自动故障转移与故障初始化恢复

前言 本节内容延续前面几节内容,综合性的实现hadoop集群的高可用以及hadoop集群故障初始化的恢复,通过一个脚本,实现整个集群的高可用启停与状态观测。主要是zookeeper、hdfs、yarn等服务的高可用集群的一键式启停。 正文 hadoop高可用集群整体规划hadoop高可用集群服务规…

什么是公共英语三级?公共英语三级主要考什么

一、公共英语考试介绍 全国英语等级考试(又称公共英语考试)设置五个级别和一个附属级,五个级别是: 一级[含一级(B),即附属级]、二级、三级、四级、五级。 公共英语一级的说明:一级是初始级&…

模拟实现消息队列项目(系列3) -- 服务器模块(硬盘管理)

目录 前言 1. 创建项目 2. 创建核心类 2.1 Exchange 2.2 MSQueue 2.3 Binding 2.4 Message 3. 数据库设计 3.1 SQLite 配置 3.2 Mapper层代码实现 3.2.1 创建表操作 3.2.2 交换机 队列 绑定的增加和删除 3.3 实现DataBaseManager 3.4 DataBaseManager单元测试 4.…

k8s 使用 containerd 运行时配置 http 私服

简介 Kubernetes 从 v1.20 开始弃用 Docker,并推荐用户切换到基于容器运行时接口(CRI)的容器引擎,如 containerd、cri-o 等。 目前使用的环境中使用了 Kubernetes v1.22.3,containerd 1.4.3,containerd 在…

线性代数(三) 线性方程组向量空间

前言 如何利用行列式,矩阵求解线性方程组。 线性方程组的相关概念 用矩阵方程表示 齐次线性方程组:Ax0;非齐次线性方程组:Axb. 可以理解 齐次线性方程组 是特殊的 非齐次线性方程组 如何判断线性方程组的解 其中R(A)表示矩阵A的…

git的简单介绍和使用

git学习 1. 概念git和svn的区别和优势1.1 区别1.2 git优势 2. git的三个状态和三个阶段2.1 三个状态:2.2 三个阶段: 3. 常用的git命令3.1 下面是最常用的命令3.2 git命令操作流程图如下: 4. 分支内容学习4.1 项目远程仓库4.2 项目本地仓库4.3…

恒盛策略:沪指冲高回落跌0.26%,酿酒、汽车等板块走弱,燃气股拉升

10日早盘,两市股指盘中冲高回落,半日成交约4200亿元,北向资金净卖出超20亿元。 到午间收盘,沪指跌0.26%报3235.9点,深成指跌0.54%,创业板指跌0.28%;两市算计成交4202亿元,北向资金净…

【Terraform学习】保护敏感变量(Terraform配置语言学习)

实验步骤 创建 EC2 IAM 角色 导航到IAM 在左侧菜单中,单击角色 。单击创建角色该按钮以创建新的 IAM 角色。 在创建角色部分,为角色选择可信实体类型: AWS 服务 使用案例:EC2 单击下一步 添加权限:现在,您可以看到…

LAMP及论坛搭建

一、概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或…

小白到运维工程师自学之路 第七十一集 (kubernetes网络设置)

一、概述 Master 节点NotReady 的原因就是因为没有使用任何的网络插件,此时Node 和Master的连接还不正常。目前最流行的Kubernetes 网络插件有Flannel、Calico、Canal、Weave 这里选择使用flannel。 二、安装flannel 1、master下载kube-flannel.yml,所…

《网约车运营数据分析实战》学习笔记

这篇文章整理自 接地气的陈老师 x 和鲸社区 | 网约车运营分析 数据分析实战活动业务讲解会【接地气的陈老师】的讲解, 更多数据分析动手实践活动欢迎访问>>和鲸社区活动页面 活动介绍 假设你是某打车APP的商业数据分析师,为某大区提供日常数据报表…

谈谈Spring与字节码生成技术

Spring框架是一个面向企业级Java应用开发的开源框架,它提供了许多功能和特性来简化Java开发过程。字节码生成技术在Spring框架中起着重要的作用,用于实现依赖注入(Dependency Injection)和面向切面编程(Aspect-Oriente…

Spark中使用RDD算子GroupBy做词频统计的方法

测试文件及环境 测试文件在本地D://tmp/spark.txt,Spark采用Local模式运行,Spark版本3.2.0,Scala版本2.12,集成idea开发环境。 hello world java world java java实验代码 import org.apache.spark.rdd.RDD import org.apache.…

Chrome有些网站打不开,但是火狐可以打开

Chrome有些网站打不开,但是火狐可以打开 问题描述火狐成功界面谷歌报错界面局域网设置使用代理服务器访问成功 解决方案参考 问题描述 开了一个tizi,Chrome不能使用,火狐可以。之前装过插件Ghelper白嫖科学上网,那次之后好像浏览…