BIM360 中的生成主视图

generateMasterViews in BIM360

我在将 revit 文件加载到 BIM360 时遇到问题; Forge 查看器中的房间和空间不会像 link https://forge.autodesk.com/blog/new-rvt-svf-model-derivative-parameter-generates-additional-content-including-rooms-and-spaces (see 中报告的示例那样显示);没有体积,只有一点。 否则,如果我将 revit 模型加载到存储桶中,按照上述过程,房间和空间将在查看器中按需显示(参见 )。 是否有可能通过将 generateMasterViews 参数设置为 true 来调用数据管理的 API(作为模型衍生的 API,https://forge.autodesk.com/en/docs/model-derivative/v2/reference/http/job-POST/)以加载 BIM360 文件夹中的 revit 文件? 或者 BIM360 中是否可以为每个上传的 revit 文件默认设置此选项?

TIA 桤木

BIM360 文档默认将 generateMasterViews 设置为 true,因此无需通过 Forge Model Derivative API(而非数据管理 API)对 BIM360 执行此操作。

BIM360的查看器称为BIM360 Viewer,它建立在Forge Viewer之上,但并非Forge Viewer的所有功能都包含在BIM360 Viewer中。 (参见 BIM 360 Viewer vs Forge Viewer

回到你的问题,

您可以尝试使用此查看器代码加载您看不到房间的模型吗?

var options = {
  env: 'MD20Prod' + (atob(urn.replace('urn:', '').replace('_', '/')).indexOf('emea') > -1 ? 'EU' : 'US'),
  api: 'D3S',
  getAccessToken: getForgeToken
};

if (LMV_VIEWER_VERSION >= '7.48') {
  options.env = 'AutodeskProduction2';
  options.api = 'streamingV2' + (atob(urn.replace('urn:', '').replace('_', '/')).indexOf('emea') > -1 ? '_EU' : '');
}

Autodesk.Viewing.Initializer(options, () => {
  viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer'));
  viewer.start();
  var documentId = 'urn:' + urn;
  Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
});

function onDocumentLoadSuccess(doc) {
  const root = doc.getRoot();
  const viewables = root.search({'type':'geometry', 'role': '3d'});

  console.log('Viewables:', viewables);

  const phaseViews = viewables.filter(v => v.data.name === v.data.phaseNames && v.getViewableRootPath().includes('08f99ae5-b8be-4f8d-881b-128675723c10'));

  console.log('Master Views:', phaseViews);

  viewer.loadDocumentNode(doc, phaseViews[0], { skipHiddenFragments: false }).then(model => {
    // any additional action here?

    console.log({
      'LMV version': LMV_VIEWER_VERSION
    });
  });
}

function onDocumentLoadFailure(viewerErrorCode) {
  console.error('onDocumentLoadFailure() - errorCode:' + viewerErrorCode);
}

参考:https://github.com/yiskang/forge-viewhubmodels-nodejs-svf2/blob/main/public/js/ForgeViewer.js