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

时间:2018-12-06 13:46:14

标签: autodesk-forge autodesk-viewer autodesk

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

在6.1版及更低版本中,有一篇博客文章起作用了:通过更改ModelStructureTreeDelegate类,将其重新加载为扩展,有效地覆盖了它。在6.2及更高版本(当前为6.3.3)上,该功能不起作用,因为现在该类不再可用,否则将无法使用。

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

我没有发现其他可以更改名称的类,也没有其他可以更改名称的函数。

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

1 个答案:

答案 0 :(得分:0)

您可以通过继承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));