Files
OpenNest/docs/nesting-view-colors.md
T
ajandClaude Opus 5.5 f26c75ada5 feat(ui): let Drawing Properties return a custom color to automatic
Drawing Properties now says whether the drawing's color is custom or comes
from the color scheme, and an Automatic button clears the custom color. On
save the drawing gets its palette slot back through RecolorDrawings when the
nest is known, otherwise by its non-cutoff index.

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

4.4 KiB

Nesting-view colors

Choose Tools > Options > Color scheme > Workshop, then Save for a high-contrast per-drawing view:

  • Generated fills: hue advances by 137.508 degrees per drawing (skipping the green band reserved for etch) and cycles through eight saturation/lightness tiers on an irrational stride, so parts sharing a sheet stay far apart in color. All copies of a drawing keep its color.
  • Thin dark gray #303030 cut outlines.
  • Bright green #00FF00 etch strokes, independent of the part fill, so marks that are not cuts cannot be mistaken for part outlines.
  • Pale gray #F2F2F2 sheet and neutral gray background.

The generator continues beyond the twelve preview samples instead of wrapping through a short palette. It maximizes separation between consecutive drawing indices, not spatial neighbors; very large jobs can still place similar colors side by side. This is not a colorblind-safe or perceptually uniform palette. Selected parts retain the standard translucent blue highlight; etch and cut colors stay unchanged. Classic, Pastel and Dark remain available; saved scheme choices are not changed. The scheme is an application setting, not part of a nest. Applying a scheme recolors drawings in open nests, and opening a nest recolors its drawings from the active scheme. Only a color picked on purpose in Drawing Properties (or stored on a library record) is kept; see drawing colors. Drawing Properties shows whether the color is custom or automatic, and its Automatic button returns a custom color to the drawing's scheme color.

In plate views and drawing thumbnails, scribe/etch motions have a separate stroke from material cuts. A closed etched circle or lettering does not make a hole in the displayed part fill. An etch-only part remains selectable by its closed mark in the plate view; etch lines still do not become cut material. Selection changes the part highlight, not the etch color. Lead-in/out strokes keep their existing orange-red appearance. Preview placements show etches too. A cut coincident with an etch is drawn over the etch, so it is not hidden by the mark.

This is a display aid, not a geometry classifier or machining-safety certificate. Only motions classified as Scribe receive etch styling; a line incorrectly classified as Cut remains a cut line. Drawing geometry, layer classifications, cutting plans and post-processor output are not changed by the renderer. The CAD conversion/program-editing views retain their own source/classification colors.

Festive schemes

Halloween, Christmas and 4th of July are built-in schemes chosen like any other; OpenNest never switches to them automatically. Their background, sheet and accent colors carry the theme, while each 12-color part palette stays varied, light enough for black part IDs and clear of the green etch stroke. Etch, cut-outline and selection behavior match Classic.

Custom scheme files

Scheme JSON files in Schemes/ beside the application may specify etchColor and partOutlineColor as #RRGGBB. Optional selectedPartColor specifies an opaque selection fill; missing or null retains the legacy translucent selection highlight. Missing etchColor uses the bright green etch default. Missing or null partOutlineColor retains the legacy darker-than-fill outline. Optional useGoldenAngleColors: true selects generated drawing colors; missing or false keeps the explicit partColors palette and its legacy cycling behavior. Workshop tests check the first 1,000 generated fills stay far in RGB distance from both the dark cut outline and the bright green etch stroke, and that no fill hue falls in the etch green band. Selected rendering has separate bitmap tests. Custom drawing colors are not automatically contrast-corrected. Existing scheme names, saved choices, custom palettes and geometry remain unchanged.

Verification

On Windows, run:

dotnet test OpenNest.WinForms.Tests/OpenNest.WinForms.Tests.csproj -c Release --filter FullyQualifiedName~EtchDisplayTests

Then inspect an actual nest with both cuts and etches: select/deselect and move a part, zoom in/out, inspect drawing thumbnails, and switch away from Workshop and back. Confirm the marks remain readable, closed marks stay filled and real holes remain holes. Automated bitmap tests verify the rendering rules, not an operator's assessment of readability on a particular display.