我正在尝试通过访问模型的三个来列出建筑物的某些元素。
在我的计算机上工作正常,但在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
。
我该怎么做?
答案 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 } }
);