HOOPS Visualize Web 快速入门
快速入门我们建议您阅读技术概述以简要了解 HOOPS Visualize Web 的架构和子组件。软件包描述概述了 SDK 的内容。以下各节展示了如何通过查看示例模型快速入门以及如何使用 HOOPS Visualize Web 转换和查看您的 CAD 模型。笔记要运行本文档中的示例您需要安装 Visual Studio C 可再发行组件包。有关版本信息请参阅“支持的平台”页面。如果您收到错误退出代码3221225781则您可能缺少所需的某个可再发行组件。查看示例页面导航到quick_start目录确保您拥有管理员权限然后运行​​start_server.[bat|sh] 。此脚本会将提供的HOOPS 服务器部署到您的本地计算机上该服务器使用Node.js构建包含在 HOOPS Visualize Web 安装程序中。打开http://localhost:11180/index.html即可查看各种示例模型这些模型突出了HOOPS Web Viewer的功能。这些示例的源代码位于已安装的 HOOPS Visualize Web 软件包的web_viewer/examples目录中。查看示例模型时您会注意到您正在查看hoops_web_viewer_example.html页面。此页面由 HOOPS 服务器提供该服务器通过start_server.[bat|sh] 命令启动。每个被查看的模型都会启动一个流缓存服务器实例该服务器负责通过WebSocket连接传输转换后的 CAD 模型。HOOPS 服务器负责启动和监控连接到客户端 Web 查看器的流缓存服务器。HOOPS 服务器有两个主要功能提供静态资源例如 HTML 文件为 HOOPS Web Viewer 提供 API使其能够通过流缓存服务器请求 CAD 模型进行渲染。查看您的模型您只需将 CAD 模型拖放到quick_start目录中的convert_file.[bat|sh]脚本上即可转换模型。如果 HOOPS 服务器当前正在运行转换完成后模型将自动显示在您的浏览器中。您可以通过打开quick_start目录中的converted_files.html文档来查看所有已转换模型的列表。此文档在您使用convert_file.[bat|sh]转换第一个模型后生成点击此处查看http://localhost:11180/converted_files.html笔记此文件由 HOOPS 服务器提供该服务器还管理和监控所有向 Web 查看器传输 CAD 模型的流缓存服务器。转换过程完成后您可以在/quick_start/converted_models/user/sc_models目录中找到生成的.scz文件。此外还会生成一个.scs文件并将其放置在/quick_start/converted_models/user/scs_models目录中并在/quick_start/converted_models/user/images目录中创建模型图像。执行convert_file.[bat|sh]会启动一个 Python 脚本该脚本运行一个名为Converter 的应用程序 Windows 系统下为converter.exe并预设了一些设置用于将 CAD 文件转换为Stream Cache 格式(SC)。SC 格式是 Web Viewer 组件可以解析的流式优化内部格式。转换器应用程序转换器应用程序包含在 HOOPS Visualize Web 中用于将 CAD 模型转换为 Stream Cache 格式以便在浏览器中查看。查看转换器工作原理的最简单方法是按照以下步骤操作在文件资源管理器中导航至INSTALL_DIR/quick_start双击start_server.bat文件启动流媒体服务器。您将看到类似如下的窗口保持此控制台窗口打开然后继续执行下一步。选择要转换的 CAD 文件然后将其拖放到同一目录下名为convert_file.bat的另一个批处理文件中在上面的 GIF 动画中CAD 文件被拖放到 convert_file.bat 上方此时会弹出“使用 convert_file.bat 打开”的提示信息。此时只需松开鼠标左键即可开始转换。这将打开另一个控制台窗口显示转换进度。转换完成后您可以关闭此控制台窗口但不要关闭步骤 2 中的服务器窗口。您还会注意到网页浏览器会打开一个网页在网页查看器中显示转换后的模型。此时您可以根据需要与模型进行交互。为了跟踪您所做的所有转换系统会在INSTALL_DIR/quick_start中自动创建一个名为 converted_files.html 的 HTML 文件。easy_convert.jsconvert_file.bat的配套脚本是easy_convert.js位于INSTALL_DIR/quick_start/scripts目录下。该 JavaScript 文件包含了converter.exe可执行文件的各种预定义命令行选项。用你喜欢的文本编辑器打开easy_convert.js 文件找到以下变量process_args以下列出了转换器的预定义变量。您可以根据需要添加或删除选项。为了演示我们来修改easy_convert.js使其转换后还能生成一个模型信息文件--output_model_info。此选项需要指定输出文件的位置和名称。将输出位置设置为与easy_convert.js相同的目录并将文件命名为model_info.txtconstprocess_args [ converter_path, --input, ${abs_path}, --license, license_key, --output_sc, output_sc_path, --output_scs, output_scs_path, --sc_create_scz, 1, --sc_compress_scz, 1, --output_png, output_png_path, --background_color, png_background_str, --output_png_resolution, png_resolution_str, --load_all_configurations, load_all_configurations, --output_model_info, ./model_info.txt,//-----------//--sc_export_attributes, export_attributes ];运行easy_convert.js并检查是否生成了模型信息文件。表演技巧对于较大的 CAD 文件 50MB 左右建议不要生成 .png 文件因为这会显著增加转换时间。对于配置项较多的 CAD 文件不要包含该--load_all_configurations选项。以编程方式运行转换器转换器也可以通过编程方式使用。为此请导航至authoring/converter/example目录。您会找到示例脚本sample.[bat|sh]其中演示了各种 CAD 转换场景。笔记请参阅我们的许可页面了解如何查找或获取您的许可证密钥。让我们修改sample.[bat|sh] 脚本来执行您的 CAD 转换。请在文本编辑器中打开该脚本并删除或注释掉调用 Converter 函数的第一行之后的所有内容。结果set CONVERTER_LICENSE_KEYyour_license_key IF NOT EXIST output mkdir output ../bin/platform/converter --input _data/micro_engine/_micro engine.CATProduct --output_scs ../../../quick_start/TestModel.scs --output_png ../../../quick_start/TestModel.png --output_png_resolution 320x240 --license %CONVERTER_LICENSE_KEY%在上面的示例中我们指定了一个指向示例 CAD 文件的相对路径。您可以调整此路径使其指向硬盘上的有效模型。如果您没有可用的 CAD 文件可以在 HOOPS Visualize Web 包的authoring/converter/example/_data 目录下找到其他示例模型。此外该命令已修改可以生成此模型默认视图的图像文件并允许您指定自定义图像尺寸。脚本运行完毕后请确保 HOOPS 服务器仍在运行然后访问http://localhost:11180/hoops_web_viewer_sample.html?scsTestModel.scsHOOPS Converter 的功能远不止这些。请访问我们的API 参考文档了解其各种命令行选项的更多信息。HOOPS Converter 以C 库的形式提供其功能与您安装的 HOOPS Visualize Web 软件包中包含的独立可执行文件相同。查看流缓存文件如果您对转换 CAD 文件不感兴趣而只想在 Web 查看器中查看现成的 Stream Cache 模型也很容易做到。打开快速启动目录INSTALL_DIR/quick_start双击server.bat启动服务器。然后在 Web 浏览器中打开index.html。页面上半部分展示的是转换前的示例模型下半部分则展示了开发者的示例。您可以随意在网页查看器中探索不同的模型——包括客户端渲染 (CSR) 和服务器端渲染 (SSR)。对于更复杂的模型您可能会注意到 CSR 模型加载速度较慢但​​加载完成后渲染速度更快。SSR 模型加载速度可能更快但由于流式传输的特性其性能响应速度略逊一筹。与示例模型交互加载 Stream Cache 模型后直接在 Web 浏览器控制台中调用 Web Viewer 函数是很常见的做法。对于index.html文件“示例模型”部分中的所有模型获取 Web Viewer 对象的变量是hwv——您将在步骤 4 中再次看到它。本示例将使用 Chrome 浏览器但其他浏览器需要使用略有不同的命令在index.html 文件中在 Chrome 浏览器的客户端渲染 (SCS) 模式下启动“bnc”模型。按 F12 查看控制台。通常情况下可以直接在控制台中从对象调用函数Communicator.Model。有很多函数需要节点 ID 作为参数。我们来获取 BNC 模型特定部分的节点 ID。首先选择 BNC 模型顶部较大的橙色部分。获取句柄selectionManager的类hwv并将其赋值给一个名为“:”的变量sm。varsm hwv.selectionManager;// or hwv.getSelectionManager();使用以下selectionManager方法获取节点 ID将 and 和 or 组合起来getFirstgetNodeId并将返回值保存到名为 : 的变量中nodeId。varnodeId sm.getFirst().getNodeId();您也可以将前两次调用合并为一次调用varnodeId hwv.selectionManager.getFirst().getNodeId();在节点上设置一个属性InstanceModifer使其在将绘制模式设置为 X 射线时不受影响hwv.model.setInstanceModifier(Communicator.InstanceModifier.DoNotXRay, [nodeId],true);请注意这里nodeId用括号括起来了。这是因为这个特定的函数需要一个数组作为参数——但并非所有函数都如此。现在将绘制模式设置为 X 射线hwv.view.setDrawMode(Communicator.DrawMode.XRay);此时模型应该如下所示为了使获取所选节点 ID 的过程更加动态和直观我们可以使用回调函数hwv.setCallbacks({ selectionArray:function(selections) {if(selections.length 0) {for(constselectionEventofselections) {varselection selectionEvent.getSelection();varnodeid selection.getNodeId(); console.log(Selected Node: nodeid); } } }, });将上述代码片段直接复制到控制台然后在 Web 查看器中进行一些选择。你会发现节点 ID 会自动显示而无需在控制台中不断运行 JavaScript 命令。使用 RGB 值将选定节点的表面颜色更改为红色。由于我们已知节点 ID因此可以使用以下代码以编程方式完成此操作请务必将数组括号中的 ID 替换为您的节点 IDhwv.model.setNodesFaceColor([your_selected_node_id],newCommunicator.Color(255, 0, 0));运行此代码后您指定的模型部分应该会变成红色通过这种方式获取节点 ID 对许多其他功能也很有用。ESM 标头示例当您准备创建自己的 Web 应用程序时需要导入一些 HOOPS Visualize Web 类才能与库进行交互。假设您有一个名为my_javascript_app.js的 JavaScript 文件。在这种情况下该文件的顶部应该包含类似以下内容import{*asCommunicator}from./hoops-web-viewer.mjs};这将导入所有 HOOPS Visualize Web 类。或者您也可以使用以下命令单独导入它们import{ WebViewer }from./hoops-web-viewer.mjs;然后在你的 HTML 源代码中像往常一样引用你的 JavaScript 代码scripttypemodule srcmy_javascript_app.js/scriptHOOPS Visualize Web 也支持 IIFE 和 UMD但我们推荐使用 ESM因为它是目前最现代的 JavaScript 导入方式。更多信息请参阅我们的ESM 概述和迁移指南。

