Compare commits
No commits in common. "e8a71d741565e4dbf871ac5f606bf8861cafb427" and "f122865b43068354403de2f50f825a9485327e00" have entirely different histories.
e8a71d7415
...
f122865b43
10 changed files with 417 additions and 272 deletions
|
|
@ -18,21 +18,11 @@ Verankerung und Steckmechanik.
|
||||||
|
|
||||||
## Grundsätzliche Design-Entscheidungen
|
## Grundsätzliche Design-Entscheidungen
|
||||||
|
|
||||||
- **Ein Puck pro Station** (Ø 100 × 6 mm rund) statt eckigem Tile + separater Scheibe.
|
- **Modulares Tile-System** statt eines großen Boards — jedes Teil passt auf ein übliches Druckbett (≥ 200 × 200 mm).
|
||||||
Der Puck vereint Stations-Markierung, Figuren-Standorte (7 Mulden) und Beschriftung
|
- **Lineare Bahn** (kein Ring) — Tiles werden zu einer durchgehenden Linie aneinandergereiht, bei Platzmangel mäandrierend.
|
||||||
in **einem** Teil → halb so viele Druckteile, keine Scheibe-Toleranz.
|
- **Eine standardisierte Verankerung** (Ø 60 mm Rundsockel) für *alle* Blanko-Scheiben und für den Action-Stein → Teile sind austauschbar.
|
||||||
- **Ein Modell für die ganze Bahn:** Station- und Gate-Puck sind dasselbe STL —
|
- **Steckverbindungen** (Puzzle-Tabs) zwischen Tiles, damit die Bahn stabil zusammenhält und flexibel gelegt werden kann.
|
||||||
Unterschied nur Filamentfarbe (Phase vs. Rot) + aufgeklebtes Etikett. Einmal slicen,
|
- **Materialempfehlung:** PLA für Tiles/Plättchen/Gates (formstabil, günstig), PLA + Gewichtseinlage (M8-Mutter) für den Action-Stein (Standfestigkeit mit aufrechter Karte).
|
||||||
40× drucken (37 Phasen + 3 Gate).
|
|
||||||
- **Lineare Bahn** (kein Ring) — Pucks werden zu einer Linie ausgelegt, bei Platzmangel
|
|
||||||
mäandrierend; als optische Linie dient eine flache Unterlage/Matte ([`board-layout.svg`](board-layout.svg)).
|
|
||||||
- **Beschriftung via Rundetikett Ø 37** in der Mittenmulde (Puck-Rand bleibt sichtbar) —
|
|
||||||
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 Ø 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).
|
|
||||||
|
|
||||||
## Drucker-Annahmen
|
## Drucker-Annahmen
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,7 @@
|
||||||
<text x="31" y="66" class="zone">R</text>
|
<text x="31" y="66" class="zone">R</text>
|
||||||
<!-- Feld A (genau 1) -->
|
<!-- Feld A (genau 1) -->
|
||||||
<rect x="64" y="10" width="42" height="60" rx="3" fill="#f7f9fb" stroke="#c0392b" stroke-width="1.6"/>
|
<rect x="64" y="10" width="42" height="60" rx="3" fill="#f7f9fb" stroke="#c0392b" stroke-width="1.6"/>
|
||||||
<circle cx="85" cy="33" r="8" class="spot"/>
|
<circle cx="85" cy="33" r="11" class="spot"/>
|
||||||
<text x="85" y="66" class="zone">A</text>
|
<text x="85" y="66" class="zone">A</text>
|
||||||
<!-- Feld C -->
|
<!-- Feld C -->
|
||||||
<rect x="118" y="10" width="42" height="60" rx="3" fill="#f7f9fb" stroke="#9fb2c6"/>
|
<rect x="118" y="10" width="42" height="60" rx="3" fill="#f7f9fb" stroke="#9fb2c6"/>
|
||||||
|
|
@ -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 24 (Sockel Ø20) · keine Löcher</text>
|
<text x="0" y="144" class="lbl">Ø18 (A Ø22) · 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.8 KiB |
|
|
@ -1,162 +1,196 @@
|
||||||
# Materialliste — zu druckende Elemente
|
# Materialliste — zu druckende Elemente
|
||||||
|
|
||||||
Stand: 2026-06-04 · Maße in mm · Mengen für **ein** Workshop-Set.
|
Stand: 2026-05-27 · Maße in mm · Mengen für **ein** Workshop-Set.
|
||||||
|
|
||||||
> **Designwechsel ggü. v0.6:** Die eckigen Tiles (100×100) + separaten Ø60-Scheiben
|
|
||||||
> + eckigen Gate-Tiles + Gate-Tore sind **ersetzt durch einen runden Ø100-Puck**.
|
|
||||||
> Ein Puck markiert die Station, nimmt die beteiligten Figuren auf (7 Mulden) und
|
|
||||||
> trägt die Beschriftung als **Avery-Rundetikett Ø40** in der Mitte. Station- und
|
|
||||||
> Gate-Puck sind **dasselbe Druckteil** (Unterschied: Filamentfarbe + Etikett).
|
|
||||||
|
|
||||||
## 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
|
- **Verankerung (Sockel):** zylindrische Vertiefung **Ø 60 mm, Tiefe 4 mm**, mit
|
||||||
(Spielfläche Ø 90). Keine Verankerung Ø60, keine Steckverbindung mehr.
|
0,4 mm Spielpassung. Sowohl die Blanko-Scheibe (Ø 60) als auch der
|
||||||
- **Figuren-Platzierung:** Figuren werden **gestellt/reingestellt** (flacher Standfuß
|
Action-Stein-Fuß (Ø 59) passen hinein.
|
||||||
**Ø 20 mm**, kein Pin). Am **Puck** in **Mulden Ø 22 × 1,5 mm** (reinstellbar), am
|
- **Tile-Steckverbindung:** Puzzle-Tab **12 mm breit, 6 mm tief**, mittig je Kante.
|
||||||
**Aktiv-Feld** auf flachen **Standfeldern Ø 22** (wie Puck-Mulden, Gravur ~0,6 mm).
|
- **Figuren-Platzierung:** Figuren werden **gestellt, nicht gesteckt** (flacher
|
||||||
- **Beschriftung:** **Rundetikett Ø 37** in der Mittenmulde Ø 37,5. Keine Gravur —
|
Standfuß **Ø 20 mm**, kein Pin). Standorte sind als **flache Standfelder**
|
||||||
ID/Farbe trägt das Etikett. (Ø 37 ist kein Avery-Standard — Avery rund = 30/40;
|
(Ø 18 mm, Gravur ~0,6 mm) am **Aktiv-Feld** und an den **Gate-Toren** markiert —
|
||||||
Bezugsquelle vor Kauf prüfen, ggf. anderer Hersteller oder Print-&-Cut.)
|
keine Löcher.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 1. Station-Puck (lineare Bahn)
|
## 1. Phasen-Basistiles (lineare Bahn)
|
||||||
|
|
||||||
| Merkmal | Wert |
|
| Merkmal | Wert |
|
||||||
|---------|------|
|
|---------|------|
|
||||||
| Grundkörper | **Ø 100 × 6 mm**, rund, obere Außenkante 1 mm gefast |
|
| Grundfläche | 100 × 100 × 6 mm |
|
||||||
| Rand | **5 mm** breit, bleibt auf voller Höhe |
|
| Verankerung | zentriert, Ø 60 × 4 mm |
|
||||||
| Einbuchtung | Spielfläche Ø 90, **1,2 mm** tief |
|
| Kanten | Puzzle-Tabs (Tab/Slot abwechselnd) |
|
||||||
| Figurenplätze | **7 Mulden** Ø 22 × 1,5 mm (Einführ-Fase), auf Kreis r 33 (Ø 66) |
|
|
||||||
| Etikettenmulde | mittig Ø 37,5 × 0,3 mm (Rundetikett Ø37; Puck-Rand bleibt sichtbar) |
|
|
||||||
| Farbe | je Phase (blau/orange/grün/teal/lila) |
|
| Farbe | je Phase (blau/orange/grün/teal/lila) |
|
||||||
| Menge | **37** (eine je Aktivität) |
|
| Menge | **37** (eine je Aktivität; die 3 Gate-Positionen sind **Gate-Tiles**, s. §4b) |
|
||||||
| Material | PLA, Infill 15 % |
|
| Material | PLA, Infill 15 % |
|
||||||
| Druckzeit | ~1,3 h/Puck |
|
| Druckzeit | ~1,5 h/Tile |
|
||||||
| Datei | `openscad/puck.scad` |
|
|
||||||
|
> Tiles bleiben bewusst **clean** (nur Verankerung + Tabs). Die Rollen-Platzierung
|
||||||
|
> übernimmt das mobile **Aktiv-Feld** (Abschnitt 4a), das neben dem Action-Stein steht.
|
||||||
|
|
||||||
**Verteilung nach Phasenfarbe** (= Aktivitäten je Phase):
|
**Verteilung nach Phasenfarbe** (= Aktivitäten je Phase):
|
||||||
|
|
||||||
| Phase | Farbe | Aktivitäten | Pucks |
|
| Phase | Farbe | Aktivitäten | Tiles |
|
||||||
|-------|-------|-------------|:---:|
|
|-------|-------|-------------|:---:|
|
||||||
| Design | blau | ds_01–ds_04 | 4 |
|
| Design | blau | ds_01–ds_04 | 4 |
|
||||||
| Transition | orange | tr_02–tr_08, tr_10, tr_11 | 9 |
|
| Transition | orange | tr_02–tr_08, tr_10, tr_11 | 9 |
|
||||||
| Operation | grün | op_01–op_07 | 7 |
|
| Operation | grün | op_01–op_07 | 7 |
|
||||||
| Support | teal | sp_01–sp_11 | 11 |
|
| Support | teal | sp_01–sp_11 | 11 |
|
||||||
| Review | lila | rv_01–rv_06 | 6 |
|
| Review | lila | rv_01–rv_06 | 6 |
|
||||||
| | | **Σ Station-Pucks** | **37** |
|
| | | **Σ Phasen-Basistile** | **37** |
|
||||||
|
|
||||||
Die 3 Gates (tr_01, tr_09, tr_12) sind **Gate-Pucks** (gleiches Teil, rot, §2) → 3 Stück.
|
Die 3 Gates (tr_01, tr_09, tr_12) sind **Gate-Tiles** (eigene Farbe, §4b) → 3 Stück.
|
||||||
**Bahn gesamt = 37 + 3 = 40 Positionen.**
|
**Bahn gesamt = 37 + 3 = 40 Positionen.**
|
||||||
|
|
||||||
Die Pucks werden zu einer **linearen Bahn** ausgelegt (kein Ring), bei Platzmangel
|
Alle Tiles sind **gerade** und werden zu einer **linearen Bahn** aneinandergereiht
|
||||||
mäandrierend. Als optische Linie + Halt empfiehlt sich eine **flache Unterlage/Matte**
|
(kein Ring). Bei Platzmangel kann die Bahn mäandrierend (Zeilenumbruch) gelegt
|
||||||
(Layout liegt als [`board-layout.svg`](board-layout.svg) vor) — die Pucks markieren
|
werden — die Puzzle-Tabs erlauben auch 90°-Ecken.
|
||||||
darauf die Stationen.
|
|
||||||
|
|
||||||
## 2. Gate-Puck (Gate-Position)
|
## 2. Aktivitäts-Scheibe (blanko + Aufkleber)
|
||||||
|
|
||||||
**Identisches Druckteil wie der Station-Puck** — Unterschied nur:
|
|
||||||
|
|
||||||
| Merkmal | Wert |
|
| Merkmal | Wert |
|
||||||
|---------|------|
|
|---------|------|
|
||||||
| Geometrie | wie Station-Puck (`openscad/puck.scad`) |
|
| Form | Rundscheibe **Ø 60 × 4 mm**, plane Oberseite (passt in Verankerung Ø 60) |
|
||||||
| Farbe | **Rot** (klar von den 5 Phasenfarben abgesetzt) |
|
| Beschriftung | **60-mm-Rundaufkleber** mit ID + Kurzbezeichnung (z. B. `op_05 — Überwachen der Services`), plan aufgeklebt. **Keine Gravur.** Erklärung liegt in der App |
|
||||||
| Etikett | **G1 / G2 / G3** + Entscheidungs-Icon (statt Aktivitäts-ID) |
|
| Griff | umlaufende Fase 1 mm zum leichten Herausnehmen |
|
||||||
| Figurenplätze | dieselben 7 Mulden (deckt SOR-Gremium ~5 + Puffer ab) |
|
| Menge | **37** (alle identisch & blanko; an den 3 Gate-Positionen steht stattdessen ein Gate-Tor) |
|
||||||
| Menge | **3** (Gate 1, 2, 3) |
|
| Material | PLA, einheitlich blanko (Phasenfarbe & Text trägt der Aufkleber) |
|
||||||
| Material | PLA, Infill 15 %, rotes Filament |
|
|
||||||
|
|
||||||
> Es gibt **kein Gate-Tor und keine Gate-Karte** mehr. Gate-Logik (Keeper,
|
> **Vorteil Aufkleber:** Scheiben sind identisch und **wiederverwendbar** — neu
|
||||||
> geforderte Artefakte, Auflösung) läuft über die **App**; die Entscheidung fällt
|
> bekleben für andere Aktivitäten, Korrekturen oder Mehrsprachigkeit; keine
|
||||||
> über die **Entscheidungs-Chips** (§5). Das „Tor-Gefühl" entsteht durch Farbe +
|
> Serien-STLs/Gravur nötig. Aufkleber Ø 58 sitzt plan, Ø 60 überdeckt die obere
|
||||||
> Icon + das Stellen der Pflicht-Figuren + den Chip-Moment.
|
> Fase leicht.
|
||||||
|
> Scheibe bleibt entnehmbar: beim Bearbeiten herausnehmen und den Action-Stein in
|
||||||
|
> die Verankerung stellen („wir sind hier"). Die ausführliche Auflösung kommt über
|
||||||
|
> die Companion-App.
|
||||||
|
|
||||||
## 3. Action-Stein (Szenario-Träger)
|
## 3. Action-Stein (Szenario-Träger)
|
||||||
|
|
||||||
| Merkmal | Wert |
|
| Merkmal | Wert |
|
||||||
|---------|------|
|
|---------|------|
|
||||||
| Fuß | Ø 59 × 5 mm (steht **neben** dem aktiven Puck — keine Verankerung mehr nötig) |
|
| Fuß | Ø 59 × 5 mm (sitzt in Verankerung Ø 60) |
|
||||||
| Körper | Zylinder Ø 35, Höhe 30 mm |
|
| 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) |
|
| Kartenschlitz | Breite 64 mm, Tiefe 4 mm, Höhe 25 mm (für Action Card **60 mm** breit, zum Draufstecken) |
|
||||||
| Gewichtseinlage | Aussparung für M8-Mutter im Fuß (Kippschutz) |
|
| Gewichtseinlage | Aussparung für M8-Mutter im Fuß (Kippschutz) |
|
||||||
| Stabilitäts-Option | zusätzlicher Standring Ø 70 mm, falls Karte zu kopflastig |
|
| Stabilitäts-Option | zusätzlicher Standring Ø 70 mm, falls Karte zu kopflastig |
|
||||||
| Menge | **1–2** |
|
| Menge | **1–2** |
|
||||||
| Material | PLA, Infill ≥ 40 % + Metalleinlage |
|
| Material | PLA, Infill ≥ 40 % + Metalleinlage |
|
||||||
|
|
||||||
> Der Stein-Fuß bleibt **außerhalb** des Pucks (markiert „wir sind hier" durch
|
## 4. Gate-Tore
|
||||||
> Danebenstellen). Da er in keine Mulde mehr passen muss, ist der Fuß-Ø frei wählbar.
|
|
||||||
|
|
||||||
## 4. Aktiv-Feld (RACI-Fläche)
|
|
||||||
|
|
||||||
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
|
|
||||||
Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwortung".
|
|
||||||
|
|
||||||
| Merkmal | Wert |
|
| Merkmal | Wert |
|
||||||
|---------|------|
|
|---------|------|
|
||||||
| Grundkörper | **120 × 120 × 6 mm**, Ecken r5 (quadratisches 2×2-Raster) |
|
| Form | Bogen/Tor, lichte Weite **68 mm**, Gesamtbreite **92 mm**, Höhe 100 mm + 14 mm Querbalken, Materialstärke 8 mm |
|
||||||
| Bereiche | **2×2-Matrix:** oben **R \| A**, unten **C \| I** (eingravierte Umrandung), 4 gleich große Felder |
|
| Stecksockel | **2 Zapfen** (Ø 10 × 5 mm, Abstand **80 mm** = Pfostenmitten) → stecken in die **Gate-Tile-Löcher**. Keine eigenen Füße — das Gate-Tile ist der Standfuß |
|
||||||
| Standfelder | R / C / I: je 4 (2×2) · A: genau 1 = **13**; alle Markierung Ø 22 (wie Puck), Pitch 24 |
|
| Kartenschlitz | oben quer, Breite 65 mm, Tiefe 3 mm (Gate-Beschreibungskarte) |
|
||||||
| Gravur | Feld-Umrandung 0,6 mm + Zonen-Buchstabe R / A / C / I, Tiefe 0,8 mm |
|
| Gravur | **keine feste** — Gate-Nr / Keeper / Pfade trägt die eingesteckte Gate-Karte |
|
||||||
|
| Menge | **3** |
|
||||||
|
| Material | PLA, Infill 20 % |
|
||||||
|
|
||||||
|
> Die Figuren stehen auf dem **Gate-Tile** (§4b), nicht am Tor. Hinweis: hoher Bogen
|
||||||
|
> auf 2 Zapfen in 6-mm-Tile → Standfestigkeit am Funktionsmuster prüfen; bei Bedarf
|
||||||
|
> auf flache Steck-Laschen umstellen.
|
||||||
|
|
||||||
|
## 4a. Aktiv-Feld (RACI-Fläche)
|
||||||
|
|
||||||
|
Flache Platte, die **neben dem Action-Stein** liegt und mit ihm weiterwandert.
|
||||||
|
Hier werden die je Aktivität beteiligten Rollen-Figuren nach **RACI** gestellt —
|
||||||
|
RACI wird so **pro Schritt** sichtbar, ohne die Tiles zu verändern.
|
||||||
|
|
||||||
|
| 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** (zentrales, größeres Feld Ø 22) = **13 gesamt**; flache Markierung Ø 18 mm (A Ø 22), Gravur ~0,6 mm, Pitch 24 mm (für Sockel Ø 20, keine Löcher) |
|
||||||
|
| Gravur | Feld-Umrandung 0,6 mm + Zonen-Buchstabe R / A / C / I je Feld, 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 % |
|
||||||
| Datei | `openscad/aktiv-feld.scad` |
|
|
||||||
|
|
||||||
> **Goldene RACI-Regel: A = genau 1.** Je Aktivität ist genau eine Rolle *Accountable*.
|
> **Goldene RACI-Regel: A = genau 1.** Das A-Feld hat bewusst **nur ein** (größeres,
|
||||||
|
> zentrales) Standfeld — je Aktivität ist genau eine Rolle *Accountable*
|
||||||
|
> (`spm_rollen.yaml`). R / C / I haben je 4 Felder (2×2) und decken die reale
|
||||||
|
> Belegung ab (R bis 3, C bis 4, I bis 2). Alle vier Bereiche sind außen
|
||||||
|
> gleich groß; nicht jede Fläche muss belegt sein.
|
||||||
|
> Optional: Rastnase, damit die Platte an den Action-Stein-Fuß andockt.
|
||||||
|
|
||||||
## 5. Entscheidungs-Chips
|
## 4b. Gate-Tile (Gate-Position)
|
||||||
|
|
||||||
|
Einheitliches Tile für **alle 3 Gates** — gleiche Außenmaße wie ein Aktivitäts-Tile,
|
||||||
|
aber **eigene Farbe**. Das Gate-Tor steckt ein; die Figuren stehen auf dem Tile.
|
||||||
|
|
||||||
|
| Merkmal | Wert |
|
||||||
|
|---------|------|
|
||||||
|
| Grundkörper | **100 × 100 × 6 mm**, Ecken r3, Puzzle-Tabs (wie Aktivitäts-Tile) |
|
||||||
|
| Farbe | **eigene Gate-Farbe** (z. B. Rot/Dunkelgrau) — klar von den Phasenfarben unterscheidbar |
|
||||||
|
| Standfelder | **8 generische** flache Markierungen (Ø 18, Gravur ~0,6) im Ring (Ø 62) — für die Figuren (Sockel Ø 20) |
|
||||||
|
| Gate-Stecksockel | **2 Löcher** Ø 10,4 × 5 mm, Abstand **80 mm**, nahe der Eingangskante (für die Gate-Tor-Zapfen) |
|
||||||
|
| Gravur | **nur Entscheidungs-Icon** mittig (3 Pfeile + Fragezeichen) — **keine Beschriftung/Text** |
|
||||||
|
| Menge | **3** (Gate 1, 2, 3 — Modell identisch) |
|
||||||
|
| Material | PLA, Infill 20 % |
|
||||||
|
| Datei | `openscad/gate-tile.scad` |
|
||||||
|
|
||||||
|
> Besetzung (über App/Gate-Karte, Tile selbst neutral): **Gate 1 & 3 = SOR-Gremium**
|
||||||
|
> (SPM + OP + SSM + SHM + SO ≈ 5 Figuren), **Gate 2 = SO allein** (1). 8 Standfelder
|
||||||
|
> decken das mit Puffer ab.
|
||||||
|
|
||||||
|
## 5. Rollen-Figuren
|
||||||
|
|
||||||
|
| Merkmal | Wert |
|
||||||
|
|---------|------|
|
||||||
|
| Form | Figur **Höhe ~50 mm**, **flacher Standfuß (kein Pin)** — wird auf die Standfelder gestellt |
|
||||||
|
| Standfläche | rund **Ø 20 mm** (< Pitch 24 mm), damit mehrere Figuren nebeneinander stehen |
|
||||||
|
| Codierung | Farbe je **Kategorie** (6): Governance Gold · Umfeld/Auftraggeber Bordeaux · Management Blau · Operative Grau · Externe Weiß · Teams Grün. **Exakte Töne frei — nur Unterscheidbarkeit zählt** (gilt für alle Elemente) |
|
||||||
|
| Team-Sonderfiguren | **mehrere Mini-Figuren auf einem Sockel** (Betrieb, Support, Projekt) — klar als Team erkennbar |
|
||||||
|
| Menge | **je Figur 2×** → **32** Einzelrollen (16 × 2) + **6** Team-Figuren (3 × 2) = **38**. (1× fürs RACI-Board, 1× für Gates/Bahn.) SOR ist ein Gremium, keine Figur. Details `../02_Spielfiguren/` |
|
||||||
|
| Material | PLA, eingefärbt je Kategorie |
|
||||||
|
|
||||||
|
## 6. Entscheidungs-Chips (optional 3D statt Karte)
|
||||||
|
|
||||||
| Merkmal | Wert |
|
| Merkmal | Wert |
|
||||||
|---------|------|
|
|---------|------|
|
||||||
| Form | Münze Ø 30 × 4 mm, Symbolgravur |
|
| Form | Münze Ø 30 × 4 mm, Symbolgravur |
|
||||||
| Varianten | Go / Go mit Auflagen / Zurück / Ablehnung |
|
| Varianten | Go / Go mit Auflagen / Zurück / Ablehnung |
|
||||||
| Menge | je 3 (= 12) |
|
| Menge | je 3 |
|
||||||
| Material | PLA |
|
| Material | PLA |
|
||||||
|
|
||||||
## 6. Rollen-Figuren
|
|
||||||
|
|
||||||
| Merkmal | Wert |
|
|
||||||
|---------|------|
|
|
||||||
| Form | Figur **Höhe ~50 mm**, **flacher Standfuß (kein Pin)** |
|
|
||||||
| 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** |
|
|
||||||
| Material | PLA, eingefärbt je Kategorie |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Stückliste (Kurzfassung)
|
## Stückliste (Kurzfassung)
|
||||||
|
|
||||||
| Teil | Menge | Datei |
|
| Teil | Menge | Datei |
|
||||||
|------|------:|-------|
|
|------|------:|-------|
|
||||||
| Station-Puck | 37 | `openscad/puck.scad` (Phasenfarbe) |
|
| Phasen-Basistile | 37 | `openscad/aktivitaets-tile.scad` |
|
||||||
| Gate-Puck | 3 | `openscad/puck.scad` (rot) |
|
| Gate-Tile | 3 | `openscad/gate-tile.scad` |
|
||||||
|
| Aktivitäts-Scheibe (blanko) | 37 | `openscad/aktivitaets-plaque.scad` + 60-mm-Aufkleber |
|
||||||
| Action-Stein | 2 | `openscad/action-stein.scad` |
|
| 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 |
|
| Gate-Tor | 3 | `openscad/gate-tor.scad` |
|
||||||
|
| Rollen-Figuren (Einzel) | 32 | 16 Rollen × 2 (RACI-Board + Bahn/Gates) |
|
||||||
| Team-Sonderfiguren | 6 | 3 Teams × 2 |
|
| Team-Sonderfiguren | 6 | 3 Teams × 2 |
|
||||||
| Entscheidungs-Chips | 12 | (einfache Münze + Gravur) |
|
| Entscheidungs-Chips | 12 | (einfache Münze + Gravur) |
|
||||||
| Rundetiketten Ø37 | 40 | via Generator aus YAML (ID + Phasenfarbe); ablösbar bevorzugt |
|
|
||||||
|
|
||||||
## Kritische Maße & Passungen (bitte prüfen)
|
## Kritische Maße & Passungen (bitte prüfen)
|
||||||
|
|
||||||
- **Puck = einziges Bahn-Teil** (Ø 100 × 6). Station vs. Gate nur über Filamentfarbe
|
Diese Maße sind aktuell (v0.6) und weichen vom **ersten Entwurf** ab — bitte die
|
||||||
+ Etikett — **ein STL, 40× drucken** (37 Phasen + 3 rot).
|
neuesten OpenSCAD-Modelle verwenden, nicht ältere:
|
||||||
- **Figuren-Mulde Ø 22, Tiefe 1,5** für Sockel **Ø 20** (reinstellbar, Fase als
|
|
||||||
Einführhilfe). 7 Mulden auf Kreis r 33.
|
- **Verankerung im Tile = Ø 60** (früher Ø 50!). Sie nimmt **beides** auf: die
|
||||||
- **Etikettenmulde Ø 37,5 × 0,3** — Rundetikett Ø37 (Puck-Rand bleibt sichtbar,
|
**Blanko-Scheibe Ø 60** und den **Action-Stein-Fuß Ø 59**. Mit Ø-50-Tiles passt
|
||||||
~3,3 mm Restwand zu den Figurenmulden). Maximal möglich wäre Ø40.
|
nichts → unbedingt die aktuelle `aktivitaets-tile.scad` nutzen.
|
||||||
- **Keine** Verankerung Ø60, **keine** Puzzle-Tabs, **kein** Gate-Tor, **keine**
|
- **Figuren: Sockel Ø 20, Höhe ~50 mm, KEIN Pin** (Figuren werden gestellt).
|
||||||
Gate-Karte mehr.
|
- **Standfelder** (Aktiv-Feld, Gate-Tile) sind **flache Gravur-Markierungen
|
||||||
- **Action-Stein-Kartenschlitz B 64** (für 60-mm-Karte).
|
Ø 18** (kein Loch); Aktiv-Feld-Raster **Pitch 24**, A-Feld einzeln Ø 22;
|
||||||
|
Gate-Tile **8 Standfelder** im Ring (Ø 62).
|
||||||
|
- **Gate ↔ Gate-Tile Steckung:** Gate-Tor (Gesamtbreite **92**) hat **2 Zapfen Ø 10**,
|
||||||
|
Gate-Tile **2 Löcher Ø 10,4**, Abstand **80 mm** (Pfostenmitten). Einzige echten
|
||||||
|
„Löcher" im Set.
|
||||||
|
- **Action-Stein-Kartenschlitz B 64** (für 60-mm-Karte); **Gate-Kartenschlitz B 65**.
|
||||||
|
- **Bahn = 40 Positionen:** 37 Phasen-Basistile + 3 Gate-Tiles (Gate 1/2/3); Gate-Tore 3.
|
||||||
|
|
||||||
## Hinweise für den Producer
|
## Hinweise für den Producer
|
||||||
|
|
||||||
- Toleranzen Sockel↔Puck-Mulde und Etikett↔Mulde an **einem Probedruck** kalibrieren.
|
- Toleranzen Verankerung/Scheibe und Gate-Zapfen/Loch an **einem Probedruck** kalibrieren (Drucker-spezifisch).
|
||||||
- Gravurtiefe (nur noch Aktiv-Feld, Chips) 0,6–1,0 mm; Pucks sind **blanko**
|
- Gravurtiefe 0,6–1,0 mm; Aktivitäts-Scheiben sind **blanko** (Text/Farbe via 60-mm-Aufkleber).
|
||||||
(ID/Farbe via Avery-Etikett Ø40).
|
- Farbtrennung über Filamentwechsel; **exakte Töne frei — nur klar unterscheidbar** (Phasen 5 Farben, Figuren-Kategorien 5 + Teams grün).
|
||||||
- Farbtrennung über Filamentwechsel; **exakte Töne frei — nur klar unterscheidbar**
|
|
||||||
(Phasen 5 Farben, Gate rot, Figuren-Kategorien 5 + Teams grün).
|
|
||||||
|
|
|
||||||
|
|
@ -6,49 +6,24 @@ Parametrische Quellmodelle der Schlüsselteile. In [OpenSCAD](https://openscad.o
|
||||||
|
|
||||||
| Datei | Bauteil |
|
| Datei | Bauteil |
|
||||||
|-------|---------|
|
|-------|---------|
|
||||||
| `puck.scad` | **Station-/Gate-Puck** (Ø100, Rand + Einbuchtung, 7 Figurenmulden Ø22, Etikettenmulde Ø37,5) |
|
| `aktivitaets-tile.scad` | Phasen-Basistile (100×100, Verankerung Ø60, Puzzle-Tabs) |
|
||||||
| `action-stein.scad` | Szenario-Träger mit Kartenschlitz + M8-Gewichtsaussparung (Fuß bleibt **außerhalb** des Pucks) |
|
| `aktivitaets-plaque.scad` | Blanko-Scheibe (Ø60) für 60-mm-Rundaufkleber — keine Gravur |
|
||||||
| `aktiv-feld.scad` | RACI-Fläche (R · A · C · I) — bleibt als separates mobiles Board |
|
| `action-stein.scad` | Szenario-Träger mit Kartenschlitz + M8-Gewichtsaussparung |
|
||||||
|
| `gate-tor.scad` | Gate-Tor (Bogen) mit Kartenschlitz + 2 Stecksockel-Zapfen |
|
||||||
|
| `gate-tile.scad` | Gate-Tile (100×100, eigene Farbe): 8 Standfelder, Gate-Stecksockel, Entscheidungs-Icon |
|
||||||
|
|
||||||
## Ein Puck für die ganze Bahn
|
## Serienfertigung der Scheiben
|
||||||
|
|
||||||
`puck.scad` ist **das einzige Bahn-Teil**. Station- und Gate-Puck sind **geometrisch
|
`aktivitaets-plaque.scad` ist **blanko** — alle **37 Scheiben sind identisch**
|
||||||
identisch** — der Unterschied ist nur:
|
(einmal rendern, 37× drucken). Kein Text-Override, keine Serien-STLs mehr nötig.
|
||||||
|
|
||||||
- **Filamentfarbe:** Station = Phasenfarbe (blau/orange/grün/teal/lila), Gate = **Rot**.
|
Die Beschriftung läuft über **60-mm-Rundaufkleber**: Ein kleines Skript liest die
|
||||||
- **Etikett:** Station = ID (`op_05`), Gate = `G1` / `G2` / `G3` + Entscheidungs-Icon.
|
`service-lifecycle_*.yaml` und erzeugt einen **Aufkleberbogen** (ID + Kurzbezeichnung,
|
||||||
|
Phasenfarbe) als PDF — analog zur Kartengenerierung. Vorteil: wiederverwendbar,
|
||||||
→ **Einmal slicen, 40× drucken** (37 Phasen-Pucks + 3 Gate-Pucks). Keine Serien-STLs,
|
korrigierbar, mehrsprachig.
|
||||||
keine Gravur, keine separaten Aktivitäts-Scheiben mehr.
|
|
||||||
|
|
||||||
## Beschriftung: Rundetiketten Ø37
|
|
||||||
|
|
||||||
Die Beschriftung läuft über **runde Etiketten Ø37** in der Mittenmulde (Ø37,5) —
|
|
||||||
der Puck-Rand bleibt rundherum sichtbar:
|
|
||||||
|
|
||||||
- **Ablösbar bevorzugt** (korrigierbar/wiederverwendbar); Folie für mehr Abrieb.
|
|
||||||
- **Hinweis:** Ø37 ist kein Avery-Standardmaß (Avery rund = 30/40). Bezugsquelle vor
|
|
||||||
Kauf prüfen — ggf. anderer Hersteller oder selbst per Print-&-Cut schneiden.
|
|
||||||
|
|
||||||
Ein kleines Skript liest die `service-lifecycle_*.yaml` und erzeugt einen
|
|
||||||
**Etikettenbogen** (ID + Phasenfarbe) — analog zur Kartengenerierung.
|
|
||||||
Vorteil: wiederverwendbar, korrigierbar, mehrsprachig; die Pucks bleiben blanko.
|
|
||||||
|
|
||||||
## Ersetzte Modelle (entfernt)
|
|
||||||
|
|
||||||
Mit dem Wechsel auf den Puck sind weggefallen:
|
|
||||||
`aktivitaets-tile.scad` (eckiges Tile), `aktivitaets-plaque.scad` (Ø60-Scheibe),
|
|
||||||
`gate-tile.scad` (eckiges Gate-Tile) und `gate-tor.scad` (Torbogen + Gate-Karte).
|
|
||||||
Begründung: Der Ø100-Puck vereint Station-Markierung, Figuren-Standorte und
|
|
||||||
Beschriftung in **einem** Teil; die Gate-Karte ist durch App + Entscheidungs-Chips
|
|
||||||
abgedeckt. (Historie in der Git-Geschichte.)
|
|
||||||
|
|
||||||
## Hinweise
|
## Hinweise
|
||||||
|
|
||||||
- **Figuren werden reingestellt:** Mulden Ø22 für Sockel Ø20, Tiefe 1,5 mm mit
|
- Gravur-Text bewusst kurz halten; lange Kurzbeschreibungen ggf. auf Label auslagern.
|
||||||
Einführ-Fase. 7 Mulden im Ring (r 33) — Abstand der Mulden ~6,6 mm.
|
- Umlaute in Gravuren je nach Font kritisch — im Zweifel `ae/oe/ue` verwenden (so in den Vorlagen).
|
||||||
- **Etikettenmulde Ø37,5 × 0,3 mm** flach — Etikett sitzt plan, Rand schützt die
|
- Vor Serienstart **ein** Tile + Plättchen + Stein als Passungs-Funktionsmuster drucken.
|
||||||
Kante vorm Abpellen, Puck-Rand bleibt sichtbar (~3,3 mm zu den Figurenmulden).
|
|
||||||
Maximal möglich wäre Ø40.
|
|
||||||
- Vor Serienstart **ein** Puck + Figur + Etikett als Passungs-Funktionsmuster drucken
|
|
||||||
(Sockel↔Mulde, Etikett↔Mulde).
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
// Aktiv-Feld — RACI-Flaeche (Figuren werden GESTELLT, nicht gesteckt)
|
// Aktiv-Feld — RACI-Fläche (Figuren werden GESTELLT, nicht gesteckt)
|
||||||
// SLC-Workshop Tabletop · Einheiten: mm
|
// SLC-Workshop Tabletop · Einheiten: mm
|
||||||
// QUADRATISCHES 2x2-Zonenraster (wie die klassische RACI-Matrix):
|
// Eine flache Platte mit 4 abgetrennten Bereichen R · A · C · I (gleich gross).
|
||||||
// R | A
|
|
||||||
// --+--
|
|
||||||
// C | I
|
|
||||||
// R/C/I haben je 4 Standflaechen (2x2). A hat GENAU EIN zentrales Standfeld
|
// R/C/I haben je 4 Standflaechen (2x2). A hat GENAU EIN zentrales Standfeld
|
||||||
// (goldene RACI-Regel: genau eine Rolle ist Accountable).
|
// (goldene RACI-Regel: genau eine Rolle ist Accountable).
|
||||||
// Standflaechen sind nur flache Gravur-Markierungen (keine Loecher).
|
// Standflaechen sind nur flache Gravur-Markierungen (keine Loecher).
|
||||||
|
|
@ -14,49 +11,46 @@ corner_r = 5;
|
||||||
plate_margin = 6; // Rand aussen
|
plate_margin = 6; // Rand aussen
|
||||||
|
|
||||||
/* [Standflaechen] (flache Markierung, kein Loch) — passend zum Sockel Ø20 */
|
/* [Standflaechen] (flache Markierung, kein Loch) — passend zum Sockel Ø20 */
|
||||||
spot_d = 22; // Durchmesser wie die Puck-Mulden (gleiche Ø20-Figuren stehen hier)
|
spot_d = 18; // Durchmesser der Markierung (etwas < Sockel Ø20)
|
||||||
spot_depth = 0.6; // Gravurtiefe
|
spot_depth = 0.6; // Gravurtiefe
|
||||||
spot_pitch = 24; // Mitte-zu-Mitte (Sockel Ø20 + Luft)
|
spot_pitch = 24; // Mitte-zu-Mitte (Sockel Ø20 + ~4 mm Luft)
|
||||||
a_spot_d = spot_d; // A: GLEICHE Groesse wie die anderen — nur die Anzahl (genau 1) zaehlt
|
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)
|
||||||
|
|
||||||
/* [Zonen] — [Label, cols, rows, gridX, gridY]; gridY 0 = oben */
|
/* [Bereiche / Zonen] — [Label, cols, rows]; A = 1x1 (goldene RACI-Regel) */
|
||||||
zones = [["R", 2, 2, 0, 0], ["A", 1, 1, 1, 0],
|
zones = [["R", 2, 2], ["A", 1, 1], ["C", 2, 2], ["I", 2, 2]];
|
||||||
["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)
|
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
|
zone_gap = 8; // Abstand zwischen den Feldern
|
||||||
|
|
||||||
/* [Gravur] */
|
/* [Gravur] */
|
||||||
frame_w = 1.5; // Strichstaerke der Feld-Umrandung
|
frame_w = 1.5; // Strichstaerke der Feld-Umrandung
|
||||||
frame_depth = 0.6;
|
frame_depth = 0.6;
|
||||||
label_size = 8; // Buchstabe sitzt in der Mittenluecke zwischen den 4 Feldern
|
label_size = 10;
|
||||||
label_depth = 0.8;
|
label_depth = 0.8;
|
||||||
|
|
||||||
$fn = 48;
|
$fn = 48;
|
||||||
|
|
||||||
// --- abgeleitete Maße -------------------------------------------------------
|
// --- abgeleitete Maße -------------------------------------------------------
|
||||||
// QUADRATISCHE Zellen (Buchstabe in der Mittenluecke, kein Extra-Streifen).
|
spots_span_x = (grid_cols - 1) * spot_pitch;
|
||||||
spots_span = (2 - 1) * spot_pitch; // 24 (2x2-Raster)
|
spots_span_y = (grid_rows - 1) * spot_pitch;
|
||||||
cell_w = spots_span + 2 * cell_pad; // 50
|
cell_w = spots_span_x + 2 * cell_pad; // 21
|
||||||
cell_h = cell_w; // 50 -> Platte wird quadratisch
|
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;
|
||||||
|
|
||||||
plate_w = n_cols * cell_w + (n_cols - 1) * zone_gap + 2 * plate_margin; // 120
|
function zone_cx(i) =
|
||||||
plate_h = n_rows * cell_h + (n_rows - 1) * zone_gap + 2 * plate_margin; // 120
|
-plate_w/2 + plate_margin + cell_w/2 + i * (cell_w + zone_gap);
|
||||||
|
|
||||||
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 --------------------------------------------------------------
|
// --- Geometrie --------------------------------------------------------------
|
||||||
module rrect(l, w, h, r) {
|
module rrect(l, w, h, r) {
|
||||||
linear_extrude(h) offset(r) offset(-r) square([l, w], center = true);
|
linear_extrude(h) offset(r) offset(-r) square([l, w], center = true);
|
||||||
}
|
}
|
||||||
|
|
||||||
module field_frame(cx, cy) {
|
module field_frame(cx) {
|
||||||
// eingravierte Umrandung -> grenzt den Bereich ab
|
// eingravierte Umrandung -> grenzt den Bereich ab
|
||||||
translate([cx, cy, plate_thick - frame_depth])
|
translate([cx, 0, plate_thick - frame_depth])
|
||||||
linear_extrude(frame_depth + 0.1)
|
linear_extrude(frame_depth + 0.1)
|
||||||
difference() {
|
difference() {
|
||||||
square([cell_w, cell_h], center = true);
|
square([cell_w, cell_h], center = true);
|
||||||
|
|
@ -64,42 +58,41 @@ module field_frame(cx, cy) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module zone_marks(z) {
|
module zone_marks(i) {
|
||||||
lab = z[0]; nc = z[1]; nr = z[2];
|
cx = zone_cx(i);
|
||||||
cx = zone_cx(z[3]); cy = zone_cy(z[4]);
|
lab = zones[i][0];
|
||||||
|
nc = zones[i][1];
|
||||||
|
nr = zones[i][2];
|
||||||
if (lab == "A") {
|
if (lab == "A") {
|
||||||
// genau EIN Standfeld (gleiche Groesse), leicht nach oben gerueckt; Buchstabe darunter
|
// genau EIN zentrales Standfeld (goldene RACI-Regel)
|
||||||
translate([cx, cy + 7, plate_thick - spot_depth])
|
translate([cx, label_h/2, plate_thick - spot_depth])
|
||||||
cylinder(d = a_spot_d, h = spot_depth + 0.1);
|
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 {
|
} else {
|
||||||
// 2x2 Standfelder zentriert; Buchstabe in der Mittenluecke
|
|
||||||
for (c = [0 : nc - 1])
|
for (c = [0 : nc - 1])
|
||||||
for (r = [0 : nr - 1]) {
|
for (r = [0 : nr - 1]) {
|
||||||
sx = cx + (c - (nc - 1)/2) * spot_pitch;
|
sx = cx + (c - (nc - 1)/2) * spot_pitch;
|
||||||
sy = cy + ((nr - 1)/2 - r) * spot_pitch;
|
sy = label_h/2 + ((nr - 1)/2 - r) * spot_pitch;
|
||||||
translate([sx, sy, plate_thick - spot_depth])
|
translate([sx, sy, plate_thick - spot_depth])
|
||||||
cylinder(d = spot_d, h = spot_depth + 0.1);
|
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() {
|
module aktiv_feld() {
|
||||||
difference() {
|
difference() {
|
||||||
rrect(plate_w, plate_h, plate_thick, corner_r);
|
rrect(plate_w, plate_h, plate_thick, corner_r);
|
||||||
for (i = [0 : len(zones) - 1]) {
|
for (i = [0 : len(zones) - 1]) {
|
||||||
z = zones[i];
|
field_frame(zone_cx(i));
|
||||||
field_frame(zone_cx(z[3]), zone_cy(z[4]));
|
zone_marks(i);
|
||||||
zone_marks(z);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
aktiv_feld();
|
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);
|
echo(plate_w = plate_w, plate_h = plate_h, plate_thick = plate_thick);
|
||||||
|
|
|
||||||
23
01_3D-Druck/openscad/aktivitaets-plaque.scad
Normal file
23
01_3D-Druck/openscad/aktivitaets-plaque.scad
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
// Aktivitaets-Scheibe — BLANKO Rundscheibe fuer 60-mm-Rundaufkleber
|
||||||
|
// SLC-Workshop Tabletop · Einheiten: mm
|
||||||
|
// Keine Gravur mehr: ID + Kurzbezeichnung kommen als 60-mm-Rundaufkleber auf die
|
||||||
|
// plane Oberseite. Vorteil: wiederverwendbar (neu bekleben), mehrsprachig,
|
||||||
|
// keine Serien-STLs noetig — alle 37 Scheiben sind identisch.
|
||||||
|
|
||||||
|
/* [Scheibe] */
|
||||||
|
disc_d = 60; // Durchmesser (Verankerung 60 - Passung); passt zum 60-mm-Aufkleber
|
||||||
|
disc_h = 4; // Dicke
|
||||||
|
chamfer = 1; // Fase als Griffhilfe (oben + unten). Aufkleber Ø58 sitzt plan,
|
||||||
|
// Ø60 ueberdeckt die obere Fase leicht.
|
||||||
|
$fn = 96;
|
||||||
|
|
||||||
|
module disc_body() {
|
||||||
|
// Scheibe mit beidseitiger Fase, plane Oberseite fuer den Aufkleber
|
||||||
|
hull() {
|
||||||
|
cylinder(d = disc_d - 2*chamfer, h = 0.01);
|
||||||
|
translate([0,0,chamfer]) cylinder(d = disc_d, h = disc_h - 2*chamfer);
|
||||||
|
translate([0,0,disc_h-0.01]) cylinder(d = disc_d - 2*chamfer, h = 0.01);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
disc_body();
|
||||||
52
01_3D-Druck/openscad/aktivitaets-tile.scad
Normal file
52
01_3D-Druck/openscad/aktivitaets-tile.scad
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
// Phasen-Basistile mit zentraler Verankerung und Puzzle-Tabs
|
||||||
|
// SLC-Workshop Tabletop · Einheiten: mm
|
||||||
|
// Anpassen und mit OpenSCAD nach STL exportieren (F6 -> Export).
|
||||||
|
|
||||||
|
/* [Tile] */
|
||||||
|
tile_size = 100; // Kantenlaenge
|
||||||
|
tile_height = 6; // Dicke
|
||||||
|
corner_r = 3; // Eckenradius
|
||||||
|
|
||||||
|
/* [Verankerung / Sockel] */
|
||||||
|
socket_d = 60; // Durchmesser Vertiefung (nimmt Blanko-Scheibe Ø60 oder Action-Stein-Fuss auf)
|
||||||
|
socket_depth = 4; // Tiefe
|
||||||
|
fit_clear = 0.4; // Spielpassung
|
||||||
|
|
||||||
|
/* [Puzzle-Tabs] */
|
||||||
|
tab_w = 12; // Breite
|
||||||
|
tab_d = 6; // Tiefe (Ueberstand / Aussparung)
|
||||||
|
tab_h = tile_height;
|
||||||
|
$fn = 64;
|
||||||
|
|
||||||
|
module rounded_square(s, r, h) {
|
||||||
|
linear_extrude(h)
|
||||||
|
offset(r) offset(-r)
|
||||||
|
square([s, s], center=true);
|
||||||
|
}
|
||||||
|
|
||||||
|
module tab(positive=true) {
|
||||||
|
// Tab ragt heraus (positive) oder wird ausgespart (negative)
|
||||||
|
d = positive ? tab_d : tab_d + fit_clear;
|
||||||
|
w = positive ? tab_w : tab_w + fit_clear;
|
||||||
|
translate([0, 0, tab_h/2])
|
||||||
|
cube([w, d*2, tab_h], center=true);
|
||||||
|
}
|
||||||
|
|
||||||
|
module tile() {
|
||||||
|
difference() {
|
||||||
|
union() {
|
||||||
|
rounded_square(tile_size, corner_r, tile_height);
|
||||||
|
// Tabs an Nord- und Ost-Kante (positive)
|
||||||
|
translate([0, tile_size/2, 0]) tab(true);
|
||||||
|
translate([ tile_size/2, 0, 0]) rotate([0,0,90]) tab(true);
|
||||||
|
}
|
||||||
|
// Verankerung
|
||||||
|
translate([0, 0, tile_height - socket_depth])
|
||||||
|
cylinder(d = socket_d + fit_clear, h = socket_depth + 0.1);
|
||||||
|
// Slots an Sued- und West-Kante (negative)
|
||||||
|
translate([0, -tile_size/2, 0]) tab(false);
|
||||||
|
translate([-tile_size/2, 0, 0]) rotate([0,0,90]) tab(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tile();
|
||||||
106
01_3D-Druck/openscad/gate-tile.scad
Normal file
106
01_3D-Druck/openscad/gate-tile.scad
Normal file
|
|
@ -0,0 +1,106 @@
|
||||||
|
// Gate-Tile — Gate-Position mit Figuren-Standfeldern + Entscheidungs-Icon
|
||||||
|
// SLC-Workshop Tabletop · Einheiten: mm
|
||||||
|
// Identische Außenmaße wie das Aktivitaets-Tile (100x100x6), aber EIGENE FARBE.
|
||||||
|
// - 8 generische Standfelder (Ring) fuer die Figuren (Sockel Ø20)
|
||||||
|
// - 2 Stecksockel: das Gate-Tor steckt mit 2 Zapfen ein
|
||||||
|
// - Mitte: eingraviertes "Entscheidung"-Icon (3 Pfeile + Fragezeichen) — sonst KEINE Beschriftung
|
||||||
|
// 3 Stueck: Gate 1, 2, 3 (Modell identisch; Unterschied nur Position/Karte).
|
||||||
|
|
||||||
|
/* [Tile] */
|
||||||
|
tile_size = 100;
|
||||||
|
tile_height = 6;
|
||||||
|
corner_r = 3;
|
||||||
|
|
||||||
|
/* [Puzzle-Tabs] (wie Aktivitaets-Tile) */
|
||||||
|
tab_w = 12;
|
||||||
|
tab_d = 6;
|
||||||
|
fit_clear = 0.4;
|
||||||
|
|
||||||
|
/* [Standfelder] — 8 Figuren (Sockel Ø20), generisch */
|
||||||
|
spot_count = 8;
|
||||||
|
ring_d = 62; // Kreisdurchmesser fuer die 8 Standfelder
|
||||||
|
spot_d = 18; // Markierung (etwas < Sockel Ø20)
|
||||||
|
spot_depth = 0.6;
|
||||||
|
|
||||||
|
/* [Gate-Stecksockel] — Gate-Tor steckt mit 2 Zapfen ein */
|
||||||
|
gate_peg_d = 10.4; // Loch (Zapfen Ø10 + Passung)
|
||||||
|
gate_peg_depth = 5;
|
||||||
|
gate_peg_dx = 40; // halber Abstand (= Gate-Pfostenmitte)
|
||||||
|
gate_peg_y = -tile_size/2 + 12; // nahe Eingangskante (Sued)
|
||||||
|
|
||||||
|
/* [Entscheidungs-Icon (Gravur Mitte)] */
|
||||||
|
icon_depth = 0.6;
|
||||||
|
|
||||||
|
$fn = 64;
|
||||||
|
|
||||||
|
// --- Geometrie-Helfer -------------------------------------------------------
|
||||||
|
module rounded_square(s, r, h) {
|
||||||
|
linear_extrude(h) offset(r) offset(-r) square([s, s], center = true);
|
||||||
|
}
|
||||||
|
|
||||||
|
module tab(positive = true) {
|
||||||
|
d = positive ? tab_d : tab_d + fit_clear;
|
||||||
|
w = positive ? tab_w : tab_w + fit_clear;
|
||||||
|
translate([0, 0, tile_height/2]) cube([w, d*2, tile_height], center = true);
|
||||||
|
}
|
||||||
|
|
||||||
|
module ring_spots() {
|
||||||
|
for (i = [0 : spot_count - 1]) {
|
||||||
|
a = 360/spot_count * i;
|
||||||
|
translate([(ring_d/2)*cos(a), (ring_d/2)*sin(a), tile_height - spot_depth])
|
||||||
|
cylinder(d = spot_d, h = spot_depth + 0.1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module gate_pegs() {
|
||||||
|
for (x = [-1, 1])
|
||||||
|
translate([x*gate_peg_dx, gate_peg_y, tile_height - gate_peg_depth])
|
||||||
|
cylinder(d = gate_peg_d, h = gate_peg_depth + 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Entscheidungs-Icon: offener Ring + Fragezeichen + 3 Pfeile nach oben ----
|
||||||
|
module arrow2d(ang, len, shaft_w = 1.8, head = 4) {
|
||||||
|
rotate(ang) union() {
|
||||||
|
translate([-shaft_w/2, 0]) square([shaft_w, len]);
|
||||||
|
translate([0, len]) polygon([[-head/2, 0], [head/2, 0], [0, head]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module decision_icon() {
|
||||||
|
// offener Ring (oben aufgeschnitten, damit die Pfeile austreten)
|
||||||
|
difference() {
|
||||||
|
circle(r = 12);
|
||||||
|
circle(r = 9.5);
|
||||||
|
translate([-7, 3]) square([14, 14]);
|
||||||
|
}
|
||||||
|
// Fragezeichen im Ring
|
||||||
|
translate([0, -4]) text("?", size = 9, halign = "center", valign = "center");
|
||||||
|
// drei Pfeile faechern nach oben (links / hoch / rechts)
|
||||||
|
translate([0, 3]) {
|
||||||
|
arrow2d(0, 9);
|
||||||
|
arrow2d(38, 8);
|
||||||
|
arrow2d(-38, 8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Tile ------------------------------------------------------------------
|
||||||
|
module gate_tile() {
|
||||||
|
difference() {
|
||||||
|
union() {
|
||||||
|
rounded_square(tile_size, corner_r, tile_height);
|
||||||
|
translate([0, tile_size/2, 0]) tab(true); // Nord-Tab
|
||||||
|
translate([ tile_size/2, 0, 0]) rotate([0,0,90]) tab(true); // Ost-Tab
|
||||||
|
}
|
||||||
|
// Slots Sued + West (Anschluss an die Bahn)
|
||||||
|
translate([0, -tile_size/2, 0]) tab(false);
|
||||||
|
translate([-tile_size/2, 0, 0]) rotate([0,0,90]) tab(false);
|
||||||
|
// Standfelder + Gate-Stecksockel + Icon (alle als Gravur/Loch)
|
||||||
|
ring_spots();
|
||||||
|
gate_pegs();
|
||||||
|
translate([0, 0, tile_height - icon_depth])
|
||||||
|
linear_extrude(icon_depth + 0.1) decision_icon();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gate_tile();
|
||||||
|
echo(tile_size = tile_size, standfelder = spot_count, ring_d = ring_d);
|
||||||
53
01_3D-Druck/openscad/gate-tor.scad
Normal file
53
01_3D-Druck/openscad/gate-tor.scad
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
// Gate-Tor — Bogen, steckt mit 2 Zapfen in ein Gate-Tile (keine eigenen Fuesse)
|
||||||
|
// SLC-Workshop Tabletop · Einheiten: mm
|
||||||
|
// Die Figuren stehen auf dem GATE-TILE (nicht am Tor). Das Tor traegt oben eine
|
||||||
|
// Gate-Beschreibungskarte; keine feste Gravur.
|
||||||
|
|
||||||
|
/* [Tor] */
|
||||||
|
opening_w = 68; // lichte Weite (Action-Stein Ø59 + 60-mm-Karte passt durch)
|
||||||
|
opening_h = 100; // lichte Hoehe
|
||||||
|
thick = 8; // Materialstaerke (Tiefe)
|
||||||
|
post_w = 12; // Pfostenbreite
|
||||||
|
top_h = 14; // Hoehe des Querbalkens
|
||||||
|
|
||||||
|
/* [Kartenschlitz oben] */
|
||||||
|
card_w = 65; // Gate-Beschreibungskarte 60 mm + Spiel
|
||||||
|
card_t = 3;
|
||||||
|
card_depth = 10;
|
||||||
|
|
||||||
|
/* [Stecksockel-Zapfen] — stecken in die Gate-Tile-Loecher (Ø10,4) */
|
||||||
|
tenon_d = 10;
|
||||||
|
tenon_h = 5;
|
||||||
|
tenon_dx = 40; // halber Abstand = Pfostenmitte (opening_w/2 + post_w/2)
|
||||||
|
|
||||||
|
$fn = 48;
|
||||||
|
total_w = opening_w + 2*post_w; // 92 -> passt auf das 100er Gate-Tile
|
||||||
|
|
||||||
|
module arch() {
|
||||||
|
difference() {
|
||||||
|
translate([-total_w/2, 0, 0]) cube([total_w, thick, opening_h + top_h]);
|
||||||
|
translate([-opening_w/2, -0.1, 0]) cube([opening_w, thick + 0.2, opening_h]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module card_slot() {
|
||||||
|
translate([-card_w/2, thick/2 - card_t/2, opening_h + top_h - card_depth])
|
||||||
|
cube([card_w, card_t, card_depth + 0.1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
module tenons() {
|
||||||
|
// 2 Zapfen unter den Pfosten -> stecken ins Gate-Tile
|
||||||
|
for (x = [-1, 1])
|
||||||
|
translate([x*tenon_dx, thick/2, -tenon_h])
|
||||||
|
cylinder(d = tenon_d, h = tenon_h + 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bogen inkl. Kartenschlitz
|
||||||
|
difference() {
|
||||||
|
arch();
|
||||||
|
card_slot();
|
||||||
|
}
|
||||||
|
// Stecksockel-Zapfen
|
||||||
|
tenons();
|
||||||
|
|
||||||
|
echo(total_w = total_w, opening_w = opening_w, tenon_dx = tenon_dx);
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
// Station-Puck (= Gate-Puck) — runde Station mit 7 Figurenplaetzen + Etikettenmulde
|
|
||||||
// SLC-Workshop Tabletop · Einheiten: mm
|
|
||||||
// EIN Modell fuer die ganze Bahn: 37x in Phasenfarbe (Stationen) + 3x in Rot (Gates).
|
|
||||||
// Unterschied Station/Gate = nur Filamentfarbe + aufgeklebtes Etikett (ID bzw. G1/G2/G3).
|
|
||||||
//
|
|
||||||
// Aufbau (von aussen nach innen):
|
|
||||||
// - 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)
|
|
||||||
//
|
|
||||||
// Beschriftung: KEINE Gravur. ID + Phasenfarbe via Avery-Etikett Ø40 in der Mitte
|
|
||||||
// (wiederverwendbar/korrigierbar). Modell bleibt dadurch fuer alle 40 identisch.
|
|
||||||
|
|
||||||
/* [Puck] */
|
|
||||||
puck_d = 100; // Aussendurchmesser
|
|
||||||
puck_h = 6; // Gesamthoehe
|
|
||||||
edge_cham = 1; // Fase obere Aussenkante (Optik/Griff)
|
|
||||||
|
|
||||||
/* [Rand + Einbuchtung] */
|
|
||||||
rim_w = 5; // Randbreite (bleibt auf voller Hoehe)
|
|
||||||
recess_dep = 1.2; // Tiefe der Einbuchtung (Spielflaeche)
|
|
||||||
|
|
||||||
/* [Figurenplaetze] — Sockel Ø20 wird reingestellt */
|
|
||||||
spot_count = 7; // Anzahl Standmulden im Ring
|
|
||||||
spot_d = 22; // Mulden-Ø (Sockel Ø20 + Luft -> reinstellbar)
|
|
||||||
spot_dep = 1.5; // Tiefe der Standmulde (zusaetzlich zur Einbuchtung)
|
|
||||||
spot_ring_r = 33; // Radius des Mulden-Kreises (Mitte-Mitte)
|
|
||||||
spot_lead = 0.8; // Einfuehr-Fase oben an der Mulde
|
|
||||||
|
|
||||||
/* [Etikettenmulde Mitte] — rundes Etikett Ø37 */
|
|
||||||
label_d = 37.5; // Mulden-Ø (Etikett Ø37 + 0,5 Spiel); Puck-Rand bleibt sichtbar
|
|
||||||
label_dep = 0.3; // flach: Etikett sitzt plan + kantengeschuetzt
|
|
||||||
|
|
||||||
$fn = 96;
|
|
||||||
|
|
||||||
// abgeleitet
|
|
||||||
play_d = puck_d - 2*rim_w; // Spielflaeche Ø90
|
|
||||||
play_z = puck_h - recess_dep; // Hoehe der eingebuchteten Spielflaeche (4.8)
|
|
||||||
|
|
||||||
// --- Grundkoerper mit gefaster Oberkante ------------------------------------
|
|
||||||
module puck_blank() {
|
|
||||||
hull() {
|
|
||||||
cylinder(d = puck_d - 2*edge_cham, h = puck_h);
|
|
||||||
cylinder(d = puck_d, h = puck_h - edge_cham);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// --- 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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module puck() {
|
|
||||||
difference() {
|
|
||||||
puck_blank();
|
|
||||||
// Einbuchtung / Spielflaeche
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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);
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue