在 3D 模型中隐藏节点 - forgeviewer

hide nodes in a 3D model - forgeviewer

我想隐藏模型中的特定节点集(dbId 数组)。

我尝试使用 this 示例,但它隐藏了所有节点。

完成这项工作的最佳方法是什么。

查看器版本 - 6.*

提前致谢。

链接文章中解释的方法使用内部实现 (viewer.impl),因此我们不能保证它在较新版本的查看器中可用。一种更简洁的方法是使用官方 hide 方法简单地隐藏元素,然后禁用“Ghost hidden objects”查看器选项:

如果您仍然需要完全禁用场景中的某个元素,请尝试以下方法:

function disableElement(viewer, model, dbid) {
    const frags = model.getFragmentList();
    const tree = model.getInstanceTree();
    tree.enumNodeFragments(dbid, function (fragid) {
        frags.setFragOff(fragid, true);
    });
    viewer.invalidate(true, true, true);
}