Compare commits

..

No commits in common. "6c6ffffd1dcac7c60d3778be208e884f7ea5b330" and "01a5ecbdbb058084b4578032dc5d3e8fd58e01b3" have entirely different histories.

13 changed files with 77 additions and 131 deletions

View file

@ -19,7 +19,6 @@ Verankerung und Steckmechanik.
## Grundsätzliche Design-Entscheidungen ## Grundsätzliche Design-Entscheidungen
- **Ein Puck pro Station** (Ø 100 × 6 mm rund) statt eckigem Tile + separater Scheibe. - **Ein Puck pro Station** (Ø 100 × 6 mm rund) statt eckigem Tile + separater Scheibe.
Pucks werden lose zur Bahn ausgelegt (keine Magnete, keine Steckverbindung).
Der Puck vereint Stations-Markierung, Figuren-Standorte (7 Mulden) und Beschriftung Der Puck vereint Stations-Markierung, Figuren-Standorte (7 Mulden) und Beschriftung
in **einem** Teil → halb so viele Druckteile, keine Scheibe-Toleranz. in **einem** Teil → halb so viele Druckteile, keine Scheibe-Toleranz.
- **Ein Modell für die ganze Bahn:** Station- und Gate-Puck sind dasselbe STL — - **Ein Modell für die ganze Bahn:** Station- und Gate-Puck sind dasselbe STL —
@ -32,9 +31,8 @@ Verankerung und Steckmechanik.
Avery-Standard — Bezugsquelle prüfen.) Avery-Standard — Bezugsquelle prüfen.)
- **Figuren werden gestellt/reingestellt** (Sockel Ø 20, kein Pin): am Puck in Mulden - **Figuren werden gestellt/reingestellt** (Sockel Ø 20, kein Pin): am Puck in Mulden
Ø 22, am Aktiv-Feld auf flachen Standfeldern Ø 22 (gleiche Größe). Ø 22, am Aktiv-Feld auf flachen Standfeldern Ø 22 (gleiche Größe).
- **Materialempfehlung:** PLA für Pucks/Aktiv-Feld/Chips (formstabil, günstig). - **Materialempfehlung:** PLA für Pucks/Aktiv-Feld/Chips (formstabil, günstig), PLA +
- **Kein Action-Stein mehr:** Das Szenario (Action Card) liegt flach an der aktuellen Gewichtseinlage (M8-Mutter) für den Action-Stein (Standfestigkeit mit aufrechter Karte).
Station; die aktuelle Station führt die App / zeigen die gestellten Figuren.
## Drucker-Annahmen ## Drucker-Annahmen

View file

@ -144,7 +144,7 @@
<line x1="0" y1="92" x2="224" y2="92" class="dim"/> <line x1="0" y1="92" x2="224" y2="92" class="dim"/>
<text x="100" y="106" class="dimt">~236</text> <text x="100" y="106" class="dimt">~236</text>
<text x="0" y="128" class="lbl">74 × 6 mm · R/C/I je 4 (2×2) · A = genau 1 (schematisch)</text> <text x="0" y="128" class="lbl">74 × 6 mm · R/C/I je 4 (2×2) · A = genau 1 (schematisch)</text>
<text x="0" y="144" class="lbl">Ø22 (alle gleich, wie Puck) · Pitch 30 (Sockel Ø20) · keine Löcher</text> <text x="0" y="144" class="lbl">Ø22 (alle gleich, wie Puck) · Pitch 24 (Sockel Ø20) · keine Löcher</text>
</g> </g>
<!-- ============ ROLLEN-FIGUR (side) ============ --> <!-- ============ ROLLEN-FIGUR (side) ============ -->

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Before After
Before After

View file

