给Clashdetective检测增加等待光标;更新数据库保存逻辑使用去重后的碰撞结果;调整碰撞报告导出对话框的文件类型顺序;修改动画控制视图中操作列的宽度

This commit is contained in:
tian 2026-01-23 17:27:46 +08:00
parent 6f5afdd50b
commit 4c34340fdb
4 changed files with 31 additions and 18 deletions

View File

@ -1391,19 +1391,32 @@ namespace NavisworksTransport.Core.Animation
if (_allCollisionResults.Count > 0)
{
LogManager.Info($"此动画配置首次完成,开始创建碰撞测试汇总(基于 {_allCollisionResults.Count} 个预计算碰撞记录)...");
ClashDetectiveIntegration.Instance.CreateAllAnimationCollisionTests(
_allCollisionResults,
_detectionGap,
_pathName,
_currentRouteId,
_animatedObject,
_isVirtualVehicle,
_animationFrameRate,
_animationDuration,
_virtualVehicleLength,
_virtualVehicleWidth,
_virtualVehicleHeight
);
// 🔥 设置等待光标,避免进度条关闭后的无响应
var oldCursor = System.Windows.Input.Mouse.OverrideCursor;
System.Windows.Input.Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait;
try
{
ClashDetectiveIntegration.Instance.CreateAllAnimationCollisionTests(
_allCollisionResults,
_detectionGap,
_pathName,
_currentRouteId,
_animatedObject,
_isVirtualVehicle,
_animationFrameRate,
_animationDuration,
_virtualVehicleLength,
_virtualVehicleWidth,
_virtualVehicleHeight
);
}
finally
{
// 恢复光标
System.Windows.Input.Mouse.OverrideCursor = oldCursor;
}
}
else
{

View File

@ -818,8 +818,8 @@ namespace NavisworksTransport
// 更新碰撞计数器
_clashDetectiveCollisionCount = clashResults.Count;
// 保存到数据库
SaveClashDetectiveResultToDatabase(pathName, routeId, clashResults, frameRate, duration, detectionGap, animatedObject, isVirtualVehicle,
// 保存到数据库(使用去重后的结果)
SaveClashDetectiveResultToDatabase(pathName, routeId, finalClashResults, frameRate, duration, detectionGap, animatedObject, isVirtualVehicle,
virtualVehicleLength, virtualVehicleWidth, virtualVehicleHeight);
// 第四步:将分组添加到主测试

View File

@ -614,8 +614,8 @@ namespace NavisworksTransport.UI.WPF.ViewModels
var saveFileDialog = new SaveFileDialog
{
Title = "导出碰撞报告",
Filter = "碰撞报告 (*.txt)|*.txt|HTML报告 (*.html)|*.html|所有文件 (*.*)|*.*",
DefaultExt = "txt",
Filter = "HTML报告 (*.html)|*.html|碰撞报告 (*.txt)|*.txt|所有文件 (*.*)|*.*",
DefaultExt = "html",
FileName = $"NavisworksTransport_CollisionReport_{DateTime.Now:yyyyMMdd_HHmmss}"
};

View File

@ -204,7 +204,7 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="操作" Width="60">
<GridViewColumn Header="操作" Width="80">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Content="移除"