Files
kyleandClaude Sonnet 5.5 cb2bb28cd4 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
2026-10-05 18:52:34 -07:00
..
2026-10-04 14:28:01 -07:00
2026-10-04 14:28:01 -07:00
2026-10-04 14:28:01 -07:00

Poster

hermes_poster.png (1600 × 2400) is rendered from the real enclosure model: hidden-line wireframe of the feature edges and silhouettes, 6 mm contour slices on the shells, the flat P7 face lit on the screen, a mirrored pass for the wet floor, then haze, bloom and CRT scanlines.

To regenerate after changing the model:

cd enclosure
for n in base servo_pan plate body yoke servo_tilt cradle camera; do
  openscad -o poster/pose/$n.stl -D "PART=\"pose_$n\"" -D '$fn=48' hermes_robot.scad
done
openscad -o /tmp/pose_info.stl -D 'PART="pose_info"' hermes_robot.scad   # prints WIN / LED coordinates
python3 poster/render_poster.py

If the window or LED positions change, copy the printed WIN and LED values into render_poster.py. The script needs the DejaVu fonts (Debian fonts-dejavu, Arch ttf-dejavu); elsewhere, set POSTER_FONT_DIR to a folder holding them. face.png is a frame captured from docs/face-prototype.html (flat shape, P7, speaking). Requires numpy, trimesh and Pillow.