diff --git a/enclosure/fabula_enclosure.scad b/enclosure/fabula_enclosure.scad index 39a9e5d..64fe089 100644 --- a/enclosure/fabula_enclosure.scad +++ b/enclosure/fabula_enclosure.scad @@ -1,8 +1,10 @@ // FABULA open source storyteller enclosure +// TODO: open hardware logo, Fabula logo, cutouts for components and buttons, tag slot with led mount + // Global dimensions, change here -width = 200; -height = 100; +width = 180; +height = 90; depth = 40; screw_diameter = 3; @@ -121,31 +123,39 @@ module cap() { } } // Lip - translate([0, 0, box_cut_height - 1]) { - intersection() { - difference() { - main_body(); - scale([0.96, 0.96, 0.96]) { - main_body(); - } - // Clear screws standoffs near curved edges - translate([width/2 - rounded_edge_diameter/2, -height/2, 0]) { - standoff(); - } - translate([-width/2 + rounded_edge_diameter/2, height/2, 0]) { - standoff(); - } - // Clear screws standoff near sharp edges - translate([-width/2, -height/2, 0]) { - standoff(); - } - translate([width/2, height/2, 0]) { - standoff(); + for (i = [0:10]) { + translate([0, 0, box_cut_height - i * 0.5]) { + intersection() { + difference() { + scale_ratio = 1 - i * 0.001; + scale([scale_ratio, scale_ratio, scale_ratio]) { + main_body(); + } + scale([0.95, 0.95, 0.95]) main_body(); + + /* + // Clear screws standoffs near curved edges + translate([width/2 - rounded_edge_diameter/2, -height/2, 0]) { + standoff(); + } + translate([-width/2 + rounded_edge_diameter/2, height/2, 0]) { + standoff(); + } + // Clear screws standoff near sharp edges + translate([-width/2, -height/2, 0]) { + standoff(); + } + translate([width/2, height/2, 0]) { + standoff(); + } + */ } + + cube([width*2, height*2, 0.5], true); } - cube([width*2, height*2, 3], true); } } } -closed_box(); \ No newline at end of file +//closed_box(); +cap();