首页 > 解决方案 > 无法从 autodesk-forge 查看器面板中删除默认按钮 (Autodesk.Viewing.Private.GuiViewer3D)

问题描述

我想删除度量、文本格式和属性按钮。见图片。我只能删除“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);

你能帮我么?谢谢你。

观众

这是我的代码。

标签: autodesk-forgeviewerforge

解决方案


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

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

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

 NOP_VIEWER.setActiveNavigationTool('measure')

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


推荐阅读