feat: corner reliefs at sheet flange corners, chosen by the rule (#488)
Sheet Metal Rules get a Corner Relief Shape (notch, round or rectangular), sized by the rule's corner relief, cut where two bends meet at a corner of the base. Notch, the default, keeps existing designs as they were. File format 16. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
c2a9c71436
commit
d6af554c6d
11 files changed
+830
-15
No files matched your search
@@ -51,7 +51,7 @@ keeps the current design. Previews cannot be edited or measured. This experiment
|
||||
requires `preview: true` in an engine Save/Save As call; ordinary saves omit display caches.
|
||||
The repository's `docs/design-container.md` describes limits and encoding details.
|
||||
|
||||
Current designs use format 15, including sketch face anchors on cylinder caps, sketch axis
|
||||
Current designs use format 16, including sheet metal corner relief shapes, sketch face anchors on cylinder caps, sketch axis
|
||||
links, persistent
|
||||
names from exact face history, exact planar shell-face anchors, persistent analytic offset boundary roles and
|
||||
association profile references, durable sketch face anchors, periodic fit splines and versioned
|
||||
|
||||
@@ -14,6 +14,25 @@ The SHEET METAL tab builds parts from a sheet of constant thickness under a **sh
|
||||
Bends follow the rule's K-factor, so flat lengths match what a press brake will make. Tests
|
||||
check flat lengths against hand-computed bend allowances.
|
||||
|
||||
Where two bends of one edge flange feature meet at a corner of the base, the rule's **corner
|
||||
relief shape** (`corner_relief_shape`; Corner Relief Shape in Sheet Metal Rules) says what is
|
||||
cut there. `notch`, the default, cuts nothing more: the bends end square at the corner. `round`
|
||||
and `rectangular` cut a relief the rule's **corner relief** across, centred on the corner where
|
||||
the two bend lines meet: out of the base a round with half that size as its radius, or a square
|
||||
with half that size as its side, and both bends stop where it begins, cut straight across. The
|
||||
flange panels keep their ends. The relief is in the folded part, the flat pattern, the bend
|
||||
table (the bends are shorter) and the DXF (a round relief is an arc). At a corner that isn't
|
||||
square the round follows the angle of the base and the square becomes a kite, its two cuts
|
||||
square to the edges. Changing the shape in a rule changes the parts made with that rule. A
|
||||
relief that doesn't fit (under 0.01 mm across, leaving nothing of a bend, or reaching as far
|
||||
from its corner as another edge of the base is) is left out, and the flange feature reports a
|
||||
warning saying where.
|
||||
|
||||
```json
|
||||
{"command":"sheet.manage_rules","params":{"name":"Sheet 2 mm","thickness":"2 mm","k_factor":0.5,
|
||||
"bend_radius":"1 mm","corner_relief_shape":"round","corner_relief":"8 mm","active":true}}
|
||||
```
|
||||
|
||||
Where the edge flanges of one feature meet at a corner of the base, their panels are closed
|
||||
toward each other at any bend angle: each end is cut square to the sheet, on a line in the flat
|
||||
chosen so that the edges nearest each other (on the inner faces) run parallel, the rule's
|
||||
|
||||
@@ -7,7 +7,7 @@ self-contained input/output format. `io::write_design` keeps its JSON contract;
|
||||
`io::write_design_container` is the fallible container writer.
|
||||
|
||||
Packages have `container.json` with `{"format":"solidcraft-container/1"}` and
|
||||
`document.json` with the versioned parametric document (currently `solidcraft/15`).
|
||||
`document.json` with the versioned parametric document (currently `solidcraft/16`).
|
||||
The independent versions let document migrations evolve without changing blob encodings.
|
||||
Existing serialized document fields are retained automatically, without a second copy
|
||||
of the document schema or a deep clone of embedded payloads.
|
||||
|
||||
Reference in new issue
Block a user