Add OpenNest.IO/Bending/BendRepair: opt-in repair of unambiguous paired ETCH/SCRIBE bend ticks, bounded to <=3.175 mm endpoint movement with explicit source units. Cut geometry is never modified. - CadImportOptions.BendRepair configures it; CadImportResult exposes per-bend BendRepairReports; CadImporter/Dxf wire it into import. - Console: --repair-bends-mm <limit> --cad-units inches|mm prints per-bend reports for newly imported DXFs. - New OpenNest.IO.Tests project (net8.0, synthetic DXFs, 30 tests) covering bend detection and repair, added to the solution. - Update README.md and CLAUDE.md for the new pipeline and build/test instructions.
43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
namespace OpenNest.IO
|
|
{
|
|
/// <summary>
|
|
/// Options controlling how <see cref="CadImporter"/> loads a CAD file
|
|
/// and builds a <see cref="Drawing"/>.
|
|
/// </summary>
|
|
public class CadImportOptions
|
|
{
|
|
/// <summary>
|
|
/// Detector name to use for bend detection. Null = auto-detect.
|
|
/// </summary>
|
|
public string BendDetectorName { get; set; }
|
|
|
|
/// <summary>
|
|
/// When false, skips bend detection entirely. Default true.
|
|
/// </summary>
|
|
public bool DetectBends { get; set; } = true;
|
|
|
|
/// <summary>Null (default) disables repair. Explicit units and a small physical limit are required.</summary>
|
|
public Bending.BendRepairOptions BendRepair { get; set; }
|
|
|
|
/// <summary>
|
|
/// Override the drawing name. Null = filename without extension.
|
|
/// </summary>
|
|
public string Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// Required quantity on the produced drawing. Default 1.
|
|
/// </summary>
|
|
public int Quantity { get; set; } = 1;
|
|
|
|
/// <summary>
|
|
/// Customer name on the produced drawing. Default null.
|
|
/// </summary>
|
|
public string Customer { get; set; }
|
|
|
|
/// <summary>
|
|
/// Returns a default options instance.
|
|
/// </summary>
|
|
public static CadImportOptions Default => new CadImportOptions();
|
|
}
|
|
}
|