cleanup & figures big & Tokens

This commit is contained in:
2026-05-07 10:29:33 +02:00
parent bd6ea68d9a
commit b83e268a56
10 changed files with 410 additions and 139 deletions

View File

@@ -1,85 +1,93 @@
include <BOSL2/std.scad>
// Parameter for console overwrite
b = 58;
t = 3;
h = 88;
x = 58;
y = 5;
z = 88;
name = "Cards";
module cardHolder(b, t, h, name) {
cardHolder(x + 5, y + 3, z + 4, name);
module cardHolder(x, y, z, name) {
// floor
bInner = b - 10;
tInner = t - 10;
if (bInner >= 6 && tInner >= 6) {
xInner = x - 10;
yInner = y - 10;
if (xInner >= 6 && yInner >= 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);
}
}
cube([ x, y, 1.5 ], false);
xSpace = 5 + (((xInner + 2) % 8) / 2);
xAmount = (((xInner + 2) - xSpace + 5) / 8);
ySpace = 5 + (((yInner + 2) % 8) / 2);
yAmount = (((yInner + 2) - ySpace + 5) / 8);
for (i = [0:xAmount - 1], j = [0:yAmount - 1]) translate([ xSpace + i * 8, ySpace + j * 8, -1 ]) cube([ 6, 6, 3.5 ], false);
}
} else {
cube([ b, t, 1.5 ], false);
}
} else cube([ x, y, 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);
}
translate([ 0, 0, 1.5 ]) cuboid(
[ 1.5, y, z - 1.5 ],
anchor = [ -1, -1, -1 ],
rounding = min(10, y - 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);
}
translate([ x - 1.5, 0, 1.5 ]) cuboid(
[ 1.5, y, z - 1.5 ],
anchor = [ -1, -1, -1 ],
rounding = min(10, y - 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); }
}
translate([ 1.5, y - 1.5, 1.5 ]) {
cuboid(
[ 10, 1.5, z -1.5],
anchor = [ -1, -1, -1 ],
rounding = 5,
edges = RIGHT + TOP
);
translate([ x - 13, 0, 0 ]) cuboid(
[ 10, 1.5, z - 1.5 ],
anchor = [ -1, -1, -1 ],
rounding = 5,
edges = LEFT + TOP
);
translate([ 10, 0, 0 ]) difference() {
cube([ x - 23, 1.5, z - 1 ], false);
translate([ 0, -1, 15 ]) cuboid(
[ x - 23, 3, z - 12 ],
anchor = [ -1, -1, -1 ],
rounding = 10,
edges = [ LEFT + BOTTOM, RIGHT + BOTTOM ]
);
translate([ -1, -1, 35 ]) cube([ x - 21, 3, z - 20 ], false);
}
}
// 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");
}
}
}
}
translate([ b - 12, 0, 0 ]) {
cuboid([ 10, 1.5, h - 21 ], anchor = [ -1, -1, -1 ], rounding = 5,
edges = LEFT + TOP);
cuboid(
[ 10, 1.5, z - 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");
}
translate([ x - 12, 0, 0 ]) cuboid(
[ 10, 1.5, z - 21 ],
anchor = [ -1, -1, -1 ],
rounding = 5,
edges = LEFT + TOP
);
}
}
cardHolder(b + 5, t + 3, h + 4, name);