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