Forge-Application BIM 360 查看器下拉选择项目

Posted

技术标签:

【中文标题】Forge-Application BIM 360 查看器下拉选择项目【英文标题】:Forge-Application BIM 360 viewer dropdown selection of projects 【发布时间】:2021-12-16 03:21:56 【问题描述】:

如何在 BIM 360 Viewer forge 应用程序、NodeJS 应用程序中为用户获取所有可用项目的下拉选择。

【问题讨论】:

【参考方案1】:

您可以在服务器端 Node.js 应用程序中使用 Forge SDK,使用此端点:https://forge.autodesk.com/en/docs/data/v2/reference/http/hubs-hub_id-projects-GET 获取特定 BIM 360“集线器”的所有项目列表。 Node.js 代码可能如下所示:https://github.com/petrbroz/forge-hubs-browser-nodejs/blob/develop/services/forge.js#L64-L67。然后,您的客户端 javascript 可以获取此项目列表,并使用它们填充 <select> 元素。

或者,您也可以直接从客户端检索项目列表。这就是我在这个演示应用程序中所做的:https://forgeextraderivatives.z6.web.core.windows.net。我将以下脚本添加到我的 html

<script src="https://cdn.jsdelivr.net/npm/forge-server-utils/dist/browser/forge-server-utils.js"></script>

然后,在从服务器端获取访问令牌后,我执行以下操作:

const bim360Client = new forge.BIM360Client( token: '...' );
async function updateProjectsDropdown() 
    const $projects = $('#projects');
    $projects.empty();
    const projects = await bim360Client.listProjects($('#hubs').val());
    for (const project of projects) 
        $projects.append(`<option value="$project.id">$project.name</option>`);
    

【讨论】:

谢谢,能否分享一下你上次提到的demo app的源代码 很遗憾,我无法分享这个特定应用程序的源代码,但我会尝试制作一个具有相同功能的简单应用程序。 这是一个演示此功能的简单网页:gist.github.com/petrbroz/0f2e88a6d94fdea644c2107716dac5c6。您只需要以某种方式获取一个 3-legged 令牌(例如,通过遵循 View Hub Models 教程)并将其输入到第一个输入字段。

以上是关于Forge-Application BIM 360 查看器下拉选择项目的主要内容,如果未能解决你的问题,请参考以下文章

从 BIM360 备份或下载

BIM 360 Projects 服务类型未记录

自定义 BIM360 查看器?

适用于所有用户的 BIM 360 查看器,无需自定义集成

查询 BIM 360 项目属性时出错

伪造 BIM 360 照片