添加项目文件。
This commit is contained in:
141
DebugTest.cs
Normal file
141
DebugTest.cs
Normal file
@@ -0,0 +1,141 @@
|
||||
using System;
|
||||
using DrillTools.Integration;
|
||||
|
||||
namespace DrillTools.Tests
|
||||
{
|
||||
/// <summary>
|
||||
/// 调试测试程序,用于验证孔数计算问题
|
||||
/// </summary>
|
||||
public class DebugTest
|
||||
{
|
||||
public static void RunTest()
|
||||
{
|
||||
Console.WriteLine("=== 调试测试:孔数计算问题 ===");
|
||||
|
||||
// 使用用户提供的钻带数据
|
||||
string drillTapeContent = @"M48
|
||||
;厚铜板参数-镀膜-EA-250618
|
||||
T01C1.049H05000Z+0.000S060.00F105.0U0700.0
|
||||
T02C1.550H01500Z+0.150S070.00F008.0U0800.0
|
||||
T03C1.156H03000Z-0.200S040.00F030.0U0900.0
|
||||
T04C1.451H04000Z-0.200S040.00F030.0U0900.0
|
||||
T05C1.153H05000Z-0.200S040.00F030.0U0900.0
|
||||
T06C0.499
|
||||
%
|
||||
T01
|
||||
X-167525Y013500
|
||||
X-167525Y018500
|
||||
X-167525Y023500
|
||||
X167525Y013500
|
||||
X167525Y018500
|
||||
X167525Y023500
|
||||
X099366Y502000
|
||||
T02
|
||||
X-065975Y115250
|
||||
X-085825Y122450
|
||||
X-085825Y124550
|
||||
X-097425Y115250
|
||||
X103093Y502000
|
||||
T03
|
||||
X-069659Y016450G85X-094159Y016450
|
||||
X-181341Y195550G85X-156841Y195550
|
||||
X-069659Y210450G85X-094159Y210450
|
||||
X-181341Y389550G85X-156841Y389550
|
||||
X-069659Y404450G85X-094159Y404450
|
||||
X-181341Y583550G85X-156841Y583550
|
||||
X162939Y596000
|
||||
T04
|
||||
X-069659Y016450G85X-094159Y016450
|
||||
X-181341Y195550G85X-156841Y195550
|
||||
X-069659Y210450G85X-094159Y210450
|
||||
X-181341Y389550G85X-156841Y389550
|
||||
X-069659Y404450G85X-094159Y404450
|
||||
X-181341Y583550G85X-156841Y583550
|
||||
T05
|
||||
X-069659Y016450G85X-094159Y016450
|
||||
X-181341Y195550G85X-156841Y195550
|
||||
X-069659Y210450G85X-094159Y210450
|
||||
X-181341Y389550G85X-156841Y389550
|
||||
X-069659Y404450G85X-094159Y404450
|
||||
X-181341Y583550G85X-156841Y583550
|
||||
T06
|
||||
M97,A*,$S $N
|
||||
X-194000Y002000
|
||||
M30";
|
||||
|
||||
// 处理钻带
|
||||
var result = DrillTapeProcessor.ProcessDrillTape(drillTapeContent);
|
||||
|
||||
// 输出结果
|
||||
Console.WriteLine($"处理状态: {(result.Success ? "成功" : "失败")}");
|
||||
if (!result.Success)
|
||||
{
|
||||
Console.WriteLine($"错误信息: {result.Message}");
|
||||
return;
|
||||
}
|
||||
|
||||
Console.WriteLine("\n刀具统计:");
|
||||
Console.WriteLine("刀具\t孔径(mm)\t类型\t\t普通孔数\t槽孔数\t总孔数");
|
||||
Console.WriteLine("========================================================");
|
||||
|
||||
foreach (var tool in result.ToolResults)
|
||||
{
|
||||
string toolTypeDisplay = tool.ToolType switch
|
||||
{
|
||||
ToolType.Regular => "圆孔",
|
||||
ToolType.Slot => "槽孔",
|
||||
ToolType.MachineCode => "机台码",
|
||||
_ => "未知"
|
||||
};
|
||||
|
||||
Console.WriteLine($"T{tool.ToolNumber:D2}\t{tool.Diameter:F3}\t\t{toolTypeDisplay}\t{tool.RegularHoles}\t\t{tool.SlotHoles}\t{tool.TotalHoles}");
|
||||
}
|
||||
|
||||
Console.WriteLine($"\n总孔数: {result.TotalHoles}");
|
||||
|
||||
// 验证结果
|
||||
Console.WriteLine("\n=== 验证结果 ===");
|
||||
VerifyResults(result);
|
||||
}
|
||||
|
||||
private static void VerifyResults(DrillTapeResult result)
|
||||
{
|
||||
// CAM350的预期结果
|
||||
var expectedResults = new[]
|
||||
{
|
||||
new { ToolNumber = 1, Diameter = 1.049, ExpectedHoles = 7 },
|
||||
new { ToolNumber = 2, Diameter = 1.550, ExpectedHoles = 5 },
|
||||
new { ToolNumber = 3, Diameter = 1.156, ExpectedHoles = 619 },
|
||||
new { ToolNumber = 4, Diameter = 1.451, ExpectedHoles = 5 },
|
||||
new { ToolNumber = 5, Diameter = 1.153, ExpectedHoles = 5 },
|
||||
new { ToolNumber = 6, Diameter = 0.499, ExpectedHoles = 57 }
|
||||
};
|
||||
|
||||
bool allMatch = true;
|
||||
|
||||
foreach (var expected in expectedResults)
|
||||
{
|
||||
var actual = result.ToolResults.Find(t => t.ToolNumber == expected.ToolNumber);
|
||||
if (actual != null)
|
||||
{
|
||||
bool match = Math.Abs(actual.Diameter - expected.Diameter) < 0.001 &&
|
||||
actual.TotalHoles == expected.ExpectedHoles;
|
||||
|
||||
Console.WriteLine($"T{expected.ToolNumber:D2} ({expected.Diameter:F3}mm): " +
|
||||
$"预期={expected.ExpectedHoles}, 实际={actual.TotalHoles}, " +
|
||||
$"{(match ? "✓" : "✗")}");
|
||||
|
||||
if (!match)
|
||||
allMatch = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"T{expected.ToolNumber:D2}: 未找到结果 ✗");
|
||||
allMatch = false;
|
||||
}
|
||||
}
|
||||
|
||||
Console.WriteLine($"\n总体结果: {(allMatch ? "✓ 所有结果与CAM350一致" : "✗ 存在不一致的结果")}");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user