【问题标题】:View BIM 360 & Fusion Models_Forge Tutorial查看 BIM 360 和 Fusion Models_Forge 教程
【发布时间】:2021-08-01 23:37:16
【问题描述】:

我正在关注 Node.js 语言的“查看 BIM 360 和融合模型”教程,来自

https://learnforge.autodesk.io/#/tutorials/viewhubmodels

我按照教程创建了一个文件夹结构,我的服务器也在监听。

现在我想在查看器中叠加多个模型,例如:Arch, structure & MEP, 如何添加代码以及在哪里添加?请帮忙 请参阅下面我的 Visual Studio 文件夹的屏幕截图代码

【问题讨论】:

    标签: node.js autodesk-forge autodesk


    【解决方案1】:

    viewhubmodels 示例使用从对象树中选择的版本在查看器上呈现特定的骨灰盒,因此您需要更改此默认逻辑。 要利用此示例实现多模型,请参阅multi-model refresher 博文。

    您可以实现示例中博客文章中描述的 addViewable 函数,以通过单击聚合模型。

    您可以通过更改ForgeViewer.js 来实现。更准确地说是Initializer

    每次我们单击项目版本时,该示例都会为viewer 分配一个新值。我们可以通过以下代码更改当前的Initializer 来更改此行为以在点击时聚合新模型,而不是替换它们:

    if(!!viewer){
      addViewable(viewer, urn);
    }
    else{
      viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer'), { extensions: ['Autodesk.DocumentBrowser'] });
      viewer.start();
      var documentId = 'urn:' + urn;
      
      Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
    }
    

    addViewable 由前面提到的博客文章定义。

    async function addViewable(viewer, urn, xform, offset) {
        return new Promise(function (resolve, reject) {
            function onDocumentLoadSuccess(doc) {
                const viewable = doc.getRoot().getDefaultGeometry();
                const options = {
                    preserveView: true,
                    keepCurrentModels: true
                };
                if (xform) {
                    options.placementTransform = xform;
                }
                if (offset) {
                    options.globalOffset = offset;
                }
                viewer.loadDocumentNode(doc, viewable, options)
                    .then(resolve)
                    .catch(reject);
            }
            function onDocumentLoadFailure(code) {
                reject(`Could not load document (${code}).`);
            }
            Autodesk.Viewing.Document.load('urn:' + urn, onDocumentLoadSuccess,     onDocumentLoadFailure);
        });
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 2019-08-27
      • 2021-02-17
      • 2020-02-11
      • 2021-12-16
      • 2020-03-23
      • 2021-03-31
      • 2019-07-05
      • 2018-07-02
      相关资源
      最近更新 更多