Как изменить имена объектов в Forge Viewer? - PullRequest
0 голосов
/ 06 декабря 2018

Как я могу изменить имена объектов и родительских узлов в Forge Viewer?

В версии 6.1 и ниже было сообщение в блоге, которое сработало: изменив класс ModelStructureTreeDelegate, перезагрузив его как расширение,эффективно переопределяя это.Это не работает в 6.2 и более поздних версиях (в настоящее время это 6.3.3), потому что теперь этот класс больше не доступен или иным образом не работает.

Я обнаружил, что, благодаря доступу к InstanceTreeStorage.Метод prototype.processName, я мог бы изменить имя объектов в дереве, но этот класс не доступен извне.Кажется, он используется только во время загрузки модели.

Я не нашел другого класса, который бы менял имя, или какой-либо другой функции, позволяющей мне это сделать.

Кто-нибудь делал что-то подобное с большинствомпоследняя версия Viewer?

1 Ответ

0 голосов
/ 07 декабря 2018

Вы можете создать собственную панель структуры модели, наследуя класс Autodesk.Viewing.Extensions.ViewerModelStructurePanel, переопределяя метод getNodeLabel и устанавливая экземпляр класса в качестве пользовательского интерфейса структуры модели для средства просмотра:

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));
...