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

时间:2018-08-18 13:13:40

标签: autodesk-forge

我正在尝试通过访问模型的三个来列出建筑物的某些元素。

在我的计算机上工作正常,但在Ipad或平板电脑上却无法正常工作。

我正在使用以下代码:

get my(){
 return //all your conditions
}

*ngIf="my"

在移动设备和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) } }) }; 中的return reject(errorCode);值调用undefined

我该怎么做?

1 个答案:

答案 0 :(得分:2)

没有错误代码的错误回调可能表明模型数据库(存储对象树的模型)尚不可用。您什么时候调用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 } }
);