如何在查看器中添加多个模型?

How to add a multiple models in the viewer?

我正在创建一个带有 forge-viewer 的站点,并希望在一个 window 中查看多个加载的模型。如何开启同时加载和查看多个模型的功能?

这是一个新站点。我已经尝试了互联网上所有可用的方法和建议,但是 none 帮助我解决了我的问题。

我的代码与此来源的代码完全一致https://github.com/Autodesk-Forge/learn.forge.viewmodels/tree/nodejs

我希望我终于可以添加一个加载和查看多个模型的功能window,但到目前为止我没有做到。

继续阅读 this and this series of blogs,了解有关使用 Viewer 进行模型聚合的非常详尽的演练。

简而言之,您需要为第一个模型使用 viewer.start 加载不同的模型,然后为其他模型使用 viewer.loadModel:

this.viewer.start(svfUrl, loadOptions, onLoadModelSuccess, onLoadModelError);
this.viewer.loadModel(svfUrl, loadOptions, onLoadModelSuccess, onLoadModelError); 

有关此方法的信息,请参阅文档 here

要在查看器 版本 7 中加载多个模型,请确保添加查看器选项 keepCurrentModels: true,如下所示:

function loadModels(urns) {

    const viewerOptions = {
        env: 'AutodeskProduction',
        accessToken: token.access_token,
        extensions:[ ]
    };

    Autodesk.Viewing.Initializer(viewerOptions, () => {

        const div = document.getElementById('forgeViewer');
        viewer = new Autodesk.Viewing.Private.GuiViewer3D(div);
        viewer.start();
        urns.map((m)=>{
            Autodesk.Viewing.Document.load(`urn:${m.urn}`, (doc) => {
                var viewables = doc.getRoot().getDefaultGeometry();
                viewer.loadDocumentNode(doc, viewables,{
                    keepCurrentModels: true,
                })
                .then( onLoadFinished );
            });

        })
    });

    function onLoadFinished(doc) {
        console.log('loaded');
    }
}

https://forge.autodesk.com/blog/loading-multiple-models-forge-viewer-v7 https://github.com/wallabyway/federatedmodels-v7