namespace OpenNest; public enum SplitType { Straight, WeldGapTabs, SpikeGroove } public class SplitParameters { public SplitType Type { get; set; } = SplitType.Straight; // Tab parameters public double TabWidth { get; set; } = 1.0; public double TabHeight { get; set; } = 0.125; public int TabCount { get; set; } = 3; // Spike/Groove parameters public double SpikeDepth { get; set; } = 0.5; public double GrooveDepth { get; set; } = 0.625; public double SpikeWeldGap { get; set; } = 0.125; public double SpikeAngle { get; set; } = 60.0; // degrees public int SpikePairCount { get; set; } = 2; /// /// Max protrusion from the split edge (for auto-fit plate size calculation). /// public double FeatureOverhang => Type switch { SplitType.WeldGapTabs => TabHeight, SplitType.SpikeGroove => System.Math.Max(SpikeDepth, GrooveDepth), _ => 0 }; }