如何使用3D转换工具HOOPS Exchange与LibConverter进行流缓存导出?

这篇具有很好参考价值的文章主要介绍了如何使用3D转换工具HOOPS Exchange与LibConverter进行流缓存导出?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如果您正在使用HOOPS Communicator,您可能想在生成流缓存模型之前利用HOOPS Exchange的高级功能和转换选项。

如何使用3D转换工具HOOPS Exchange与LibConverter进行流缓存导出?,干货分享,3d,3D格式转换工具,3D格式转换,3D web轻量化,HOOPS,3D可视化

申请HOOPS试用          HOOPS中文网

如何使用

如您所知,LibConverter是HOOPS Communicator软件包中包含的一个简单的API,converter.exe实际上就是使用这个API。

项目mini_converter是使用该API的良好开端:

HOOPS_Communicator\authoring\converter\example\sample_projects\mini_converter

  • 您要实现的工作流程是:

CAD文件——[HOOPS Exchange C API]——PRC ModelFile——[LibConverter]——SCS文件

实现这个工作流程最重要的API是在LibConvert中:

bool Communicator::Importer::Load (void * modelFile )

实施

您需要做的是:

  • 初始化HOOPS Exchange C API
  • 在PRC缓冲区A3DAsmModelFile*中使用HOOPS Exchange导入CAD文件
  • 使用HOOPS Exchange对A3DAsmModelFile*做任何你想做的事情。
  • 初始化LibConverter
  • 导入PRC缓冲区A3DAsmModelFile*。
  • 导出到SCS

要初始化和使用HOOPS Exchange,您可以查看HOOPS Exchange包中的ImportExport示例。

类A3DSDKHOOPSExchangeLoader使API的使用更容易,我们在编程指南1中,展示了如何使用它:

A3DSDKHOOPSExchangeLoader sHoopsExchangeLoader(_T(HOOPS_BINARY_DIRECTORY));
A3DImport sImport(acSrcFileName); // see A3DSDKInternalConvert.hxx for import and export detailed parameters
CHECK_RET(sHoopsExchangeLoader.Import(sImport));

调用导入函数后,PRC缓冲区将在sHoopsExchangeLoader.m_psModelFile中。

因此,您可以像这样使用以后的LibConverter:

SC_Import_Options importOptions; 
importer.Load(sHoopsExchangeLoader.m_psModelFile);
SC_Export_Options exportOptions; // Export SSC
exporter.WriteSC(nullptr, output.c_str(), exportOptions);

样本

使用A3DSDKHOOPSExchangeLoader这种结构隐藏了对API的实际调用,这使得它更简单。但如果你只是做直接调用,那它不适合你,因为它需要更多的包含。

下面是一个示例来演示上述实现:

  • 替换:HOOPS_Communicator_2022_XX\authoring\converter\example\sample_projects\mini_converter\mini.cpp中的代码。
  • 在额外的include目录中添加HOOPS_Exchange_Publish_2022_XX\include的路径。
  • 替换代码中的路径(有需要修改的地方用TODO注释)
