]> www.fi.muni.cz Git - things.git/blobdiff - pulley-elliptical.scad
printed objects
[things.git] / pulley-elliptical.scad
index 8dc2ba908b9c783ea8b806c07284d6a0e63fe749..66b3f1bb780c6f7efa5876e10afd2e10be8a6091 100644 (file)
@@ -9,6 +9,11 @@ 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])
@@ -25,18 +30,25 @@ module pulley(d_x, y_scale, height, center_hole_d) {
                        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);
+               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 = 6, y_scale = 2.5, height=2.5, center_hole_d = 2.5);
+pulley(d_x = 30, y_scale = 0.4, height=3, center_hole_d = 2.5);
 
-translate([0, 20, 0])
-pulley(d_x = 35, y_scale = 0.4, height=2.5, center_hole_d = 8);
+// translate([0, 20, 0])
+// pulley(d_x = 35, y_scale = 0.4, height=2.5, center_hole_d = 8);