From 3aa38785a6c8eb8b74cef4d9e9694c07cb5960e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20Schr=C3=B6ter?= Date: Tue, 31 Mar 2026 11:53:09 +0200 Subject: [PATCH] Standard box set standard box without seperation --- Box.scad | 125 +++++++++++++++++++++++----------------------------- BoxLid.scad | 52 ++++++++++++++++++++++ 2 files changed, 107 insertions(+), 70 deletions(-) create mode 100644 BoxLid.scad diff --git a/Box.scad b/Box.scad index c24f7e5..7603e82 100644 --- a/Box.scad +++ b/Box.scad @@ -1,85 +1,70 @@ include // Parameter for console overwrite -b = 58; -t = 3; -h = 88; -name = "Cards"; +b = 79.8; +t = 68.5; +h = 22.5; -module cardHolder(b, t, h, name) { +module box(b, t, h) { + difference() { + // base + cuboid([ b, t, h], anchor = [ -1, -1, -1 ],rounding = 1,edges = [ TOP, FRONT + LEFT, FRONT + RIGHT, BACK + LEFT, BACK + RIGHT ]); - // floor - bInner = b - 10; - tInner = t - 10; - if (bInner >= 6 && tInner >= 6) { - difference() { - cube([ b, t, 1.5 ], false); - bSpace = 5 + (((bInner + 2) % 8) / 2); - bAmount = (((bInner + 2) - bSpace + 5) / 8); - tSpace = 5 + (((tInner + 2) % 8) / 2); - tAmount = (((tInner + 2) - tSpace + 5) / 8); - for (i = [0:bAmount - 1], j = [0:tAmount - 1]) { - translate([ bSpace + i * 8, tSpace + j * 8, -1 ]) { - cube([ 6, 6, 3.5 ], false); - } + // 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); } } - } else { - cube([ b, t, 1.5 ], false); - } - - // left - translate([ 0, 0, 1.5 ]) { - cuboid([ 1.5, t, h - 1.5 ], anchor = [ -1, -1, -1 ], - rounding = min(10, t - 1.5), edges = FRONT + TOP); - } - - // right - translate([ b - 1.5, 0, 1.5 ]) { - cuboid([ 1.5, t, h - 1.5 ], anchor = [ -1, -1, -1 ], - rounding = min(10, t - 1.5), edges = FRONT + TOP); - } - - // back - translate([ 1.5, t - 1.5, 1.5 ]) { - cuboid([ 10, 1.5, h -1.5], anchor = [ -1, -1, -1 ], rounding = 5, - edges = RIGHT + TOP); - translate([ b - 13, 0, 0 ]) { - cuboid([ 10, 1.5, h - 1.5 ], anchor = [ -1, -1, -1 ], rounding = 5, - edges = LEFT + TOP); - } - translate([ 10, 0, 0 ]) { - difference() { - difference() { - cube([ b - 23, 1.5, h - 1 ], false); - translate([ 0, -1, 15 ]) { - cuboid([ b - 23, 3, h - 12 ], anchor = [ -1, -1, -1 ], - rounding = 10, edges = [ LEFT + BOTTOM, RIGHT + BOTTOM ]); - } - } - translate([ -1, -1, 35 ]) { cube([ b - 21, 3, h - 20 ], false); } + // right lower + translate([b, 0, 0]) { + mirror([1, 0, 0]) { + sideCut(b,t); } } - } - - // front - translate([ 1, 0, 1 ]) { - difference() { - cuboid([ 10, 1.5, h - 21 ], anchor = [ -1, -1, -1 ], rounding = 5, - edges = RIGHT + TOP); - translate([ 7.5, 0.4, 2.5 ]) { - rotate([ 0, -90, 90 ]) { - linear_extrude(height = 0.6) { - text(name, size = 5, font = "Arial:style=Bold"); - } + // right upper + translate([b, 0, h]) { + mirror([1, 0, 0]) { + mirror([0, 0, 1]) { + sideCut(b, t); } } } - translate([ b - 12, 0, 0 ]) { - cuboid([ 10, 1.5, h - 21 ], anchor = [ -1, -1, -1 ], rounding = 5, - edges = LEFT + TOP); - } } } -cardHolder(b + 5, t + 3, h + 4, name); +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 + 5, t + 3, h + 4); diff --git a/BoxLid.scad b/BoxLid.scad new file mode 100644 index 0000000..0546355 --- /dev/null +++ b/BoxLid.scad @@ -0,0 +1,52 @@ +include + +// Parameter for console overwrite +b = 79.8; +t = 68.5; + +module box(b, t) { + bInner = b - 10; + tInner = t - 10; + if (bInner >= 6 && tInner >= 6) { + difference() { + cube([ b, t, 1.5 ], false); + bSpace = 5 + (((bInner + 2) % 8) / 2); + bAmount = (((bInner + 2) - bSpace + 5) / 8); + tSpace = 5 + (((tInner + 2) % 8) / 2); + tAmount = (((tInner + 2) - tSpace + 5) / 8); + for (i = [0:bAmount - 1], j = [0:tAmount - 1]) { + translate([ bSpace + i * 8, tSpace + j * 8, -1 ]) { + cube([ 6, 6, 3.5 ], false); + } + } + } + } else { + cube([ b, t, 1.5 ], false); + } + sideCut(b,t); + translate([b, 0, 0]) { + mirror([1, 0, 0]) { + sideCut(b,t); + } + } +} + +module sideCut(b,t) { + difference() { + translate([0,0,1.5]) { + cube([3, 0.75 * t - 2.5,6.6], false); + } + translate([2.3,t/4+2,0]) { + rotate([-90,-90,0]) { + linear_extrude(0.5 * t) { + polygon(points=[[-1,-1], [-1,1], [7, 1], [5.1,-1]]); + } + } + } + } + translate([0,0,1.5]) { + cube([1.4, t, 3.4], false); + } +} + +box(b + 5, t + 3);