[英]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.