From: Jan "Yenya" Kasprzak Date: Thu, 14 Mar 2024 22:53:46 +0000 (+0100) Subject: sponge holder - 2 layers X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=1a81f36b32629ce62530dfeea8f461158582417d;p=things.git sponge holder - 2 layers --- diff --git a/sponge-holder.scad b/sponge-holder.scad index 12504e5..fa0d729 100644 --- a/sponge-holder.scad +++ b/sponge-holder.scad @@ -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]); } +*/ }