diff --git a/01_3D-Druck/README_3d-druck.md b/01_3D-Druck/README_3d-druck.md
index 231fd68..0d59569 100644
--- a/01_3D-Druck/README_3d-druck.md
+++ b/01_3D-Druck/README_3d-druck.md
@@ -30,7 +30,7 @@ Verankerung und Steckmechanik.
wiederverwendbar, korrigierbar, mehrsprachig; Pucks bleiben blanko. (Ø 37 ist kein
Avery-Standard — Bezugsquelle prüfen.)
- **Figuren werden gestellt/reingestellt** (Sockel Ø 20, kein Pin): am Puck in Mulden
- Ø 22, am Aktiv-Feld auf flachen Standfeldern Ø 18.
+ Ø 22, am Aktiv-Feld auf flachen Standfeldern Ø 22 (gleiche Größe).
- **Materialempfehlung:** PLA für Pucks/Aktiv-Feld/Chips (formstabil, günstig), PLA +
Gewichtseinlage (M8-Mutter) für den Action-Stein (Standfestigkeit mit aufrechter Karte).
diff --git a/01_3D-Druck/bauteile-masse.svg b/01_3D-Druck/bauteile-masse.svg
index 2ab02fd..aaefea2 100644
--- a/01_3D-Druck/bauteile-masse.svg
+++ b/01_3D-Druck/bauteile-masse.svg
@@ -129,7 +129,7 @@
R
-
+
A
@@ -144,7 +144,7 @@
~236
74 × 6 mm · R/C/I je 4 (2×2) · A = genau 1 (schematisch)
- Ø18 (A Ø22) · Pitch 24 (Sockel Ø20) · keine Löcher
+ Ø22 (alle gleich, wie Puck) · Pitch 24 (Sockel Ø20) · keine Löcher
diff --git a/01_3D-Druck/materialliste.md b/01_3D-Druck/materialliste.md
index 7b8bf25..8d6ccc3 100644
--- a/01_3D-Druck/materialliste.md
+++ b/01_3D-Druck/materialliste.md
@@ -14,7 +14,7 @@ Stand: 2026-06-04 · Maße in mm · Mengen für **ein** Workshop-Set.
(Spielfläche Ø 90). Keine Verankerung Ø60, keine Steckverbindung mehr.
- **Figuren-Platzierung:** Figuren werden **gestellt/reingestellt** (flacher Standfuß
**Ø 20 mm**, kein Pin). Am **Puck** in **Mulden Ø 22 × 1,5 mm** (reinstellbar), am
- **Aktiv-Feld** auf flachen **Standfeldern Ø 18** (Gravur ~0,6 mm).
+ **Aktiv-Feld** auf flachen **Standfeldern Ø 22** (wie Puck-Mulden, Gravur ~0,6 mm).
- **Beschriftung:** **Rundetikett Ø 37** in der Mittenmulde Ø 37,5. Keine Gravur —
ID/Farbe trägt das Etikett. (Ø 37 ist kein Avery-Standard — Avery rund = 30/40;
Bezugsquelle vor Kauf prüfen, ggf. anderer Hersteller oder Print-&-Cut.)
@@ -96,9 +96,9 @@ Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwort
| Merkmal | Wert |
|---------|------|
-| Grundkörper | **~236 × 74 × 6 mm**, Ecken r5 |
-| Bereiche | **R · A · C · I** — 4 abgetrennte Felder (eingravierte Umrandung), symmetrisch |
-| Standfelder | R / C / I: je 4 (2×2) · A: genau 1 (Ø 22) = **13**; Markierung Ø 18, Pitch 24 |
+| Grundkörper | **120 × 120 × 6 mm**, Ecken r5 (quadratisches 2×2-Raster) |
+| Bereiche | **2×2-Matrix:** oben **R \| A**, unten **C \| I** (eingravierte Umrandung), 4 gleich große Felder |
+| Standfelder | R / C / I: je 4 (2×2) · A: genau 1 = **13**; alle Markierung Ø 22 (wie Puck), Pitch 24 |
| Gravur | Feld-Umrandung 0,6 mm + Zonen-Buchstabe R / A / C / I, Tiefe 0,8 mm |
| Menge | **1** (ggf. 2 bei parallelen Tischen) |
| Material | PLA, Infill 20 % |
@@ -120,7 +120,7 @@ Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwort
| Merkmal | Wert |
|---------|------|
| Form | Figur **Höhe ~50 mm**, **flacher Standfuß (kein Pin)** |
-| Standfläche | rund **Ø 20 mm** (passt in Puck-Mulde Ø 22 und auf Aktiv-Feld Ø 18) |
+| Standfläche | rund **Ø 20 mm** (passt in Puck-Mulde Ø 22 und Aktiv-Feld-Standfeld Ø 22) |
| Codierung | Farbe je **Kategorie** (6): Governance Gold · Umfeld/Auftraggeber Bordeaux · Management Blau · Operative Grau · Externe Weiß · Teams Grün |
| Team-Sonderfiguren | mehrere Mini-Figuren auf einem Sockel (Betrieb, Support, Projekt) |
| Menge | je Figur 2× → **32** Einzelrollen (16 × 2) + **6** Team-Figuren (3 × 2) = **38** |
diff --git a/01_3D-Druck/openscad/aktiv-feld.scad b/01_3D-Druck/openscad/aktiv-feld.scad
index 1278ee6..00868a8 100644
--- a/01_3D-Druck/openscad/aktiv-feld.scad
+++ b/01_3D-Druck/openscad/aktiv-feld.scad
@@ -1,6 +1,9 @@
-// Aktiv-Feld — RACI-Fläche (Figuren werden GESTELLT, nicht gesteckt)
+// Aktiv-Feld — RACI-Flaeche (Figuren werden GESTELLT, nicht gesteckt)
// SLC-Workshop Tabletop · Einheiten: mm
-// Eine flache Platte mit 4 abgetrennten Bereichen R · A · C · I (gleich gross).
+// QUADRATISCHES 2x2-Zonenraster (wie die klassische RACI-Matrix):
+// R | A
+// --+--
+// C | I
// R/C/I haben je 4 Standflaechen (2x2). A hat GENAU EIN zentrales Standfeld
// (goldene RACI-Regel: genau eine Rolle ist Accountable).
// Standflaechen sind nur flache Gravur-Markierungen (keine Loecher).
@@ -11,46 +14,49 @@ corner_r = 5;
plate_margin = 6; // Rand aussen
/* [Standflaechen] (flache Markierung, kein Loch) — passend zum Sockel Ø20 */
-spot_d = 18; // Durchmesser der Markierung (etwas < Sockel Ø20)
+spot_d = 22; // Durchmesser wie die Puck-Mulden (gleiche Ø20-Figuren stehen hier)
spot_depth = 0.6; // Gravurtiefe
-spot_pitch = 24; // Mitte-zu-Mitte (Sockel Ø20 + ~4 mm Luft)
-grid_cols = 2; // Raster fuer R/C/I: 2 x 2 = 4 Standflaechen
-grid_rows = 2;
-a_spot_d = 22; // A: EIN groesseres zentrales Standfeld (genau 1 Figur)
+spot_pitch = 24; // Mitte-zu-Mitte (Sockel Ø20 + Luft)
+a_spot_d = spot_d; // A: GLEICHE Groesse wie die anderen — nur die Anzahl (genau 1) zaehlt
-/* [Bereiche / Zonen] — [Label, cols, rows]; A = 1x1 (goldene RACI-Regel) */
-zones = [["R", 2, 2], ["A", 1, 1], ["C", 2, 2], ["I", 2, 2]];
+/* [Zonen] — [Label, cols, rows, gridX, gridY]; gridY 0 = oben */
+zones = [["R", 2, 2, 0, 0], ["A", 1, 1, 1, 0],
+ ["C", 2, 2, 0, 1], ["I", 2, 2, 1, 1]];
+n_cols = 2;
+n_rows = 2;
cell_pad = 13; // Rand um die Standflaechen im Feld (haelt Ø20-Sockel)
-label_h = 12; // Platz fuer den Buchstaben unten im Feld
zone_gap = 8; // Abstand zwischen den Feldern
/* [Gravur] */
frame_w = 1.5; // Strichstaerke der Feld-Umrandung
frame_depth = 0.6;
-label_size = 10;
+label_size = 8; // Buchstabe sitzt in der Mittenluecke zwischen den 4 Feldern
label_depth = 0.8;
$fn = 48;
// --- abgeleitete Maße -------------------------------------------------------
-spots_span_x = (grid_cols - 1) * spot_pitch;
-spots_span_y = (grid_rows - 1) * spot_pitch;
-cell_w = spots_span_x + 2 * cell_pad; // 21
-cell_h = spots_span_y + 2 * cell_pad + label_h; // 30
-plate_w = len(zones) * cell_w + (len(zones) - 1) * zone_gap + 2 * plate_margin;
-plate_h = cell_h + 2 * plate_margin;
+// QUADRATISCHE Zellen (Buchstabe in der Mittenluecke, kein Extra-Streifen).
+spots_span = (2 - 1) * spot_pitch; // 24 (2x2-Raster)
+cell_w = spots_span + 2 * cell_pad; // 50
+cell_h = cell_w; // 50 -> Platte wird quadratisch
-function zone_cx(i) =
- -plate_w/2 + plate_margin + cell_w/2 + i * (cell_w + zone_gap);
+plate_w = n_cols * cell_w + (n_cols - 1) * zone_gap + 2 * plate_margin; // 120
+plate_h = n_rows * cell_h + (n_rows - 1) * zone_gap + 2 * plate_margin; // 120
+
+function zone_cx(gx) =
+ -plate_w/2 + plate_margin + cell_w/2 + gx * (cell_w + zone_gap);
+function zone_cy(gy) =
+ plate_h/2 - plate_margin - cell_h/2 - gy * (cell_h + zone_gap);
// --- Geometrie --------------------------------------------------------------
module rrect(l, w, h, r) {
linear_extrude(h) offset(r) offset(-r) square([l, w], center = true);
}
-module field_frame(cx) {
+module field_frame(cx, cy) {
// eingravierte Umrandung -> grenzt den Bereich ab
- translate([cx, 0, plate_thick - frame_depth])
+ translate([cx, cy, plate_thick - frame_depth])
linear_extrude(frame_depth + 0.1)
difference() {
square([cell_w, cell_h], center = true);
@@ -58,41 +64,42 @@ module field_frame(cx) {
}
}
-module zone_marks(i) {
- cx = zone_cx(i);
- lab = zones[i][0];
- nc = zones[i][1];
- nr = zones[i][2];
+module zone_marks(z) {
+ lab = z[0]; nc = z[1]; nr = z[2];
+ cx = zone_cx(z[3]); cy = zone_cy(z[4]);
if (lab == "A") {
- // genau EIN zentrales Standfeld (goldene RACI-Regel)
- translate([cx, label_h/2, plate_thick - spot_depth])
+ // genau EIN Standfeld (gleiche Groesse), leicht nach oben gerueckt; Buchstabe darunter
+ translate([cx, cy + 7, plate_thick - spot_depth])
cylinder(d = a_spot_d, h = spot_depth + 0.1);
+ translate([cx, cy - 13, plate_thick - label_depth])
+ linear_extrude(label_depth + 0.1)
+ text(lab, size = label_size, halign = "center", valign = "center");
} else {
+ // 2x2 Standfelder zentriert; Buchstabe in der Mittenluecke
for (c = [0 : nc - 1])
for (r = [0 : nr - 1]) {
sx = cx + (c - (nc - 1)/2) * spot_pitch;
- sy = label_h/2 + ((nr - 1)/2 - r) * spot_pitch;
+ sy = cy + ((nr - 1)/2 - r) * spot_pitch;
translate([sx, sy, plate_thick - spot_depth])
cylinder(d = spot_d, h = spot_depth + 0.1);
}
+ translate([cx, cy, plate_thick - label_depth])
+ linear_extrude(label_depth + 0.1)
+ text(lab, size = label_size, halign = "center", valign = "center");
}
- // Buchstabe unten im Feld
- translate([cx, -cell_h/2 + label_h/2, plate_thick - label_depth])
- linear_extrude(label_depth + 0.1)
- text(lab, size = label_size, halign = "center", valign = "center");
}
module aktiv_feld() {
difference() {
rrect(plate_w, plate_h, plate_thick, corner_r);
for (i = [0 : len(zones) - 1]) {
- field_frame(zone_cx(i));
- zone_marks(i);
+ z = zones[i];
+ field_frame(zone_cx(z[3]), zone_cy(z[4]));
+ zone_marks(z);
}
}
}
aktiv_feld();
-// Maße zur Info (Konsole): echo(plate_w, plate_h, plate_thick);
echo(plate_w = plate_w, plate_h = plate_h, plate_thick = plate_thick);