From fac4d3e2e3e705cffb6ff820c9e4348649ddb33d Mon Sep 17 00:00:00 2001 From: tian <11429339@qq.com> Date: Tue, 17 Feb 2026 10:44:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=88=AA=E5=9B=BE=E4=B9=8B?= =?UTF-8?q?=E9=97=B4=E8=AE=BE=E7=BD=AE=E7=9A=84=E7=AD=89=E5=BE=85=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Commands/GenerateCollisionReportCommand.cs | 8 +++----- src/UI/WPF/ViewModels/CollisionReportViewModel.cs | 2 +- src/Utils/CollisionSceneHelper.cs | 8 +------- src/Utils/ViewpointHelper.cs | 14 -------------- 4 files changed, 5 insertions(+), 27 deletions(-) diff --git a/src/Commands/GenerateCollisionReportCommand.cs b/src/Commands/GenerateCollisionReportCommand.cs index d7a8c3b..a36cfcf 100644 --- a/src/Commands/GenerateCollisionReportCommand.cs +++ b/src/Commands/GenerateCollisionReportCommand.cs @@ -267,9 +267,7 @@ namespace NavisworksTransport.Commands ViewpointHelper.AdjustViewpointSmart(pathRoute, collisionData.AllCollisions); - // 等待视图更新 - ViewpointHelper.WaitForViewUpdate(); - LogManager.Info("视角调整完成,已等待视图更新"); + LogManager.Info("视角调整完成"); } catch (Exception ex) { @@ -434,7 +432,7 @@ namespace NavisworksTransport.Commands try { // 使用通用方法移动物体到碰撞位置并聚焦 - CollisionSceneHelper.MoveToCollisionAndFocus(collision, animatedObject, waitForViewUpdate: true); + CollisionSceneHelper.MoveToCollisionAndFocus(collision, animatedObject); // 生成截图 string screenshotPath = PathHelper.GenerateSceneScreenshotToDirectory( @@ -469,7 +467,7 @@ namespace NavisworksTransport.Commands successCount++; } - Thread.Sleep(50); // 短暂延迟 + // 截图后立即处理下一张,无需额外延迟 } catch (Exception ex) { diff --git a/src/UI/WPF/ViewModels/CollisionReportViewModel.cs b/src/UI/WPF/ViewModels/CollisionReportViewModel.cs index 84b171b..22617d4 100644 --- a/src/UI/WPF/ViewModels/CollisionReportViewModel.cs +++ b/src/UI/WPF/ViewModels/CollisionReportViewModel.cs @@ -1255,7 +1255,7 @@ namespace NavisworksTransport.UI.WPF.ViewModels } // 使用通用方法移动并聚焦到碰撞位置 - CollisionSceneHelper.MoveToCollisionAndFocus(collisionData, _currentAnimatedObject, waitForViewUpdate: false); + CollisionSceneHelper.MoveToCollisionAndFocus(collisionData, _currentAnimatedObject); } catch (Exception ex) { diff --git a/src/Utils/CollisionSceneHelper.cs b/src/Utils/CollisionSceneHelper.cs index 1178eaa..bb9bd31 100644 --- a/src/Utils/CollisionSceneHelper.cs +++ b/src/Utils/CollisionSceneHelper.cs @@ -16,8 +16,7 @@ namespace NavisworksTransport.Utils /// /// 碰撞结果 /// 动画物体(运动物体) - /// 是否等待视图更新 - public static void MoveToCollisionAndFocus(CollisionResult collision, ModelItem animatedObject, bool waitForViewUpdate = true) + public static void MoveToCollisionAndFocus(CollisionResult collision, ModelItem animatedObject) { if (collision == null) return; @@ -60,11 +59,6 @@ namespace NavisworksTransport.Utils collision.Item1YawRadians * 180 / Math.PI)); } - // 等待视图更新 - if (waitForViewUpdate) - { - ViewpointHelper.WaitForViewUpdate(); - } } catch (Exception ex) { diff --git a/src/Utils/ViewpointHelper.cs b/src/Utils/ViewpointHelper.cs index d0a0976..8a96912 100644 --- a/src/Utils/ViewpointHelper.cs +++ b/src/Utils/ViewpointHelper.cs @@ -11,12 +11,6 @@ namespace NavisworksTransport.Utils /// public static class ViewpointHelper { - /// - /// 视图更新等待时间(毫秒) - /// 确保视角调整后视图更新完成 - /// - private const int VIEW_UPDATE_DELAY_MS = 100; - /// /// 包围盒扩展系数(用于 ZoomBox 调整视野范围) /// @@ -253,14 +247,6 @@ namespace NavisworksTransport.Utils } } - /// - /// 等待视图更新完成 - /// - public static void WaitForViewUpdate() - { - System.Threading.Thread.Sleep(VIEW_UPDATE_DELAY_MS); - } - #region 通用视角设置方法 ///