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

3D模型格式转换工具HOOPS Exchange对工业级3D产品HOOPS的支持与应用

一、概述

HOOPS Exchange是一套高性能模型转换软件库,可以给软件提供强大的模型的导入和导出功能,我们可以将其单独作为转换工具使用,也可以将其集成到自己的软件中。

同样,HOOPS 的其它产品,也离不开HOOPS Exchange的支持,它们也需要HOOPS Exchange为其提供模型的导入和导出功能,下面分别介绍HOOPS Exchange在HOOPS VisualizeHPS、HOOPS Visualize 3DF和HOOPS Communicator中的应用。

申请HOOPS Exchange试用icon-default.png?t=N7T8http://x7pfmmn259623uby.mikecrm.com/l9292M9 二、对HOOPS Visualize HPS的支持

在集成之前,应首先注意HOOPS Visualize HPS对应的HOOPS Exchange版本,版本不对(高了低了都不行),即便其它设置都对,也不会成功。测试环境HOOPS HPS 2021支持的HOOPS Exchange版本是HOOPS Exchange 2021。

具体版本对应关系,请查看HOOPS Visualize HPS的发行说明:

HOOPS Visualize HPS Documentation — HOOPS Visualize HPS 2023 SP2 U2 Documentation

(一)添加hps_cs_sprk_exchange库文件

要在HOOPS VisualizeHPS中使用HOOPS Exchange,首先需要导入Visualize-Exchange 集成库,C++ 用户需要链接到hps_sprk_exchange.lib。C# 用户需要添加对位于bin目录中的hps_cs_sprk_exchange.dll的引用。

这里演示在hps_wpf_sandbox中使用HOOPS Exchange,首先在其引用中添加hps_cs_sprk_exchange.dll库。

hps_cs_sprk_exchange.dll的路径如下:

(二)设置HOOPS Exchange的搜索路径

接下来,在Path环境变量中设置HOOPS Exchange的环境目录(或者将HOOPS Exchange的环境目录中的DLL复制到应用程序执行目录),不进行这一步,在运行程序的时候,会找不到库文件。

HOOPS Exchange的环境目录如下:

(三)添加HOOPS Exchange的条件编译符号

最后,设置条件编译符号,打开hps_wpf_sandbox工程的属性→生成,在条件编译符号中添加USING_EXCHANGE。

到此,在hps_wpf_sandbox中集成HOOPS Exchange的设置完成。

(四)运行效果

运行hps_wpf_sandbox工程,然后读取并显示catia模型,该过程使用了HOOPS Exchange软件库来导入模型。

三、对HOOPS Visualize 3DF的支持

接下来,介绍在HOOPS Visualize3DF中集成HOOPS Exchange,在集成之前,也应注意HOOPS Visualize 3DF对应的HOOPS Exchange版本,版本不对,集成不会成功。测试环境HOOPS_3DF_2510支持的HIO对应Exchange版本是HOOPS Exchange 2020 SP2。

具体版本对应关系,请查看HOOPS Visualize 3DF的发行说明:

HOOPS Visualize 3DF Documentation — HOOPS Visualize 3DF 28.20 Documentation

(一)使用HOOPS Exchange HIO组件

HOOPS Visualize 3DF使用HOOPS Exchange HIO组件来集成HOOPS Exchange,HOOPS Exchange HIO组件以.hio文件的形式提供。

首先在我们自己的应用程序的工作目录中创建一个hio_plugins目录,将在<hoops> / bin / <platform> / 

hio_plugins / hio_exchange中的hioexchange <version> .hio文件复制到我们之前创建的工作目录中。

(二)设置HOOPS Exchange的搜索路径

接下来,在Path环境变量中设置HOOPS Exchange的环境目录(或者将HOOPS Exchange的环境目录中的DLL复制到应用程序执行目录),不进行这一步,在运行程序的时候,会找不到库文件。

HOOPS Exchange的环境目录如下:

(三)文件加载

接下来,在HOOPS Visualize 3DF中读取模型。

#include "HIOManager.h"

HFileInputResult result = InputOK;

HInputHandlerOptionsinput_options;

//使用HOOPS Exchange许可证密钥和HBaseView对象设置输入选项

//注意:如果在启动时通过对HC_Define_System_Options的初始调用已经包含了许可证密钥,则无需在此处包含它

constchar* licensekey="<license_key_string>"; 

input_options.m_license= licensekey; 

input_options.m_pHBaseView= my_view;

// 打开所需的HOOPS / MVO模型段并读取文件

HC_Open_Segment_By_Key(<my model key>);

result =HBaseModel::Read("c:\\temp\\myFile.CATProduct", view,true, &input_options);

HC_Close_Segment();

(四)运行效果

运行HOOPS Visualize 3DF程序,使用HOOPS Exchange读取并显示了一个catia模型。

四、对HOOPS Communicator的支持

在HOOPS Communicator中,使用HOOPS Exchange很简单,因为HOOPS Communicator的软件包中,已经集成了HOOPS Exchange,名称为:converter.exe,其位置位于<HOOPS_Communicator>\authoring\converter\bin\win64中。

要转换模型也很简单,首先打开<HOOPS_Communicator>\quick_start目录:

双击start_server.bat文件启动HOOPS Communicator,以下信息表示启动成功:

之后将要转换的模型拖动到convert_file.bat上

模型就会进行轻量化转换:

最后一行是转换后模型的访问地址,可以通过它查看轻量化后的模型:

相关文章:

  • 微服务初始和Nacos安装
  • 11.与JavaScript深入交流-[js一篇通]
  • 报错:Error: error:0308010C:digital envelope routines::unsupported
  • 用 docker 创建 jmeter 容器, 实现性能测试
  • 4.1 Bloom算法
  • 目标检测与图像识别分类的区别?
  • 图的深度优先遍历的六种应用附Java代码
  • 一体化模型图像去雨+图像去噪+图像去模糊(图像处理-图像复原-代码+部署运行教程)
  • (SpringBoot)第二章:Spring创建和使用
  • 矢量图形编辑软件illustrator 2023 mac中文软件特点
  • 微信开放平台账号
  • 0037【Edabit ★☆☆☆☆☆】【修改Bug 2】Buggy Code (Part 2)
  • redis6.0源码分析:简单动态字符串sds
  • 贝叶斯神经网络用于学习曲线的概率预测【ICLR 2017】
  • 【C++指针】类的指针
  • “大数据应用场景”之隔壁老王(连载四)
  • Angular Elements 及其运作原理
  • ERLANG 网工修炼笔记 ---- UDP
  • Gradle 5.0 正式版发布
  • javascript从右向左截取指定位数字符的3种方法
  • jQuery(一)
  • Just for fun——迅速写完快速排序
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • php ci框架整合银盛支付
  • python 学习笔记 - Queue Pipes,进程间通讯
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • springMvc学习笔记(2)
  • spring学习第二天
  • 基于 Babel 的 npm 包最小化设置
  • 类orAPI - 收藏集 - 掘金
  • 如何学习JavaEE,项目又该如何做?
  • 06-01 点餐小程序前台界面搭建
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (06)Hive——正则表达式
  • (4)logging(日志模块)
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net web项目 调用webService
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .Net6使用WebSocket与前端进行通信
  • .NET学习全景图
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • :如何用SQL脚本保存存储过程返回的结果集
  • @ComponentScan比较
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [android] 练习PopupWindow实现对话框
  • [Android]常见的数据传递方式
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子