BlindBot

Rendered from docs/CAD.md in the repository at build time. Estimates are labelled as such in the source; nothing on this page is a measured result unless it says so.

CAD source of truth#

OpenSCAD in hardware/cad/*.scad is the master until a measured FreeCAD/STEP port exists. Parameters at the top of each file must match docs/measurements.csv. Today every row is UNMEASURED (photo estimates). Do not treat STL/STEP as fitted to the real knob.

What is in the repo#

  • Parametric OpenSCAD for the current head (knob cup, TPU liner, O-ring clutch, anti-rotation tail, slim housing, offset-gear fallback, ebox).
  • STL + PNG from tools/build_cad.sh. CI (render.yml) renders, runs tools/check_stl.py --strict, rebuilds the contact sheet, and uploads hardware/stl + hardware/renders.
  • Reference photos live under docs/ref/ (not the site).

Not done (needs the physical sash or a CAD seat)#

  • Caliper measurements M1–M25. Fill docs/measurements.csv and only then retune the .scad parameters.
  • Native Fusion/Onshape/FreeCAD port and STEP/3MF with print orientation. This host has no Fusion seat and no FreeCAD GUI session for a trustworthy port. Do not invent STEP that does not match a measured solid.
  • Photoreal Cycles/KeyShot, turntable MP4, and photo composites of a redesigned cap on ref_3.jpg — blocked on measured geometry. Existing PNGs are OpenSCAD previews, not photoreal.
  • Clash sweep across the knob swing — needs M11–M20.
  • Print test (PETG cup + TPU 95A liner, luggage-scale clutch torque) — needs a printer and the real knob. Not run.

Solar look#

The solar strip (~150×40 mm) and the 18650 box growth are specified in docs/power-solar.md. The current ebox.scad does not fit an 18650 (documented there). Do not claim a solar housing until it is modelled against measured frame clearance.