Autodesk forge viewer 使用 svf 路径获取 AEC 模型数据

Autodesk forge viewer get AEC model data with svf path

我们使用 Autodesk forge 查看器和 React js。我们用保存的 svf 路径打开模型。

我想添加 AEC.LevelsExtension 和 AEC.MinimapExtension。当我使用 models urn 获取 Aec modelData 时它工作正常,但我需要使用 svf 路径获取它。谁能帮我找到解决办法我该怎么做?

我用这段代码打开模型

const Autodesk = window.Autodesk;
const options = {env: 'Local'};
const config3d = {
  extensions: ["Autodesk.AEC.LevelsExtension"],
};

const url = window.location.search;

const init_div = document.getElementById('init_div');
const viewer = new Autodesk.Viewing.Private.GuiViewer3D(init_div, config3d);
const svf_path = `/${url.replace('?', 'storage/').rece(/%20/g, ' ')}`;


Autodesk.Viewing.Initializer(options, () => {
  viewer.start(svf_path, options);
}); 

请在此处查看此博客 https://forge.autodesk.com/blog/consume-aec-data-svfs-your-own-server。它显示了清晰的步行路径,请尝试一下:

  1. 将模型的清单保存在某处,并覆盖 getItem 函数:

    Autodesk.Viewing.endpoint.getItemApi=(endpoint, derivativeUrn, api)=>{ return 'Your svf folder url'+decodeURIComponent( derivativeUrn.split('Resource')[1]) }

  2. 自己构造Document对象

    const viewerDocument = new Autodesk.Viewing.Document(manifestJsonObject);

  3. 加载模型前调用下载AEC模型数据

    viewerDocument.downloadAecModelData();

之后,您就可以照常使用AEC相关的扩展了。