Repo-wide sweep with the pinned CSharpier 1.3.0 tool. Whitespace and line-wrapping only; OpenNest.Engine.Tests (109) and OpenNest.IO.Tests pass after reformat, full solution builds 0 errors. Added .csharpierignore so csproj/config XML keeps its existing layout (CSharpier's XML wrapping churns attributes with zero benefit). Formatting is now enforceable: dotnet csharpier check . passes.
37 lines
1001 B
C#
37 lines
1001 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,
|
|
};
|
|
}
|