Autodesk Forge如何关闭模型树已展开的节点?

Autodesk Forge如何关闭模型树已展开的节点?

阅读 3.2k
2 个回答

如果节点已经选中,可以如下实现关闭展开:

let ms = viewer.modelstructure 
        for(let i in ms.selectedNodes)
        {
            console.log(ms.selectedNodes[i]);
            ms.selectedNodes[i].forEach(
                k=>ms.tree.setCollapsed(ms.tree.delegates[0],k,true)
                )
        }

冬哥说的是选中的情况,不过当我们选中构件又点击空白后这样的话模型树还是打开的,但是没有选中的构件。所以针对这种情况结合冬哥的代码做了一些改进。

第一步:获取所有除去第一级的父节点(因为1是第一级根节点,因为7.0之前使用包含1的数组操作会空白模型树~)

第二步:获取到的数组我们理解成ms.selectedNodes就行了。。剩下的就是循环了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进