From 111da30f7470f37bfde48c5e7a51743b2afc0653 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Tue, 25 Apr 2017 16:51:40 +0200 Subject: [PATCH] firefly q6 case --- firefly-q6-case.scad | 63 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 firefly-q6-case.scad diff --git a/firefly-q6-case.scad b/firefly-q6-case.scad new file mode 100644 index 0000000..acc8ef6 --- /dev/null +++ b/firefly-q6-case.scad @@ -0,0 +1,63 @@ +infty = 200; +eps = 0.01; + +wall = 1.5; + +body_l = 70 + 0.5; +body_w = 33 + 0.5; +body_h = 28 + 0.5; +corner_r = 8; +corner_side_h = 5; + +hook_w = 3.5; +hook_l = 6; +hook_hole_l = 2; +hook_hole_w = 1.5; + +// base plate +difference() { + hull() { + for (x = [-1, 1]) for (y = [-1, 1]) scale([x, y, 1]) + translate([body_l/2 - corner_r, + body_w/2 - corner_r, 0]) + cylinder(r = corner_r + wall, h = wall); + } + // translate([-body_l/2+corner_r + hook_l, -body_w/2+corner_r, -eps]) + // cube([body_l-2*corner_r-2*hook_l, body_w - 2*corner_r, wall +2*eps]); + translate([-body_l/2+corner_r, -body_w/2+corner_r, -eps]) + cube([body_l-2*corner_r, body_w - 2*corner_r, wall +2*eps]); +} + +// raised corner bottom +for (x = [-1, 1]) for (y = [-1, 1]) scale([x, y, 1]) + translate([body_l/2 - corner_r, + body_w/2 - corner_r, wall-eps]) + difference() { + cylinder(r = corner_r + wall, h = wall+eps); + translate([-infty, -infty/2, -infty/2]) cube(infty); + translate([-infty/2, -infty, -infty/2]) cube(infty); + } + + +// raised corner side +for (x = [-1, 1]) for (y = [-1, 1]) scale([x, y, 1]) + translate([body_l/2 - corner_r, + body_w/2 - corner_r, 2*wall-eps]) + difference() { + cylinder(r = corner_r + wall, h = corner_side_h+eps); + translate([0, 0,-eps]) + cylinder(r = corner_r, h = infty); + translate([-infty, -infty/2, -infty/2]) cube(infty); + translate([-infty/2, -infty, -infty/2]) cube(infty); + } + +// rubber band hooks +for (x = [-1, 1]) for (y = [-1, 1]) scale([x, y, 1]) + difference() { + translate([body_l/2 - corner_r - hook_l, + body_w/2 - corner_r, 0]) + cube([hook_l, hook_w + corner_r + wall, 2*wall]); + translate([body_l/2 - corner_r - hook_hole_l, + body_w/2 + wall, -eps]) + cube([hook_hole_l + eps, hook_hole_w, 2*wall+2*eps]); + } -- 2.43.0