From 2aaf2fce4f6d5c30db4b029c181839c6e1d899ff Mon Sep 17 00:00:00 2001 From: breitenbach76 Date: Thu, 4 Jun 2026 23:16:14 +0200 Subject: [PATCH] Phasen-Ring: SLC-Uebersicht <-> Bahn-Koepfe (5 Segmente) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- 01_3D-Druck/materialliste.md | 21 ++++ 01_3D-Druck/openscad/README_openscad.md | 1 + 01_3D-Druck/openscad/phasen-ring.scad | 132 ++++++++++++++++++++++++ 3 files changed, 154 insertions(+) create mode 100644 01_3D-Druck/openscad/phasen-ring.scad diff --git a/01_3D-Druck/materialliste.md b/01_3D-Druck/materialliste.md index 24c6fdd..bfd8b9f 100644 --- a/01_3D-Druck/materialliste.md +++ b/01_3D-Druck/materialliste.md @@ -124,6 +124,26 @@ Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwort | Menge | je Figur 2× → **32** Einzelrollen (16 × 2) + **6** Team-Figuren (3 × 2) = **38** | | Material | PLA, eingefärbt je Kategorie | +## 7. Phasen-Ring (SLC-Übersicht ↔ Bahn-Köpfe) + +Fünf 72°-Ringsegmente bilden **zusammengesteckt** den SLC-Übersichts-Donut (wie das +Konzept-Schaubild) und **auseinandergenommen** die farbigen **Phasen-Köpfe** der +linearen Puck-Bahn — das **Design-Segment ist der Start** vor dem ersten Puck. + +| Merkmal | Wert | +|---------|------| +| Form | Ringsegment 72°, **Ø 180 außen / Ø 84 innen × 8 mm** | +| Beschriftung | **graviert** (nur 5 Stück): Phasenname + Sublabel + Icon | +| Farbe | je Phase (blau/orange/grün/teal/lila) — wie die Pucks | +| Verbindung | **Magnettaschen** Ø 6 × 2, je 2 pro Stoßkante; Magnete optional einkleben — **ohne Magnete einfach lose aneinanderlegen** | +| Menge | **5** (1 je Phase) | +| Material | PLA, Infill 15 %, Filament je Phasenfarbe | +| Datei | `openscad/phasen-ring.scad` | + +> Export: `render_mode="single"` + `phase=0..4` → ein Segment je Phase. +> Vorschau: `render_mode="ring"` (Preview-Modus, nicht `--render` — sonst eine +> Einheitsfarbe). Magnete: bis zu **20** (Ø 6 × 2) für den geschlossenen Ring. + --- ## Stückliste (Kurzfassung) @@ -132,6 +152,7 @@ Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwort |------|------:|-------| | Station-Puck | 37 | `openscad/puck.scad` (Phasenfarbe) | | Gate-Puck | 3 | `openscad/puck.scad` (rot) | +| Phasen-Ring-Segment | 5 | `openscad/phasen-ring.scad` (je Phasenfarbe) | | Aktiv-Feld (RACI-Fläche) | 1 | `openscad/aktiv-feld.scad` | | Rollen-Figuren (Einzel) | 32 | 16 Rollen × 2 | | Team-Sonderfiguren | 6 | 3 Teams × 2 | diff --git a/01_3D-Druck/openscad/README_openscad.md b/01_3D-Druck/openscad/README_openscad.md index a7b6fa9..9317968 100644 --- a/01_3D-Druck/openscad/README_openscad.md +++ b/01_3D-Druck/openscad/README_openscad.md @@ -8,6 +8,7 @@ Parametrische Quellmodelle der Schlüsselteile. In [OpenSCAD](https://openscad.o |-------|---------| | `puck.scad` | **Station-/Gate-Puck** (Ø100, Rand + Einbuchtung, 7 Figurenmulden Ø22, Etikettenmulde Ø37,5) | | `aktiv-feld.scad` | RACI-Fläche (R · A · C · I, 2×2) — separates mobiles Board, 130×130 | +| `phasen-ring.scad` | **Phasen-Ring** (5× 72°-Segment): Übersichts-Donut ↔ Bahn-Köpfe, Magnettaschen, `phase=0..4` | ## Ein Puck für die ganze Bahn diff --git a/01_3D-Druck/openscad/phasen-ring.scad b/01_3D-Druck/openscad/phasen-ring.scad new file mode 100644 index 0000000..ae77eac --- /dev/null +++ b/01_3D-Druck/openscad/phasen-ring.scad @@ -0,0 +1,132 @@ +// Phasen-Ring — 5 Segmente (Donut) als SLC-Uebersicht, die auseinandergenommen +// die Phasen-KOEPFE der linearen Puck-Bahn bilden (Design-Segment = Start). +// SLC-Workshop Tabletop · Einheiten: mm +// +// - 1 Segment = 72°-Ringsegment in seiner Phasenfarbe (wie die Pucks). +// - Beschriftung GRAVIERT (nur 5 Stueck): Phasenname + Sublabel + einfaches Icon. +// - Magnettaschen an beiden Stosskanten: Magnete einkleben -> haelt als Ring zusammen; +// ohne Magnete einfach lose aneinanderlegen (Taschen stoeren nicht). +// +// EXPORT: render_mode="single" + phase=0..4 -> ein Segment je Phase als STL. +// VORSCHAU: render_mode="ring" -> alle 5 farbig zusammengesetzt. + +/* [Render] */ +render_mode = "ring"; // "single" (Export) oder "ring" (Vorschau) +phase = 0; // 0 Design · 1 Transition · 2 Operation · 3 Support · 4 Review + +/* [Ring-Geometrie] */ +r_out = 90; // Aussenradius (Ø180) +r_in = 42; // Innenradius (Ø84) +seg_h = 8; // Dicke (etwas dicker als Pucks -> Platz fuer Magnete in der Kante) +seg_ang = 72; // 360/5 +gap_deg = 1.2; // kleiner Spalt zwischen Segmenten (Passung) + +/* [Magnettaschen] (an den Stosskanten) */ +mag_d = 6.2; // Loch fuer Ø6-Magnet +mag_t = 2.2; // Tiefe (Ø6x2-Magnet + Spiel) +mag_r1 = 56; // Radius Tasche 1 +mag_r2 = 78; // Radius Tasche 2 + +/* [Gravur] */ +eng_depth = 0.8; +name_size = 7; +sub_size = 3.4; + +$fn = 96; + +// --- Phasendaten ------------------------------------------------------------ +names = ["DESIGN", "TRANSITION", "OPERATION", "SUPPORT", "REVIEW"]; +subs = ["Planung & Architektur", "Kontrollierte Ueberfuehrung", + "Stabiler laufender Betrieb", "Nutzeranfragen & Incidents", + "Continual Improvement"]; +// Phasenfarben (nur Vorschau; im Druck = Filament) +pcol = [[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]]; + +// --- Geometrie-Helfer ------------------------------------------------------- +module ring_sector(a) { + // 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)]]); + } +} + +module magnet_pocket(edge_ang, inward_ang, r) { + translate([r*cos(edge_ang), r*sin(edge_ang), seg_h/2]) + rotate([0,0,inward_ang]) rotate([0,90,0]) + translate([0,0,-0.3]) cylinder(d = mag_d, h = mag_t + 0.3, $fn = 32); +} + +// --- Icons (einfache gravierte Glyphen, 2D) --------------------------------- +module icon(i) { + // zentriert um (0,0), ~14 mm + if (i == 0) // Design: Dokument + difference() { + square([10,13], center=true); + translate([2.5,5.5]) rotate(45) square([6,6]); // gefaltete Ecke + } + else if (i == 1) // Transition: Pfeil nach rechts + union() { + translate([-6,-1.6]) square([9,3.2]); + translate([3,0]) polygon([[0,-5],[6,0],[0,5]]); + } + else if (i == 2) // Operation: Zahnkranz (Ring) + difference() { circle(r=6.5); circle(r=3.2); } + else if (i == 3) // Support: Sprechblase + union() { + translate([0,1]) square([13,9], center=true); + translate([-4,-3.5]) polygon([[0,0],[5,0],[0,-4]]); + } + else // Review: Kreis-Pfeil (Loop) + union() { + difference() { + difference(){ circle(r=6.5); circle(r=3.8); } + translate([3,3]) square([8,8]); // Luecke oben rechts + } + translate([6.5,2]) polygon([[-2,0],[2,2],[2,-3]]); // Pfeilspitze + } +} + +// --- ein Segment ------------------------------------------------------------ +module phase_segment(idx) { + a = seg_ang - gap_deg; + e0 = 90 - a/2; // untere Kante + e1 = 90 + a/2; // obere Kante + difference() { + ring_sector(a); + // Magnettaschen: 2 je Stosskante + magnet_pocket(e0, e0 + 90, mag_r1); + magnet_pocket(e0, e0 + 90, mag_r2); + magnet_pocket(e1, e1 - 90, mag_r1); + magnet_pocket(e1, e1 - 90, mag_r2); + // Gravur (oben) + translate([0,0,seg_h - eng_depth]) linear_extrude(eng_depth + 0.1) { + translate([0,82]) scale(0.9) icon(idx); + translate([0,66]) text(names[idx], size=name_size, + halign="center", valign="center"); + translate([0,53]) text(subs[idx], size=sub_size, + halign="center", valign="center"); + } + } +} + +// --- Ausgabe ---------------------------------------------------------------- +if (render_mode == "ring") { + for (i = [0:4]) + color(pcol[i]) rotate([0,0, -i*72]) phase_segment(i); +} else { + color(pcol[phase]) phase_segment(phase); +} + +echo(r_out=r_out, r_in=r_in, seg_h=seg_h, seg_ang=seg_ang);