From ceb88c216ae298b7621b981fbf3db2ce974499a6 Mon Sep 17 00:00:00 2001 From: "Mr.Xia" <1424473282@qq.com> Date: Sat, 23 May 2026 12:23:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=A8=E5=90=AF=E5=8A=A8=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E9=80=89=E6=8B=A9=E7=AA=97=E5=8F=A3=E4=B8=AD=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 StartupSelectionWindow 顶部添加基础信息展示模块, 显示文件名、最小钻咀、最小槽刀、最小EA刀直径, 与 MainWindow 中的基础信息面板布局一致。 Co-Authored-By: Claude Opus 4.7 --- App.xaml.cs | 31 +++++++++++++++++++- StartupSelectionWindow.xaml | 52 +++++++++++++++++++++++++++++++++- StartupSelectionWindow.xaml.cs | 11 +++++-- 3 files changed, 90 insertions(+), 4 deletions(-) diff --git a/App.xaml.cs b/App.xaml.cs index 903f2e9..6822a27 100644 --- a/App.xaml.cs +++ b/App.xaml.cs @@ -36,7 +36,8 @@ namespace DrillTools bool canClearParameters = CanClearDrillTapeParameters(filePath); bool canGeneratePpDrillTape = CanGeneratePpDrillTape(filePath); - var selectionWindow = new StartupSelectionWindow(filePath, canClearParameters, canGeneratePpDrillTape); + GetMinDiameters(filePath, out double minDrill, out double minSlot, out double minEA); + var selectionWindow = new StartupSelectionWindow(filePath, canClearParameters, canGeneratePpDrillTape, minDrill, minSlot, minEA); selectionWindow.ShowDialog(); switch (selectionWindow.SelectedAction) @@ -144,6 +145,34 @@ namespace DrillTools } } + private static void GetMinDiameters(string filePath, out double minDrillDiameter, out double minSlotDiameter, out double minEADiameter) + { + minDrillDiameter = 0; + minSlotDiameter = 0; + minEADiameter = 0; + + try + { + var viewModel = new MainWindowViewModel + { + ShouldCheckSortFileOnLoad = false + }; + + string content = CommandTypeFileReader.ReadAllText(filePath); + viewModel.LoadToolsFromDrillTape(content); + + if (viewModel.Tools.Count > 0) + { + minDrillDiameter = viewModel.MinDrillDiameter; + minSlotDiameter = viewModel.MinSlotDiameter; + minEADiameter = viewModel.MinEADiameter; + } + } + catch + { + } + } + private static void PerformPpDrillTapeGeneration(string filePath) { try diff --git a/StartupSelectionWindow.xaml b/StartupSelectionWindow.xaml index e5d91f1..63c5022 100644 --- a/StartupSelectionWindow.xaml +++ b/StartupSelectionWindow.xaml @@ -13,7 +13,57 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/StartupSelectionWindow.xaml.cs b/StartupSelectionWindow.xaml.cs index b2152f4..0458fb8 100644 --- a/StartupSelectionWindow.xaml.cs +++ b/StartupSelectionWindow.xaml.cs @@ -16,10 +16,17 @@ namespace DrillTools { public StartupAction SelectedAction { get; private set; } = StartupAction.None; - public StartupSelectionWindow(string filePath, bool canClearParameters = false, bool canGeneratePpDrillTape = false) + public StartupSelectionWindow(string filePath, bool canClearParameters = false, bool canGeneratePpDrillTape = false, + double minDrillDiameter = 0, double minSlotDiameter = 0, double minEADiameter = 0) { InitializeComponent(); - DataContext = new { FileName = Path.GetFileName(filePath) }; + DataContext = new + { + FileName = Path.GetFileNameWithoutExtension(filePath), + MinDrillDiameter = minDrillDiameter, + MinSlotDiameter = minSlotDiameter, + MinEADiameter = minEADiameter + }; ClearParametersButton.Visibility = canClearParameters ? Visibility.Visible : Visibility.Collapsed; GeneratePpDrillTapeButton.Visibility = canGeneratePpDrillTape ? Visibility.Visible : Visibility.Collapsed; }