#include "libconverter.h"
using namespace Communicator;
///TODO: Add the Additional include directory = "[...]/HOOPS_Exchange_Publish_2022_XX\include"
#define INITIALIZE_A3D_API
#include 
#include 
using namespace std;
int
main(int argc, char* argv[])
{
///TODO: the license variable is not used, you may pass "" as the first argument. 
///USAGE: ./mini_converter "" "CAD/FILE/INPUT.CAD" "PATH/TO/SCS.SCS" 
    string input, output; // Obtain the input and output filenames
    size_t n = 1;                  // Skip verb
    if (n < argc) input = argv[n++]; if (n < argc) output = argv[n++]; // Initiliaze HOOPS Exchange ///TODO: REPLACE THE PATH TO BIN\\WIN64_VC140 A3DStatus iRet; if (!A3DSDKLoadLibrary("HOOPS_Exchange_Publish_2022_SP1_U1\\bin\\win64_v140")) return A3D_ERROR; ///TODO: I'm using directly the HOOPS_LICENSE variable defined in hoops_license.h. The license you generate on our developer zone is unified, //that means it works with HOOPS COmmunicator, HOOPS Exchange, LibConverter, etc... A3DLicPutUnifiedLicense(HOOPS_LICENSE); A3DInt32 iMajorVersion = 0, iMinorVersion = 0; iRet = A3DDllGetVersion(&iMajorVersion, &iMinorVersion); if (iRet != A3D_SUCCESS) return iRet; iRet = A3DDllInitialize(A3D_DLL_MAJORVERSION, A3D_DLL_MINORVERSION); if (iRet != A3D_SUCCESS) return iRet; // Import A3DAsmModelFile* m_psModelFile; A3DRWParamsLoadData m_sLoadData; A3D_INITIALIZE_DATA(A3DRWParamsLoadData, m_sLoadData); m_sLoadData.m_sGeneral.m_bReadSolids = true; m_sLoadData.m_sGeneral.m_bReadSurfaces = true; m_sLoadData.m_sGeneral.m_bReadWireframes = true; m_sLoadData.m_sGeneral.m_bReadPmis = true; m_sLoadData.m_sGeneral.m_bReadAttributes = true; m_sLoadData.m_sGeneral.m_bReadHiddenObjects = true; m_sLoadData.m_sGeneral.m_bReadConstructionAndReferences = false; m_sLoadData.m_sGeneral.m_bReadActiveFilter = true; m_sLoadData.m_sGeneral.m_eReadingMode2D3D = kA3DRead_3D; m_sLoadData.m_sGeneral.m_eReadGeomTessMode = kA3DReadGeomAndTess; m_sLoadData.m_sGeneral.m_eDefaultUnit = kA3DUnitUnknown; m_sLoadData.m_sTessellation.m_eTessellationLevelOfDetail = kA3DTessLODMedium; m_sLoadData.m_sAssembly.m_bUseRootDirectory = true; m_sLoadData.m_sMultiEntries.m_bLoadDefault = true; m_sLoadData.m_sPmi.m_bAlwaysSubstituteFont = false; m_sLoadData.m_sPmi.m_pcSubstitutionFont = (char*)"Myriad CAD"; iRet = A3DAsmModelFileLoadFromFile(input.c_str(), &m_sLoadData, &m_psModelFile); if (iRet != A3D_SUCCESS) return iRet; // HERE YOU CAN PROCESS m_psModelFile WITH HOOPS EXCHANGE ADVANCED FUNCTION Converter converter; // License Registration converter.Init(HOOPS_LICENSE); Importer importer; // Import Initialization if (!importer.Init(&converter)) return EXIT_FAILURE; //Import the PRC buffer directly SC_Import_Options importOptions; // Import if (!importer.Load(m_psModelFile)) return EXIT_FAILURE; Exporter exporter; // Export Initialization if (!exporter.Init(&importer)) return EXIT_FAILURE; SC_Export_Options exportOptions; // Export Stream Cache Model //export SCS if (!exporter.WriteSC(nullptr, output.c_str(), exportOptions)) return EXIT_FAILURE; return EXIT_SUCCESS; } 

使用该工作流,您可以完全访问m_sLoadData(导入选项)。它比converter.exe包含更多参数。您还可以在导出前对模型进行处理(例如,缝合修复BRep)。

申请HOOPS Exchange试用http://x7pfmmn259623uby.mikecrm.com/l9292M9

 7月26日HOOPS Exchange的专场峰会正在报名中,大家可以点击参与学习哦~

点击填写>>>峰会报名表

如何使用3D转换工具HOOPS Exchange与LibConverter进行流缓存导出?,干货分享,3d,3D格式转换工具,3D格式转换,3D web轻量化,HOOPS,3D可视化文章来源地址https://www.toymoban.com/news/detail-560582.html

到了这里,关于如何使用3D转换工具HOOPS Exchange与LibConverter进行流缓存导出?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 3D格式转换工具HOOPS Exchange助力3D 打印软件实现质的飞跃

    HOOPS SDK是用于3D工业软件开发的工具包,其中包括4款工具,分别是用于读取和写入30多种CAD文件格式的HOOPS Exchange、专注于Web端工程图形渲染的HOOPS Communicator、用于移动端和PC端工程图形渲染的HOOPS Visualize、支持将3D数据以原生3D PDF、HTML和标准CAD格式进行发布的HOOPS Publish。 申

    2024年02月03日
    浏览(54)
  • 如何用3D格式转换工具HOOPS Exchange读取颜色和材料信息?

    作为应用程序开发人员,非常希望导入部件的图形表示与它们在创作软件中的外观尽可能接近。外观可以在每个B-Rep面的基础上指定,而且,通过装配层次结构的特定路径可以在视觉外观上赋予父/子覆盖。HOOPS ExchangeHOOPS Exchange可捕获有关来自各种格式的对象外观的数据,每种

    2024年02月16日
    浏览(40)
  • 3D模型转换工具HOOPS Exchange助力打造虚拟现实应用程序

    挑战: 支持使用各种 CAD 系统和 CAD 文件格式的客户群 向可视化硬件提供快速、准确的数据加载 提供对详细模型信息的访问,同时确保高帧率性能 解决方案:  HOOPS Exchange领先的CAD数据转换工具包 结果: 确保支持来自领先工程软件包的标准文件格式和原生CAD数据 通过查看简

    2024年02月11日
    浏览(41)
  • 为什么3D开发要用三维模型格式转换工具HOOPS Exchange?

    在当今数字化时代,3D技术在各个行业中扮演着愈发重要的角色,从产品设计到制造、建筑、医疗保健等领域。然而,由于不同的软件和系统使用不同的3D模型格式,跨平台、跨系统之间的数据交换和共享变得十分复杂。为了解决这一难题,Tech Soft 3D公司推出了HOOPS Exchange,一

    2024年03月27日
    浏览(56)
  • 3D格式转换工具HOOPS Exchange​助力Zuken打造电子设计自动化产品

    行业: 电子制造 挑战: 对制造商来说,电子设计变得越来越复杂 - 电气和机械设计的融合需要将二维和三维数据结合起来 - 需要提供对多种不同CAD格式的支持 解决方案: HOOPS Exchange是用于快速、准确的CAD数据转换的领先SDK,使开发人员能够轻松地在其产品中建立强大的

    2024年02月11日
    浏览(53)
  • 3D开发工具HOOPS如何助力3D项目实现扩展现实技术?

    在当今数字化时代,扩展现实(Augmented Reality,AR)技术的应用已经逐渐深入到各行各业,为用户带来了前所未有的沉浸式体验。而在实现这种技术的开发过程中,HOOPS技术的运用无疑是一种强大的助力。HOOPS是一种广泛用于3D项目的工具包,它的灵活性和功能强大的特点,为实

    2024年03月28日
    浏览(56)
  • 3D开发工具HOOPS Publish如何快速创建交互式3D PDF文档?

    HOOPS Publish是一款功能强大的SDK, 可以创作丰富的工程数据并将模型文件导出为各种行业标准格式,包括PDF、STEP、JT和3MF。 HOOPS Publish核心的3D数据模型是经过ISO认证的PRC格式(ISO 14739-1:2014),它为装配树、拓扑和几何、产品制造信息和视图等工程概念提供支持。 开发人员可以通

    2024年02月09日
    浏览(51)
  • BIM如何通过3D开发工具HOOPS实现WEB轻量化?

    随着建筑行业的数字化转型和信息建模技术的不断发展,建筑信息模型(BIM)已经成为设计、建造和管理建筑项目的标准。然而,BIM模型通常包含大量的数据,导致在Web上的传输和查看效率低下。为了解决这一挑战,HOOPS技术(Highly Optimized Object-Oriented Parallel Software)崭露头角

    2024年02月07日
    浏览(46)
  • 一文读懂3D开发工具HOOPS SDK

    前言 Tech Soft 3D是全球领先的3D领域开发工具提供商,可帮助软件团队交付成功的应用程序。Tech Soft 3D成立于1996年,该公司的工具包产品为全球数亿台计算机上运行的近500个独特应用程序提供支持,已经助力SolidWorks、AutoDesk、GrabCAD、CD-adapco等客户获得商业成功。 HOOPS是什么?

    2024年02月01日
    浏览(45)
  • 3D开发工具HOOPS助力CAM软件优化制造流程

    在现代制造业中,计算机辅助制造(CAM)软件的发展已成为提高生产效率和产品质量的关键。为了满足不断增长的需求和日益复杂的制造流程,CAM软件需要具备高效的CAD数据导入、云端协作、移动应用支持以及丰富的文档生成能力。 Tech Soft 3D的HOOPS软件开发工具包(SDK)为尖

    2024年04月26日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包