【问题标题】:How to change object names in Forge Viewer?如何在 Forge Viewer 中更改对象名称?
【发布时间】:2019-05-08 05:36:25
【问题描述】:

如何在 Forge Viewer 中更改对象和父节点的名称?

在 6.1 及以下版本中,有一篇博客文章有效:通过更改 ModelStructureTreeDelegate 类,将其作为扩展重新加载,有效地覆盖它。这在 6.2 及更高版本(当前为 6.3.3)上不起作用,因为现在该类不再可访问,或者无法正常工作。

我发现,通过访问 InstanceTreeStorage.prototype.processName 方法,我可以更改树中对象的名称,但该类在外部不可用。它似乎只在模型加载期间使用。

我没有发现其他可以更改名称的类,或任何其他可以让我这样做的函数。

有人用最新版本的查看器做过类似的事情吗?

【问题讨论】:

    标签: autodesk-forge autodesk-viewer autodesk


    【解决方案1】:

    您可以通过从Autodesk.Viewing.Extensions.ViewerModelStructurePanel 类派生、覆盖getNodeLabel 方法并将该类的实例设置为查看器的模型结构UI 来创建自己的模型结构面板:

    class CustomModelStructurePanel extends Autodesk.Viewing.Extensions.ViewerModelStructurePanel {
        constructor(viewer, title, options) {
            super(viewer, title, options);
        }
    
        getNodeLabel(node) {
            return 'custom node name';
        }
    }
    
    viewer.setModelStructurePanel(new CustomModelStructurePanel(viewer, 'Custom Model Structure', options));
    

    【讨论】:

    • 谢谢!我最终覆盖了 ModelStructureTreeDelegate 的 getTreeNodeLabel 函数,这是通过覆盖 ModelStructurePanel 的 setInstanceTree 函数得到的。虽然有点混乱,所以我稍后会切换到您的解决方案。
    猜你喜欢
    • 2021-04-26
    • 2019-11-01
    • 1970-01-01
    • 2022-10-05
    • 2021-02-11
    • 2021-07-05
    • 2020-08-06
    • 2021-01-04
    • 2020-01-18
    相关资源
    最近更新 更多