From 01a5768bbedadfe01fd7c27e703415d56d148187 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Tue, 27 Mar 2018 17:25:44 +0200 Subject: [PATCH] elliptical pulley --- pulley-elliptical.scad | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 pulley-elliptical.scad diff --git a/pulley-elliptical.scad b/pulley-elliptical.scad new file mode 100644 index 0000000..0329f10 --- /dev/null +++ b/pulley-elliptical.scad @@ -0,0 +1,35 @@ +infty = 100; +eps = 0.01; + +wall = 0.6; // minimum wall +d_x = 25; // inner diameter in the X axis +y_scale = 0.5; // scale y/x +height = 2.5; // height of the rim + +module half(d_x, y_scale, height) { + hull($fn = 128) { + scale([1, (d_x*y_scale+height)/(d_x+height), 1]) + cylinder(r = d_x/2 + height/2, h = eps); + translate([0, 0, height/2]) + scale([1, y_scale, 1]) + cylinder(r = d_x/2, h = eps); + } +} + +module pulley(d_x, y_scale, height, center_hole_d) { + difference() { + union() { + half(d_x, y_scale, height); + translate([0, 0, height]) scale([1, 1, -1]) + half(d_x, y_scale, height); + } + translate([0, 0, -eps]) + cylinder(r = center_hole_d/2, h = height + 2*eps); + } +} + +pulley(d_x = 15, y_scale = 0.5, height=2.5, center_hole_d = 3); + +translate([0, 20, 0]) +pulley(d_x = 30, y_scale = 0.5, height=2.5, center_hole_d = 5); + -- 2.43.0