- SpikeParameters: added GrooveDepth (how deep groove cuts into receiving part) and SpikeWeldGap (gap between spike tip and groove) - SpikeGrooveSplit: groove uses its own depth (wider/deeper than spike), spike tip stops short by weld gap amount - UI: added Groove Depth and Weld Gap fields to spike parameters panel - Changed default pair count to 2 (one near each end) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
36 lines
971 B
C#
36 lines
971 B
C#
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;
|
|
|
|
/// <summary>
|
|
/// Max protrusion from the split edge (for auto-fit plate size calculation).
|
|
/// </summary>
|
|
public double FeatureOverhang => Type switch
|
|
{
|
|
SplitType.WeldGapTabs => TabHeight,
|
|
SplitType.SpikeGroove => System.Math.Max(SpikeDepth, GrooveDepth),
|
|
_ => 0
|
|
};
|
|
}
|