@ -11,8 +11,7 @@ Stand: 2026-06-04 · Maße in mm · Mengen für **ein** Workshop-Set.
## Standard-Schnittstelle (für alle Teile gültig) ## Standard-Schnittstelle (für alle Teile gültig)
- **Station = Puck:** runde Scheibe **Ø 100 × 6 mm**, 5 mm Rand, leichte Einbuchtung - **Station = Puck:** runde Scheibe **Ø 100 × 6 mm**, 5 mm Rand, leichte Einbuchtung
(Spielfläche Ø 90). Keine Verankerung Ø60, keine Steckverbindung, keine Magnete — (Spielfläche Ø 90). Keine Verankerung Ø60, keine Steckverbindung mehr.
Pucks werden lose zur Bahn ausgelegt.
- **Figuren-Platzierung:** Figuren werden **gestellt/reingestellt** (flacher Standfuß - **Figuren-Platzierung:** Figuren werden **gestellt/reingestellt** (flacher Standfuß
**Ø 20 mm**, kein Pin). Am **Puck** in **Mulden Ø 22 × 1,5 mm** (reinstellbar), am **Ø 20 mm**, kein Pin). Am **Puck** in **Mulden Ø 22 × 1,5 mm** (reinstellbar), am
**Aktiv-Feld** auf flachen **Standfeldern Ø 22** (wie Puck-Mulden, Gravur ~0,6 mm). **Aktiv-Feld** auf flachen **Standfeldern Ø 22** (wie Puck-Mulden, Gravur ~0,6 mm).
@ -74,22 +73,24 @@ darauf die Stationen.
> über die **Entscheidungs-Chips** (§5). Das „Tor-Gefühl" entsteht durch Farbe + > über die **Entscheidungs-Chips** (§5). Das „Tor-Gefühl" entsteht durch Farbe +
> Icon + das Stellen der Pflicht-Figuren + den Chip-Moment. > Icon + das Stellen der Pflicht-Figuren + den Chip-Moment.
## 3. Szenario-Handling (kein 3D-Teil mehr) ## 3. Action-Stein (Szenario-Träger)
Der **Action-Stein ist entfallen.** Seine zwei Funktionen werden jetzt anders gelöst: | Merkmal | Wert |
|---------|------|
| Fuß | Ø 59 × 5 mm (steht **neben** dem aktiven Puck — keine Verankerung mehr nötig) |
| Körper | Zylinder Ø 35, Höhe 30 mm |
| Kartenschlitz | Breite 64 mm, Tiefe 4 mm, Höhe 25 mm (für Action Card **60 mm** breit) |
| Gewichtseinlage | Aussparung für M8-Mutter im Fuß (Kippschutz) |
| Stabilitäts-Option | zusätzlicher Standring Ø 70 mm, falls Karte zu kopflastig |
| Menge | **12** |
| Material | PLA, Infill ≥ 40 % + Metalleinlage |
- **Szenario tragen:** Die gezogene **Action Card** (aus [`../03_Karten/`](../03_Karten/)) > Der Stein-Fuß bleibt **außerhalb** des Pucks (markiert „wir sind hier" durch
liegt **flach an der aktuellen Station** und wandert mit der Gruppe die Bahn entlang — > Danebenstellen). Da er in keine Mulde mehr passen muss, ist der Fuß-Ø frei wählbar.
kein aufrechter Kartenträger nötig.
- **„Wir sind hier" markieren:** Die **Companion-App** führt die Stationsreihenfolge;
zusätzlich ist die aktuelle Station daran erkennbar, dass dort die **Rollen-Figuren**
stehen (7 Mulden am Puck). Optional reicht ein einfacher flacher Marker-Chip.
> **Kein Druckteil**, keine Metalleinlage, kein Kartenschlitz mehr.
## 4. Aktiv-Feld (RACI-Fläche) ## 4. Aktiv-Feld (RACI-Fläche)
Bleibt **unverändert** als separates, mobiles Board neben der aktuellen Station. Hier Bleibt **unverändert** als separates, mobiles Board neben dem Action-Stein. Hier
werden die beteiligten Rollen je Aktivität nach **RACI** gestellt — die 7 Mulden am werden die beteiligten Rollen je Aktivität nach **RACI** gestellt — die 7 Mulden am
Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwortung". Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwortung".
@ -97,7 +98,7 @@ Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwort
|---------|------| |---------|------|
| Grundkörper | **130 × 130 × 6 mm**, Ecken r5 (quadratisches 2×2-Raster) | | Grundkörper | **130 × 130 × 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 | | 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 (rechts oben) = **13**; alle Markierung Ø 22 (wie Puck), Pitch 30 | | 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 | | Gravur | Feld-Umrandung 0,6 mm + Zonen-Buchstabe R / A / C / I, Tiefe 0,8 mm |
| Menge | **1** (ggf. 2 bei parallelen Tischen) | | Menge | **1** (ggf. 2 bei parallelen Tischen) |
| Material | PLA, Infill 20 % | | Material | PLA, Infill 20 % |
@ -125,26 +126,6 @@ Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwort
| Menge | je Figur 2×**32** Einzelrollen (16 × 2) + **6** Team-Figuren (3 × 2) = **38** | | Menge | je Figur 2×**32** Einzelrollen (16 × 2) + **6** Team-Figuren (3 × 2) = **38** |
| Material | PLA, eingefärbt je Kategorie | | Material | PLA, eingefärbt je Kategorie |
## 7. Phasen-Ring (SLC-Übersicht ↔ Bahn-Köpfe)
Fünf 72°-Ringsegmente bilden **zusammengesteckt** den SLC-Übersichts-Donut (wie das
Konzept-Schaubild) und **auseinandergenommen** die farbigen **Phasen-Köpfe** der
linearen Puck-Bahn — das **Design-Segment ist der Start** vor dem ersten Puck.
| Merkmal | Wert |
|---------|------|
| Form | Ringsegment 72°, **Ø 180 außen / Ø 84 innen × 6 mm** |
| Beschriftung | **graviert**: nur Phasenname, mittig im Band (Größe 9, Tiefe 1,0); keine Sublabels/Icons |
| Farbe | je Phase (blau/orange/grün/teal/lila) — wie die Pucks |
| Verbindung | **keine** — Segmente werden lose aneinandergelegt (Ring oder Phasen-Köpfe) |
| Menge | **5** (1 je Phase) |
| Material | PLA, Infill 15 %, Filament je Phasenfarbe |
| Dateien | je Segment **eine** Datei: `phasen-ring-design/-transition/-operation/-support/-review.scad` (Geometrie in `phasen-ring.scad`) |
> **Druck:** je Segment die passende `phasen-ring-<phase>.scad` öffnen → F6 → STL.
> **Vorschau:** `phasen-ring.scad` direkt öffnen (Preview-Modus, nicht `--render`
> sonst eine Einheitsfarbe) zeigt den ganzen Ring.
--- ---
## Stückliste (Kurzfassung) ## Stückliste (Kurzfassung)
@ -153,7 +134,7 @@ linearen Puck-Bahn — das **Design-Segment ist der Start** vor dem ersten Puck.
|------|------:|-------| |------|------:|-------|
| Station-Puck | 37 | `openscad/puck.scad` (Phasenfarbe) | | Station-Puck | 37 | `openscad/puck.scad` (Phasenfarbe) |
| Gate-Puck | 3 | `openscad/puck.scad` (rot) | | Gate-Puck | 3 | `openscad/puck.scad` (rot) |
| Phasen-Ring-Segment | 5 | `openscad/phasen-ring-<phase>.scad` (je Phasenfarbe) | | Action-Stein | 2 | `openscad/action-stein.scad` |
| Aktiv-Feld (RACI-Fläche) | 1 | `openscad/aktiv-feld.scad` | | Aktiv-Feld (RACI-Fläche) | 1 | `openscad/aktiv-feld.scad` |
| Rollen-Figuren (Einzel) | 32 | 16 Rollen × 2 | | Rollen-Figuren (Einzel) | 32 | 16 Rollen × 2 |
| Team-Sonderfiguren | 6 | 3 Teams × 2 | | Team-Sonderfiguren | 6 | 3 Teams × 2 |
@ -169,7 +150,8 @@ linearen Puck-Bahn — das **Design-Segment ist der Start** vor dem ersten Puck.
- **Etikettenmulde Ø 37,5 × 0,3** — Rundetikett Ø37 (Puck-Rand bleibt sichtbar, - **Etikettenmulde Ø 37,5 × 0,3** — Rundetikett Ø37 (Puck-Rand bleibt sichtbar,
~3,3 mm Restwand zu den Figurenmulden). Maximal möglich wäre Ø40. ~3,3 mm Restwand zu den Figurenmulden). Maximal möglich wäre Ø40.
- **Keine** Verankerung Ø60, **keine** Puzzle-Tabs, **kein** Gate-Tor, **keine** - **Keine** Verankerung Ø60, **keine** Puzzle-Tabs, **kein** Gate-Tor, **keine**
Gate-Karte, **kein** Action-Stein mehr. Gate-Karte mehr.
- **Action-Stein-Kartenschlitz B 64** (für 60-mm-Karte).
## Hinweise für den Producer ## Hinweise für den Producer

