Files
OpenNest/OpenNest.Core/CutParameters.cs
T
ajandClaude Opus 5.5 d3cb23f117 fix: time display-layer cuts, add hole feed and etch skipping
The cut simulation treated Display-layer contour moves (what cutting
strategies emit) as head-up travel, so plates with assigned lead-ins were
timed as rapids. They now cut, matching the verifier and posts, and
suppressed moves are left out.

Cut time now follows the CI Fiber post: closed clockwise contours and
cut-offs take an outside feed, other contours a hole feed, and etch-only
contours can be skipped like its SkipScribe default. The settings are
shared by Calculate Cut Time and the simulator, and plate/nest times now
always come from the simulation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 17:32:38 -04:00

35 lines
1.1 KiB
C#

using System;
namespace OpenNest;
public class CutParameters
{
public double Feedrate { get; set; }
public double RapidTravelRate { get; set; }
public TimeSpan PierceTime { get; set; }
public double LeadInLength { get; set; }
public string PostProcessor { get; set; }
public Units Units { get; set; }
/// <summary>
/// Acceleration limits; null estimates every move at full speed. Applied by
/// <see cref="CNC.CutSimulation"/> and the plate/nest overloads of <see cref="Timing.CalculateTime(Plate, CutParameters)"/>.
/// </summary>
public MotionProfile Motion { get; set; }
/// <summary>Feed for interior contours (holes); null or zero uses <see cref="Feedrate"/>.</summary>
public double? HoleFeedrate { get; set; }
/// <summary>Leave out contours that only scribe/etch, as the CI Fiber post does by default.</summary>
public bool SkipScribe { get; set; }
public static CutParameters Default =>
new()
{
Feedrate = 100,
RapidTravelRate = 300,
PierceTime = TimeSpan.FromSeconds(0.5),
Units = OpenNest.Units.Inches,
};
}