簡體   English   中英

無法從 autodesk-forge 查看器面板中刪除默認按鈕 (Autodesk.Viewing.Private.GuiViewer3D)

[英]Cannot remove default buttons from autodesk-forge viewer panel (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.Measure')。 如果您仍然需要在工作流中使用這些功能,但只需將按鈕放到自己的工具欄上,或者沒有按鈕,則需要檢查相應的擴展是否支持僅刪除按鈕。 例如,在“Autodesk.Measure”擴展中,它具有方法measureToolbarButton.removeFromParent ,通過該方法,默認按鈕將被刪除,而測量功能仍然存在。 代碼可以是:

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

當您需要通過自己的按鈕切換到測量模式時,調用以下方法:

 NOP_VIEWER.setActiveNavigationTool('measure')

如果您根本不需要這些功能,只需卸載擴展程序。 默認按鈕也將被刪除。

謝謝梁曉東。 這樣可行。 我能夠使用以下代碼刪除度量和屬性圖標:

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

謝謝你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM