如何在 Forge Viewer 中更改对象名称?

How to change object names in Forge Viewer?

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

在 6.1 及以下版本中,有一个博客 post 有效:通过更改 ModelStructureTreeDelegate class,将其作为扩展重新加载,有效地覆盖它。这在 6.2 及更高版本(当前为 6.3.3)上不起作用,因为现在 class 不再可访问,否则不起作用。

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

我发现没有其他 class 可以更改名称,也没有任何其他功能可以让我这样做。

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

您可以创建自己的模型结构面板,方法是从 Autodesk.Viewing.Extensions.ViewerModelStructurePanel class 派生,覆盖 getNodeLabel 方法,并将 class 的实例设置为查看器的模型结构 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));