Files
BoardGameInlets/Box.scad
2026-05-07 14:53:47 +02:00

74 lines
1.5 KiB
OpenSCAD

include <BOSL2/std.scad>
// Parameter for console overwrite
x = 30.0;
y = 30.0;
z = 20.0;
box(x, y, z);
module box(x, y, z) {
difference() {
// base
cuboid(
[ x, y, z - 2],
anchor = [ -1, -1, -1 ],
rounding = 1,
edges = [
TOP,
FRONT + LEFT,
FRONT + RIGHT,
BACK + LEFT,
BACK + RIGHT
]
);
// inner
translate([ 5, 1.5, 1.5 ]) cuboid(
[ x - 10, y - 3, z - 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
]
);
sideCut(y); // left lower
translate([0, 0, z - 2]) mirror([0, 0, 1]) sideCut(y); // left upper
translate([x, 0, 0]) mirror([1, 0, 0]) sideCut(y); // right lower
translate([x, 0, z - 2]) mirror([1, 0, 0]) mirror([0, 0, 1]) sideCut(y); // right upper
}
}
module sideCut(y) {
translate([0,-1,0]) rotate([-90,-90,0]) linear_extrude(y/4+4) polygon(points=[
[-1,-1],
[-1,2.1],
[3.05, 2.1],
[6.35,-1]
]);
difference() {
translate([0,y/4+2,0]) rotate([-90,-90,0]) linear_extrude(0.75 * y) polygon(points=[
[-1,-1],
[-1,3.45],
[7.15, 3.45],
[11.45,-1]
]);
translate([2.45,0.75 * y - 2.4, 0]) rotate([90,-90,0]) linear_extrude(0.4 * y + 5) polygon(points=[
[-1,-1],
[-1,0.35],
[3.05, 0.35],
[4.65,-1]
]);
}
}