]> www.fi.muni.cz Git - things.git/blobdiff - sponge-holder.scad
led strip ends
[things.git] / sponge-holder.scad
index f54ea65bbf1c70ccd7166ea5e0a957e82ad7faf1..55ff2cabf918c3be663eae3a89bf977616cf88ae 100644 (file)
@@ -1,29 +1,34 @@
 eps = 0.01;
 infty = 200;
 
-v_tube_d = 28.2 - 0.5;
+v_tube_d = 28.2 - 1;
 h_tube_d = 45;
 x_off = 35;
 
-sponge_l = 45; // original size is 85 + 5;
-sponge_w = 58 + 8;
-sponge_h = 30 + 3;
+sponge_l = 55; // original size is 85 + 5;
+sponge_w = 58 + 10;
+sponge_h = 30 + 5;
 
 wall = 1.5;
 
 clip_h = 15;
+clip_w = 4;
 
 module clip() {
        difference() {
-               cylinder(r = v_tube_d/2 + 2*wall, h = clip_h, $fn = 128);
+               cylinder(r = v_tube_d/2 + clip_w, h = clip_h, $fn = 128);
                translate([0, 0, -eps])
-               cylinder(r = v_tube_d/2 + wall, h = clip_h+2*eps);
-               translate([-infty-v_tube_d/5, -infty/2, -eps])
-                       cube(infty);
+               cylinder(r = v_tube_d/2, h = clip_h+2*eps);
+               intersection() {
+                       rotate([0, 0, -30])
+                               translate([-infty/2, 0, -eps]) cube(infty);
+                       rotate([0, 0, 40])
+                               translate([-infty/2, 0, -eps]) cube(infty);
+               }
        }
-       for (angle = [-1.5*72:72:1.5*72]) rotate([0, 0, angle])
-       translate([v_tube_d/2 + wall, 0, 0])
-               cylinder(r = wall, h = clip_h);
+       // for (angle = [-1.5*72:72:1.5*72]) rotate([0, 0, angle])
+       // translate([v_tube_d/2 + wall, 0, 0])
+       //      cylinder(r = wall, h = clip_h);
 }
 
 module perf_wall(w, h, d, hx, hy, dx, dy, side) {
@@ -66,16 +71,25 @@ module box() {
                hy = 20, hx = 10, dx = 3, dy = 2, side=2);
 
        for (y = [-sponge_w/4, 0, sponge_w/4])
-       translate ([0, y, sponge_l])
+       translate ([0, y, 0])
+       // translate ([0, y, sponge_l])
                cube([sponge_h + 2*wall, wall, wall]);
 }
 
 module side_handlers() {
-       for (y = [-1, 1]) scale ([1, y, 1])
        hull() {
                translate([0, sponge_w/2, 0])
                        cube([wall, wall, clip_h]);
-               translate([-v_tube_d/2-x_off, v_tube_d/2+wall, 0])
+               translate([-x_off-v_tube_d/2, 0, 0])
+               rotate([0, 0, 34])
+               translate([v_tube_d/2+clip_w-2*wall, -wall, 0])
+                       cube([2*wall, 2*wall, clip_h]);
+       }
+
+       hull() {
+               translate([0, -sponge_w/2-wall, 0])
+                       cube([wall, wall, clip_h]);
+               translate([-x_off-v_tube_d/2, -v_tube_d/2-clip_w, 0])
                        cube([wall, wall, clip_h]);
        }