如何在Autodesk Viewer加载模型时设置默认工具为Pan
Autodesk Viewer 7.95:替换默认Orbit工具为Pan工具
直接调用viewer.toolController.activateTool("pan")报错的核心原因是Viewer的工具控制器(toolController)尚未完成初始化——Viewer加载过程中,相关组件需要逐步就绪,过早执行工具切换会导致找不到目标对象。
正确实现方案
需要等待Viewer或模型加载到合适阶段,通过监听对应的生命周期事件来触发工具切换:
方式1:等待模型几何加载完成(推荐)
当模型的几何数据加载完毕后,工具控制器已完全可用,此时切换最稳妥:
// 添加事件监听,模型几何加载完成后触发 viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, () => { viewer.toolController.deactivateTool('orbit'); // 先禁用默认的Orbit工具 viewer.toolController.activateTool('pan'); // 激活Pan工具 });
方式2:等待Viewer初始化完成
如果不需要依赖模型加载,仅Viewer自身初始化完成就切换工具,可监听VIEWER_READY事件:
viewer.addEventListener(Autodesk.Viewing.VIEWER_READY, () => { viewer.toolController.deactivateTool('orbit'); viewer.toolController.activateTool('pan'); });
关键提示
- 务必确保在Viewer实例创建完成后再添加事件监听,不要在Viewer初始化代码执行前绑定事件。
- 部分场景下,先显式禁用默认的Orbit工具可以避免工具状态冲突,确保Pan工具正常激活。
内容的提问来源于stack exchange,提问作者Gustavo da Costa e Silva
相关产品推荐
相关产品推荐

