sixteenmillimeter-tools/models/elmo_cl_sprocketed_roller_s.../elmo_cl_sprocketed_roller_s...

44 lines
1.3 KiB
OpenSCAD

/**
* Elmo-CL Sprocketed Roller Disc
**/
time = 0;
module elmo_cl_sprocketed_roller_sprocket_disc () {
SPROCKETS = 12;
OUTER_D = 28.54;
INNER_D = 14;
H = 1;
SPROCKET_H = 0.9;
SPROCKET_W = 0.79;
SPROCKET_L = 0.99;
$fn = 200;
//sub module
module sprocket () {
$fn = 40;
//cube([SPROCKET_L, SPROCKET_W, SPROCKET_H], center = true);
translate ([0, 0, -SPROCKET_H/2]) {
difference () {
translate([0, 0, 0]) scale([1, 1, 2.25]) rotate([90, 0, 90]) cylinder(r = SPROCKET_W/2, h = SPROCKET_L, center = true);
translate([0, 0, -1]) cube([2, 2, 2], center = true);
translate([1.5, 0, 0]) rotate([0, -5, 0]) cube([2, 2, 2], center = true);
translate([-1.5, 0, 0]) rotate([0, 5, 0]) cube([2, 2, 2], center = true);
}
}
}
difference() {
cylinder(r = OUTER_D / 2, h = H, center = true);
cylinder(r = INNER_D / 2, h = H + 1, center = true);
translate([7 + 1.5, 0, 0]) cylinder(r = 2 / 2, h = H + 1, center = true, $fn = 30);
}
for (i = [0: SPROCKETS - 1]) {
rotate([0, 0, (i * (360 / SPROCKETS)) + (360 / (SPROCKETS * 2))]) translate([OUTER_D /2 + 0.4, 0, 0]) rotate([0, 90, 0]) sprocket();
}
}
rotate([0, 0, time]) elmo_cl_sprocketed_roller_sprocket_disc ();