mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-07 12:31:56 +00:00
d9d6af51c6
* claim: #3353 * Sheet metal: mirrored and copied sheet bodies stay sheet metal Mirroring a sheet metal body into a new body gave a plain solid: the opposite-hand bracket had no flat pattern, DXF or bend table ("`Body1 (2)` is not a sheet metal body"). Copies from a body pattern or Move with copy lost their sheet model the same way. A copy now takes the sheet model with it (SheetBody::copied). A rigid copy moves the flat frame. A mirror moves the frame with its x axis turned round, so the thickness side stays, and mirrors everything in flat coordinates (x -> -x): base, flange bend lines (run from their far end, with their end extensions, slopes and tears swapped), panel shapes, cut-outs, pockets, bores, letters and base sketch lines. Arcs stay exact and loops keep their sense. A perforation field of a mirrored copy runs its grid from the right, so its holes are the mirror image too. The flat length, bends and K-factor are unchanged, and the copy takes further sheet metal features of its own. Mirror with combine is unchanged: the joined body has no single sheet model yet. Mirroring or patterning flange features is still refused. Sheet models are derived from the timeline, so no design format change. * Format: note the saved from_right of a mirrored sheet's perforation field The new `from_right` flag is saved in the design, so it gets a pending format note. No migration: a field without it runs from the left as before.