refactor: 大模型评估改为自动加入批处理(对话框仅通知)
用户反馈:超过阈值用户必然选择'是'——去掉选择框, 自动加入批处理 + 通知弹窗。 改动: - 大模型评估命中 → 自动 ExecuteAddToBatchQueue(跳过排除列表确认 弹窗——用户意图已明确;ExecuteAddToBatchQueue 加可选参数 skipExcludedListConfirmation) - 通知弹窗:说明已自动加入 + 阈值可调,请到批处理页签启动 - AddToBatchQueueCommand 绑定改 lambda(方法签名变化) 验证:集成测试 25/25
This commit is contained in:
parent
3884d05717
commit
2294146146
@ -1301,7 +1301,7 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
|||||||
ClearAnimatedObjectCommand = new RelayCommand(ExecuteClearAnimatedObject, () => HasSelectedAnimatedObject);
|
ClearAnimatedObjectCommand = new RelayCommand(ExecuteClearAnimatedObject, () => HasSelectedAnimatedObject);
|
||||||
EditObjectRotationCommand = new RelayCommand(ExecuteEditObjectRotation, () => HasSelectedAnimatedObject);
|
EditObjectRotationCommand = new RelayCommand(ExecuteEditObjectRotation, () => HasSelectedAnimatedObject);
|
||||||
GenerateAnimationCommand = new RelayCommand(ExecuteGenerateAnimation, () => CanGenerateAnimation);
|
GenerateAnimationCommand = new RelayCommand(ExecuteGenerateAnimation, () => CanGenerateAnimation);
|
||||||
AddToBatchQueueCommand = new RelayCommand(ExecuteAddToBatchQueue, () => CanGenerateAnimation);
|
AddToBatchQueueCommand = new RelayCommand(() => ExecuteAddToBatchQueue(), () => CanGenerateAnimation);
|
||||||
ApplyManualTargetsFromSelectionCommand = new RelayCommand(ExecuteApplyManualTargetsFromSelection);
|
ApplyManualTargetsFromSelectionCommand = new RelayCommand(ExecuteApplyManualTargetsFromSelection);
|
||||||
ClearManualTargetsCommand = new RelayCommand(ExecuteClearManualTargets, () => HasManualCollisionTargets);
|
ClearManualTargetsCommand = new RelayCommand(ExecuteClearManualTargets, () => HasManualCollisionTargets);
|
||||||
RemoveManualTargetCommand = new RelayCommand<ManualCollisionTargetViewModel>(ExecuteRemoveManualTarget, target => target != null);
|
RemoveManualTargetCommand = new RelayCommand<ManualCollisionTargetViewModel>(ExecuteRemoveManualTarget, target => target != null);
|
||||||
@ -4880,30 +4880,20 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
|||||||
double largeModelThresholdMb = ConfigManager.Instance.Current?.Batch?.LargeModelFileSizeMb ?? 50.0;
|
double largeModelThresholdMb = ConfigManager.Instance.Current?.Batch?.LargeModelFileSizeMb ?? 50.0;
|
||||||
if (modelFileSizeMb >= largeModelThresholdMb)
|
if (modelFileSizeMb >= largeModelThresholdMb)
|
||||||
{
|
{
|
||||||
LogManager.Info($"[大模型评估] 模型 {modelFileSizeMb:F0} MB >= 阈值 {largeModelThresholdMb:F0} MB,引导使用批处理");
|
LogManager.Info($"[大模型评估] 模型 {modelFileSizeMb:F0} MB >= 阈值 {largeModelThresholdMb:F0} MB,自动加入批处理");
|
||||||
var confirm = System.Windows.MessageBox.Show(
|
|
||||||
$"检测到大型模型({modelFileSizeMb:F0} MB)。非手工指定模式的全模型碰撞检测预计耗时很长。\n\n" +
|
|
||||||
$"• 是:加入批处理队列(推荐——使用剖面盒副实例检测,显著加速,检测结果完整落库)\n" +
|
|
||||||
$"• 否:继续在当前进程检测(耗时可能很长)\n\n" +
|
|
||||||
$"(阈值可在 config.toml [batch] large_model_file_size_mb 调整,当前 {largeModelThresholdMb:F0} MB)",
|
|
||||||
"大型模型检测建议",
|
|
||||||
System.Windows.MessageBoxButton.YesNo,
|
|
||||||
System.Windows.MessageBoxImage.Warning);
|
|
||||||
|
|
||||||
if (confirm == System.Windows.MessageBoxResult.Yes)
|
|
||||||
{
|
|
||||||
Mouse.OverrideCursor = oldCursor;
|
Mouse.OverrideCursor = oldCursor;
|
||||||
ExecuteAddToBatchQueue();
|
ExecuteAddToBatchQueue(skipExcludedListConfirmation: true);
|
||||||
System.Windows.MessageBox.Show(
|
System.Windows.MessageBox.Show(
|
||||||
"已将当前配置加入批处理队列,请到批处理页签启动执行。",
|
$"检测到大型模型({modelFileSizeMb:F0} MB,阈值 {largeModelThresholdMb:F0} MB)。\n" +
|
||||||
"已加入批处理",
|
$"非手工指定模式的全模型碰撞检测耗时较长——已自动将当前配置加入批处理队列\n" +
|
||||||
|
$"(使用剖面盒副实例检测,显著加速)。\n\n" +
|
||||||
|
$"请到批处理页签启动执行。\n\n" +
|
||||||
|
$"(阈值可在 config.toml [batch] large_model_file_size_mb 调整)",
|
||||||
|
"已加入批处理(大模型自动引导)",
|
||||||
System.Windows.MessageBoxButton.OK,
|
System.Windows.MessageBoxButton.OK,
|
||||||
System.Windows.MessageBoxImage.Information);
|
System.Windows.MessageBoxImage.Information);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
LogManager.Info("[大模型评估] 用户选择继续在当前进程检测");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置等待光标
|
// 设置等待光标
|
||||||
@ -6079,7 +6069,7 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 添加到批处理队列
|
/// 添加到批处理队列
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private async void ExecuteAddToBatchQueue()
|
private async void ExecuteAddToBatchQueue(bool skipExcludedListConfirmation = false)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -6095,9 +6085,9 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 🔥 检查排除列表是否已设置
|
// 🔥 检查排除列表是否已设置(自动加入场景(大模型引导)跳过确认——用户意图已明确)
|
||||||
var excludedObjects = _pathAnimationManager?.GetExcludedObjects();
|
var excludedObjects = _pathAnimationManager?.GetExcludedObjects();
|
||||||
if (excludedObjects == null || excludedObjects.Count == 0)
|
if (!skipExcludedListConfirmation && (excludedObjects == null || excludedObjects.Count == 0))
|
||||||
{
|
{
|
||||||
LogManager.Warning("[批处理] 排除列表为空,提示用户");
|
LogManager.Warning("[批处理] 排除列表为空,提示用户");
|
||||||
var result = System.Windows.MessageBox.Show(
|
var result = System.Windows.MessageBox.Show(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user