相关新闻

抖音视频下载不再求人:免费开源工具 douyin_downloader 一键保存无水印高清视频

抖音视频下载不再求人:免费开源工具 douyin_downloader 一键保存无水印高清视频

抖音视频下载不再求人:免费开源工具 douyin_downloader 一键保存无水印高清视频 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载:https://www.lanzous.com/i9za5od 项目地址: https://gitcode.com/gh_mirrors/dou/douyin_do…

2026/10/12 8:11:41 阅读更多 →
GraphvizOnline:零门槛免费流程图制作神器,网页版在线绘图就这么简单

GraphvizOnline:零门槛免费流程图制作神器,网页版在线绘图就这么简单

GraphvizOnline:零门槛免费流程图制作神器,网页版在线绘图就这么简单 【免费下载链接】GraphvizOnline Lets Graphviz it online 项目地址: https://gitcode.com/gh_mirrors/gr/GraphvizOnline 下午三点,离项目汇报只剩两小时&#xf…

2026/10/2 4:59:03 阅读更多 →
逆向思维与空间换时间:从NOIP铺地毯题解算法优化核心

逆向思维与空间换时间:从NOIP铺地毯题解算法优化核心

1. 项目概述:从一道经典算法题看问题抽象与逆向思维 看到“[NOIP2011 提高组] 铺地毯”这个标题,很多参加过信息学竞赛的老朋友估计会心一笑。这可不是一个教你如何在家装市场挑选地毯或者学习铺地砖手艺的教程,而是一道在算法竞赛史上留下深…

