# Benchtop inspection workstation

This is actual parametric CAD compiled from a supplied, provider-reviewed mechanical contract. The API models reviewed the contract and plan. Codex authored the separate Python CAD implementation; no claim is made that the models emitted this source.

The assembly contains 85 meaningful component instances and 8 explicitly counted fastener envelopes, representing 47 distinct designs and 10 functional subassemblies. Counts come from the same inventory exported to STEP, GLB and BOM.

- Open assembly.step for named, colored BRep solids and native CAD hierarchy. STEP uses millimetres and Z up.
- Open assembly.glb for the assembled model or exploded.glb for the presentation exploded view. GLB uses metres and Y up; named leaf nodes have identity transforms. Geometry is mapped from CAD (x,y,z) mm to (x,z,-y)/1000 metres.
- parts.json records each node name, design ID, functional group and explosion offset in original CAD XYZ millimetres.
- BOM.csv identifies every instance; parts/ contains its individual STL in global CAD millimetres. STL has no intrinsic unit metadata.
- assembled, exploded and engineering-drawing SVG/PNG files render the actual mesh. detail-sheets/ provides readable subassembly views.
- mechanical-design.json is the actual saved contract; source.py is its editable parametric implementation.
- cad-manifest.json records BRep validity, native STEP round-trip, exact selected clearance/interference checks and file hashes.

Validation covers the static shown pose. Digital checks are not a motion study, tolerance stack, physical prototype, structural assessment or certification. Motors, bearings, optics and connectors are nominal envelopes. Screw threads and internal bearing mechanisms are simplified. Exploded offsets are presentation transforms, not a verified assembly path.

Reproduce from the repository: node scripts/cookbook-mechanical-render.mjs --only=inspection-workstation. It uses the existing offline ce-spec-native:spec-final-2 Docker image with build123d 0.11.1, Python 3 with NumPy/Pillow, and sharp. The container sees only an isolated scratch directory and has no network access. There are no API calls or commissioned specification jobs.

## Builder implementation decisions — not model approvals

- Builder-authored focus-backplate relief: removed X244..296, Y123..133, Z163..235 mm from the locked plate envelope to clear the centered camera and ring light. The original outer plate dimensions and optical axis are unchanged. This relief was not approved by the model review.
- Builder-authored integral mounting bosses bridge the 8 mm gap from focus backplate to X carriage at X239..253 and X287..301, Y132..140, Z310..330 mm. Joint fastening and strength are unresolved.
- Builder-authored radius9.2 mm seat in the X carriage gives the nominal radius9 mm lead nut clearance; retention and screw alignment are unvalidated.
- Builder-authored camera bracket ends at Y124 mm and its neck at Z246 mm, meeting the backplate/carriage without positive-volume overlap. Guide-rod and screw passages are cut through its shelf. The lower guide block has a radius13 mm lens aperture, and the illuminator bracket a radius4.2 mm guide passage. These clearances do not establish fastening, stiffness or retention.
- Builder-authored clamp slots and diameter4.6 mm screw envelopes align to existing grid holes at (210,120) and (310,120); clamp faces touch the coupon at Z66 mm. Threads, axial retention and clamping force are undefined.
- Detailed holes, hollow sections, nominal motor/connector shapes, cable links and workholding hardware implement the concept for inspection; they do not represent qualified commercial parts.

## Remaining engineering conflicts

- KNOWN STATIC INTERFERENCE: the reviewed focus-screw axis passes through the reviewed camera envelope (W23/W26). The exact positive overlap is recorded as a failed digital check; the reviewed placements are deliberately retained. A revised mechanical layout and model review are required to resolve this.
- No validated fastener/retention scheme for the focus bosses, X nut, optics, rails or cable carrier.
- No swept-motion collision analysis; limits and cable flex have not been established.
- The side/rear screens are visual concept panels and do not establish guarding or safe energized operation.
- The CAD implementation decisions resolve selected static geometric clashes only; they do not constitute an approved engineering resolution of all model-review findings.

## Actual selected geometry results

19 of 20 selected clearance/interference checks pass in the shown static pose. The separate valid-solid and STEP round-trip checks pass. These are computational results, not physical testing.

- **Unresolved: Focus lead screw intersects locked camera envelope** (W23 / W26). Exact OpenCascade boolean intersection: **1130.97335529 mm³**, exceeding the 0.001 mm³ check threshold. The checked placements are retained so this reviewed-layout conflict remains inspectable.
