获取DWFX文件的未定义实例树

时间:2018-05-02 12:42:27

标签: autodesk-forge

我们正在尝试获取DWFX文件的所有节点元素,但我们正在为DWFX文件获取未定义的实例树。我们使用下面的代码来获取每个元素id。

yourMethod(param):returnType {
    ....
    //spot at which the error occurs
    setInterval(() => {
      this.cdr.detectChanges();
     }, 10);
    ....
}

1 个答案:

答案 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