云端 opendesign(网页版)和桌面查看器(ODA Viewer)有区别吗?
Open Cloud 的 VisualizeJS 库 基于 Visualize SDK(通过 Emscripten 编译为 JavaScript),因此两者在功能上没有差异,但新功能的上线可能存在短暂延迟。
如何提升 OpenCloud 的存储空间限制?
您需要通过向服务器发送以下请求来申请提升存储限制:
PUT /api/users/<userId>
OpenCloud 上传的文件是否有存储限制?
是的,每个用户均有独立的存储配额。在 cloud.opendesign.com 上,默认每用户拥有 200 MB 的存储空间。但如果您自行搭建本地服务器,可自由调整此限制
如何在 iPad 和 iPhone 上实现 Open Cloud 示例的"缩放"或"选择"功能?
当前示例 this example 中的"放大"、"选择"等触控操作在 iPad/iPhone 上无法使用,因为该示例最初是为桌面端设计的。
可以作为试用用户测试 Open Cloud 吗?
是的,试用版压缩包中已包含云服务器组件,您可以自行安装试用版的本地云服务器。
是否提供 Mac 版的 WebTool 工具包?
目前我们暂未推出适用于 Mac 平台的 WebTool 相关工具。
是否可以使用 Open Cloud 同时打开和加载多个 VSF 文件?
很遗憾,VisualizeJS 库不支持同时处理多个文件。但您可以创建 2 个库实例,并在不同的画布上使用它们,这里有一个示例 an example.
是否有支持IFC的网页查看器?
您可以使用我们的Open Cloud查看IFC文件。我们的云端查看器(基于Open Cloud SDK)已实现此功能 Cloud viewer
我已使用管理员账号登录安装了OpenCloud的服务器,但当尝试从其他计算机访问时,仍然收到"Failed to Fetch"错误信息。
这很可能是网页查看器无法连接到Open Cloud服务器。您需要执行以下步骤:
1.修改网页查看器配置: https://cloud.opendesign.com/docs/index.html#/webviewer?id=build. Parameter api_host should point to the IP address of the Open Cloud Server. 参数api_host应指向Open Cloud服务器的IP地址。
2.使用以下命令运行Open Cloud服务器:dotnet OpenCloudServer.dll --urls http://0.0.0.0:8080
如需创建其他用户,请使用 Open Cloud Server API.
如何使用Nginx连接客户端和工作节点?
如需通过Nginx服务器代理WebSocket请求,可以参考标准配置指南,例如以下方案 this.
如何选择 OdDbBlockReference 中的特定实体(而非整个块引用)?
选择子实体及更低层级元素的示例代码:
var opt = new tlib.OdTvSelectionOptions();
opt.setLevel(tlib.SelectionLevel.kSubentity);
opt.setMode(tlib.SelectionMode.kCrossing);
var selectionSet = viewer.activeView.select([0, 0, 1920, 1080], opt, viewer.getActiveModel());
var itr = selectionSet.getIterator();
for (; ! itr.done(); itr.step()) { var subEntity = itr.getSubEntity(); console.log('sub entity'); }
Open Cloud采用什么图形引擎?
我们使用的是自主研发的图形引擎——Visualize,并搭载了我们特有的渲染实现技术。
如何扩展Open Cloud服务器功能?
您可实现自有后端服务器与Open Cloud服务端之间的通信交互。典型应用场景示例:若需对DWG文件执行特定操作,可先将其下载至您的后端服务器,完成处理后将新版本重新上传至Open Cloud服务器。
服务器端是否需要GPU支持?
实际上并不需要,后端服务器无需配备GPU。包括DWG等源文件转换为VSF格式在内的所有操作,均可无需GPU单元正常运行。
能否开发自定义转换器?
可以,您能够实现将数据转换为可视化流格式(Visualize Stream Format)的转换器,并进一步将该格式转换为其他适用于浏览器渲染的格式。
Open Cloud是否会在本地浏览器存储文件?
我们仅在浏览器中存储几何数据。对于Revit、DWG等各类文件,系统会提取其中的几何数据并转换为.vsf格式(源自Visualize项目),这些数据通过Open Cloud服务器直接流式传输至浏览器。因此,浏览器端仅保留此类几何数据。
Open Cloud使用什么编程语言?
我们使用.NET Core作为Open Cloud服务器的开发语言,使用C++编写jobrunner和文件转换器工具。前端使用JavaScript,但这仅用于我们的演示查看器应用程序,只是一个示例。
服务器端需要什么硬件配置?
我们的Open Cloud解决方案包含两个部分,它们有不同的硬件要求。
第一部分是Open Cloud服务器,采用.NET Core开发,实际上不包含高负载功能模块。
第二部分是jobrunner,这个组件负责处理繁重任务,例如打开Revit、.dwg等大型文件,其性能消耗取决于文件大小和内部结构。
核心建议是:您需要为jobrunner配置高性能硬件,而Open Cloud服务器使用中等规格的虚拟实例即可满足需求。
jobrunner与controller和workers之间是什么关系?
jobrunner是一个轻量级应用程序,它运行File Converter程序来将文件转换为其他格式,或提取几何数据及属性数据。controller和workers这两个组件:我们决定暂停对它们的更新支持。虽然我们保留了相关测试用例和基础使用文档,但目前不再进行功能开发。这些组件已相当稳定,但我们不会继续为其添加新特性。
"handle"是什么形式?
handle是原生数据库中对象的标识符。这意味着通过这个handle,您可以将浏览器中看到的可视化对象与原始文件中的原生对象关联起来。它以字符串形式表示,因为从Open Cloud服务器获取的所有数据都是JSON格式的。
如何将C++应用程序部署到Web服务器,使其能通过Web请求(GET/POST)访问并将输出返回给客户端?
您可以参考这篇文章入门 this article.
Web应用应通过WebSocket连接与Worker应用通信。通过WebSocket可以向Worker端发送待执行的命令。