mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-10-14 18:21:55 -04:00
Plates the engine built from stock (DrawingJobMapper.CreatePlate, used by the public result materializer, the layout check and the placement fillers) stored placement-frame zones, while live plates store them relative to the sheet's lower-left corner. The same Plate.ClampZones therefore meant two frames: the new clamp cut checks double-translated materialized plates in quadrants 2-4, and interactive fill and push on live plates read sheet-frame zones as placement coordinates, so they could put parts on clamps there. Plates built from stock now keep the stock's input zones (sheet frame, no lossy translate-and-back), and the layout check and interactive clamp obstacles map through ClampZoneFrame.ToPlacement, which reproduces the stock's placement zones bit for bit, so engine placements and validation are unchanged. Project Memory: opennest 14f93b26-2e41-41f1-b09f-87dc895bb4da