2026/10/7 15:27:30 阅读更多 →

最新新闻

lancet retry 包全解析:Go 重试机制、退避策略与 Context 取消控制的完整实战指南

lancet retry 包全解析:Go 重试机制、退避策略与 Context 取消控制的完整实战指南

开发工具 【免费下载链接】lancet A comprehensive, efficient, and reusable util function library of Go. 项目地址: https://gitcode.com/gh_mirrors/la/lancet 点击查看 免费下载 导读 本文围绕 lancet 工具库中的 retry 包展开,系统讲解其"…

2026/10/13 6:25:46 阅读更多 →
∮150摆线针轮减速机装配图详解:原理、装配与故障排查

∮150摆线针轮减速机装配图详解:原理、装配与故障排查

这份图纸看着零件不多,真正动手却能卡住不少人。∮150摆线针轮减速机,在中小型自动化设备、输送线、搅拌机、皮带驱动这类场景里出现频率相当高,车间里几乎天天能见到。会看装配图和会装摆线减速机是两码事:装配图里每个零件都画得…

2026/10/13 6:25:46 阅读更多 →
AI论文工具测评:继续教育学员从选题到答辩的实战攻略

AI论文工具测评:继续教育学员从选题到答辩的实战攻略

要说2026年继续教育学员最头疼的事,论文绝对排前三。我在职场和培训圈里泡了十几年,每年都能看到一批人卡在开题、文献综述和查重这三道坎上。尤其继续教育学员,平时上班、带娃、考证已经掏空了精力,真到提笔写论文的时候&#xf…

2026/10/13 6:25:46 阅读更多 →
MACE 问题反馈指南:从 Issue 提交规范到系统化排障实践

MACE 问题反馈指南:从 Issue 提交规范到系统化排障实践

推理引擎深度学习 【免费下载链接】mace MACE is a deep learning inference framework optimized for mobile heterogeneous computing platforms. 项目地址: https://gitcode.com/gh_mirrors/ma/mace 点击查看 免费下载 MACE(Mobile AI Compute Engin…

2026/10/13 6:25:46 阅读更多 →
GB/T4857.10标准解析:振动测试保障物流运输安全

GB/T4857.10标准解析:振动测试保障物流运输安全

1. GB/T4857.10标准概述:物流运输安全的守护者网购商品破损、精密设备运输故障、易碎品中途碎裂——这些常见问题背后,往往隐藏着一个被忽视的关键因素:运输过程中的振动冲击。GB/T4857.10《包装运输包装件基本试验 第10部分:正弦…

2026/10/13 6:25:46 阅读更多 →
Kettle 6.0 ETL实战:转换、作业、增量同步与调度全解析

Kettle 6.0 ETL实战:转换、作业、增量同步与调度全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 6:24:46 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →