# Iteration 1

## Did
- Rewrote gen_nema.py: fixed the placeholder foot-hole hack → real 2× M5 through-holes in the motor-mount foot.
- Added **T8 leadscrew** (leadscrew_t8.stl) + **brass nut-block** (nut_block.stl, 8.2mm bore + 2× M3) — the
  self-locking vertical-Y drive from the implementation guide.
- Motorized gantry now shows: 3× NEMA17 (X/Z/Y drive-ends), motor mount on X, leadscrew down the vertical
  rail, nut-block on the Y-carriage.

## Files
gen_nema.py, nema17.stl, nema17_mount.stl, leadscrew_t8.stl, nut_block.stl, gantry_arm_motorized.urdf

## Verify
gantry_arm_motorized.urdf → HTTP 200. All meshes watertight.
Viewer: https://cad.omidlab.net/?dir=/data/cameron/repos/smith300_para_stuff&file=gantry_arm_motorized.urdf

## Next
- GT2 belt + pulley reps for the X/Z horizontal axes.
- MGN12 linear-rail reps + real carriage plates (currently plain boxes).
- Then start mobile_base.urdf (docs/home_robot).
