为什么方法enumNodeFragments未定义?

时间:2019-03-24 13:13:49

标签: javascript autodesk-forge

我正在一个项目中加载两个模型。加载了在同一查看器中打开的两个模型。目前,我正在寻找一种建立透明度或隐藏元素的方法。 出于某种原因,尽管我传递了两个模型的dbId元素,但是hide和isolate方法只能在一个模型上使用。 建议我使用enumNodeFragments方法,但就我而言,它始终是未定义的,因此根本不存在。我尝试了很多选择,因此这种方法已经出现,但徒劳无功。 我想寻求有关如何找到这种方法的建议。 顺便说一句,对我来说,最重要的是找到一种隐藏两个模型元素的方法。

1 个答案:

答案 0 :(得分:1)

就像我们在其他线程中讨论的那样,该方法仅在加载模型的几何数据之后才可用-查看器需要在公开该方法之前告诉模型是否适合节点片段枚举:

viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT,()=> viewer.model.getData().instanceTree.enumNodeFragments(dbid, fragId => console.log(fragId)))

查看实时代码here