use $fn=180; module smallGears(){ gear( number_of_teeth = 9, circular_pitch=250, pressure_angle=25, clearance=0.5, gear_thickness=2, rim_thickness=2.5, rim_width=3, hub_thickness=0, hub_diameter=0, bore_diameter=4.15, circles=0); translate([20,0,0]) gear( number_of_teeth = 9, circular_pitch=250, pressure_angle=25, clearance=0.5, gear_thickness=2, rim_thickness=2.5, rim_width=3, hub_thickness=0, hub_diameter=0, bore_diameter=4.15, circles=0); } module FourSmallGears(){ smallGears(); translate([0,25,0]) smallGears(); } module mold(){ translate([0,-20,0]) cube([175,85,10]); translate([0,-20,10]) cube([175,10,5]); translate([0,55,10]) cube([175,10,5]); translate([0,-20,10]) cube([10,85,5]); } module dots(){ translate([15,50,10]) cylinder(h=2.5, r=2.5); translate([15,25,10]) cylinder(h=2.5, r=2.5); translate([15,0,10]) cylinder(h=2.5, r=2.5); translate([55,0,10]) cylinder(h=2.5, r=2.5); translate([55,25,10]) cylinder(h=2.5, r=2.5); translate([55,50,10]) cylinder(h=2.5, r=2.5); translate([35,50,10]) cylinder(h=2.5, r=2.5); translate([35,0,10]) cylinder(h=2.5, r=2.5); } module under_dots(){ difference(){ mold(); translate([60,0,-2.5]) dots(); } } module inside(){ translate([25,10,10]) FourSmallGears(); } translate([60,-20,10]) cube([10,85,5]); module inside2(){ translate([60,0,0]) inside(); translate([70,11.5,10]) rotate(a=[0,90,0]) cylinder(h=10, r=1); translate([110,11.5,10]) rotate(a=[0,90,0]) cylinder(h=10, r=1); translate([70,36.5,10]) rotate(a=[0,90,0]) cylinder(h=10, r=1); translate([110,36.5,10]) rotate(a=[0,90,0]) cylinder(h=10, r=1); } translate([120,-20,10]) cube([10,75,5]); inside(); inside2(); under_dots(); dots(); translate([165,-10,10]) cube([10,75,5]); translate([147.5,37,12]) gear( number_of_teeth = 25, circular_pitch=200, pressure_angle=15, gear_thickness=2.4, rim_thickness=2, rim_width=2.4, hub_diameter=3, circles=6); translate([147.5,7,12]) gear( number_of_teeth = 15, circular_pitch=250, pressure_angle=25, clearance=0.7, gear_thickness=1.5, rim_thickness=2.4, rim_width=2, hub_thickness=2, hub_diameter=1, bore_diameter=3, circles=5);