]> www.fi.muni.cz Git - things.git/commitdiff
sponge holder - 2 layers
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 14 Mar 2024 22:53:46 +0000 (23:53 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 14 Mar 2024 22:53:46 +0000 (23:53 +0100)
sponge-holder.scad

index 12504e547d274c0d7edeedca4358154d032815ff..fa0d72972352f5113b2d99e8bf452e59b01a381e 100644 (file)
@@ -6,13 +6,13 @@ h_tube_d = 45;
 x_off = 25;
 
 sponge_l = 55; // original size is 85 + 5;
-sponge_w = 58 + 10;
+sponge_w = 58 + 5;
 sponge_h = 30 + 5;
 
-wall = 0.45;
+wall = 0.90;
 
 clip_h = 20;
-clip_w = 3;
+clip_w = 3.5;
 
 module clip() {
        difference() {
@@ -58,25 +58,43 @@ module perf_wall(w, h, d, hx, hy, dx, dy, side) {
                cube([w, side, d]);
 }
 
+round_aspect = 0.5;
+module round_side(h, w, wall) {
+       difference() {
+               scale([1, round_aspect, 1])
+                       cylinder(r = w/2 + wall , h = h, $fn = 128);
+               translate([0, 0, -eps])
+                       scale([1, (w/2)*round_aspect/(w/2+wall), 1])
+                       cylinder(r = w/2, h = h + 2*eps, $fn = 128);
+               translate([-infty/2, -infty, -infty/2]) cube(infty);
+       }
+}
+
 module box() {
        for (x = [0, sponge_h + wall]) translate([x + wall/2, 0, (sponge_l+wall)/2])
        rotate([0, 90, 0])
        perf_wall(h = sponge_w + 2*wall, w = sponge_l + wall, d = wall,
-               hx = 20, hy = 10, dx = 10, dy = 10, side=2);
+               hx = 20, hy = 10, dx = 10, dy = 10, side=3);
 
+       for (y = [-1, 1]) scale ([1, y, 1])
+       translate([sponge_h/2+wall, sponge_w/2+wall/2, 0])
+       round_side(h = sponge_l+wall, w = sponge_h, wall = wall);
+/*
        for (y = [-1, 1]) scale ([1, y, 1])
        translate([sponge_h/2+wall, sponge_w/2+wall/2, (sponge_l+wall)/2])
        rotate([90, 0, 0])
        perf_wall(w = sponge_h + 2*wall, h = sponge_l + wall, d = wall,
-               hy = 20, hx = 10, dx = 10, dy = 10, side=2);
+               hy = 20, hx = 10, dx = 10, dy = 10, side=3);
+*/
 
        for (y = [-sponge_w/4, 0, sponge_w/4])
        translate ([0, y, 0])
        // translate ([0, y, sponge_l])
-               cube([sponge_h + 2*wall, 0.86, 2]);
+               cube([sponge_h + 2*wall, 0.86, 3]);
 }
 
 module side_handlers() {
+       for (y=[-1,1]) scale([1, y, 1])
        hull() {
                translate([0, sponge_w/2-wall, 0])
                        cube([wall, 2*wall, clip_h]);
@@ -86,12 +104,14 @@ module side_handlers() {
                        cube([2*wall, 2*wall, clip_h]);
        }
 
+/*
        hull() {
                translate([0, -sponge_w/2-wall, 0])
                        cube([wall, 2*wall, clip_h]);
                translate([-x_off-v_tube_d/2, -v_tube_d/2-clip_w, 0])
                        cube([wall, wall, clip_h]);
        }
+*/
 
 }