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 通用视角设置方法
///