update 01.06.2026
This commit is contained in:
parent
7f1a09572e
commit
1af051990f
21 changed files with 1365 additions and 380 deletions
|
|
@ -20,7 +20,7 @@ Verankerung und Steckmechanik.
|
|||
|
||||
- **Modulares Tile-System** statt eines großen Boards — jedes Teil passt auf ein übliches Druckbett (≥ 200 × 200 mm).
|
||||
- **Lineare Bahn** (kein Ring) — Tiles werden zu einer durchgehenden Linie aneinandergereiht, bei Platzmangel mäandrierend.
|
||||
- **Eine standardisierte Verankerung** (Ø 50 mm Rundsockel) für *alle* Plättchen und für den Action-Stein → Teile sind austauschbar.
|
||||
- **Eine standardisierte Verankerung** (Ø 60 mm Rundsockel) für *alle* Blanko-Scheiben und für den Action-Stein → Teile sind austauschbar.
|
||||
- **Steckverbindungen** (Puzzle-Tabs) zwischen Tiles, damit die Bahn stabil zusammenhält und flexibel gelegt werden kann.
|
||||
- **Materialempfehlung:** PLA für Tiles/Plättchen/Gates (formstabil, günstig), PLA + Gewichtseinlage (M8-Mutter) für den Action-Stein (Standfestigkeit mit aufrechter Karte).
|
||||
|
||||
|
|
|
|||
164
01_3D-Druck/bauteile-masse.svg
Normal file
164
01_3D-Druck/bauteile-masse.svg
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="960" viewBox="0 0 1000 960" font-family="system-ui, Arial, sans-serif">
|
||||
<style>
|
||||
.part { fill:#eef2f7; stroke:#1d2430; stroke-width:1.5; }
|
||||
.disc { stroke:#1d2430; stroke-width:1.5; }
|
||||
.recess{ fill:#dde5ee; stroke:#1d2430; stroke-width:1; }
|
||||
.cut { fill:#ffffff; stroke:#1d2430; stroke-width:1; stroke-dasharray:4 3; }
|
||||
.spot { fill:#dde5ee; stroke:#2f80c9; stroke-width:1; stroke-dasharray:3 2; }
|
||||
.dim { stroke:#c0392b; stroke-width:1; }
|
||||
.dimt { fill:#c0392b; font-size:11px; }
|
||||
.lbl { fill:#444; font-size:11px; }
|
||||
.lblb { fill:#1d2430; font-size:12px; font-weight:700; }
|
||||
.title { fill:#1d2430; font-size:13px; font-weight:700; }
|
||||
.h1 { fill:#1d2430; font-size:18px; font-weight:700; }
|
||||
.zone { fill:#1d2430; font-size:14px; font-weight:700; text-anchor:middle; }
|
||||
</style>
|
||||
|
||||
<rect x="0" y="0" width="1000" height="960" fill="#ffffff"/>
|
||||
<text x="30" y="34" class="h1">SLC-Workshop — Bauteilmaße (aktuell, v0.4)</text>
|
||||
<text x="30" y="52" class="lbl">Maßstab 2 px = 1 mm · rote Maße in mm · Figuren werden gestellt (keine Stecklöcher)</text>
|
||||
<!-- scale bar 50 mm = 100 px -->
|
||||
<line x1="760" y1="46" x2="860" y2="46" class="dim"/>
|
||||
<line x1="760" y1="42" x2="760" y2="50" class="dim"/>
|
||||
<line x1="860" y1="42" x2="860" y2="50" class="dim"/>
|
||||
<text x="765" y="40" class="dimt">50 mm</text>
|
||||
|
||||
<!-- ============ TILE (top view) ============ -->
|
||||
<g transform="translate(60,110)">
|
||||
<text x="0" y="-26" class="title">Phasen-Basistile (Draufsicht)</text>
|
||||
<!-- tabs N & E (positive) -->
|
||||
<rect x="88" y="-12" width="24" height="12" class="part"/>
|
||||
<rect x="200" y="88" width="12" height="24" class="part"/>
|
||||
<!-- body -->
|
||||
<rect x="0" y="0" width="200" height="200" rx="6" class="part"/>
|
||||
<!-- slots S & W (negative) -->
|
||||
<rect x="88" y="188" width="24" height="12" class="cut"/>
|
||||
<rect x="0" y="88" width="12" height="24" class="cut"/>
|
||||
<!-- socket -->
|
||||
<circle cx="100" cy="100" r="60" class="recess"/>
|
||||
<text x="100" y="98" class="lbl" text-anchor="middle">Verankerung</text>
|
||||
<text x="100" y="112" class="lblb" text-anchor="middle">Ø60 · T4</text>
|
||||
<!-- dims -->
|
||||
<line x1="0" y1="-20" x2="200" y2="-20" class="dim"/>
|
||||
<text x="92" y="-23" class="dimt">100</text>
|
||||
<line x1="-20" y1="0" x2="-20" y2="200" class="dim"/>
|
||||
<text x="-38" y="104" class="dimt">100</text>
|
||||
<text x="116" y="-2" class="lbl">Tab 12×6 (N/O)</text>
|
||||
<text x="118" y="200" class="lbl">Slot 12×6 (S/W)</text>
|
||||
<text x="0" y="228" class="lbl">Dicke 6 mm · Ecken r3 · Passung +0,4 mm</text>
|
||||
</g>
|
||||
|
||||
<!-- ============ AKTIVITÄTS-PLÄTTCHEN ============ -->
|
||||
<g transform="translate(340,120)">
|
||||
<text x="0" y="-26" class="title">Aktivitäts-Scheibe (blanko + Aufkleber)</text>
|
||||
<circle cx="60" cy="60" r="60" class="disc" fill="#f3ece0"/>
|
||||
<circle cx="60" cy="60" r="58" fill="none" stroke="#2f80c9" stroke-width="1" stroke-dasharray="4 3"/>
|
||||
<text x="60" y="50" class="lblb" text-anchor="middle">op_05</text>
|
||||
<text x="60" y="66" class="lbl" text-anchor="middle">Aufkleber</text>
|
||||
<text x="60" y="80" class="lbl" text-anchor="middle">Ø58–60</text>
|
||||
<line x1="0" y1="132" x2="120" y2="132" class="dim"/>
|
||||
<text x="48" y="146" class="dimt">Ø60</text>
|
||||
<text x="-4" y="166" class="lbl">× 4 mm · Fase 1 mm · blanko (Aufkleber statt Gravur)</text>
|
||||
</g>
|
||||
|
||||
<!-- ============ ENTSCHEIDUNGS-CHIP ============ -->
|
||||
<g transform="translate(560,140)">
|
||||
<text x="0" y="-56" class="title">Entscheidungs-Chip</text>
|
||||
<circle cx="60" cy="60" r="60" class="disc" fill="#e9efe9"/>
|
||||
<text x="60" y="66" class="lblb" text-anchor="middle">GO</text>
|
||||
<line x1="0" y1="132" x2="120" y2="132" class="dim"/>
|
||||
<text x="48" y="146" class="dimt">Ø30</text>
|
||||
<text x="-6" y="166" class="lbl">× 4 mm · Münze, Symbolgravur</text>
|
||||
<text x="-6" y="182" class="lbl">Go / Go m. Auflagen / Zurück / Ablehnung</text>
|
||||
</g>
|
||||
|
||||
<!-- ============ ACTION-STEIN (front view) ============ -->
|
||||
<g transform="translate(770,150)">
|
||||
<text x="-20" y="-66" class="title">Action-Stein</text>
|
||||
<!-- card -->
|
||||
<path d="M -21 -50 L 119 -50 L 119 30 L 70 30 L 66 36 L 70 42 L 119 42 L 119 50 L -21 50 L -21 42 L 28 42 L 32 36 L 28 30 L -21 30 Z" fill="#fff" stroke="#1d2430" stroke-width="1.2"/>
|
||||
<text x="49" y="-30" class="lbl" text-anchor="middle">Karte</text>
|
||||
<text x="49" y="-14" class="lblb" text-anchor="middle">70×120</text>
|
||||
<!-- body -->
|
||||
<rect x="14" y="50" width="70" height="60" class="part"/>
|
||||
<text x="49" y="84" class="lbl" text-anchor="middle">Ø35</text>
|
||||
<text x="49" y="98" class="lbl" text-anchor="middle">×30</text>
|
||||
<!-- base -->
|
||||
<rect x="-10" y="110" width="118" height="10" class="part"/>
|
||||
<text x="49" y="138" class="lbl" text-anchor="middle">Fuß Ø59 × 5 · M8-Mutter</text>
|
||||
<text x="49" y="154" class="lbl" text-anchor="middle">Schlitz B74 × T4 · Standring Ø70 opt.</text>
|
||||
</g>
|
||||
|
||||
<!-- ============ GATE-TOR (front view) ============ -->
|
||||
<g transform="translate(150,470)">
|
||||
<text x="0" y="-26" class="title">Gate-Tor (Vorderansicht)</text>
|
||||
<!-- top beam -->
|
||||
<rect x="0" y="0" width="228" height="28" class="part"/>
|
||||
<!-- card slot in beam -->
|
||||
<rect x="49" y="0" width="130" height="7" class="cut"/>
|
||||
<!-- posts -->
|
||||
<rect x="0" y="28" width="24" height="200" class="part"/>
|
||||
<rect x="204" y="28" width="24" height="200" class="part"/>
|
||||
<!-- feet -->
|
||||
<rect x="-48" y="228" width="120" height="8" class="part"/>
|
||||
<rect x="156" y="228" width="120" height="8" class="part"/>
|
||||
<!-- stand spots (4) -->
|
||||
<circle cx="12" cy="232" r="8" class="spot"/>
|
||||
<circle cx="80" cy="232" r="8" class="spot"/>
|
||||
<circle cx="148" cy="232" r="8" class="spot"/>
|
||||
<circle cx="216" cy="232" r="8" class="spot"/>
|
||||
<!-- dims -->
|
||||
<line x1="24" y1="120" x2="204" y2="120" class="dim"/>
|
||||
<text x="100" y="116" class="dimt">lichte Weite 90</text>
|
||||
<line x1="244" y1="28" x2="244" y2="228" class="dim"/>
|
||||
<text x="248" y="130" class="dimt">Höhe 100</text>
|
||||
<text x="60" y="20" class="lbl">Querbalken 14</text>
|
||||
<text x="-46" y="258" class="lbl">Füße 60×30×4</text>
|
||||
<text x="96" y="258" class="lbl">4 Standfelder Ø8 (Gravur 0,6) — keine Löcher</text>
|
||||
<text x="0" y="278" class="lbl">Materialstärke (Tiefe) 8 · Pfosten 12 · Kartenschlitz 65×3 (T10)</text>
|
||||
</g>
|
||||
|
||||
<!-- ============ AKTIV-FELD (top view) ============ -->
|
||||
<g transform="translate(520,520)">
|
||||
<text x="0" y="-26" class="title">Aktiv-Feld · RACI-Fläche (Draufsicht)</text>
|
||||
<rect x="0" y="0" width="224" height="80" rx="4" class="part"/>
|
||||
<!-- Feld R -->
|
||||
<rect x="10" y="10" width="42" height="60" rx="3" fill="#f7f9fb" stroke="#9fb2c6"/>
|
||||
<circle cx="22" cy="24" r="8" class="spot"/><circle cx="40" cy="24" r="8" class="spot"/>
|
||||
<circle cx="22" cy="42" r="8" class="spot"/><circle cx="40" cy="42" r="8" class="spot"/>
|
||||
<text x="31" y="66" class="zone">R</text>
|
||||
<!-- Feld A (genau 1) -->
|
||||
<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="11" class="spot"/>
|
||||
<text x="85" y="66" class="zone">A</text>
|
||||
<!-- Feld C -->
|
||||
<rect x="118" y="10" width="42" height="60" rx="3" fill="#f7f9fb" stroke="#9fb2c6"/>
|
||||
<circle cx="130" cy="24" r="8" class="spot"/><circle cx="148" cy="24" r="8" class="spot"/>
|
||||
<circle cx="130" cy="42" r="8" class="spot"/><circle cx="148" cy="42" r="8" class="spot"/>
|
||||
<text x="139" y="66" class="zone">C</text>
|
||||
<!-- Feld I -->
|
||||
<rect x="172" y="10" width="42" height="60" rx="3" fill="#f7f9fb" stroke="#9fb2c6"/>
|
||||
<circle cx="184" cy="24" r="8" class="spot"/><circle cx="202" cy="24" r="8" class="spot"/>
|
||||
<circle cx="184" cy="42" r="8" class="spot"/><circle cx="202" cy="42" r="8" class="spot"/>
|
||||
<text x="193" y="66" class="zone">I</text>
|
||||
<line x1="0" y1="92" x2="224" y2="92" class="dim"/>
|
||||
<text x="100" y="106" class="dimt">~112</text>
|
||||
<text x="0" y="128" class="lbl">40 × 5 mm · R/C/I je 4 (2×2) · A = genau 1</text>
|
||||
<text x="0" y="144" class="lbl">Ø8 (A Ø11) · Gravur 0,5 · Pitch 9 · keine Löcher</text>
|
||||
</g>
|
||||
|
||||
<!-- ============ ROLLEN-FIGUR (side) ============ -->
|
||||
<g transform="translate(820,540)">
|
||||
<text x="0" y="-26" class="title">Rollen-Figur</text>
|
||||
<!-- simple meeple silhouette ~22mm tall = 44px -->
|
||||
<circle cx="30" cy="14" r="10" class="part"/>
|
||||
<path d="M 14 24 Q 30 18 46 24 L 42 44 L 18 44 Z" class="part"/>
|
||||
<!-- flat base -->
|
||||
<rect x="14" y="44" width="32" height="6" class="part"/>
|
||||
<text x="60" y="20" class="lbl">Höhe ~22 mm</text>
|
||||
<text x="60" y="40" class="lbl">flacher Standfuß,</text>
|
||||
<text x="60" y="54" class="lbl">kein Pin</text>
|
||||
<line x1="14" y1="60" x2="46" y2="60" class="dim"/>
|
||||
<text x="6" y="74" class="dimt">Sockel Ø~7,5</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.8 KiB |
|
|
@ -4,12 +4,13 @@ Stand: 2026-05-27 · Maße in mm · Mengen für **ein** Workshop-Set.
|
|||
|
||||
## Standard-Schnittstelle (für alle Teile gültig)
|
||||
|
||||
- **Verankerung (Sockel):** zylindrische Vertiefung **Ø 50 mm, Tiefe 4 mm**, mit
|
||||
0,4 mm Spielpassung. Sowohl Aktivitätsplättchen als auch der Action-Stein-Fuß
|
||||
passen hinein.
|
||||
- **Verankerung (Sockel):** zylindrische Vertiefung **Ø 60 mm, Tiefe 4 mm**, mit
|
||||
0,4 mm Spielpassung. Sowohl die Blanko-Scheibe (Ø 60) als auch der
|
||||
Action-Stein-Fuß (Ø 59) passen hinein.
|
||||
- **Tile-Steckverbindung:** Puzzle-Tab **12 mm breit, 6 mm tief**, mittig je Kante.
|
||||
- **Figuren-Steckplatz:** Pin-Loch **Ø 4,2 mm, Tiefe 4 mm** (für Figuren-Pin Ø 4,0 mm).
|
||||
Einheitlich am **Aktiv-Feld** und an den **Gate-Toren** — jede Figur passt überall.
|
||||
- **Figuren-Platzierung:** Figuren werden **gestellt, nicht gesteckt** (flacher
|
||||
Standfuß, kein Pin). Standorte sind als **flache Standfelder** (Ø 8 mm, Gravur
|
||||
~0,5 mm) am **Aktiv-Feld** und an den **Gate-Toren** markiert — keine Löcher.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -18,7 +19,7 @@ Stand: 2026-05-27 · Maße in mm · Mengen für **ein** Workshop-Set.
|
|||
| Merkmal | Wert |
|
||||
|---------|------|
|
||||
| Grundfläche | 100 × 100 × 6 mm |
|
||||
| Verankerung | zentriert, Ø 50 × 4 mm |
|
||||
| Verankerung | zentriert, Ø 60 × 4 mm |
|
||||
| Kanten | Puzzle-Tabs (Tab/Slot abwechselnd) |
|
||||
| Farbe | je Phase (blau/orange/grün/teal/lila) |
|
||||
| Menge | **40** (eine je Lifecycle-ID: 37 Aktivitäten + 3 Gate-Positionen) |
|
||||
|
|
@ -32,26 +33,29 @@ Alle Tiles sind **gerade** und werden zu einer **linearen Bahn** aneinandergerei
|
|||
(kein Ring). Bei Platzmangel kann die Bahn mäandrierend (Zeilenumbruch) gelegt
|
||||
werden — die Puzzle-Tabs erlauben auch 90°-Ecken.
|
||||
|
||||
## 2. Aktivitätsplättchen (einseitig)
|
||||
## 2. Aktivitäts-Scheibe (blanko + Aufkleber)
|
||||
|
||||
| Merkmal | Wert |
|
||||
|---------|------|
|
||||
| Form | Rundscheibe Ø 49 × 4 mm (passt in Verankerung) |
|
||||
| Gravur | **einseitig: ID + Kurzbezeichnung** (z. B. `op_05 — Überwachen der Services`). Rückseite leer/Phasenfarbe — Erklärung liegt in der App |
|
||||
| Form | Rundscheibe **Ø 60 × 4 mm**, plane Oberseite (passt in Verankerung Ø 60) |
|
||||
| Beschriftung | **60-mm-Rundaufkleber** mit ID + Kurzbezeichnung (z. B. `op_05 — Überwachen der Services`), plan aufgeklebt. **Keine Gravur.** Erklärung liegt in der App |
|
||||
| Griff | umlaufende Fase 1 mm zum leichten Herausnehmen |
|
||||
| Menge | **37** (eine je Aktivität; an den 3 Gate-Positionen steht stattdessen ein Gate-Tor) |
|
||||
| Material | PLA, je Phase eingefärbt (matcht Tile) |
|
||||
| Menge | **37** (alle identisch & blanko; an den 3 Gate-Positionen steht stattdessen ein Gate-Tor) |
|
||||
| Material | PLA, einheitlich blanko (Phasenfarbe & Text trägt der Aufkleber) |
|
||||
|
||||
> Plättchen 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, nicht über eine Rückseiten-Gravur.
|
||||
> Bei zu kleiner Schrift für Gravur: glatte Scheibe drucken + bedrucktes Label aufkleben.
|
||||
> **Vorteil Aufkleber:** Scheiben sind identisch und **wiederverwendbar** — neu
|
||||
> bekleben für andere Aktivitäten, Korrekturen oder Mehrsprachigkeit; keine
|
||||
> Serien-STLs/Gravur nötig. Aufkleber Ø 58 sitzt plan, Ø 60 überdeckt die obere
|
||||
> 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)
|
||||
|
||||
| Merkmal | Wert |
|
||||
|---------|------|
|
||||
| Fuß | Ø 49 × 5 mm (sitzt in Verankerung) |
|
||||
| Fuß | Ø 59 × 5 mm (sitzt in Verankerung Ø 60) |
|
||||
| Körper | Zylinder Ø 35, Höhe 30 mm |
|
||||
| Kartenschlitz | Breite 74 mm, Tiefe 4 mm, Höhe 25 mm (für Karte 70 mm breit) |
|
||||
| Gewichtseinlage | Aussparung für M8-Mutter im Fuß (Kippschutz) |
|
||||
|
|
@ -65,41 +69,58 @@ werden — die Puzzle-Tabs erlauben auch 90°-Ecken.
|
|||
|---------|------|
|
||||
| Form | Bogen/Tor, lichte Weite 90 mm, Höhe 100 mm, Materialstärke 8 mm |
|
||||
| Standfüße | 2 × Grundplatte 30 × 60 mm, überspannt 2 Tiles |
|
||||
| Rollen-Steckplätze | Lochreihe **Ø 4,2 mm** an der Basis (für Figuren-Pin), 4 Plätze, Pitch 8 mm |
|
||||
| Rollen-Standfelder | **4 flache Standfelder** (Ø 8 mm, Gravur ~0,6 mm) an der Basis — keine Löcher |
|
||||
| Kartenschlitz | oben quer, Breite 65 mm, Tiefe 3 mm (Gate-Beschreibungskarte) |
|
||||
| Gravur | „Gate 1/2/3" + Gate-Keeper |
|
||||
| Menge | **3** |
|
||||
| Material | PLA, Infill 20 % |
|
||||
|
||||
## 4a. Aktiv-Feld (RACI-Stecklochleiste)
|
||||
## 4a. Aktiv-Feld (RACI-Fläche)
|
||||
|
||||
Mobile Leiste, die **neben dem Action-Stein** steht und mit ihm weiterwandert.
|
||||
Hier werden die je Aktivität beteiligten Rollen-Figuren nach **RACI** gesteckt —
|
||||
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 | ~86 × 26 × 6 mm (Länge ergibt sich aus den Zonen), Ecken r3 |
|
||||
| Zonen | **R** (2 Plätze) · **A** (1 Platz) · **C** (3 Plätze) · **I** (3 Plätze) |
|
||||
| Steckplätze | Ø 4,2 mm, Tiefe 4 mm, Pitch 8 mm (für Figuren-Pin Ø 4,0) |
|
||||
| Gravur | Zonen-Buchstaben R / A / C / I vorne, Tiefe 0,8 mm |
|
||||
| Grundkörper | **~112 × 40 × 5 mm**, Ecken r4 |
|
||||
| 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 Ø 11) = **13 gesamt**; flache Markierung Ø 8 mm (A Ø 11), Gravur ~0,5 mm, Pitch 9 mm (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) |
|
||||
| Material | PLA, Infill 20 % |
|
||||
|
||||
> **A = genau 1 Platz** — bildet ab, dass je Aktivität genau eine Rolle
|
||||
> *Accountable* ist (RACI-Regel aus `spm_rollen.yaml`). Nicht jeder Platz muss
|
||||
> belegt sein; die Leiste ist großzügig ausgelegt.
|
||||
> Optional: Rastnase, damit die Leiste an den Action-Stein-Fuß andockt.
|
||||
> **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.
|
||||
|
||||
## 4b. SOR-Sonder-Tile (Gremium)
|
||||
|
||||
Die SOR ist ein **Gremium** und daher kein Figur, sondern ein eigenes Tile.
|
||||
|
||||
| Merkmal | Wert |
|
||||
|---------|------|
|
||||
| Grundkörper | ~120 × 120 × 6 mm, Ecken r4, Puzzle-Tab am Eingang |
|
||||
| Eingang | flache Aufsetz-Mulde (~116 × 30 × 1,5 mm) für die **Gate-Tor-Füße** + Gravur „SOR" |
|
||||
| Mitte | Mulde für **Entscheidungs-Chip Ø 30** — alternativ **„Gremium" eingraviert** (`use_chip=false`) |
|
||||
| Standfelder | **Ring aus 6** flachen Markierungen (Ø 8, Gravur ~0,5) für die Gremiums-Figuren |
|
||||
| Menge | **1** (ggf. 2 — Gate 1 & Gate 3 sind beide SOR-Gremium) |
|
||||
| Material | PLA, Infill 20 % |
|
||||
| Datei | `openscad/sor-tile.scad` |
|
||||
|
||||
## 5. Rollen-Figuren
|
||||
|
||||
| Merkmal | Wert |
|
||||
|---------|------|
|
||||
| Form | Schlanker Pöppel, Höhe ~22 mm, **Standfuß-Pin Ø 4,0 mm × 4 mm** (passt in Aktiv-Feld & Gate-Loch Ø 4,2) |
|
||||
| Standfläche | schmal (~8 mm), damit mehrere Figuren in einer Zonen-Reihe nebeneinander stehen |
|
||||
| Codierung | Farbe + Formvariante je Rollenkategorie |
|
||||
| Menge | siehe `../02_Spielfiguren/` (Governance, Management, Teams) |
|
||||
| Material | PLA, eingefärbt |
|
||||
| Form | Schlanker Pöppel, Höhe ~22 mm, **flacher Standfuß (kein Pin)** — wird auf die Standfelder gestellt |
|
||||
| Standfläche | rund **Ø ~7,5 mm** (< Pitch 9 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 |
|
||||
| Team-Sonderfiguren | **mehrere Mini-Figuren auf einem Sockel** (Betrieb, Support, Projekt) — klar als Team erkennbar |
|
||||
| Menge | **16 Einzelrollen + 3 Team-Figuren** (SOR ist ein Tile, keine Figur); Details `../02_Spielfiguren/` |
|
||||
| Material | PLA, eingefärbt je Kategorie |
|
||||
|
||||
## 6. Entscheidungs-Chips (optional 3D statt Karte)
|
||||
|
||||
|
|
@ -117,11 +138,13 @@ RACI wird so **pro Schritt** sichtbar, ohne die Tiles zu verändern.
|
|||
| Teil | Menge | Datei |
|
||||
|------|------:|-------|
|
||||
| Phasen-Basistile | 40 | `openscad/aktivitaets-tile.scad` |
|
||||
| Aktivitätsplättchen | 37 | `openscad/aktivitaets-plaque.scad` |
|
||||
| Aktivitäts-Scheibe (blanko) | 37 | `openscad/aktivitaets-plaque.scad` + 60-mm-Aufkleber |
|
||||
| Action-Stein | 2 | `openscad/action-stein.scad` |
|
||||
| Aktiv-Feld (RACI-Leiste) | 1 | `openscad/aktiv-feld.scad` |
|
||||
| Aktiv-Feld (RACI-Fläche) | 1 | `openscad/aktiv-feld.scad` |
|
||||
| Gate-Tor | 3 | `openscad/gate-tor.scad` |
|
||||
| Rollen-Figuren | ~20 | (Standard-Meeple-Modell + Einfärbung) |
|
||||
| SOR-Sonder-Tile | 1 (ggf. 2: Gate 1 & 3) | `openscad/sor-tile.scad` |
|
||||
| Rollen-Figuren (Einzel) | 16 | (Figur + Einfärbung je Kategorie) |
|
||||
| Team-Sonderfiguren | 3 | (mehrere Figuren auf einem Sockel) |
|
||||
| Entscheidungs-Chips | 12 | (einfache Münze + Gravur) |
|
||||
|
||||
## Hinweise für den Producer
|
||||
|
|
|
|||
|
|
@ -6,25 +6,21 @@ Parametrische Quellmodelle der Schlüsselteile. In [OpenSCAD](https://openscad.o
|
|||
|
||||
| Datei | Bauteil |
|
||||
|-------|---------|
|
||||
| `aktivitaets-tile.scad` | Phasen-Basistile (100×100, Verankerung Ø50, Puzzle-Tabs) |
|
||||
| `aktivitaets-plaque.scad` | Beidseitiges Aktivitätsplättchen (Ø49) — Text per Variable |
|
||||
| `aktivitaets-tile.scad` | Phasen-Basistile (100×100, Verankerung Ø60, Puzzle-Tabs) |
|
||||
| `aktivitaets-plaque.scad` | Blanko-Scheibe (Ø60) für 60-mm-Rundaufkleber — keine Gravur |
|
||||
| `action-stein.scad` | Szenario-Träger mit Kartenschlitz + M8-Gewichtsaussparung |
|
||||
| `gate-tor.scad` | Gate-Tor mit 4 Rollen-Steckplätzen + Kartenschlitz |
|
||||
| `gate-tor.scad` | Gate-Tor mit 4 Rollen-Standfeldern + Kartenschlitz |
|
||||
| `sor-tile.scad` | SOR-Sonder-Tile (Gremium): Gate-Eingang, Chip/„Gremium"-Mitte, Figuren-Ring |
|
||||
|
||||
## Serienfertigung der Plättchen
|
||||
## Serienfertigung der Scheiben
|
||||
|
||||
`aktivitaets-plaque.scad` enthält den Text als Variablen (`front_id`,
|
||||
`front_name`, `back_text`). Für alle 38 Aktivitäten empfiehlt sich ein kleines
|
||||
Skript, das die Werte aus den `service-lifecycle_*.yaml` liest und je Aktivität
|
||||
ein STL erzeugt (z.B. via OpenSCAD-Kommandozeile `-D` Parameter-Override):
|
||||
`aktivitaets-plaque.scad` ist **blanko** — alle **37 Scheiben sind identisch**
|
||||
(einmal rendern, 37× drucken). Kein Text-Override, keine Serien-STLs mehr nötig.
|
||||
|
||||
```bash
|
||||
openscad -o op_05.stl \
|
||||
-D 'front_id="op_05"' \
|
||||
-D 'front_name="Ueberwachen der Services"' \
|
||||
-D 'back_text="..."' \
|
||||
aktivitaets-plaque.scad
|
||||
```
|
||||
Die Beschriftung läuft über **60-mm-Rundaufkleber**: Ein kleines Skript liest die
|
||||
`service-lifecycle_*.yaml` und erzeugt einen **Aufkleberbogen** (ID + Kurzbezeichnung,
|
||||
Phasenfarbe) als PDF — analog zur Kartengenerierung. Vorteil: wiederverwendbar,
|
||||
korrigierbar, mehrsprachig.
|
||||
|
||||
## Hinweise
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
// SLC-Workshop Tabletop · Einheiten: mm
|
||||
|
||||
/* [Fuss] */
|
||||
foot_d = 49; // sitzt in Verankerung (Ø50)
|
||||
foot_d = 59; // sitzt in Verankerung (Ø60)
|
||||
foot_h = 5;
|
||||
stand_ring = 70; // optionaler Standring fuer Kippstabilitaet
|
||||
use_ring = true;
|
||||
|
|
|
|||
|
|
@ -1,77 +1,98 @@
|
|||
// Aktiv-Feld — RACI-Stecklochleiste
|
||||
// Aktiv-Feld — RACI-Fläche (Figuren werden GESTELLT, nicht gesteckt)
|
||||
// SLC-Workshop Tabletop · Einheiten: mm
|
||||
// Steht NEBEN dem Action-Stein. Bei jeder Aktivitaet werden die beteiligten
|
||||
// Rollen-Figuren nach RACI in die passende Zone gesteckt:
|
||||
// R = Responsible · A = Accountable (genau 1) · C = Consulted · I = Informed
|
||||
// Anpassen und mit OpenSCAD nach STL exportieren (F6 -> Export).
|
||||
// Eine flache Platte mit 4 abgetrennten Bereichen R · A · C · I (gleich gross).
|
||||
// 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).
|
||||
|
||||
/* [Leiste] */
|
||||
strip_w = 26; // Tiefe (zum Spieler)
|
||||
strip_h = 6; // Dicke
|
||||
corner_r = 3;
|
||||
/* [Platte] */
|
||||
plate_thick = 5; // Dicke der Flaeche
|
||||
corner_r = 4;
|
||||
plate_margin = 5; // Rand aussen
|
||||
|
||||
/* [Steckplaetze] */
|
||||
pin_hole_d = 4.2; // Loch fuer Figuren-Pin (Pin Oe 4,0 + Spiel)
|
||||
pin_hole_depth = 4;
|
||||
pin_pitch = 8; // Mitte-zu-Mitte innerhalb einer Zone
|
||||
zone_gap = 10; // Luecke zwischen den Zonen
|
||||
end_margin = 8; // Rand links/rechts
|
||||
socket_y = 5; // Lochreihe nach hinten versetzt (weg von der Beschriftung)
|
||||
/* [Standflaechen] (flache Markierung, kein Loch) */
|
||||
spot_d = 8; // Durchmesser
|
||||
spot_depth = 0.5; // Gravurtiefe
|
||||
spot_pitch = 9; // Mitte-zu-Mitte im Raster (R/C/I)
|
||||
grid_cols = 2; // Raster fuer R/C/I: 2 x 2 = 4 Standflaechen
|
||||
grid_rows = 2;
|
||||
a_spot_d = 11; // A: EIN groesseres zentrales Standfeld (genau 1 Figur)
|
||||
|
||||
/* [Beschriftung] */
|
||||
label_size = 7; // Buchstabengroesse
|
||||
label_depth = 0.8; // Gravurtiefe
|
||||
label_y = -8; // Position der Buchstaben (vorne, zum Spieler)
|
||||
/* [Bereiche / Zonen] — [Label, cols, rows]; A = 1x1 (goldene RACI-Regel) */
|
||||
zones = [["R", 2, 2], ["A", 1, 1], ["C", 2, 2], ["I", 2, 2]];
|
||||
cell_pad = 6; // Rand um die Standflaechen im Feld
|
||||
label_h = 9; // Platz fuer den Buchstaben unten im Feld
|
||||
zone_gap = 6; // Abstand zwischen den Feldern
|
||||
|
||||
/* [Zonen] */
|
||||
// [Label, Anzahl Steckplaetze] — A bewusst nur 1 (genau eine Rolle accountable)
|
||||
zones = [ ["R", 2], ["A", 1], ["C", 3], ["I", 3] ];
|
||||
/* [Gravur] */
|
||||
frame_w = 1.2; // Strichstaerke der Feld-Umrandung
|
||||
frame_depth = 0.6;
|
||||
label_size = 7;
|
||||
label_depth = 0.8;
|
||||
|
||||
$fn = 48;
|
||||
|
||||
// --- Hilfsfunktionen -------------------------------------------------------
|
||||
function zone_span(c) = (c - 1) * pin_pitch;
|
||||
// --- 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;
|
||||
|
||||
function sumspan(i = 0) =
|
||||
i >= len(zones) ? 0 : zone_span(zones[i][1]) + sumspan(i + 1);
|
||||
function zone_cx(i) =
|
||||
-plate_w/2 + plate_margin + cell_w/2 + i * (cell_w + zone_gap);
|
||||
|
||||
function total_len() =
|
||||
end_margin * 2 + zone_gap * (len(zones) - 1) + sumspan();
|
||||
|
||||
// linker Startversatz der Zone idx (Summe vorheriger Zonen + Luecken)
|
||||
function zone_offset(idx, i = 0, acc = 0) =
|
||||
i >= idx ? acc
|
||||
: zone_offset(idx, i + 1, acc + zone_span(zones[i][1]) + zone_gap);
|
||||
|
||||
// --- Geometrie -------------------------------------------------------------
|
||||
module rounded_rect(l, w, h, r) {
|
||||
linear_extrude(h)
|
||||
offset(r) offset(-r)
|
||||
square([l, w], center = true);
|
||||
// --- Geometrie --------------------------------------------------------------
|
||||
module rrect(l, w, h, r) {
|
||||
linear_extrude(h) offset(r) offset(-r) square([l, w], center = true);
|
||||
}
|
||||
|
||||
module raci_strip() {
|
||||
L = total_len();
|
||||
module field_frame(cx) {
|
||||
// eingravierte Umrandung -> grenzt den Bereich ab
|
||||
translate([cx, 0, plate_thick - frame_depth])
|
||||
linear_extrude(frame_depth + 0.1)
|
||||
difference() {
|
||||
square([cell_w, cell_h], center = true);
|
||||
square([cell_w - 2*frame_w, cell_h - 2*frame_w], center = true);
|
||||
}
|
||||
}
|
||||
|
||||
module zone_marks(i) {
|
||||
cx = zone_cx(i);
|
||||
lab = zones[i][0];
|
||||
nc = zones[i][1];
|
||||
nr = zones[i][2];
|
||||
if (lab == "A") {
|
||||
// genau EIN zentrales Standfeld (goldene RACI-Regel)
|
||||
translate([cx, label_h/2, plate_thick - spot_depth])
|
||||
cylinder(d = a_spot_d, h = spot_depth + 0.1);
|
||||
} else {
|
||||
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;
|
||||
translate([sx, sy, plate_thick - spot_depth])
|
||||
cylinder(d = spot_d, h = spot_depth + 0.1);
|
||||
}
|
||||
}
|
||||
// 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() {
|
||||
rounded_rect(L, strip_w, strip_h, corner_r);
|
||||
|
||||
for (idx = [0 : len(zones) - 1]) {
|
||||
cnt = zones[idx][1];
|
||||
sx = -L/2 + end_margin + zone_offset(idx);
|
||||
|
||||
// Steckplaetze der Zone
|
||||
for (i = [0 : cnt - 1])
|
||||
translate([sx + i * pin_pitch, socket_y, strip_h - pin_hole_depth])
|
||||
cylinder(d = pin_hole_d, h = pin_hole_depth + 0.1);
|
||||
|
||||
// Zonen-Beschriftung (mittig unter den Loechern)
|
||||
cx = sx + zone_span(cnt) / 2;
|
||||
translate([cx, label_y, strip_h - label_depth])
|
||||
linear_extrude(label_depth + 0.1)
|
||||
text(zones[idx][0], size = label_size,
|
||||
halign = "center", valign = "center");
|
||||
rrect(plate_w, plate_h, plate_thick, corner_r);
|
||||
for (i = [0 : len(zones) - 1]) {
|
||||
field_frame(zone_cx(i));
|
||||
zone_marks(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
raci_strip();
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -1,22 +1,18 @@
|
|||
// Beidseitiges Aktivitaetsplaettchen (Rundscheibe fuer Verankerung)
|
||||
// Aktivitaets-Scheibe — BLANKO Rundscheibe fuer 60-mm-Rundaufkleber
|
||||
// SLC-Workshop Tabletop · Einheiten: mm
|
||||
// Text per Variable setzen; fuer Serie ueber Skript je Aktivitaet generieren.
|
||||
// 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 = 49; // Durchmesser (Verankerung 50 - Passung)
|
||||
disc_d = 60; // Durchmesser (Verankerung 60 - Passung); passt zum 60-mm-Aufkleber
|
||||
disc_h = 4; // Dicke
|
||||
chamfer = 1; // Fase als Griffhilfe
|
||||
|
||||
/* [Gravur] */
|
||||
engrave_depth = 0.8;
|
||||
front_id = "op_05";
|
||||
front_name = "Ueberwachen der Services";
|
||||
back_text = "Laufende Ueberwachung von Verfuegbarkeit, Leistung und Qualitaet des Service.";
|
||||
font = "Liberation Sans:style=Bold";
|
||||
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
|
||||
// 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);
|
||||
|
|
@ -24,25 +20,4 @@ module disc_body() {
|
|||
}
|
||||
}
|
||||
|
||||
module front_engraving() {
|
||||
translate([0, 6, disc_h - engrave_depth])
|
||||
linear_extrude(engrave_depth + 0.1)
|
||||
text(front_id, size=7, halign="center", font=font);
|
||||
translate([0, -6, disc_h - engrave_depth])
|
||||
linear_extrude(engrave_depth + 0.1)
|
||||
text(front_name, size=3.2, halign="center", font=font);
|
||||
}
|
||||
|
||||
module back_engraving() {
|
||||
// gespiegelt, weil Rueckseite
|
||||
mirror([1,0,0])
|
||||
translate([0, 0, -0.1])
|
||||
linear_extrude(engrave_depth + 0.1)
|
||||
text(back_text, size=2.6, halign="center", font=font);
|
||||
}
|
||||
|
||||
difference() {
|
||||
disc_body();
|
||||
front_engraving();
|
||||
back_engraving();
|
||||
}
|
||||
disc_body();
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ tile_height = 6; // Dicke
|
|||
corner_r = 3; // Eckenradius
|
||||
|
||||
/* [Verankerung / Sockel] */
|
||||
socket_d = 50; // Durchmesser Vertiefung
|
||||
socket_d = 60; // Durchmesser Vertiefung (nimmt Blanko-Scheibe Ø60 oder Action-Stein-Fuss auf)
|
||||
socket_depth = 4; // Tiefe
|
||||
fit_clear = 0.4; // Spielpassung
|
||||
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ foot_w = 60;
|
|||
foot_d = 30;
|
||||
foot_h = 4;
|
||||
|
||||
/* [Rollen-Steckplaetze] */
|
||||
peg_d = 8.2; // Loch fuer Figuren-Pin (Ø7,5 + Passung)
|
||||
peg_count = 4;
|
||||
peg_depth = 6;
|
||||
/* [Rollen-Standfelder] (keine Loecher — Figuren werden gestellt) */
|
||||
spot_d = 8; // Durchmesser der eingravierten Standflaeche
|
||||
spot_count = 4; // 4 Pflicht-Figuren (SPM + SO + AL B&C + AL App)
|
||||
spot_depth = 0.6; // Gravurtiefe (reine Markierung)
|
||||
|
||||
/* [Kartenschlitz oben] */
|
||||
card_w = 65;
|
||||
|
|
@ -44,13 +44,12 @@ module feet() {
|
|||
cube([foot_w, foot_d, foot_h]);
|
||||
}
|
||||
|
||||
module peg_holes() {
|
||||
// Lochreihe entlang der Vorderkante der Fuesse
|
||||
spacing = (opening_w + post_w) / (peg_count - 1);
|
||||
for (i = [0 : peg_count - 1])
|
||||
translate([-(opening_w + post_w)/2 + i*spacing, foot_d/2 - peg_d, foot_h])
|
||||
rotate([180,0,0])
|
||||
cylinder(d = peg_d, h = peg_depth);
|
||||
module stand_spots() {
|
||||
// Flache Standfeld-Markierungen entlang der Vorderkante der Fuesse
|
||||
spacing = (opening_w + post_w) / (spot_count - 1);
|
||||
for (i = [0 : spot_count - 1])
|
||||
translate([-(opening_w + post_w)/2 + i*spacing, foot_d/2 - spot_d, foot_h - spot_depth])
|
||||
cylinder(d = spot_d, h = spot_depth + 0.1);
|
||||
}
|
||||
|
||||
module card_slot() {
|
||||
|
|
@ -63,8 +62,8 @@ difference() {
|
|||
translate([0,0,foot_h]) arch();
|
||||
translate([0,0,foot_h]) card_slot();
|
||||
}
|
||||
// Fuesse inkl. Rollen-Steckplaetze
|
||||
// Fuesse inkl. Rollen-Standfelder (flache Markierung)
|
||||
difference() {
|
||||
feet();
|
||||
peg_holes();
|
||||
stand_spots();
|
||||
}
|
||||
|
|
|
|||
94
01_3D-Druck/openscad/sor-tile.scad
Normal file
94
01_3D-Druck/openscad/sor-tile.scad
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
// SOR-Sonder-Tile (Gremium) — Service Operations Runde
|
||||
// SLC-Workshop Tabletop · Einheiten: mm
|
||||
// Die SOR ist kein Einzel-Figur, sondern ein Gremium -> eigenes Tile:
|
||||
// - Gate-Tor wird am Eingang (Vorderkante) installiert -> Eingang ins Gremium
|
||||
// - Mitte: Platz fuer den Entscheidungs-Chip (Ø30); alternativ "Gremium" graviert
|
||||
// - rundherum: Standfelder fuer die teilnehmenden Figuren (gestellt, kein Pin)
|
||||
|
||||
/* [Tile] */
|
||||
tile_size = 120; // etwas groesser als Standardtile (Platz fuer Ring + Gate)
|
||||
tile_height = 6;
|
||||
corner_r = 4;
|
||||
|
||||
/* [Mitte: Chip oder Gravur] */
|
||||
use_chip = true; // true: Chip-Mulde Ø30 · false: "Gremium" eingraviert
|
||||
chip_d = 30;
|
||||
chip_recess_d = 0.6; // Spielpassung
|
||||
chip_depth = 1.5; // Mulden-Tiefe fuer den Chip
|
||||
gremium_text = "Gremium";
|
||||
gremium_size = 12;
|
||||
gremium_depth = 0.8;
|
||||
|
||||
/* [Ring aus Standfeldern] */
|
||||
ring_count = 6; // Plaetze fuer Gremiums-Figuren rund um die Mitte
|
||||
ring_d = 84; // Kreisdurchmesser, auf dem die Standfelder liegen
|
||||
spot_d = 8; // Standfeld-Durchmesser
|
||||
spot_depth = 0.5; // Gravurtiefe (Markierung, kein Loch)
|
||||
|
||||
/* [Gate-Eingang an der Vorderkante] */
|
||||
gate_seat_w = 116; // Breite der Aufsetzflaeche fuer das Gate (Fuesse 2x60)
|
||||
gate_seat_d = 30; // Tiefe (= Gate-Fusstiefe)
|
||||
gate_seat_depth = 1.5; // flache Mulde, in der die Gate-Fuesse stehen
|
||||
gate_label = "SOR";
|
||||
gate_label_size = 7;
|
||||
gate_label_depth= 0.8;
|
||||
|
||||
/* [Puzzle-Tab am Eingang -> Anschluss an die Bahn] */
|
||||
tab_w = 12; tab_d = 6;
|
||||
|
||||
$fn = 96;
|
||||
|
||||
module rounded_square(s, r, h) {
|
||||
linear_extrude(h) offset(r) offset(-r) square([s, s], center=true);
|
||||
}
|
||||
|
||||
module ring_spots() {
|
||||
for (i = [0 : ring_count - 1]) {
|
||||
a = 360/ring_count * i;
|
||||
x = (ring_d/2) * cos(a);
|
||||
y = (ring_d/2) * sin(a);
|
||||
translate([x, y, tile_height - spot_depth])
|
||||
cylinder(d = spot_d, h = spot_depth + 0.1);
|
||||
}
|
||||
}
|
||||
|
||||
module center_feature() {
|
||||
if (use_chip) {
|
||||
// Mulde fuer den Entscheidungs-Chip
|
||||
translate([0, 0, tile_height - chip_depth])
|
||||
cylinder(d = chip_d + chip_recess_d, h = chip_depth + 0.1);
|
||||
} else {
|
||||
// "Gremium" eingraviert
|
||||
translate([0, 0, tile_height - gremium_depth])
|
||||
linear_extrude(gremium_depth + 0.1)
|
||||
text(gremium_text, size = gremium_size,
|
||||
halign = "center", valign = "center");
|
||||
}
|
||||
}
|
||||
|
||||
module gate_entrance() {
|
||||
// flache Mulde an der Vorderkante (Suedkante), in die die Gate-Fuesse gestellt werden
|
||||
translate([0, -tile_size/2 + gate_seat_d/2, tile_height - gate_seat_depth])
|
||||
cube([gate_seat_w, gate_seat_d, gate_seat_depth + 0.1], center = true);
|
||||
// Beschriftung "SOR" an der Vorderkante
|
||||
translate([0, -tile_size/2 + gate_seat_d + gate_label_size, tile_height - gate_label_depth])
|
||||
linear_extrude(gate_label_depth + 0.1)
|
||||
text(gate_label, size = gate_label_size, halign = "center", valign = "center");
|
||||
}
|
||||
|
||||
module sor_tile() {
|
||||
difference() {
|
||||
union() {
|
||||
rounded_square(tile_size, corner_r, tile_height);
|
||||
// Puzzle-Tab am Eingang (Suedkante) zum Anschluss an die Bahn
|
||||
translate([0, -tile_size/2 - tab_d, 0])
|
||||
cube([tab_w, tab_d*2, tile_height]);
|
||||
}
|
||||
center_feature();
|
||||
ring_spots();
|
||||
gate_entrance();
|
||||
}
|
||||
}
|
||||
|
||||
sor_tile();
|
||||
echo(tile_size = tile_size, ring_count = ring_count, use_chip = use_chip);
|
||||
|
|
@ -21,25 +21,26 @@ sauberste Geometrie; Beschriftungen bewusst sparsam halten.
|
|||
Clean technical product render, neutral light-grey studio background, exploded
|
||||
view of a set of 3D-printed tabletop game components in matte PLA. Show: a square
|
||||
modular base tile (100x100mm) with puzzle-tab edges and a round centered recess;
|
||||
a round single-sided insert disc that fits the recess (top face with a short
|
||||
engraved code, plain back); a cylindrical game token
|
||||
a round blank insert disc (~60mm) that fits the recess, its flat top carrying a
|
||||
round printed label sticker; a cylindrical game token
|
||||
with a wide weighted base and a vertical card slot on top; a small upright
|
||||
arch-shaped "gate" with peg holes at its base; a meeple figure with a round pin
|
||||
foot. Parts floating slightly apart to show how they connect. Soft shadows,
|
||||
arch-shaped "gate" with marked stand spots at its base; a meeple figure with a
|
||||
flat round base. Parts floating slightly apart to show how they relate. Soft shadows,
|
||||
isometric angle, high detail, dimension-focused, minimal text.
|
||||
```
|
||||
|
||||
## Prompt B — Aktivitätsplättchen: einseitig & entnehmbar
|
||||
|
||||
```
|
||||
Close-up technical render of round single-sided game discs in matte colored PLA,
|
||||
each about 49mm diameter and 4mm thick with a chamfered edge for easy gripping.
|
||||
Three discs shown: one sitting flush inside a square tile's round recess (top face
|
||||
showing a short engraved activity code), one lifted out by fingers, and one lying
|
||||
beside the tile with a plain blank back. The empty recess of one tile is clearly
|
||||
visible (this is where the upright action token will stand). Emphasis on the
|
||||
removable fit and the freed socket. Neutral grey background, soft studio light,
|
||||
shallow depth of field, premium board-game component photography.
|
||||
Close-up technical render of round blank game discs in matte PLA, each about 60mm
|
||||
diameter and 4mm thick with a chamfered edge for easy gripping, the flat top face
|
||||
carrying a round printed label sticker with a short activity code. Three discs
|
||||
shown: one sitting flush inside a square tile's round recess, one lifted out by
|
||||
fingers, and one blank disc with the round sticker beside it. The empty recess of
|
||||
one tile is clearly visible (this is where the upright action token will stand).
|
||||
Emphasis on the removable fit and the re-stickerable blank top. Neutral grey
|
||||
background, soft studio light, shallow depth of field, premium board-game
|
||||
component photography.
|
||||
```
|
||||
|
||||
## Prompt C — Action-Stein im Detail
|
||||
|
|
@ -55,16 +56,16 @@ lighting, isometric, emphasis on proportions and the card slot fit, no decorativ
|
|||
text.
|
||||
```
|
||||
|
||||
## Prompt D — Gate-Tor mit Rollen-Steckplätzen
|
||||
## Prompt D — Gate-Tor mit Rollen-Standfeldern
|
||||
|
||||
```
|
||||
Technical product render of a small upright arch-shaped game piece in matte PLA,
|
||||
like a doorway about 100mm tall with 90mm clear opening, 8mm thick. Two flat feet
|
||||
at the base spanning two tiles of a straight track. A row of four small round holes
|
||||
along the front base edge for inserting pin-footed figures. A thin horizontal slot
|
||||
across the top of the arch holding a small reference card. A round-pin meeple figure
|
||||
is inserted in one of the base holes. Neutral background, isometric, soft shadows,
|
||||
focus on the peg-hole mechanism, minimal text.
|
||||
at the base spanning two tiles of a straight track. A row of four small shallow
|
||||
engraved circular stand spots along the front base edge where figures are placed.
|
||||
A thin horizontal slot across the top of the arch holding a small reference card.
|
||||
A flat-based meeple figure stands on one of the marked spots. Neutral background,
|
||||
isometric, soft shadows, focus on the stand-spot markings, minimal text.
|
||||
```
|
||||
|
||||
## Prompt E — Tile-Steckmechanik (gerade Bahn)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue