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>
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
#303030cut outlines. - Bright green
#00FF00etch strokes, independent of the part fill, so marks that are not cuts cannot be mistaken for part outlines. - Pale gray
#F2F2F2sheet 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.