$fn=32;
w = 5.3; // cog thickness
inner = 6; // fixed number
outer = 10; // adjust this number to the edge of the teeth so that it 'hides' the holes
screw = 1;
module mounts(screw, inner, outer){
// module for screw mounts
union(){
union(){
union(){
translate([inner,0,-2]) cylinder(outer, screw, screw);
translate([-inner,0,-2]) cylinder(outer, screw, screw);
}
translate([0,inner,-2]) cylinder(outer, screw, screw);
}
translate([0,-inner,-2]) cylinder(outer, screw, screw);
}
}
module disc(inner, outer){
// disc to 'cover' the gear library holes in your design
difference(){
cylinder(w, outer, outer);
cylinder(w, inner/2, inner/2);
}
}
module pully(inner, outer, r, w){
difference(){
difference(){
rotate_extrude(convexity = 10)
translate([outer + 2, w/2, 0])
circle(r);
rotate_extrude(convexity = 10)
translate([outer + (inner/2), w/2, 0])
circle(r);
}
translate([outer+0.5, 0, 2]) cylinder(10, 0.5, 0.5);
}
}
difference(){
union(){
pully(inner, outer, w/2, w);
disc(inner, outer);
}
mounts(screw, inner, outer);
}