在 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);
}
我想隐藏模型中的特定节点集(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);
}