无法从autodesk-forge查看器面板(Autodesk.Viewing.Private.GuiViewer3D)中删除默认按钮

问题描述 投票:0回答:2

我想删除度量,文本格式和属性按钮。见图片。我只能删除“ toolbar-settingsTool”,但不能删除以上三个按钮。

   onExtensionLoaded = (e) => {

    if (e.extensionId === 'Autodesk.DefaultTools.NavTools') {

        // Remove settings tools
        const settingsTools = viewer.toolbar.getControl('settingsTools');
        settingsTools.removeControl('toolbar-settingsTool');
        //settingsTools.removeControl('toolbar-fullscreenTool');

        // Remove settings tools
        const navTools = viewer.toolbar.getControl('navTools');
        navTools.removeControl('toolbar-propertiesTool');            

        // Remove model tools
        const modelTools = viewer.toolbar.getControl('modelTools');
        modelTools.removeControl('toolbar-modelStructureTool');
    }
}

viewer.addEventListener( Autodesk.Viewing.EXTENSION_LOADED_EVENT, this.onExtensionLoaded);

您能帮我吗?谢谢。

viewer

这是我的代码。

autodesk-forge viewer forge
2个回答
0
投票

某些工具栏在加载相应的扩展名(例如测量值('Autodesk.Measure')时被初始化。如果您仍需要在工作流中使用这些功能,而只需要将按钮放到自己的工具栏上,或者不需要按钮,则需要检查相应的扩展名(如果它仅支持删除按钮)。例如在'Autodesk.Measure'扩展名中,它具有方法measurementToolbarButton.removeFromParent,通过该方法,将删除默认按钮,而测量功能仍然存在。代码可以是:

ext = NOP_VIEWER.getExtension('Autodesk.Measure')
ext.measurementToolbarButton.removeFromParent()

当您需要通过自己的按钮切换到测量模式时,请调用以下方法:

 NOP_VIEWER.setActiveNavigationTool('measure')

如果根本不需要功能,只需卸载扩展程序。默认按钮也将被删除。


0
投票

谢谢小东亮。那个有效。我可以使用以下代码删除度量和属性图标:

onExtensionLoaded = (e) => {

        // Remove "Settings" icon
        if (e.extensionId === 'Autodesk.DefaultTools.NavTools') {

            // Remove settings tools
            const settingsTools = viewer.toolbar.getControl('settingsTools');
            settingsTools.removeControl('toolbar-settingsTool');
            //settingsTools.removeControl('toolbar-fullscreenTool');

        }
        // Remove measurement icon
        else if (e.extensionId === 'Autodesk.Measure') {

            var ext = viewer.getExtension('Autodesk.Measure');
            ext.measurementToolbarButton.removeFromParent();
        }
        // Remove "Text" icon
        else if (e.extensionId === 'Autodesk.Hyperlink') {

            var ext = viewer.getExtension('Autodesk.Hyperlink');
            ext.tool.removeFromParent();
        }
        // Remove properties icon
        else if (e.extensionId === 'Autodesk.PropertiesManager') {

            var ext = viewer.getExtension('Autodesk.PropertiesManager');
            ext._toolbarButton.removeFromParent();
        }
    }

是否可以删除“选择文本”(T)图标?以下代码不起作用:

var ext = viewer.getExtension('Autodesk.Hyperlink');
                ext.tool.removeFromParent();

谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.