adapt design to have text in second color
This commit is contained in:
2026-05-20 10:41:04 +02:00
parent 7ee5c48e98
commit 17f110f2bd
14 changed files with 261 additions and 140 deletions

View File

@@ -1,10 +1,11 @@
include <BOSL2/std.scad>
use <../Color.scad>
boxHelper(45, 39, 53, "Sensenmann", "Steintroll", "König Schleim");
translate([ 88.5, 39, 0 ]) zrot(180, cp=[0, 0, 0]) boxHelper(45, 39, 53, "Drache", "Gorgone", "Träumer");
boxHelper(45, 39, 53, "Drache", "Gorgone", "Träumer");
translate([ 91.5, 39, 0 ]) zrot(180, cp=[0, 0, 0]) boxHelper(48, 39, 53, "Sensenmann", "Steintroll", "König Schleim");
module boxHelper(x, y, z, frontName, middleName, backName) {
difference() {
makeColor("yellow") difference() {
cube([ x, y, z ], false);
translate([ 1.5, 1.5, 1.5 ]) cube([ x - 3, y - 3, z - 1 ], false);
@@ -24,18 +25,43 @@ module boxHelper(x, y, z, frontName, middleName, backName) {
for (i = [0:xAmount - 1], j = [0:yAmount - 1]) translate([ xSpace + i * 8, ySpace + j * 8, -1 ]) cube([ 6, 6, 3.5 ], false);
}
translate([ 0.6, 19.5, z / 2 ]) rotate([ 0, -90, 0 ]) linear_extrude(height = 1.6) text(
translate([ 1, y / 2, z / 2 ]) rotate([ 0, -90, 0 ]) linear_extrude(height = 1.2) text(
middleName,
size = 4,
font = "Arial:style=Bold",
halign="center"
);
}
makeColor("white") {
translate([ x / 2, 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
frontName,
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 1, y / 2, z / 2 ]) rotate([ 0, -90, 0 ]) linear_extrude(height = 0.2) text(
middleName,
size = 4,
font = "Arial:style=Bold",
halign="center"
);
zrot(180, cp=[ x / 2, y / 2, 0 ]) translate([ x / 2, 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
backName,
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
}
}
module window(x, y, z, frontName, backName) {
windowHelper(x, 0, z, frontName);
zrot(180, cp=[x, y / 2, 0]) windowHelper(x, 0, z, backName);
zrot(180, cp=[ x, y / 2, 0 ]) windowHelper(x, 0, z, backName);
}
module windowHelper(x, y, z, name) {
@@ -66,7 +92,7 @@ module windowHelper(x, y, z, name) {
);
}
translate([ x, y + 0.6, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ x, y + 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
name,
size = 4,
font = "Arial:style=Bold",

View File

@@ -1,5 +1,5 @@
33,31,29,Geister
26,82,25,Pilzknilche
36,51,27,Spinnen
33,45,34,Werwolf
37,45,33,Werwolf
21,53,35,Vampir

View File

@@ -1,28 +1,39 @@
include <BOSL2/std.scad>
use <../Color.scad>
difference() {
cube([ 175, 55, 37 ], false);
translate([ 1.5, 1.5, 1.5 ]) cube([ 172, 52, 36 ], false);
makeColor("yellow") {
difference() {
cube([ 175, 55, 37 ], false);
translate([ 1.5, 1.5, 1.5 ]) cube([ 172, 52, 36 ], false);
// windows
window(16.875, 55, 37, "Neuling");
window(49.5, 55, 37, "Krieger");
window(83.25, 55, 37, "Schurkin");
window(113.5, 55, 37, "Magier");
window(149.25, 55, 37, "Bogenschützin");
// windows
window(16.875, 55, 37, "Neuling");
window(49.5, 55, 37, "Krieger");
window(83.25, 55, 37, "Schurkin");
window(113.5, 55, 37, "Magier");
window(149.25, 55, 37, "Bogenschützin");
}
// deviders
translate([ 8.25, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 27.5, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 38, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 63, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 73.25, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 95.25, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 99.25, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 129.75, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 137.5, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 163, 1.5, 1.5]) cube([1, 52, 5.5], false);
}
// deviders
translate([ 8.25, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 27.5, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 38, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 63, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 73.25, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 95.25, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 99.25, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 129.75, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 137.5, 1.5, 1.5]) cube([1, 52, 5.5], false);
translate([ 163, 1.5, 1.5]) cube([1, 52, 5.5], false);
makeColor("white") {
nameHelper(16.875, "Neuling");
nameHelper(49.5, "Krieger");
nameHelper(83.25, "Schurkin");
nameHelper(113.5, "Magier");
nameHelper(149.25, "Bogenschützin");
}
module window(x, y, z, name) {
windowHelper(x, 0, z, name);
@@ -57,7 +68,17 @@ module windowHelper(x, y, z, name) {
);
}
translate([ x + 1.5, y + 0.6, 6 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ x + 1.5, y + 1, 6 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
name,
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
}
module nameHelper(x, name) {
translate([ x + 1.5, 1, 6 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
name,
size = 4,
font = "Arial:style=Bold",

View File

@@ -1,11 +1,70 @@
include <BOSL2/std.scad>
use <../Color.scad>
// Parameter for console overwrite
x = 172;
y = 84;
z = 35.5;
figureHolder(x, y, z);
makeColor("yellow") figureHolder(x, y, z);
makeColor("white") {
translate([ 94 / 2 + 32, 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
"Rattenvolk",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 43 / 2 + 127.5, 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
"Unholde",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 74 / 2 + 32, 1, 12 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
"Gnoll",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 63 / 2 + 104.5, 1, 12 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
"Skelette",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 54 / 2 + 32, 1, 20 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
"Echsenvolk",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 36 / 2 + 84.5, 1, 20 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
"Hexen",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 42 / 2 + 122, 1, 20 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
"Feen",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 32 / 2, 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
"Schleim",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
}
module figureHolder(x, y, z) {
difference() {
@@ -28,49 +87,49 @@ module figureHolder(x, y, z) {
for (i = [0:xAmount - 1], j = [0:yAmount - 1]) translate([ xSpace + i * 8, ySpace + j * 8, -1 ]) cube([ 6, 6, 3.5 ], false);
}
translate([ 94 / 2 + 32, 0.6, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ 94 / 2 + 32, 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
"Rattenvolk",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 43 / 2 + 127.5, 0.6, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ 43 / 2 + 127.5, 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
"Unholde",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 74 / 2 + 32, 0.6, 12 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ 74 / 2 + 32, 1, 12 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
"Gnoll",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 63 / 2 + 104.5, 0.6, 12 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ 63 / 2 + 104.5, 1, 12 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
"Skelette",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 54 / 2 + 32, 0.6, 20 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ 54 / 2 + 32, 1, 20 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
"Echsenvolk",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 36 / 2 + 84.5, 0.6, 20 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ 36 / 2 + 84.5, 1, 20 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
"Hexen",
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
translate([ 42 / 2 + 122, 0.6, 20 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ 42 / 2 + 122, 1, 20 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
"Feen",
size = 4,
font = "Arial:style=Bold",
@@ -99,8 +158,6 @@ module figureHolder(x, y, z) {
translate([ 127, 57, 0 ]) cube([ 1.5, 27, 6.5], false); // Feen
translate([ 128.5, 81.5, 0 ]) cube([ 42, 1.5, 6.5], false); // Feen
/*
*/
}
module window(x, y, z, name) {
@@ -136,7 +193,7 @@ module windowHelper(x, y, z, name) {
);
}
translate([ x, y + 0.6, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ x, y + 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
name,
size = 4,
font = "Arial:style=Bold",

View File

@@ -1,4 +1,5 @@
include <BOSL2/std.scad>
use <../Color.scad>
x = 28;
y = 29;
@@ -6,9 +7,18 @@ z = 28;
name = "Figure";
figureBox(x + 3, y + 3, z + 1.5, name);
makeColor("white") {
translate([ (x + 3) / 2, 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 0.2) text(
name,
size = 4,
font = "Arial:style=Bold",
halign="center",
valign="center"
);
}
module figureBox(x, y, z, name) {
difference() {
makeColor("yellow") difference() {
cube([ x, y, z ], false);
translate([ 1.5, 1.5, 1.5 ]) cube([ x - 3, y - 3, z - 1 ], false);
@@ -63,7 +73,7 @@ module windowHelper(x, y, z, name) {
);
}
translate([ x, y + 0.6, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.6) text(
translate([ x, y + 1, 4 ]) rotate([ 90, 0, 0 ]) linear_extrude(height = 1.2) text(
name,
size = 4,
font = "Arial:style=Bold",

View File

@@ -1,7 +1,8 @@
include <BOSL2/std.scad>
use <../Box-Lid.scad>
use <../Color.scad>
difference() {
makeColor("yellow") difference() {
union() {
boxLid(178, 38);
translate([ 92.95, 21.2, 0 ]) cube([ 85.1, 16.8, 2 ], false); // frame area around card pocket

View File

@@ -1,54 +1,57 @@
include <BOSL2/std.scad>
use <../Box.scad>
use <../Color.scad>
difference() {
box(178, 38, 20);
translate([96.75, -1, -1]) cube([79.4, 13, 41], false); // clean area for card pocket
}
// deviders
translate([154, 12, 1.5]) cube([1, 24.5, 16.5], false);
translate([129, 12, 1.5]) cube([1, 24.5, 16.5], false);
translate([104, 12, 1.5]) cube([1, 24.5, 16.5], false);
translate([79, 1.5, 1.5]) cube([1, 35, 16.5], false);
translate([54, 1.5, 1.5]) cube([1, 35, 16.5], false);
// card pocket
difference() {
translate([96.75, 0, 0]) {
difference() {
cube([79.4, 12, 40], false);
translate([1.5, -1, 1.5]) cube([76.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([71.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([64.4, 1.5, 11], false);
translate([0, -1, 6]) cuboid(
[64.4, 4.5, 6],
anchor = [-1, -1, -1],
rounding = 5,
edges = [
BOTTOM + LEFT,
BOTTOM + RIGHT
]
);
}
}
makeColor("yellow") {
difference() {
box(178, 38, 20);
translate([96.75, -1, -1]) cube([79.4, 13, 41], false); // clean area for card pocket
}
translate([178, 0, 0]) mirror([1, 0, 0]) sideCut(43);
// deviders
translate([154, 12, 1.5]) cube([1, 24.5, 16.5], false);
translate([129, 12, 1.5]) cube([1, 24.5, 16.5], false);
translate([104, 12, 1.5]) cube([1, 24.5, 16.5], false);
translate([79, 1.5, 1.5]) cube([1, 35, 16.5], false);
translate([54, 1.5, 1.5]) cube([1, 35, 16.5], false);
// card pocket
difference() {
translate([96.75, 0, 0]) {
difference() {
cube([79.4, 12, 40], false);
translate([1.5, -1, 1.5]) cube([76.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([71.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([64.4, 1.5, 11], false);
translate([0, -1, 6]) cuboid(
[64.4, 4.5, 6],
anchor = [-1, -1, -1],
rounding = 5,
edges = [
BOTTOM + LEFT,
BOTTOM + RIGHT
]
);
}
}
}
translate([178, 0, 0]) mirror([1, 0, 0]) sideCut(43);
}
}

View File

@@ -1,7 +1,8 @@
include <BOSL2/std.scad>
use <../Box.scad>
use <../Color.scad>
difference() {
makeColor("yellow") difference() {
difference() {
// base
cuboid(
@@ -24,8 +25,8 @@ difference() {
translate([ 178, 0, 29.5 ]) mirror([ 1, 0, 0 ]) mirror([ 0, 0, 1 ]) sideCut(43); // right upper
// inner
translate([ 6 , 19, 16.5 ]) rotate(90, [ 0, 1, 0 ]) cylinder(h = 51, r = 13, center = false); // Helden
translate([ 6 , 6, 16.5 ]) cube([ 51, 26, 15 ]); // Helden
translate([ 6 , 19, 16.5 ]) rotate(90, [ 0, 1, 0 ]) cylinder(h = 52, r = 13, center = false); // Helden
translate([ 6 , 6, 16.5 ]) cube([ 52, 26, 15 ]); // Helden
translate([ 59.5 , 19, 14 ]) rotate(90, [ 0, 1, 0 ]) cylinder(h = 21, r = 13, center = false); // Portale
translate([ 59.5 , 6, 16.5 ]) cube([ 21, 26, 15 ]); // Portale
translate([ 83 , 18.5, 14 ]) rotate(90, [ 0, 1, 0 ]) cylinder(h = 12, r = 13.5, center = false); // Rest rund