opencad
← Machines
MachinePASS 10/10

Planetary gear set

Planetary set with a fixed ring, built as seven separate solids from five part designs.

Facts

Backend
build123d
Gates
10 pass, 0 fail, 4 n/a
Envelope
150.0 × 150.0 × 20.0 mm
Bodies
7 (7 modelled)
Joints
6
Truth case
yes, scored against held-back geometry

Printable part designs

PartGatesFiles
base
planetary-set-base
PASS 11/11STEP · STL
ring
planetary-set-ring
PASS 11/11STEP · STL
sun
planetary-set-sun
PASS 11/11STEP · STL
carrier
planetary-set-carrier
PASS 11/11STEP · STL
planet
planetary-set-planet
PASS 11/11STEP · STL

Assembled machine

FileKindSize
planetary-set.stepSTEP12.5 MB
planetary-set.stlSTL0.8 MB

Source

assembly.yaml (design contract)

Design intent

Planetary gear set with a fixed ring from sources/planetary-set-spec.md (authoritative, text only), built as seven separate solids from five part designs: a 150 x 150 x 5 base plate (the datum), a 48-tooth internal ring rigidly fixed on it, a 24-tooth sun and a D88 x 5 carrier turning about the common z axis, and three identical 12-tooth planets (one design placed three times) turning on the carrier at radius 36. Module 2, pressure angle 20 deg, zero profile shift; every external tooth is thinned 0.10 mm and every ring tooth space widened 0.05 mm at the pitch circle (circular backlash 0.20 mm at the sun meshes, 0.15 mm at the ring meshes). Every gear is phased as specified (sun, ring and carrier at 0 deg, every planet at 15 deg) so all six meshes engage. The sun is motor-driven; each planet follows the sun and the fixed ring through two epicyclic meshes relative to the carrier, and the free carrier is set by those loops. A sweep of the sun checks that the set turns with zero interference and a flank gap of at most 0.2 mm at the sun meshes; the evaluator measures the carrier ratio (carrier angle over sun angle) and the carrier angle after one sun revolution.

Gates

TierGateResultEvidence
Aparts_pass
Every part design passed its own 12 gates and has a handoff STEP
PASSresults/build123d/planetary-set/parts.json designs.<design>.gates_ok: planetary-set-base=True, planetary-set-ring=True, planetary-set-sun=True, planetary-set-carrier=True, planetary-set-planet=True
Abom_complete
Every body of the bill of materials is in the export, once, with a placement
PASSresults/build123d/planetary-set/verify.json solid_count = 7 (expected 7); placements.missing = []; unmatched = []
Ajoint_fidelity
Every joint's child frame lies on its parent frame (axis, offset, rest angle)
PASSresults/build123d/planetary-set/verify.json joints.joints.<joint>.checks; failing: none
Aclearances
Static clearances and seats at rest
PASSresults/build123d/planetary-set/verify.json clearances.<name>; failing: none
Amotion_clear
Every drive moves through its range without interference; gears mesh; ratios match tooth counts
PASSresults/build123d/planetary-set/kinematics.json motions.<name>.max_interference: sunTurn=0
Afluid_domain
Each fluid region is one sealed piece within its volume band and agrees with the source's fluid body
n/aresults/build123d/planetary-set/domains.json fluids.<name>:
Bexport_agreement
Each exported body equals its part handoff x placement; the assembled envelope matches
PASSresults/build123d/planetary-set/verify.json agreement.bodies.<body>.volume_rel/hausdorff_mm; envelope.max_error = 0.0 (tol 0.1)
Bperformance
Every predicted observable meets the requirement the sources state over its numerical band (value +- 2 u_numerical)
PASSresults/build123d/planetary-set/simulate.json observables.<id>.requirement: carrierRatio=0.3333, carrierAt360=120
Bconservation
Energy, mass and force balances of every analysis close within their tolerance
n/aresults/build123d/planetary-set/simulate.json simulations.<id>.conservation:
Brefinement
Every prediction of a mesh ladder is resolved: all its levels finished and the grid-convergence index is within tolerance
n/aresults/build123d/planetary-set/simulate.json simulations.<id>.refinement.observables:
Csource_hygiene
The assembly source imports only its declared inputs, formats and lints clean
PASSresults/build123d/planetary-set/verify.json hygiene: cad_refs=[] truth_refs=[]; ruff format True, ruff check True
Cboundaries_complete
Every face of a bounded body carries exactly one named boundary
n/aresults/build123d/planetary-set/domains.json boundaries.<body>.unassigned/conflicts: none
Cprovenance
Stage JSONs carry provenance stamps; part handoffs are hash-bound; inputs carry provenance
PASSresults/build123d/planetary-set/<stage>.json provenance present for ['verify', 'kinematics', 'domains', 'simulate']; parts.json designs.<d>.step_sha256 present: True
Cevidence_separation
No worker-visible artefact reads truth; the assembly source only places declared inputs
PASSresults/build123d/planetary-set/verify.json hygiene.truth_refs = []

Bill of materials

BodyKindDesignMaterial
basemodelledplanetary-set-base
ringmodelledplanetary-set-ring
sunmodelledplanetary-set-sun
carriermodelledplanetary-set-carrier
planet1modelledplanetary-set-planet
planet2modelledplanetary-set-planet
planet3modelledplanetary-set-planet