如何在手机或平板上访问模型三?

How to access to model three on mobile or tablette?

我试图通过访问我的模型中的三个来列出我的建筑的一些元素。

它在我的电脑上运行良好,但在我的 Ipad 或平板电脑上运行不佳。

我正在使用此代码:

    getInstanceTree() {

    return new Promise(async (resolve, reject) => {
      try {
        let viewer = LevelsExtension.viewer;
        viewer.getObjectTree(function (instanceTree) {
          return resolve(instanceTree);
        },
          function (errorCode) {
            return reject(errorCode);
          });

      } catch (ex) {
        return reject(ex)
      }
    })
  };

在移动设备和 Ipad 上,return reject(errorCode);errorCode 中使用 undefined 值调用。

我该怎么做?

没有错误代码的错误回调可能表明模型数据库(存储对象树的地方)尚不可用。您在什么时候调用 getInstanceTree() 方法?

查看器在模型数据库准备就绪时触发一个事件 - 您可以使用 viewer.addEventListener(Autodesk.Viewing.OBJECT_TREE_CREATED_EVENT, function(ev) { ... }).

订阅它

希望对您有所帮助:)

编辑:跟进我们在 gist 上的讨论,对于 运行 遇到类似问题的任何人:

当您无法在移动设备上访问模型的对象树时,您可能会达到 Forge 查看器的内存限制,您可以通过将限制明确设置为零来尝试绕过这些限制:

viewer = new Autodesk.Viewing.Private.GuiViewer3D(
    document.getElementById('viewer'),
    { memory: { limit: 0 } }
);