如何在卸载Autodesk.VisualClusters扩展前先执行停用操作
正确卸载Autodesk.VisualClusters扩展方案
你调用setActive()未生效是因为该方法需要传入布尔值参数控制激活状态,未传参时不会执行停用逻辑,同时直接卸载不会自动清理扩展生成的聚类渲染节点,按以下顺序操作即可消除残留:
- 先获取扩展实例,传入
false调用setActive方法停用聚类功能 - 调用扩展自带的
clear()方法清空所有聚类相关的渲染资源 - 最后执行卸载操作
完整示例代码如下:
// 先校验扩展是否已加载,避免调用报错 if (props.viewer.getExtension("Autodesk.VisualClusters")) { const clusterExt = props.viewer.getExtension("Autodesk.VisualClusters"); // 停用扩展激活状态,清除当前交互逻辑 clusterExt.setActive(false); // 清空已生成的所有聚类标记、高亮等渲染节点 clusterExt.clear(); // 执行卸载 const unloadval = props.viewer.unloadExtension("Autodesk.VisualClusters"); // 可选:确认卸载结果,返回true代表卸载成功 console.log("扩展卸载状态:", unloadval); }
如果仍有选中高亮类残留,可在卸载后追加一行props.viewer.clearSelection()清空查看器全局选中状态。
内容的提问来源于stack exchange,提问作者T.K
相关产品推荐
相关产品推荐

