无法从 autodesk-forge 查看器面板中删除默认按钮 (Autodesk.Viewing.Private.GuiViewer3D)
Posted
技术标签:
【中文标题】无法从 autodesk-forge 查看器面板中删除默认按钮 (Autodesk.Viewing.Private.GuiViewer3D)【英文标题】:Cannot remove default buttons from autodesk-forge viewer panel (Autodesk.Viewing.Private.GuiViewer3D) 【发布时间】:2020-09-25 04:52:11 【问题描述】:我想删除度量、文本格式和属性按钮。见图片。 我只能删除“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
这是我的代码。
【问题讨论】:
【参考方案1】:谢谢梁晓东。这样可行。我可以使用以下代码删除度量和属性图标:
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();
谢谢。
【讨论】:
【参考方案2】:加载相应的扩展,例如测量('Autodesk.Measure')时会初始化一些工具栏。如果您仍然需要在工作流程中使用这些功能,但只需将按钮放在自己的工具栏上,或者没有按钮,则需要检查相应的扩展是否支持仅删除按钮。例如在'Autodesk.Measure'扩展中,它具有measurementToolbarButton.removeFromParent方法,通过该方法,默认按钮将被删除,而测量功能仍然存在。代码可能是:
ext = NOP_VIEWER.getExtension('Autodesk.Measure')
ext.measurementToolbarButton.removeFromParent()
当您需要通过自己的按钮切换到测量模式时,调用下面的方法:
NOP_VIEWER.setActiveNavigationTool('measure')
如果您根本不需要这些功能,只需卸载扩展程序即可。默认按钮也将被删除。
【讨论】:
有什么办法可以去掉“选择文本”(T)图标吗?以上是关于无法从 autodesk-forge 查看器面板中删除默认按钮 (Autodesk.Viewing.Private.GuiViewer3D)的主要内容,如果未能解决你的问题,请参考以下文章
隐藏除选定 Autodesk-Forge 查看器之外的所有查看器
Autodesk-forge 我们可以在查看器上打开 PDF 文件吗[关闭]