Tile-Redesign: runder Puck statt eckigem Tile + Scheibe
- Neues puck.scad: Ø100, Rand 5mm + Einbuchtung, 7 Figurenmulden Ø22, Etikettenmulde Ø37,5 (Rundetikett Ø37). EIN Modell fuer die ganze Bahn (Station=Phasenfarbe, Gate=rot; Unterschied nur Filament + Etikett). - Entfernt: aktivitaets-tile, aktivitaets-plaque, gate-tile, gate-tor. Gate-Karte gestrichen (Logik via App + Entscheidungs-Chips). - Materialliste + READMEs (3d-druck, openscad) auf Puck-System umgestellt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
f122865b43
commit
efdd0e84c0
8 changed files with 224 additions and 376 deletions
81
01_3D-Druck/openscad/puck.scad
Normal file
81
01_3D-Druck/openscad/puck.scad
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
// 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