using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; namespace OpenNest.Data; public class ThicknessConfig { public double Value { get; set; } /// Optional display name for the thickness, such as a gauge ("16 ga"). public string Name { get; set; } = ""; public double Kerf { get; set; } public string AssistGas { get; set; } = ""; /// The lead-in of outside cuts (part perimeters), and of inside cuts while is null. public LeadConfig LeadIn { get; set; } = new(); /// The lead-out of outside cuts, and of inside cuts while is null. public LeadConfig LeadOut { get; set; } = new(); /// The lead-in of inside cuts (cutouts and holes); null uses . public LeadConfig? InsideLeadIn { get; set; } /// The lead-out of inside cuts; null uses . public LeadConfig? InsideLeadOut { get; set; } public CutOffConfig CutOff { get; set; } = new(); public List PlateSizes { get; set; } = new(); /// The part spacing of nests in this thickness; null keeps the nest defaults'. public double? PartSpacing { get; set; } /// The edge spacing of nests in this thickness; null keeps the nest defaults'. public EdgeSpacingConfig? EdgeSpacing { get; set; } /// /// Lead-in angle rounding, tabs and pierce for this thickness; null takes this PC's last /// cutting settings. /// public ThicknessCuttingConfig? Cutting { get; set; } /// Fields a newer OpenNest wrote, kept so saving here does not drop them. [JsonExtensionData] public Dictionary? Unknown { get; set; } }