feat: add MachineConfig, MaterialConfig, MachineSummary with parameter lookup

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-27 20:16:59 -04:00
parent 64874857a1
commit 98453243fc
6 changed files with 172 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
using OpenNest.Math;
namespace OpenNest.Data;
public class MachineConfig
{
public Guid Id { get; set; } = Guid.NewGuid();
public int SchemaVersion { get; set; } = 1;
public string Name { get; set; } = "";
public MachineType Type { get; set; } = MachineType.Laser;
public UnitSystem Units { get; set; } = UnitSystem.Inches;
public List<MaterialConfig> Materials { get; set; } = new();
public ThicknessConfig? GetParameters(string material, double thickness)
{
var mat = GetMaterial(material);
if (mat is null) return null;
return mat.Thicknesses.FirstOrDefault(t => t.Value.IsEqualTo(thickness));
}
public MaterialConfig? GetMaterial(string name)
{
return Materials.FirstOrDefault(m =>
string.Equals(m.Name, name, StringComparison.OrdinalIgnoreCase));
}
}