【问题标题】:Hiding level in viewer Autodesk Forge在查看器 Autodesk Forge 中隐藏级别
【发布时间】:2021-06-25 06:39:06
【问题描述】:

在我将 file.rvt 上传到存储桶并将 API 调用到 Web 应用程序之后。 无论如何要编码查看器中的隐藏级别吗? 提前致谢!

【问题讨论】:

  • 您可以搜索与 Level 的 displayName 匹配的所有类别,并从那里使用这些元素的 viewer.hide(ids)。你试过吗?

标签: autodesk-forge autodesk-viewer


【解决方案1】:

首先,您必须从模型中收集所有元素:

const instanceTree = model.getData().instanceTree;
const rootId = instanceTree.getRootId();

function getAllDbIds(rootId, instanceTree) {
var alldbId = [];
if (!rootId) {
    return alldbId;
}
var queue = [];
queue.push(rootId);
while (queue.length > 0) {
    var node = queue.shift();
    alldbId.push(node);
    instanceTree.enumNodeChildren(
        node,
        function (childrenIds) {
            queue.push(childrenIds);
        }
    );
}

return alldbId;
};

第二个——获取所有名为“Level”的元素

const levelId = allIds.filter((x) => instanceTree.getNodeName(x).includes("Level"))

第三步 - 在查看器中按 Id 删除元素:

viewer.impl.visibilityManager.setNodeOff(levelId, true)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-27
    • 2017-05-06
    • 2021-11-12
    • 1970-01-01
    • 2020-10-14
    • 2021-09-19
    • 2019-04-07
    • 2021-03-09
    相关资源
    最近更新 更多