From: Jan "Yenya" Kasprzak Date: Thu, 6 May 2021 09:56:26 +0000 (+0200) Subject: sponge holder X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=1b38acdbdb51b49a733b51e434c73e4ec1a07496;hp=8d95356fd59024b16095e4f193b5e761442682f2;p=things.git sponge holder --- diff --git a/sponge-holder.scad b/sponge-holder.scad index f54ea65..3186ac9 100644 --- a/sponge-holder.scad +++ b/sponge-holder.scad @@ -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, -40]) + 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) { @@ -71,11 +76,19 @@ module box() { } 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]); }