include // Parameter for console overwrite b = 178; t = 38; h = 20; module box(b, t, h) { difference() { difference() { // base cuboid([ b, t, h], anchor = [ -1, -1, -1 ],rounding = 1,edges = [ TOP, FRONT + LEFT, FRONT + RIGHT, BACK + LEFT, BACK + RIGHT ]); // inner translate([ 5, 1.5, 1.5 ]) { cuboid([ b - 10, t - 3, h - 0.5 ], anchor = [ -1, -1, -1 ], rounding = 8, edges = [ BOTTOM + FRONT, BOTTOM + LEFT, BOTTOM + BACK, BOTTOM + RIGHT, FRONT + LEFT, FRONT + RIGHT, BACK + LEFT, BACK + RIGHT ]); } } // left lower sideCut(b,t); // left upper translate([0, 0, h]) { mirror([0, 0, 1]) { sideCut(b, t); } } // right lower translate([b, 0, 0]) { mirror([1, 0, 0]) { sideCut(b,t); } } // right upper translate([b, 0, h]) { mirror([1, 0, 0]) { mirror([0, 0, 1]) { sideCut(b, t); } } } // clean area for card pocket translate([b- 79, -1, -1]) { cube([77.4, 13, 41], false); } } // deviders translate([150, 12, 1.5]) { cube([1, 24.5, 18.5], false); } translate([127, 12, 1.5]) { cube([1, 24.5, 18.5], false); } translate([104, 12, 1.5]) { cube([1, 24.5, 18.5], false); } translate([81, 1.5, 1.5]) { cube([1, 35, 18.5], false); } translate([58, 1.5, 1.5]) { cube([1, 35, 18.5], false); } // card pocket translate([b- 80, 0, ]) { difference() { cube([78.4, 12, 40], false); translate([1.5, -1, 1.5]) { cube([75.4, 11.5, 41], false); } } translate([1.5, 0, 1.5]) { cuboid([6, 1.5, 38.5], anchor = [-1, -1, -1], rounding = 5, edges = TOP + RIGHT); } translate([70.9, 0, 1.5]) { cuboid([6, 1.5, 38.5], anchor = [-1, -1, -1], rounding = 5, edges = TOP + LEFT); } translate([7.5, 0, 1.5]) { difference() { cube([63.4, 1.5, 11], false); translate([0, -1, 6]) { cuboid([63.4, 4.5, 6], anchor = [-1, -1, -1], rounding = 5, edges = [ BOTTOM + LEFT, BOTTOM + RIGHT]); } } } } } module sideCut(b,t) { translate([0,-1,0]) { rotate([-90,-90,0]) { linear_extrude(t/4+4) { polygon(points=[[-1,-1], [-1,1.6], [3.1, 1.6], [6.1,-1]]); } } } difference() { translate([0,t/4+2,0]) { rotate([-90,-90,0]) { linear_extrude(0.75 * t) { polygon(points=[[-1,-1], [-1,3.2], [6.9, 3.2], [11.2,-1]]); } } } translate([2.2,0.75 * t - 2.4, 0]) { rotate([90,-90,0]) { linear_extrude(0.4 * t + 5) { polygon(points=[[-1,-1], [-1,0.6], [3.3, 0.6], [4.9,-1]]); } } } } } box(b, t, h);