【问题标题】:How to implement a Forge Autodesk model-aggregating viewer?如何实现 Forge Autodesk 模型聚合查看器?
【发布时间】:2019-10-26 23:48:29
【问题描述】:

我目前正在一家专门从事 BIM 的公司实习。到目前为止,我的任务是实现一个 Forge Autodesk 查看器,该查看器适用于多个模型的聚合和显示。我设法编写了一个工作查看器,并找到了一种聚合模型的假定方法,但我不明白如何让它们一起工作。

我已经按照 Forge Autodesk 教程实现了一个查看器,并在 Forge Autodesk 博客上找到了一篇关于查看多个模型的文章,我尝试将代码集成到我的查看器中,但目前没有成功。

我实现的查看器:http://learnforge.autodesk.io/#/

显示聚合模型的假定方式:https://forge.autodesk.com/blog/supporting-multiple-models-new-modelstructurepanel

我应该能够在同一个查看器中选择并显示多个加载的模型(例如建筑物模型和管网模型)。但是,我不知道如何将这个脚本添加到我的查看器中。 我已经尝试联系作者,但他回答我说他不再与 Autodesk 合作,并告诉我就我的问题向 Forge 支持寻求帮助。

提前致谢!

【问题讨论】:

    标签: autodesk-forge autodesk-viewer


    【解决方案1】:

    简单来说,聚合模型需要分别加载它们:

    viewer.start(model1URL, options); //first model
    ...
    viewer.loadModel(model2URL, options) //second model
    ... //more models
    

    查看简单的现场示例here

    正如 Philipe 的文章中提到的,在使用多个模型时,您需要订阅不同的事件,而不是像 AGGREGATE_SELECTION_CHANGED_EVENTAutodesk.Viewing.AGGREGATE_ISOLATION_CHANGED_EVENTAutodesk.Viewing.AGGREGATE_FIT_TO_VIEW_EVENT 等单个模型。

    从 Viewer v6 开始,内置的 model browser 可以更好地处理多个模型,并且几乎涵盖了文章中描述的功能 - 您可以查看那里的代码示例并提出您自己的扩展:

    【讨论】:

    • 感谢您提供所有这些信息!我一直在查看viewer 文档以了解它是如何工作的。我也看过viewerApp一个,你说的是内置model-browser的意思吗?
    • 从 v6.* 开始,model-browser 随 GuiVIewer3d 开箱即用(意味着只要您使用 new Autodesk.Viewing.Private.GuiViewer3D 实例化查看器,您就会看到它)
    • 好的,所以基本上最简单的解决方案是使用新的 Autodesk.Viewing.Private.GuiViewer3D ?当我尝试使用viewerApp = new Autodesk.Viewing.GuiViewer3D($("#forgeViewer")) 实例化一个时,我收到以下错误:TypeError: Autodesk.Viewing.GuiViewer3D is not a constructor
    • 你不应该打电话给new Autodesk.Viewing.Private.GuiViewer3D($("#forgeViewer")) ...详情请参阅教程here...
    猜你喜欢
    • 2019-05-02
    • 2021-11-12
    • 1970-01-01
    • 2021-05-27
    • 2018-08-17
    • 2021-09-19
    • 1970-01-01
    • 2020-10-23
    • 2020-10-17
    相关资源
    最近更新 更多