diff --git a/src/Core/PathInputMonitor.cs b/src/Core/PathInputMonitor.cs index 6f376c7..57a5525 100644 --- a/src/Core/PathInputMonitor.cs +++ b/src/Core/PathInputMonitor.cs @@ -43,17 +43,17 @@ namespace NavisworksTransport if (key == 32) // 空格键 { var pathManager = PathPlanningManager.GetActivePathManager(); - if (pathManager != null && - (pathManager.PathEditState == PathEditState.Creating || - pathManager.PathEditState == PathEditState.AddingPoints || - pathManager.PathEditState == PathEditState.EditingPoint)) + if (pathManager != null) { var currentTool = Application.MainDocument.Tool.Value; if (currentTool != Tool.CustomToolPlugin) { - LogManager.Info($"[InputMonitor] 用户按空格键,当前工具为{currentTool},重新激活工具"); - pathManager.ReactivateToolPlugin(); - return true; + LogManager.Info($"[InputMonitor] 用户按空格键,当前工具为{currentTool},强制恢复ToolPlugin焦点"); + bool restored = pathManager.ForceReinitializeToolPlugin(subscribeToEvents: false); + if (restored) + { + return true; + } } } } @@ -67,4 +67,4 @@ namespace NavisworksTransport } } } -} \ No newline at end of file +}