| Part | Gates | Files |
|---|---|---|
| base rack-pinion-base | PASS 11/11 | STEP · STL |
| pinion rack-pinion-pinion | PASS 11/11 | STEP · STL |
| rack rack-pinion-rack | PASS 11/11 | STEP · STL |
| File | Kind | Size |
|---|---|---|
| rack-pinion.step | STEP | 2.8 MB |
| rack-pinion.stl | STL | 0.2 MB |
assembly.yaml (design contract)
Rack and pinion on a base plate from sources/rack-pinion-spec.md (the only source, text, authoritative): three separate solids with no fused bodies. A 240 x 80 x 5 base plate carries a 20-tooth module-2 involute spur pinion (pitch radius 20, face 8, D6 bore) on a revolute joint about +z at the origin and a 32-tooth module-2 straight-flank rack (200 long, 8 thick) on a slider joint along +x with its pitch line on y = -20, tangent to the pinion pitch circle, phased so the pinion tooth at -90 deg sits in the rack's tooth space at x = 0. The pinion is motor-driven through one full revolution and the rack follows through the mesh by the pitch circle's arc per degree (20 pi / 180 mm/deg; positive about +z moves the rack toward +x) with zero interference. Predict the rack ratio and the rack travel over one revolution from the placed geometry.
| Tier | Gate | Result | Evidence |
|---|---|---|---|
| A | parts_pass Every part design passed its own 12 gates and has a handoff STEP | PASS | results/build123d/rack-pinion/parts.json designs.<design>.gates_ok: rack-pinion-base=True, rack-pinion-pinion=True, rack-pinion-rack=True |
| A | bom_complete Every body of the bill of materials is in the export, once, with a placement | PASS | results/build123d/rack-pinion/verify.json solid_count = 3 (expected 3); placements.missing = []; unmatched = [] |
| A | joint_fidelity Every joint's child frame lies on its parent frame (axis, offset, rest angle) | PASS | results/build123d/rack-pinion/verify.json joints.joints.<joint>.checks; failing: none |
| A | clearances Static clearances and seats at rest | PASS | results/build123d/rack-pinion/verify.json clearances.<name>; failing: none |
| A | motion_clear Every drive moves through its range without interference; gears mesh; ratios match tooth counts | PASS | results/build123d/rack-pinion/kinematics.json motions.<name>.max_interference: pinionTurn=0 |
| A | fluid_domain Each fluid region is one sealed piece within its volume band and agrees with the source's fluid body | n/a | results/build123d/rack-pinion/domains.json fluids.<name>: |
| B | export_agreement Each exported body equals its part handoff x placement; the assembled envelope matches | PASS | results/build123d/rack-pinion/verify.json agreement.bodies.<body>.volume_rel/hausdorff_mm; envelope.max_error = 0.0 (tol 0.1) |
| B | performance Every predicted observable meets the requirement the sources state over its numerical band (value +- 2 u_numerical) | PASS | results/build123d/rack-pinion/simulate.json observables.<id>.requirement: rackRatio=0.3491, rackTravel=125.7 |
| B | conservation Energy, mass and force balances of every analysis close within their tolerance | n/a | results/build123d/rack-pinion/simulate.json simulations.<id>.conservation: |
| B | refinement Every prediction of a mesh ladder is resolved: all its levels finished and the grid-convergence index is within tolerance | n/a | results/build123d/rack-pinion/simulate.json simulations.<id>.refinement.observables: |
| C | source_hygiene The assembly source imports only its declared inputs, formats and lints clean | PASS | results/build123d/rack-pinion/verify.json hygiene: cad_refs=[] truth_refs=[]; ruff format True, ruff check True |
| C | boundaries_complete Every face of a bounded body carries exactly one named boundary | n/a | results/build123d/rack-pinion/domains.json boundaries.<body>.unassigned/conflicts: none |
| C | provenance Stage JSONs carry provenance stamps; part handoffs are hash-bound; inputs carry provenance | PASS | results/build123d/rack-pinion/<stage>.json provenance present for ['verify', 'kinematics', 'domains', 'simulate']; parts.json designs.<d>.step_sha256 present: True |
| C | evidence_separation No worker-visible artefact reads truth; the assembly source only places declared inputs | PASS | results/build123d/rack-pinion/verify.json hygiene.truth_refs = [] |
| Body | Kind | Design | Material |
|---|---|---|---|
| base | modelled | rack-pinion-base | |
| pinion | modelled | rack-pinion-pinion | |
| rack | modelled | rack-pinion-rack |