From 79095ee16b0f3ed7b0ce3b3e0ee0f54c974354fe Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Wed, 7 Mar 2018 15:49:15 +0100 Subject: [PATCH] generic pulley --- pulley.scad | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 pulley.scad diff --git a/pulley.scad b/pulley.scad new file mode 100644 index 0000000..92c0584 --- /dev/null +++ b/pulley.scad @@ -0,0 +1,48 @@ +infty = 100; +eps = 0.01; + +diameter = 25; +thick = 2.5; +base_thick = 1.5; +d_minus = thick; // cca 45 deg + +center_hole_d = 3.5; +side_holes = 5; +side_hole_d = 5; + +cut_hole_d = 2; +cut_slot = 1; + +module body() { + cylinder(r1 = diameter/2, r2 = diameter/2-d_minus/2, h = thick/2 + eps); + translate([0, 0, thick/2-eps]) + cylinder(r2 = diameter/2, r1 = diameter/2-d_minus/2, h = thick/2 + eps); +} + +difference() { + body($fn = 128); + translate([0, 0, -eps]) + cylinder(r = center_hole_d/2, h = thick + 2*eps, $fn = 128); + if (side_holes > 0) + for (angle = [0:360/side_holes:360]) rotate([0, 0, angle+180/side_holes]) + translate([diameter/3 - d_minus + center_hole_d/2, 0, -eps]) + cylinder(r = side_hole_d/2, h = thick + 2*eps, $fn=128); + if (base_thick) + difference() { + translate([0, 0, base_thick]) + cylinder( + r1 = center_hole_d/2 + base_thick, + r2 = diameter/2-d_minus/2, + h = thick-base_thick+eps, $fn = 128); + translate([0, 0, base_thick-eps]) + cylinder(r1 = center_hole_d/2 + base_thick, + r2 = center_hole_d/2 + base_thick/2, + h = thick - base_thick + eps, $fn = 128); + } + if (cut_hole_d) { + translate([diameter/3-cut_hole_d/2, 0, -eps]) + cylinder(r = cut_hole_d/2, h = thick + 2*eps, $fn =128); + translate([diameter/2-d_minus/2, -cut_slot/2, -eps]) + cube([diameter/2, cut_slot, thick + 2*eps]); + } +} -- 2.43.0