Files
BoardGameInlets/BoxLid.scad
2026-04-23 21:49:30 +02:00

59 lines
1.1 KiB
OpenSCAD

include <BOSL2/std.scad>
// Parameter for console overwrite
b = 30.0;
t = 30.0;
module box(b, t) {
bInner = b - 10;
tInner = t - 10;
if (bInner >= 6 && tInner >= 6) {
difference() {
cube([ b, t, 2 ], 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, 2 ], false);
}
sideCut(b,t);
translate([b, 0, 0]) {
mirror([1, 0, 0]) {
sideCut(b,t);
}
}
}
module sideCut(b,t) {
difference() {
translate([0,0,2]) {
cube([3, 0.75 * t - 2.5,6.6], false);
}
translate([2.3,t/4+2,0.5]) {
rotate([-90,-90,0]) {
linear_extrude(0.5 * t) {
polygon(points=[[-1,-1], [-1,1], [7, 1], [5.1,-1]]);
}
}
}
}
translate([0,0,2]) {
cube([1.4, t, 3.4], false);
}
}
box(b, t);