y_scale = 0.5; // scale y/x
height = 2.5; // height of the rim
+slot_w = 1.5;
+side_hole_d = 2.0;
+
+thin_wall = 1;
+lever_l = 45;
+lever_h = 15.5;
+foam_h = 3;
+
module half(d_x, y_scale, height) {
hull($fn = 128) {
scale([1, (d_x*y_scale+height)/(d_x+height), 1])
half(d_x, y_scale, height);
translate([0, 0, height]) scale([1, 1, -1])
half(d_x, y_scale, height);
+ // lever
+ hull() {
+ translate([-lever_h, 0, 0])
+ cube([lever_h, eps, thin_wall]);
+ translate([-foam_h, -lever_l, 0])
+ cube([foam_h, eps, thin_wall]);
+ }
}
translate([0, 0, -eps])
cylinder(r = center_hole_d/2, h = height + 2*eps);
+ translate([-slot_w/2, d_x*y_scale/2, -eps])
+ cube([slot_w, height, height + 2*eps]);
+ translate([0, center_hole_d/2 + (d_x*y_scale/2-center_hole_d/2)/2, -eps])
+ cylinder(r = side_hole_d/2, h = height + 2*eps);
}
}
-pulley(d_x = 15, y_scale = 0.5, height=2.5, center_hole_d = 3);
+pulley(d_x = 30, y_scale = 0.4, height=3, center_hole_d = 2.5);
-translate([0, 20, 0])
-pulley(d_x = 30, y_scale = 0.5, height=2.5, center_hole_d = 5);
+// translate([0, 20, 0])
+// pulley(d_x = 35, y_scale = 0.4, height=2.5, center_hole_d = 8);