// epicyclic.scad // an epicyclic gearbox, similar to a Rohloff or Shimano Nexus 11 // dimensions in millimetres, mostly from https://www.rohloff.de/en/service/handbook/speedhub/technical-data // (c) Simon Brooke 2025; CC-BY-SA include module epicyclic (olnd=135, disc=1) { body_width=116; spoke_flange_width=3.2; // axle color("grey") cylinder(h=(olnd + 12), r=6, center=true); // locknuts, etc color("black") cylinder(h=olnd, r=15, center=true); // epicyclic body color("red") cylinder(h=body_width, r=46, center=true); // spoke flanges. TODO: yes, they need spoke holes. translate([0, 0, (body_width/2) - spoke_flange_width]) color("red") cylinder(h=spoke_flange_width, r=54); translate([0, 0, 0 - (body_width/2)]) color("red") cylinder(h=spoke_flange_width, r=54); // primary chain sprocket, obvs translate([0, 0, 3 - (olnd/2)]) color("grey") sprocket(teeth=20, roller=7.9, pitch=12.7); translate([0, 0, 0 - ((body_width/2) - spoke_flange_width)]) color("grey") sprocket(teeth=30, roller=7.9, pitch=12.7); // disc brake, if present. TODO: details of disc spider if (disc==1) { translate([0, 0, (olnd/2) - 7]) color("silver") cylinder(h=1.5, r=75); } } // rotate([90, 0, 0]) // epicyclic();