Verify the enclosure STLs and renders against the model; document how to regenerate them

Re-exported all ten STLs and the eight poster pose parts with OpenSCAD 2021.01: same
triangles as the committed files. Recovered the camera for renders/assembly.png and
exploded.png (pixel-identical apart from a few anti-aliased pixels) and wrote the
recipes into enclosure/README.md. The poster script now finds DejaVu fonts on more
distros (or via POSTER_FONT_DIR) and the poster README's pose_info command works on 2021.01.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AFN8nRRCiDiMN7ChBpHJhs
This commit is contained in:
2026-10-05 18:52:34 -07:00
co-authored by Claude Sonnet 5.5
parent 720a7cfc34
commit cb2bb28cd4
3 changed files with 42 additions and 6 deletions
+19
View File
@@ -44,6 +44,25 @@ Every value marked `MEASURE` in the `.scad` file is an estimate. With calipers,
Change a value, then re-export: `openscad -D 'PART="body"' -o stl/body.stl hermes_robot.scad`.
### Regenerating the STLs and the renders
Checked 2026-10-05 with OpenSCAD 2021.01: every file in `stl/`, `poster/pose/`, `renders/` and the
poster matches the model (same triangles; the two PNGs differ in a handful of anti-aliased pixels).
Without installing anything, via Docker:
```bash
O="docker run --rm --user $(id -u):$(id -g) -v $PWD:/src -w /src openscad/openscad:2021.01"
$O openscad -D 'PART="body"' -o stl/body.stl hermes_robot.scad # any PART
# PNGs need a virtual display with GLX and software GL; without these flags it hangs
R="docker run --rm --user $(id -u):$(id -g) -v $PWD:/src -w /src -e LIBGL_ALWAYS_SOFTWARE=1 openscad/openscad:2021.01 \
xvfb-run -a -s '-screen 0 1280x1024x24 +extension GLX' openscad --imgsize=1100,1500 --viewall --autocenter --colorscheme=Tomorrow"
$R -o renders/assembly.png --camera=0,0,0,72,0,-30,500 -D 'PART="assembly"' hermes_robot.scad
$R -o renders/exploded.png --imgsize=1100,1700 --camera=0,0,0,70,0,150,500 -D 'PART="exploded"' hermes_robot.scad
```
Known quirk: `back.stl` has two non-manifold edges (four faces meet at one corner, near the
back's rear screw cup); slicers repair it silently.
## Print the test pieces first
| Piece | What it checks | Rough time |