- 新增 ExcellonScaler 引擎:普通孔缩放坐标,G85槽孔保护槽长,刀具定义行原样保留 - 新增 DrillScalingWindow 参数设置窗口:倍率/PPM模式切换,X/Y独立输入 - 集成到启动功能菜单:.dr2/.dpin 文件显示"涨缩"按钮 - 输出覆盖原文件 + .bak 备份,GB2312 编码
76 lines
2.7 KiB
C#
76 lines
2.7 KiB
C#
using System.IO;
|
|
using System.Windows;
|
|
|
|
namespace DrillTools
|
|
{
|
|
public enum StartupAction
|
|
{
|
|
None,
|
|
AdjustToolOrder,
|
|
ExportHoleCount,
|
|
ClearParameters,
|
|
GeneratePpDrillTape,
|
|
ScaleDrillTape
|
|
}
|
|
|
|
public partial class StartupSelectionWindow : Window
|
|
{
|
|
public StartupAction SelectedAction { get; private set; } = StartupAction.None;
|
|
|
|
public StartupSelectionWindow(string filePath, bool canClearParameters = false, bool canGeneratePpDrillTape = false,
|
|
bool canScaleDrillTape = false,
|
|
double minDrillDiameter = 0, double minSlotDiameter = 0, double minEADiameter = 0,
|
|
bool isPpDrillTape = false, double ppXSpacing = 0, double ppYSpacing = 0,
|
|
bool hasOuter3175Spacing = false, double outer3175XSpacing = 0, double outer3175YSpacing = 0)
|
|
{
|
|
InitializeComponent();
|
|
DataContext = new
|
|
{
|
|
FileName = Path.GetFileNameWithoutExtension(filePath),
|
|
MinDrillDiameter = minDrillDiameter,
|
|
MinSlotDiameter = minSlotDiameter,
|
|
MinEADiameter = minEADiameter,
|
|
IsPpDrillTape = isPpDrillTape,
|
|
PpXSpacing = ppXSpacing,
|
|
PpYSpacing = ppYSpacing,
|
|
HasOuter3175Spacing = hasOuter3175Spacing,
|
|
Outer3175XSpacing = outer3175XSpacing,
|
|
Outer3175YSpacing = outer3175YSpacing
|
|
};
|
|
ClearParametersButton.Visibility = canClearParameters ? Visibility.Visible : Visibility.Collapsed;
|
|
GeneratePpDrillTapeButton.Visibility = canGeneratePpDrillTape ? Visibility.Visible : Visibility.Collapsed;
|
|
ScaleDrillTapeButton.Visibility = canScaleDrillTape ? Visibility.Visible : Visibility.Collapsed;
|
|
}
|
|
|
|
private void AdjustToolOrder_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedAction = StartupAction.AdjustToolOrder;
|
|
Close();
|
|
}
|
|
|
|
private void ExportHoleCount_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedAction = StartupAction.ExportHoleCount;
|
|
Close();
|
|
}
|
|
|
|
private void ClearParameters_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedAction = StartupAction.ClearParameters;
|
|
Close();
|
|
}
|
|
|
|
private void GeneratePpDrillTape_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedAction = StartupAction.GeneratePpDrillTape;
|
|
Close();
|
|
}
|
|
|
|
private void ScaleDrillTape_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedAction = StartupAction.ScaleDrillTape;
|
|
Close();
|
|
}
|
|
}
|
|
}
|