如何覆盖 Autodesk 内置查看器扩展
how to override Autodesk built-in viewer extension
例如,我在 ForgeViewer.js 中添加了 Autodesk 内置扩展,如下所示:
viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer'), { extensions: ['Autodesk.VisualClusters'] });
在运行之后,默认工具提示会显示“按类别形成集群”,如何覆盖它说“形成集群”?
不幸的是,工具提示在扩展代码中被硬编码为文字字符串,因此无法将新字符串作为参数传递。但是,您可以使用以下代码覆盖工具提示。
const ext = myViewer.getExtension('Autodesk.VisualClusters');
ext.clusterButton.setToolTip('my tooltip');
如果您想在查看器初始化期间执行此操作,您可以使用 'EXTENSION_LOADED_EVENT' 事件并等待创建按钮:
myViewer.addEventListener(Autodesk.Viewing.EXTENSION_LOADED_EVENT,
(event) => {
const ext = myViewer.getExtension('Autodesk.VisualClusters');
if ( ext )
setTimeout(() => { ext.clusterButton.setToolTip('my tooltip'); }, 500);
});
或使用事件对象
myViewer.addEventListener(Autodesk.Viewing.EXTENSION_LOADED_EVENT,
(event) => {
if ( event.extensionId === 'Autodesk.VisualClusters' )
setTimeout(() => {
event.target.getExtension(event.extensionId).clusterButton.setToolTip('my tooltip');
}, 500);
});
例如,我在 ForgeViewer.js 中添加了 Autodesk 内置扩展,如下所示:
viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer'), { extensions: ['Autodesk.VisualClusters'] });
在运行之后,默认工具提示会显示“按类别形成集群”,如何覆盖它说“形成集群”?
不幸的是,工具提示在扩展代码中被硬编码为文字字符串,因此无法将新字符串作为参数传递。但是,您可以使用以下代码覆盖工具提示。
const ext = myViewer.getExtension('Autodesk.VisualClusters');
ext.clusterButton.setToolTip('my tooltip');
如果您想在查看器初始化期间执行此操作,您可以使用 'EXTENSION_LOADED_EVENT' 事件并等待创建按钮:
myViewer.addEventListener(Autodesk.Viewing.EXTENSION_LOADED_EVENT,
(event) => {
const ext = myViewer.getExtension('Autodesk.VisualClusters');
if ( ext )
setTimeout(() => { ext.clusterButton.setToolTip('my tooltip'); }, 500);
});
或使用事件对象
myViewer.addEventListener(Autodesk.Viewing.EXTENSION_LOADED_EVENT,
(event) => {
if ( event.extensionId === 'Autodesk.VisualClusters' )
setTimeout(() => {
event.target.getExtension(event.extensionId).clusterButton.setToolTip('my tooltip');
}, 500);
});