autodesk-forge - 无法从 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.Measure')。如果您仍然需要在工作流程中使用这些功能,但只需将按钮放到自己的工具栏上,或者没有按钮,则需要检查相应的扩展是否支持仅删除按钮。例如,在“Autodesk.Measure”扩展中,它具有方法measureToolbarButton.removeFromParent,通过该方法,默认按钮将被删除,而测量功能仍然存在。代码可以是:
ext = NOP_VIEWER.getExtension('Autodesk.Measure')
ext.measurementToolbarButton.removeFromParent()
当您需要通过自己的按钮切换到测量模式时,调用以下方法:
NOP_VIEWER.setActiveNavigationTool('measure')
如果您根本不需要这些功能,只需卸载扩展程序。默认按钮也将被删除。
推荐阅读
- angularjs - 角度 js 向 ngDialog 显示获取的数据
- vba - 无法更新会议请求中的电子邮件正文
- react-native - 如何使用反应原生共享 api 共享图像
- css - 如何将元素放在悬停 CSS 上?
- javascript - 将下拉值传递给静态方法后面的代码
- angular - How to make input readonly, but still allow some keys to work
- javascript - 剑道网格导出到 Excel 下拉列表值而不是导出文件中的文本
- asp.net - 在 .NET 上使用 https 上传多个图像的问题
- postgresql - docker-compose - Spring boot 不会连接到 postgres,除非 network_mode: host
- java - 静态资源的编码问题