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

Autodesk forge 获取DWFX文件的未定义实例树,autodesk-forge,Autodesk Forge,我们正在尝试获取DWFX文件的所有节点元素,但正在获取DWFX文件的未定义实例树。我们使用下面的代码来获取每个元素id // Try to get instance tree for DWFX file var model = this.viewer.model; var modelData = model.getData(); var it = modelData.instanceTree; // get instance tree We have use

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

// Try to get instance tree for DWFX file
    var model = this.viewer.model;
    var modelData = model.getData();
    var it = modelData.instanceTree;  // get instance tree


    We have used another way to get element node id for DWFX file. (In that case, we are getting only panel label id for DWFX file) But that logic is not working for all DWFX files.

// Try to get all ids for DWFX file
    var model = this.viewer.model;
    var modelData = model.getData();
    var allIds = modelData.stringDbIds;  // get all ids 


    Please us know If I am using wrong approach to get all elements for DWFX file.

您需要等待Autodesk。查看.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\u LOADED\u事件。以下是一篇可能相关的文章: