Compare commits

...

7 commits

Author SHA1 Message Date
6c6ffffd1d Phasen-Ring: nur noch Phasenname (Sublabels weg), groesser + mittig
- ph_sub entfernt; Gravur = nur Phasenname, mittig im Band.
- Groesse 7->9, Tiefe 0,8->1,0 fuer bessere Lesbarkeit.
- materialliste §7 nachgezogen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:43:51 +02:00
677d414a2e Phasen-Ring: neue Sublabels (2-zeilig), Icons entfernt
- ph_sub als 2-Zeilen-Listen mit neuen Texten:
  Design "Planung & Architektur eines Services", Transition "Ueberfuehrung des
  Services in den Betrieb", Operation "Stabil laufender Betrieb des Services",
  Support "Nutzeranfragen & Incidents im laufenden Service", Review
  "Kontinuierliche Verbesserung des laufenden Services".
- icon()-Modul entfernt, Gravur = nur Name + Sublabel.
- materialliste §7 nachgezogen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:40:22 +02:00
ba6a3199a7 Phasen-Ring: je Segment eine druckfertige scad-Datei
- phasen-ring.scad zur Bibliothek umgebaut: phase_segment(idx) mit Masse als
  Parametern, Daten als Funktionen (ph_name/ph_sub/ph_col), Farbe ins Modul.
  Direkt geoeffnet = ganzer Ring als Vorschau.
- 5 schlanke Einzeldateien (design/transition/operation/support/review):
  je `use <phasen-ring.scad>` + phase_segment(idx) -> druckfertig, DRY.
- materialliste + README_openscad auf die Einzeldateien umgestellt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:31:39 +02:00
fa8294870a Magnete ueberall entfernt (Pucks + Phasen-Ring)
- puck.scad: zurueck auf 6 mm, Kopplungs-Flats + Magnettaschen raus -> runder
  Puck, wird lose zur Bahn ausgelegt.
- phasen-ring.scad: Magnettaschen raus, 8 -> 6 mm (gleiche Hoehe wie Pucks),
  Segmente werden lose aneinandergelegt.
- materialliste + READMEs nachgezogen (6 mm, keine Magnete, Magnet-Zeile/
  Polaritaets-Hinweise entfernt).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:27:28 +02:00
b87806e3c8 Puck: magnetische Kanten-Kopplung (8 mm + Flats + Magnettaschen)
- puck_h 6 -> 8 mm, damit Ø6-Magnete in die Kante passen.
- 2 abgeflachte Kontaktstellen (Eingang/Ausgang, x=±47) mit je 1 Magnettasche
  Ø6,2x2,2 auf Hoehenmitte -> Pucks koppeln zur Kette + an die Ring-Koepfe.
- Mulden-Ring 15° gedreht, damit keine Mulde auf der Kopplungsachse liegt.
- Parameter coupling=true (abschaltbar). Polaritaet konsistent einkleben.
- materialliste + README_3d-druck + README_openscad nachgezogen (8 mm, Magnete ~100).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:23:14 +02:00
2aaf2fce4f Phasen-Ring: SLC-Uebersicht <-> Bahn-Koepfe (5 Segmente)
- Neues phasen-ring.scad: 5x 72°-Ringsegment (Ø180/Ø84x8). Zusammengesteckt
  = SLC-Uebersichts-Donut, auseinandergenommen = farbige Phasen-Koepfe der
  Puck-Bahn (Design-Segment = Start vor dem ersten Puck).
- Je Phasenfarbe (wie die Pucks), gravierter Name + Sublabel + Icon.
- Magnettaschen Ø6x2 (2 je Stosskante): Magnete optional, sonst lose auflegen.
- Parametrisch: render_mode single (Export je phase=0..4) / ring (Vorschau).
- materialliste (§7 + Stueckliste) und README_openscad nachgezogen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:16:14 +02:00
7dd45a39a6 Action-Stein entfernt + Doku bereinigt
- action-stein.scad geloescht: kein Szenario-Traeger mehr.
  Action Card liegt flach an der aktuellen Station; Station fuehrt die App
  bzw. zeigen die gestellten Figuren.
- materialliste: §3 auf "Szenario-Handling (kein 3D-Teil)" umgestellt,
  Stueckliste + kritische Masse bereinigt, Aktiv-Feld-Bezug aktualisiert.
- README_3d-druck / README_openscad nachgezogen.
- bauteile-masse.svg: Pitch 24 -> 30.
- versehentlich getrackte Vorschau _af.png entfernt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:51:38 +02:00
13 changed files with 131 additions and 77 deletions

View file

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

View file

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

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Before After
Before After

View file

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

View file

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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