diff --git a/01_3D-Druck/README_3d-druck.md b/01_3D-Druck/README_3d-druck.md index 0d59569..2a0b8c5 100644 --- a/01_3D-Druck/README_3d-druck.md +++ b/01_3D-Druck/README_3d-druck.md @@ -19,6 +19,7 @@ Verankerung und Steckmechanik. ## Grundsätzliche Design-Entscheidungen - **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 in **einem** Teil → halb so viele Druckteile, keine Scheibe-Toleranz. - **Ein Modell für die ganze Bahn:** Station- und Gate-Puck sind dasselbe STL — @@ -31,8 +32,9 @@ Verankerung und Steckmechanik. Avery-Standard — Bezugsquelle prüfen.) - **Figuren werden gestellt/reingestellt** (Sockel Ø 20, kein Pin): am Puck in Mulden Ø 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). +- **Materialempfehlung:** PLA für Pucks/Aktiv-Feld/Chips (formstabil, günstig). +- **Kein Action-Stein mehr:** Das Szenario (Action Card) liegt flach an der aktuellen + Station; die aktuelle Station führt die App / zeigen die gestellten Figuren. ## Drucker-Annahmen diff --git a/01_3D-Druck/bauteile-masse.svg b/01_3D-Druck/bauteile-masse.svg index aaefea2..1b4b147 100644 --- a/01_3D-Druck/bauteile-masse.svg +++ b/01_3D-Druck/bauteile-masse.svg @@ -144,7 +144,7 @@ ~236 74 × 6 mm · R/C/I je 4 (2×2) · A = genau 1 (schematisch) - Ø22 (alle gleich, wie Puck) · Pitch 24 (Sockel Ø20) · keine Löcher + Ø22 (alle gleich, wie Puck) · Pitch 30 (Sockel Ø20) · keine Löcher diff --git a/01_3D-Druck/materialliste.md b/01_3D-Druck/materialliste.md index 54b94aa..fa67c49 100644 --- a/01_3D-Druck/materialliste.md +++ b/01_3D-Druck/materialliste.md @@ -11,7 +11,8 @@ Stand: 2026-06-04 · Maße in mm · Mengen für **ein** Workshop-Set. ## Standard-Schnittstelle (für alle Teile gültig) - **Station = Puck:** runde Scheibe **Ø 100 × 6 mm**, 5 mm Rand, leichte Einbuchtung - (Spielfläche Ø 90). Keine Verankerung Ø60, keine Steckverbindung mehr. + (Spielfläche Ø 90). Keine Verankerung Ø60, keine Steckverbindung, keine Magnete — + Pucks werden lose zur Bahn ausgelegt. - **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 Ø 22** (wie Puck-Mulden, Gravur ~0,6 mm). @@ -73,24 +74,22 @@ darauf die Stationen. > über die **Entscheidungs-Chips** (§5). Das „Tor-Gefühl" entsteht durch Farbe + > Icon + das Stellen der Pflicht-Figuren + den Chip-Moment. -## 3. Action-Stein (Szenario-Träger) +## 3. Szenario-Handling (kein 3D-Teil mehr) -| 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 | **1–2** | -| Material | PLA, Infill ≥ 40 % + Metalleinlage | +Der **Action-Stein ist entfallen.** Seine zwei Funktionen werden jetzt anders gelöst: -> Der Stein-Fuß bleibt **außerhalb** des Pucks (markiert „wir sind hier" durch -> Danebenstellen). Da er in keine Mulde mehr passen muss, ist der Fuß-Ø frei wählbar. +- **Szenario tragen:** Die gezogene **Action Card** (aus [`../03_Karten/`](../03_Karten/)) + liegt **flach an der aktuellen Station** und wandert mit der Gruppe die Bahn entlang — + 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) -Bleibt **unverändert** als separates, mobiles Board neben dem Action-Stein. Hier +Bleibt **unverändert** als separates, mobiles Board neben der aktuellen Station. Hier 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". @@ -98,7 +97,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) | | 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 | +| Standfelder | R / C / I: je 4 (2×2) · A: genau 1 (rechts oben) = **13**; alle Markierung Ø 22 (wie Puck), Pitch 30 | | 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 % | @@ -126,6 +125,26 @@ 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** | | 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-.scad` öffnen → F6 → STL. +> **Vorschau:** `phasen-ring.scad` direkt öffnen (Preview-Modus, nicht `--render` — +> sonst eine Einheitsfarbe) zeigt den ganzen Ring. + --- ## Stückliste (Kurzfassung) @@ -134,7 +153,7 @@ Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwort |------|------:|-------| | Station-Puck | 37 | `openscad/puck.scad` (Phasenfarbe) | | Gate-Puck | 3 | `openscad/puck.scad` (rot) | -| Action-Stein | 2 | `openscad/action-stein.scad` | +| Phasen-Ring-Segment | 5 | `openscad/phasen-ring-.scad` (je Phasenfarbe) | | Aktiv-Feld (RACI-Fläche) | 1 | `openscad/aktiv-feld.scad` | | Rollen-Figuren (Einzel) | 32 | 16 Rollen × 2 | | Team-Sonderfiguren | 6 | 3 Teams × 2 | @@ -150,8 +169,7 @@ Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwort - **Etikettenmulde Ø 37,5 × 0,3** — Rundetikett Ø37 (Puck-Rand bleibt sichtbar, ~3,3 mm Restwand zu den Figurenmulden). Maximal möglich wäre Ø40. - **Keine** Verankerung Ø60, **keine** Puzzle-Tabs, **kein** Gate-Tor, **keine** - Gate-Karte mehr. -- **Action-Stein-Kartenschlitz B 64** (für 60-mm-Karte). + Gate-Karte, **kein** Action-Stein mehr. ## Hinweise für den Producer diff --git a/01_3D-Druck/openscad/README_openscad.md b/01_3D-Druck/openscad/README_openscad.md index 7d2fb3f..aae7a0c 100644 --- a/01_3D-Druck/openscad/README_openscad.md +++ b/01_3D-Druck/openscad/README_openscad.md @@ -6,9 +6,10 @@ Parametrische Quellmodelle der Schlüsselteile. In [OpenSCAD](https://openscad.o | Datei | Bauteil | |-------|---------| -| `puck.scad` | **Station-/Gate-Puck** (Ø100, Rand + Einbuchtung, 7 Figurenmulden Ø22, Etikettenmulde Ø37,5) | -| `action-stein.scad` | Szenario-Träger mit Kartenschlitz + M8-Gewichtsaussparung (Fuß bleibt **außerhalb** des Pucks) | -| `aktiv-feld.scad` | RACI-Fläche (R · A · C · I) — bleibt als separates mobiles Board | +| `puck.scad` | **Station-/Gate-Puck** (Ø100×6, 7 Figurenmulden Ø22, Etikettenmulde Ø37,5) | +| `aktiv-feld.scad` | RACI-Fläche (R · A · C · I, 2×2) — separates mobiles Board, 130×130 | +| `phasen-ring.scad` | **Phasen-Ring (Bibliothek + Vorschau)** — gemeinsame Geometrie; direkt geöffnet = ganzer Ring | +| `phasen-ring-design.scad` … `-review.scad` | **5 druckfertige Einzelsegmente** (je `use ` + `phase_segment(idx)`) | ## Ein Puck für die ganze Bahn diff --git a/01_3D-Druck/openscad/_af.png b/01_3D-Druck/openscad/_af.png deleted file mode 100644 index 948bf90..0000000 Binary files a/01_3D-Druck/openscad/_af.png and /dev/null differ diff --git a/01_3D-Druck/openscad/action-stein.scad b/01_3D-Druck/openscad/action-stein.scad deleted file mode 100644 index 787990f..0000000 --- a/01_3D-Druck/openscad/action-stein.scad +++ /dev/null @@ -1,42 +0,0 @@ -// 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); -} diff --git a/01_3D-Druck/openscad/phasen-ring-design.scad b/01_3D-Druck/openscad/phasen-ring-design.scad new file mode 100644 index 0000000..1a529c9 --- /dev/null +++ b/01_3D-Druck/openscad/phasen-ring-design.scad @@ -0,0 +1,5 @@ +// 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 +phase_segment(0); diff --git a/01_3D-Druck/openscad/phasen-ring-operation.scad b/01_3D-Druck/openscad/phasen-ring-operation.scad new file mode 100644 index 0000000..8bcee70 --- /dev/null +++ b/01_3D-Druck/openscad/phasen-ring-operation.scad @@ -0,0 +1,5 @@ +// 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 +phase_segment(2); diff --git a/01_3D-Druck/openscad/phasen-ring-review.scad b/01_3D-Druck/openscad/phasen-ring-review.scad new file mode 100644 index 0000000..c2f1b4d --- /dev/null +++ b/01_3D-Druck/openscad/phasen-ring-review.scad @@ -0,0 +1,5 @@ +// 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 +phase_segment(4); diff --git a/01_3D-Druck/openscad/phasen-ring-support.scad b/01_3D-Druck/openscad/phasen-ring-support.scad new file mode 100644 index 0000000..c122830 --- /dev/null +++ b/01_3D-Druck/openscad/phasen-ring-support.scad @@ -0,0 +1,5 @@ +// 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 +phase_segment(3); diff --git a/01_3D-Druck/openscad/phasen-ring-transition.scad b/01_3D-Druck/openscad/phasen-ring-transition.scad new file mode 100644 index 0000000..cd5a5e1 --- /dev/null +++ b/01_3D-Druck/openscad/phasen-ring-transition.scad @@ -0,0 +1,5 @@ +// 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 +phase_segment(1); diff --git a/01_3D-Druck/openscad/phasen-ring.scad b/01_3D-Druck/openscad/phasen-ring.scad new file mode 100644 index 0000000..12a79f5 --- /dev/null +++ b/01_3D-Druck/openscad/phasen-ring.scad @@ -0,0 +1,54 @@ +// 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); diff --git a/01_3D-Druck/openscad/puck.scad b/01_3D-Druck/openscad/puck.scad index b6e3585..f178ab7 100644 --- a/01_3D-Druck/openscad/puck.scad +++ b/01_3D-Druck/openscad/puck.scad @@ -7,10 +7,10 @@ // - Aussenrand Ø100, ~5 mm breit, bleibt auf voller Hoehe // - leichte Einbuchtung (Spielflaeche) innerhalb des Rands // - Ring aus 7 Figurenmulden (Sockel Ø20 wird REINGESTELLT, daher Ø22) -// - Mitte: flache Mulde fuer ein rundes Avery-Etikett Ø40 (Art. 5080 abloesbar) +// - Mitte: flache Mulde fuer ein rundes Etikett Ø37 // -// Beschriftung: KEINE Gravur. ID + Phasenfarbe via Avery-Etikett Ø40 in der Mitte -// (wiederverwendbar/korrigierbar). Modell bleibt dadurch fuer alle 40 identisch. +// KEINE Magnete / keine Kopplung: Pucks werden lose zur Bahn ausgelegt. +// Beschriftung: KEINE Gravur. ID/Phasenfarbe via Etikett Ø37 in der Mitte. /* [Puck] */ puck_d = 100; // Aussendurchmesser @@ -48,11 +48,9 @@ module puck_blank() { // --- eine Figurenmulde mit Einfuehr-Fase ------------------------------------ module figure_spot() { - // Boden der Mulde liegt spot_dep unter der Spielflaeche z0 = play_z - spot_dep; union() { translate([0, 0, z0]) cylinder(d = spot_d, h = spot_dep + 0.1); - // Fase als Einfuehrhilfe oben translate([0, 0, play_z - spot_lead]) cylinder(d1 = spot_d, d2 = spot_d + 2*spot_lead, h = spot_lead + 0.1); } @@ -62,20 +60,18 @@ module puck() { difference() { puck_blank(); // 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 for (i = [0 : spot_count - 1]) { a = 360/spot_count * i; translate([spot_ring_r*cos(a), spot_ring_r*sin(a), 0]) figure_spot(); } // 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(); -echo(puck_d = puck_d, spielflaeche = play_d, figurenplaetze = spot_count, - spot_d = spot_d, ring_r = spot_ring_r, etikett_mulde = label_d); +echo(puck_d = puck_d, puck_h = puck_h, spielflaeche = play_d, + figurenplaetze = spot_count, spot_d = spot_d, etikett_mulde = label_d);