// FABULA open source storyteller enclosure width = 120; height = 60; depth = 40; // Main body module main_body() { rounded_edge_diameter = height; module half_body() { cube([width - rounded_edge_diameter/2, height/2, depth]); cylinder(h = depth, d = rounded_edge_diameter, $fn=64); } union() { translate([-(width - rounded_edge_diameter)/2, 0, -depth/2]) { half_body(); } translate([(width - rounded_edge_diameter)/2, 0, -depth/2]) { mirror([1, 0, 0]) { mirror([0, 1, 0]) { half_body(); } } } } } difference() { main_body(); scale([0.9, 0.9, 0.9]) { main_body(); } }