mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-11-06 23:55:44 -05:00
Breakoffs are now picked by their joining line, default to the smaller side as scrap (flippable), and cut that line between tabs on a new Break layer instead of slots. Plan Cutting and Assign Lead-ins enter each cut from the scrap with the nest's internal lead-in, or pierce on the line without one; checks treat break cuts as intentional open cuts that are not material. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
1.3 KiB
C#
33 lines
1.3 KiB
C#
using System.Drawing;
|
|
using OpenNest.Geometry;
|
|
|
|
namespace OpenNest
|
|
{
|
|
public static class SpecialLayers
|
|
{
|
|
public static readonly Layer Default = new Layer("0") { Color = Color.White };
|
|
|
|
public static readonly Layer Cut = new Layer("CUT") { Color = Color.White };
|
|
|
|
public static readonly Layer Rapid = new Layer("RAPID") { Color = Color.Gray };
|
|
|
|
public static readonly Layer Display = new Layer("DISPLAY") { Color = Color.Cyan };
|
|
|
|
public static readonly Layer Leadin = new Layer("LEADIN") { Color = Color.Brown };
|
|
|
|
public static readonly Layer Leadout = new Layer("LEADOUT") { Color = Color.Brown };
|
|
|
|
public static readonly Layer Scribe = new Layer("SCRIBE") { Color = Color.Magenta };
|
|
|
|
public static readonly Layer Break = new Layer("BREAK") { Color = Color.Orange };
|
|
|
|
/// <summary>
|
|
/// True when an entity converted from a part program describes part material. Rapids
|
|
/// and scribe/etch marks are excluded: marks are only on the surface, so they never
|
|
/// bound material and must not affect nesting, collision, area, or validation. Break
|
|
/// cuts are excluded too: they run through material that stays attached at tabs.
|
|
/// </summary>
|
|
public static bool IsMaterial(Layer layer) => layer != Rapid && layer != Scribe && layer != Break;
|
|
}
|
|
}
|