Files
OpenNest/OpenNest.Data/ThicknessConfig.cs
T
ajandClaude Opus 5.5 59d4c8d727 feat(machines): set spacing per thickness and save defaults from a nest
Plate > Set as Default and Nest > Edit's Defaults tab only changed the
open nest, so new nests never picked up the values. Set as Default now
also saves the new-nest defaults, and the Defaults tab gains an opt-in
"Use these defaults for new nests" check.

Machine thicknesses can now set part and edge spacing. A nest takes them
when its material, grade, thickness or machine changes and when a release
creates it; BOM import seeds its groups from them. Spacing edited in the
same dialog stays, and only an untouched trailing sheet follows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 19:39:48 -04:00

36 lines
1.4 KiB
C#

using System.Collections.Generic;
namespace OpenNest.Data;
public class ThicknessConfig
{
public double Value { get; set; }
/// <summary>Optional display name for the thickness, such as a gauge ("16 ga").</summary>
public string Name { get; set; } = "";
public double Kerf { get; set; }
public string AssistGas { get; set; } = "";
/// <summary>The lead-in of outside cuts (part perimeters), and of inside cuts while <see cref="InsideLeadIn"/> is null.</summary>
public LeadConfig LeadIn { get; set; } = new();
/// <summary>The lead-out of outside cuts, and of inside cuts while <see cref="InsideLeadOut"/> is null.</summary>
public LeadConfig LeadOut { get; set; } = new();
/// <summary>The lead-in of inside cuts (cutouts and holes); null uses <see cref="LeadIn"/>.</summary>
public LeadConfig? InsideLeadIn { get; set; }
/// <summary>The lead-out of inside cuts; null uses <see cref="LeadOut"/>.</summary>
public LeadConfig? InsideLeadOut { get; set; }
public CutOffConfig CutOff { get; set; } = new();
public List<string> PlateSizes { get; set; } = new();
/// <summary>The part spacing of nests in this thickness; null keeps the nest defaults'.</summary>
public double? PartSpacing { get; set; }
/// <summary>The edge spacing of nests in this thickness; null keeps the nest defaults'.</summary>
public EdgeSpacingConfig? EdgeSpacing { get; set; }
}