如何在手机或平板上访问模型三?
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 } }
);
我试图通过访问我的模型中的三个来列出我的建筑的一些元素。
它在我的电脑上运行良好,但在我的 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 } }
);