【问题标题】:Can not get AEC model Data in Autodesk Forge无法在 Autodesk Forge 中获取 AEC 模型数据
【发布时间】:2020-09-09 07:59:56
【问题描述】:

我尝试在 Autodesk forge 查看器中激活 Revit Levels 和 2D Minimap 扩展,但无法获取 AEC 模型数据。我穿了这个`

我尝试使用此代码获取 AEC 数据

const url = window.location.search;
console.log(url);
const svf_path = `${url.replace("?", "/storage/").replace(/%20/g, " ")}`;

Autodesk.Viewing.endpoint.getItemApi = (endpoint, derivativeUrn, api) => {
  return svf_path;
};

Autodesk.Viewing.Initializer(options, async () => {
  const paths = svf_path.split("/");
  const [dest, svf_dir] = [paths[2], paths[3]];

  const url = `/api/viewer/dest/${dest}/svf/${svf_dir}/manifest`;
  const response = await fetch(url);
  const manifest = await response.json();

  const init_div = document.getElementById("init_div");
  viewer = new Autodesk.Viewing.GuiViewer3D(init_div, config3d);

  const viewerDocument = new Autodesk.Viewing.Document(manifest);
  const viewable = viewerDocument.getRoot().getDefaultGeometry();
  viewer.start();

  await viewerDocument.downloadAecModelData();

  viewer.loadDocumentNode(viewerDocument, viewable)
  .then(function (result) {
    Autodesk.Viewing.Document.getAecModelData(viewable);
  })
});

我的代码有什么问题吗?

【问题讨论】:

    标签: javascript autodesk-forge forge


    【解决方案1】:

    警告来自BubbleNode.prototype.getAecModelData 方法。您没有在代码中调用它,但它可能被 LevelsExtension 本身调用。尝试通过传入{ autoDetectAecModelData: false } 作为扩展选项来配置扩展,使其不会自动检测 AEC 数据。

    顺便说一句。要调试您这边的问题,您还可以尝试获取 viewer3D.js 的非缩小版本,在记录警告的位置放置一个断点,并在断点为时查看调用堆栈命中。

    【讨论】:

    • 我需要在哪里添加 autoDetectAecModelData: false ??
    • 当你需要加载带有自定义设置的扩展时,你可以这样做:viewer.loadExtension('Autodesk.AEC.LevelsExtension', { autoDetectAecModelData: false });
    猜你喜欢
    • 2020-06-07
    • 2020-06-30
    • 2021-02-10
    • 2020-09-06
    • 1970-01-01
    • 2021-04-29
    • 2021-10-02
    • 2021-01-09
    • 2021-12-25
    相关资源
    最近更新 更多