solid.move takes copy: true to keep the source bodies and transform a new copy of each, with a Create Copy box in the Move dialog. Designs without it save and load exactly as before.
Design file corpus
Designs saved by older SolidCraft builds. tests/design_corpus.rs opens each one with the
current build and checks that it evaluates as it did when saved (the .expected.json next to
it is solidcraft-cli eval of that file by the build that saved it: bodies, volumes, areas,
world bounding boxes), that it is upgraded to the current file format, and that damaged and
hostile variants of it never panic.
| File | Saved by | Era |
|---|---|---|
m0-box-fillet-hole |
3714342 |
M0: sketch, parameters, extrude, fillet, cut |
m0-revolve-primitives |
3714342 |
M0: revolve, primitives, combine, chamfer, timeline edit |
components-arm |
97d03e3 |
components and occurrences: move, copy, Paste New, ground |
joints-hinge |
c2309eb |
joints: revolute hinge driven by a parameter |
modern-sheet-metal |
bd98035 | sheet metal contour flange (oracle 72) |
modern-path-pattern |
bd98035 | pattern on path (oracle 53) |
modern-plastic |
bd98035 | shell, lip, boss, rest, snap fit, plastic rule |
naming-split-pieces |
9a979cf | format 13 names: a slot splits the top; fillet, chamfer and offset face name its pieces by number (F2:top#2) |
move-bodies |
00baf1d |
solid.move before it could copy: two bodies, one translated in place, one translated and turned 90 deg about Z (no copy key anywhere in the file) |
split-body-pieces |
v0.3.2 (07e263d) |
a slot along X cuts a block into two bodies; a fillet, a chamfer and an appearance refer to the pieces by body name (Body1, Body1 (1)) |
issue-489-stacked-join |
v0.6.0 (809ecf7), desktop |
a 70 × 84 extrude, then a 70 × 62 strip joined on its top face, sketched partly over the face's projected edges (issue #489; expected values from main at 2880525) |
The scripts that made them are in scripts/ (issue-489-stacked-join was drawn in the desktop
app and has none). Every flat face of every final body must also take an attached sketch and an
offset plane; the faces that can't yet are listed with their issues in design_corpus.rs.
Never regenerate a file with a newer build: the point is that it was written by the old one. Add new files for new eras instead.