From 38a9b39682b902189beb84a45773785de3b81998 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Fri, 20 Jan 2017 12:27:00 +0100 Subject: [PATCH] updated printed versions --- ikea-kitchen-bar.scad | 14 ++++++++------ towelbar-antislide.scad | 30 ++++++++++++++++-------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/ikea-kitchen-bar.scad b/ikea-kitchen-bar.scad index c41af48..d292598 100644 --- a/ikea-kitchen-bar.scad +++ b/ikea-kitchen-bar.scad @@ -4,22 +4,24 @@ infty=200; eps=0.01; bar_w = 3.5 + 0.7; -bar_h = 29.3 + 0.8; -bar_to_wall = 24; // incl. the bar itself +bar_h = 29.3 + 0.5; +bar_to_wall = 27; // incl. the bar itself wall = 3.1; upper_overhang = 10.0 - wall; -lower_overhang = 1.5; +lower_overhang = 2.0; body_h = 12; +clip_front = 5; // stronger than wall for this object + // coordinates: front end of the bar is the xz plane, centered by the x axis, // +x is the upper part, -x is lower, +y is front module clip() { // front part translate([-bar_h/2-wall, 0, 0]) - cube([bar_h + 2*wall, wall, body_h]); + cube([bar_h + 2*wall, clip_front, body_h]); // upper and lower horizontal bars for (x = [-1, 1]) scale([x, 1, 1]) translate([bar_h/2, -bar_w -wall, 0]) @@ -32,7 +34,7 @@ module clip() { difference() { cube([lower_overhang + wall, wall, body_h]); translate([lower_overhang + wall, 2*wall/3, 0]) - rotate([0, 0, -36]) + rotate([0, 0, -45]) translate([0, -infty/2, -infty/2]) cube(infty); } @@ -79,7 +81,7 @@ knifebar_rear_wall = 5; // top hull() { translate([-bar_h/2-wall, -bar_w -wall, 0]) - cube([wall, bar_w + 2*wall, body_h]); + cube([wall, bar_w + wall + clip_front, body_h]); translate([knifebar_x_off, knifebar_y_off-knifebar_rear_wall, 0]) cube([wall, -knifebar_y_off+wall+knifebar_rear_wall, body_h]); // translate([knifebar_x_off, knifebar_y_off-knifebar_rear_wall, 0]) diff --git a/towelbar-antislide.scad b/towelbar-antislide.scad index 538e86a..4a35d8a 100644 --- a/towelbar-antislide.scad +++ b/towelbar-antislide.scad @@ -2,20 +2,24 @@ infty=200; eps=0.01; bar_diam = 20; -body_h = 15; -body_l = 100; +body_h = 7; +body_l = 150; wall = 1.5; -spike_w = 1; -spike_l = 2; +spike_w_bot = 1; +spike_w_top = 6; +spike_l = 5; + +spike_count = 8; +spike_dist = body_l/(spike_count + 1); module spike() { hull() { - translate([-body_h/4, 0, -eps]) - cube([body_h/2, bar_diam/2+wall/2, eps]); - translate([-spike_w/2, 0, -body_h/2]) - cube([spike_w, bar_diam/2 + wall + spike_l, eps]); + translate([-spike_w_top/2, 0, body_h/2-eps]) + cube([spike_w_top, bar_diam/2+wall/2, eps]); + translate([-spike_w_bot/2, 0, -body_h/2]) + cube([spike_w_bot, bar_diam/2 + wall + spike_l, eps]); } } @@ -24,10 +28,8 @@ difference() { translate([-body_l/2, 0, 0]) rotate([0, 90, 0]) cylinder(r = bar_diam/2 + wall, h = body_l); - for (x = [-37.5:15:37.5]) - translate([x, 0, 0]) spike(); - for (x = [-45:15:45]) - translate([x, 0, 0]) scale([1, 1, -1]) spike(); + for (i = [-spike_count/2:1:spike_count/2]) + translate([i*spike_dist, 0, 0]) spike(); } // tube hole @@ -36,8 +38,8 @@ difference() { cylinder(r = bar_diam/2, h = body_l + 2*eps); // cut the bottom translate([-infty/2, -infty/2, -infty-body_h/2]) cube(infty); - // cut the bottom + // cut the top translate([-infty/2, -infty/2, body_h/2]) cube(infty); - // cut the bottom rear half + // cut the rear half translate([-infty/2, -infty, -infty/2]) cube(infty); } -- 2.43.0