About this project
A robot-arm elbow joint: three bevel gears on a central hub, a timing-belt pulley driving one side, generated ball bearings on both axes, and a two-piece arm hanging off the output.
What is in the assembly
- Gear set — left, right and free (output) bevel gears sharing the hub.
- Centre hub — the body the gears run in.
- Output group — the free gear and what it drives.
- Arm set — a hollow arm with a solid root section.
- Hardware — shafts, rod insert, side screws, idler pulley set.
The five visibility toggles turn each of those groups off independently, which is how you look inside without deleting anything. It is also the lever to reach for if the assembly is slow: 80 nodes with four bearing generators and three bevel gears is a heavy solve, and hiding the groups you are not working on makes the editor usable again.
How the model is driven
Everything hangs off the gear pitch radius. Set the gears and the rest of the assembly follows.
gearPitchR = gear_teeth * gear_module / 2 the master dimension
clearSpan = (gearPitchR - gear_height) * 2 between the gear inner faces
shaftSpan = (gearPitchR + pulley_width) * 2 overall shaft length
gearFaceR = gearPitchR - gear_height - gap / 2 running face radius
gearIndexAngle = 180 / gear_teeth half-tooth idler offset
The node parameters are written in terms of those five plus a set of plain radius helpers (shaftR, hubBoreR, rodInsertR, sideBearR, sideBoreR, outerBearR) and skinSpan. They live in the Derived group and are read-only in spirit: change the controls above them, not these. It means a hub height reads clearSpan + 2 rather than gear_od * 2 - gear_height * 2 + 2, and the same idiom is now spelled the same way everywhere it appears.
Heads-up on naming
gear_teethis the real tooth count and drivestoothCountdirectly. It used to be calledgear_odand held half the tooth count, which is why so many expressions had a stray factor of two in them.gear_moduleis new. It was a hard-coded 1 inside each gear node; exposing it means pitch radius follows the textbook formula and the whole assembly scales with tooth size.shaft_od,hub_bore_idandrod_insert_odare diameters. The*Rhelpers above are the halved versions, so no node has to remember to divide.hub_bore_idis not only a bore. It is added torod_insert_lengthto get the rod insert's total height, so widening the hub also lengthens the insert.rod_insert_length(wasrod_inster_length) just fixes a typo.side_skin_odis bound to no geometry and has been hidden.
Printing
One part per group. The bevel gears want to be printed teeth-up with no supports; the arm flat.