feat(io): save and reload display perimeters

A display perimeter written without its own tag reloaded as an ordinary
cut, so a saved blank would come back with its outline to be cut. Programs
now carry it as :DISPLAYPERIMETER and the reader maps it back, and stored
source entities keep the DISPLAY PERIMETER layer so editing the drawing
rebuilds the same never-cut outline.

Builds older than this read the unknown tag as a cut. Open nests with
display perimeters only in builds that include this change.
This commit is contained in:
aj committed 2026-10-22 19:34:52 -04:00
1 parent 6e3705eb89
commit b45e9df593
4 files changed
+68

No files matched your search

+8
View File
@@ -288,6 +288,10 @@ namespace OpenNest.IO
layer = LayerType.Tab;
break;
case "DISPLAYPERIMETER":
layer = LayerType.DisplayPerimeter;
break;
case "SUPPRESSED":
suppressed = true;
break;
@@ -394,6 +398,10 @@ namespace OpenNest.IO
layer = LayerType.Tab;
break;
case "DISPLAYPERIMETER":
layer = LayerType.DisplayPerimeter;
break;
case "SUPPRESSED":
suppressed = true;
break;