Autodesk forge 加载多个文档时如何设置model.getDocumentNode?

Autodesk forge 加载多个文档时如何设置model.getDocumentNode?,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,我从查看器中的多个转换的revit文件加载多个模型。 在每一个模型中,我都放置了与所选元素相关联的点。 为了以后能够重用这些要点,我需要: 从->模型[x]获取的revit文档。myData.urn:确定 从revit文档中获取的视图(模型)->model.getDocumentNode返回null(在使用viewerApp加载单个模型时不是这种情况)。这导致无法访问作为视图guid的node.model.getDocumentNode().data.guid。高 Dbid->选择事件中存在:确

我从查看器中的多个转换的revit文件加载多个模型。 在每一个模型中,我都放置了与所选元素相关联的点。 为了以后能够重用这些要点,我需要:

  • 从->模型[x]获取的revit文档。myData.urn:确定
  • 从revit文档中获取的视图(模型)->model.getDocumentNode返回null(在使用viewerApp加载单个模型时不是这种情况)。这导致无法访问作为视图guid的node.model.getDocumentNode().data.guid。高
  • Dbid->选择事件中存在:确定
  • Guid->我构建了一个双向映射表(dbidguid)来获得我所需要的:ok(对更简单的方法开放,但是ok)
  • 主要问题是第二点,在查看器中加载多个模型时如何设置model.getDocumentNode


    谢谢,

    您可以在加载过程中收集文档URN和模型GUID:

    function load(urn) {
        viewerApp.loadDocument(
            'urn:' + urn,
            function onDocumentLoadSuccess(doc) {
                const viewables = viewerApp.bubble.search({ 'type': 'geometry' });
                if (viewables.length > 0) {
                    const path = doc.getViewablePath(viewables[0].data);
                    const viewer = viewerApp.getCurrentViewer();
                    const options = { /* your options */ };
                    viewer.loadModel(path, options, function onModelLoadSuccess(model) {
                        model._myURN = urn;
                        model._myGUID = viewables[0].data.guid;
                    });
                }
            }
        );
    }
    

    加载时是一个选项。谢谢有没有api计划在将来的版本中淘汰这种方法?好问题@Fabien。由于这种方法只使用公共和非常常用的API,我认为它不会很快被禁止。