View file

@ -6,10 +6,9 @@ Parametrische Quellmodelle der Schlüsselteile. In [OpenSCAD](https://openscad.o
| Datei | Bauteil | | Datei | Bauteil |
|-------|---------| |-------|---------|
| `puck.scad` | **Station-/Gate-Puck** (Ø100×6, 7 Figurenmulden Ø22, Etikettenmulde Ø37,5) | | `puck.scad` | **Station-/Gate-Puck** (Ø100, Rand + Einbuchtung, 7 Figurenmulden Ø22, Etikettenmulde Ø37,5) |
| `aktiv-feld.scad` | RACI-Fläche (R · A · C · I, 2×2) — separates mobiles Board, 130×130 | | `action-stein.scad` | Szenario-Träger mit Kartenschlitz + M8-Gewichtsaussparung (Fuß bleibt **außerhalb** des Pucks) |
| `phasen-ring.scad` | **Phasen-Ring (Bibliothek + Vorschau)** — gemeinsame Geometrie; direkt geöffnet = ganzer Ring | | `aktiv-feld.scad` | RACI-Fläche (R · A · C · I) — bleibt als separates mobiles Board |
| `phasen-ring-design.scad``-review.scad` | **5 druckfertige Einzelsegmente** (je `use <phasen-ring.scad>` + `phase_segment(idx)`) |
## Ein Puck für die ganze Bahn ## Ein Puck für die ganze Bahn

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,42 @@
// Action-Stein: Szenario-Traeger mit aufrechtem Kartenschlitz
// SLC-Workshop Tabletop · Einheiten: mm
/* [Fuss] */
foot_d = 59; // sitzt in Verankerung (Ø60)
foot_h = 5;
stand_ring = 70; // optionaler Standring fuer Kippstabilitaet
use_ring = true;
/* [Koerper] */
body_d = 35;
body_h = 30;
/* [Kartenschlitz] */
card_w = 64; // fuer Action Card 60 mm breit (zum Draufstecken)
card_t = 4; // Schlitzdicke
card_h = 25; // Einstecktiefe
/* [Gewichtseinlage M8] */
nut_af = 13; // Schluesselweite M8-Mutter
nut_h = 6.5;
$fn = 96;
module base() {
if (use_ring)
cylinder(d = stand_ring, h = 2);
translate([0,0,0]) cylinder(d = foot_d, h = foot_h);
}
module body() {
translate([0,0,foot_h]) cylinder(d = body_d, h = body_h);
}
difference() {
union() { base(); body(); }
// Kartenschlitz (zentriert in X, durch den Koerperkopf)
translate([-card_w/2, -card_t/2, foot_h + body_h - card_h])
cube([card_w, card_t, card_h + 1]);
// Gewichtsaussparung im Fuss (Sechskant fuer M8-Mutter)
translate([0, 0, -0.1])
cylinder(d = nut_af / cos(30), h = nut_h, $fn = 6);
}

View file

@ -1,5 +0,0 @@
// Phasen-Ring · Segment 1/5 DESIGN (blau)
// Druckfertig: F6 -> Datei/Export/STL. Filament: blau.
// Geometrie aus phasen-ring.scad (muss im selben Ordner liegen).
use <phasen-ring.scad>
phase_segment(0);

View file

@ -1,5 +0,0 @@
// Phasen-Ring · Segment 3/5 OPERATION (grün)
// Druckfertig: F6 -> Datei/Export/STL. Filament: grün.
// Geometrie aus phasen-ring.scad (muss im selben Ordner liegen).
use <phasen-ring.scad>
phase_segment(2);

View file

@ -1,5 +0,0 @@
// Phasen-Ring · Segment 5/5 REVIEW (lila)
// Druckfertig: F6 -> Datei/Export/STL. Filament: lila.
// Geometrie aus phasen-ring.scad (muss im selben Ordner liegen).
use <phasen-ring.scad>
phase_segment(4);

View file

@ -1,5 +0,0 @@
// Phasen-Ring · Segment 4/5 SUPPORT (teal)
// Druckfertig: F6 -> Datei/Export/STL. Filament: teal.
// Geometrie aus phasen-ring.scad (muss im selben Ordner liegen).
use <phasen-ring.scad>
phase_segment(3);

View file

@ -1,5 +0,0 @@
// Phasen-Ring · Segment 2/5 TRANSITION (orange)
// Druckfertig: F6 -> Datei/Export/STL. Filament: orange.
// Geometrie aus phasen-ring.scad (muss im selben Ordner liegen).
use <phasen-ring.scad>
phase_segment(1);

View file

@ -1,54 +0,0 @@
// Phasen-Ring Bibliothek + Vorschau
// SLC-Workshop Tabletop · Einheiten: mm
//
// 5 Segmente (Donut) als SLC-Uebersicht, die auseinandergenommen die Phasen-KOEPFE
// der linearen Puck-Bahn bilden (Design-Segment = Start vor dem ersten Puck).
// KEINE Magnete: Segmente werden lose aneinandergelegt.
//
// Diese Datei ist die GEMEINSAME GEOMETRIE. Druckfertige Einzelteile sind:
// phasen-ring-design.scad · -transition.scad · -operation.scad
// -support.scad · -review.scad (rufen nur phase_segment(idx) auf)
// Direkt geoeffnet zeigt diese Datei den kompletten Ring als VORSCHAU.
// --- Phasendaten (Funktionen -> per `use` importierbar) ---------------------
function ph_name(i) = ["DESIGN","TRANSITION","OPERATION","SUPPORT","REVIEW"][i];
// Phasenfarben (nur Vorschau; im Druck = Filament)
function ph_col(i) = [[0.16,0.44,0.69],[0.88,0.54,0.12],[0.23,0.62,0.29],
[0.12,0.62,0.62],[0.49,0.31,0.64]][i];
// --- Geometrie-Helfer -------------------------------------------------------
module ring_sector(a, r_out, r_in, seg_h) {
// Ringsegment ueber Winkel a, Bisektor zeigt nach +Y (oben)
a0 = 90 - a/2;
a1 = 90 + a/2;
big = r_out + 10;
intersection() {
difference() { // Annulus
cylinder(r = r_out, h = seg_h);
translate([0,0,-0.5]) cylinder(r = r_in, h = seg_h + 1);
}
linear_extrude(seg_h) // Tortenstueck
polygon([[0,0],
[big*cos(a0), big*sin(a0)],
[big*cos(90), big*1.2],
[big*cos(a1), big*sin(a1)]]);
}
}
// --- ein Segment (alle Masse als Parameter mit Defaults) --------------------
module phase_segment(idx,
r_out = 90, r_in = 42, seg_h = 6, seg_ang = 72, gap_deg = 1.2,
eng_depth = 1.0, name_size = 9) {
$fn = 96;
color(ph_col(idx))
difference() {
ring_sector(seg_ang - gap_deg, r_out, r_in, seg_h);
// Phasenname, mittig im Band (Radius ~66)
translate([0, (r_in + r_out)/2, seg_h - eng_depth])
linear_extrude(eng_depth + 0.1)
text(ph_name(idx), size=name_size, halign="center", valign="center");
}
}
// --- VORSCHAU (nur wenn diese Datei direkt geoeffnet wird; bei `use` ignoriert)
for (i = [0:4]) rotate([0,0, -i*72]) phase_segment(i);

View file

@ -7,10 +7,10 @@
// - Aussenrand Ø100, ~5 mm breit, bleibt auf voller Hoehe // - Aussenrand Ø100, ~5 mm breit, bleibt auf voller Hoehe
// - leichte Einbuchtung (Spielflaeche) innerhalb des Rands // - leichte Einbuchtung (Spielflaeche) innerhalb des Rands
// - Ring aus 7 Figurenmulden (Sockel Ø20 wird REINGESTELLT, daher Ø22) // - Ring aus 7 Figurenmulden (Sockel Ø20 wird REINGESTELLT, daher Ø22)
// - Mitte: flache Mulde fuer ein rundes Etikett Ø37 // - Mitte: flache Mulde fuer ein rundes Avery-Etikett Ø40 (Art. 5080 abloesbar)
// //
// KEINE Magnete / keine Kopplung: Pucks werden lose zur Bahn ausgelegt. // Beschriftung: KEINE Gravur. ID + Phasenfarbe via Avery-Etikett Ø40 in der Mitte
// Beschriftung: KEINE Gravur. ID/Phasenfarbe via Etikett Ø37 in der Mitte. // (wiederverwendbar/korrigierbar). Modell bleibt dadurch fuer alle 40 identisch.
/* [Puck] */ /* [Puck] */
puck_d = 100; // Aussendurchmesser puck_d = 100; // Aussendurchmesser
@ -48,9 +48,11 @@ module puck_blank() {
// --- eine Figurenmulde mit Einfuehr-Fase ------------------------------------ // --- eine Figurenmulde mit Einfuehr-Fase ------------------------------------
module figure_spot() { module figure_spot() {
// Boden der Mulde liegt spot_dep unter der Spielflaeche
z0 = play_z - spot_dep; z0 = play_z - spot_dep;
union() { union() {
translate([0, 0, z0]) cylinder(d = spot_d, h = spot_dep + 0.1); translate([0, 0, z0]) cylinder(d = spot_d, h = spot_dep + 0.1);
// Fase als Einfuehrhilfe oben
translate([0, 0, play_z - spot_lead]) translate([0, 0, play_z - spot_lead])
cylinder(d1 = spot_d, d2 = spot_d + 2*spot_lead, h = spot_lead + 0.1); cylinder(d1 = spot_d, d2 = spot_d + 2*spot_lead, h = spot_lead + 0.1);
} }
@ -60,18 +62,20 @@ module puck() {
difference() { difference() {
puck_blank(); puck_blank();
// Einbuchtung / Spielflaeche // Einbuchtung / Spielflaeche
translate([0, 0, play_z]) cylinder(d = play_d, h = recess_dep + 0.1); translate([0, 0, play_z])
cylinder(d = play_d, h = recess_dep + 0.1);
// 7 Figurenmulden im Ring // 7 Figurenmulden im Ring
for (i = [0 : spot_count - 1]) { for (i = [0 : spot_count - 1]) {
a = 360/spot_count * i; a = 360/spot_count * i;
translate([spot_ring_r*cos(a), spot_ring_r*sin(a), 0]) figure_spot(); translate([spot_ring_r*cos(a), spot_ring_r*sin(a), 0]) figure_spot();
} }
// Etikettenmulde Mitte // Etikettenmulde Mitte
translate([0, 0, play_z - label_dep]) cylinder(d = label_d, h = label_dep + 0.1); translate([0, 0, play_z - label_dep])
cylinder(d = label_d, h = label_dep + 0.1);
} }
} }
puck(); puck();
echo(puck_d = puck_d, puck_h = puck_h, spielflaeche = play_d, echo(puck_d = puck_d, spielflaeche = play_d, figurenplaetze = spot_count,
figurenplaetze = spot_count, spot_d = spot_d, etikett_mulde = label_d); spot_d = spot_d, ring_r = spot_ring_r, etikett_mulde = label_d);