我们正在尝试获取DWFX文件的所有节点元素,但我们正在为DWFX文件获取未定义的实例树。我们使用下面的代码来获取每个元素id。
yourMethod(param):returnType {
....
//spot at which the error occurs
setInterval(() => {
this.cdr.detectChanges();
}, 10);
....
}
答案 0 :(得分:0)
您需要等待 Autodesk.Viewing.OBJECT_TREE_CREATED_EVENT 事件,以确保 instanceTree 可用于你加载的模型:
viewer.addEventListener(Autodesk.Viewing.OBJECT_TREE_CREATED_EVENT, function () {
var model = this.viewer.model;
var modelData = model.getData();
var it = modelData.instanceTree;
console.log(it)
})
在某些情况下,如果您打算访问组件的几何图形,则可能还需要等待 Autodesk.Viewing.GEOMETRY_LOADED_EVENT 事件。以下是可能相关的文章:Asynchronous viewer events notification