Forge Viewer - 我们可以在加载的模型上进行选择/突出显示并保存在数据库中,以便我们可以在下次用户加载时显示该选择吗?
Posted
技术标签:
【中文标题】Forge Viewer - 我们可以在加载的模型上进行选择/突出显示并保存在数据库中,以便我们可以在下次用户加载时显示该选择吗?【英文标题】:Forge Viewer - can we make selections/highlight on loaded models and save in database so that we can show that selection next time user loads it? 【发布时间】:2020-03-21 12:16:40 【问题描述】:这可能吗?或者我们如何在模型中添加便签/RFI 信息/问题点。 我在一个 Web 应用程序中工作,我们如何管理这些信息并将其保存到某个数据库中,以便以后再次查看同一模型时可以显示该信息?
提前致谢
【问题讨论】:
【参考方案1】:您可以使用Viewer APIs 获取或设置选择。具体来说,getSelection 方法返回一个对象 ID 列表,您可以将其存储在任何您想要的位置,select 方法接受您想要选择的对象 ID 列表。
如需更高级的扩展,请随时通过https://github.com/Autodesk-Forge 浏览我们的示例。一个可能特别感兴趣的演示是“Forge Digital Twin”(source code 和 live demo),它将“报告的问题”存储到数据库中,然后将它们显示为模型上的 3D 注释:
【讨论】:
感谢 Petr 的回复。但是我真正需要的是,用户应该能够选择一些区域或多个组件,并且应该有一个弹出窗口来存储有关选择的详细信息。这是可行的吗?任何与此相关的示例或参考。 在我的 Web 应用程序中,我已经有了 RFI 工作流。因此,通过此功能,用户可以从选择模型中选择和启动工作流。这些弹窗和组件信息可以保存在数据库中。 是的,这是可能的。正如我在回答中提到的,在您的用户选择了一个或多个组件后,您可以使用viewer.getSelection();
获取所选组件的 ID 列表,并将它们存储在您的数据库中。稍后您可以使用此 ID 列表在查看器中再次使用 viewer.select(listOfIDs);
选择它们。以上是关于Forge Viewer - 我们可以在加载的模型上进行选择/突出显示并保存在数据库中,以便我们可以在下次用户加载时显示该选择吗?的主要内容,如果未能解决你的问题,请参考以下文章
Autodesk Forge Viewer 7.24.0 未加载模型
在 Forge Viewer 中使用 BIM360 模型坐标变换位置?
Forge Viewer 加载具有共享坐标的多个 Revit 模型