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>
This commit is contained in:
parent
b87806e3c8
commit
fa8294870a
5 changed files with 24 additions and 85 deletions
|
|
@ -6,9 +6,9 @@ Parametrische Quellmodelle der Schlüsselteile. In [OpenSCAD](https://openscad.o
|
|||
|
||||
| Datei | Bauteil |
|
||||
|-------|---------|
|
||||
| `puck.scad` | **Station-/Gate-Puck** (Ø100×8, 7 Figurenmulden Ø22, Etikettenmulde Ø37,5, Kopplungs-Flats + Magnettaschen Ø6) |
|
||||
| `puck.scad` | **Station-/Gate-Puck** (Ø100×6, 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` |
|
||||
| `phasen-ring.scad` | **Phasen-Ring** (5× 72°-Segment, Ø180×6): Übersichts-Donut ↔ Bahn-Köpfe, `phase=0..4` |
|
||||
|
||||
## Ein Puck für die ganze Bahn
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
//
|
||||
// - 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).
|
||||
// - KEINE Magnete: Segmente werden lose aneinandergelegt (als Ring oder als
|
||||
// Phasen-Koepfe entlang der Bahn).
|
||||
//
|
||||
// EXPORT: render_mode="single" + phase=0..4 -> ein Segment je Phase als STL.
|
||||
// VORSCHAU: render_mode="ring" -> alle 5 farbig zusammengesetzt.
|
||||
|
|
@ -17,16 +17,10 @@ phase = 0; // 0 Design · 1 Transition · 2 Operation · 3 Support
|
|||
/* [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_h = 6; // Dicke (wie die Pucks)
|
||||
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;
|
||||
|
|
@ -62,12 +56,6 @@ module ring_sector(a) {
|
|||
}
|
||||
}
|
||||
|
||||
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
|
||||
|
|
@ -101,15 +89,8 @@ module icon(i) {
|
|||
// --- 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);
|
||||
|
|
|
|||
|
|
@ -9,17 +9,12 @@
|
|||
// - Ring aus 7 Figurenmulden (Sockel Ø20 wird REINGESTELLT, daher Ø22)
|
||||
// - Mitte: flache Mulde fuer ein rundes Etikett Ø37
|
||||
//
|
||||
// KOPPLUNG (coupling=true): Eingang/Ausgang als abgeflachte Kontaktstelle mit je
|
||||
// einer Magnettasche -> Pucks koppeln zur Kette + an die Phasen-Ring-Koepfe.
|
||||
// Dafuer ist der Puck 8 mm hoch (Ø6-Magnet passt in die Kante).
|
||||
// POLARITAET beim Einkleben konsistent: alle AUSGANG (+X) z.B. Nordpol nach
|
||||
// aussen, alle EINGANG (-X) Suedpol nach aussen -> Nachbarn ziehen sich an.
|
||||
//
|
||||
// KEINE Magnete / keine Kopplung: Pucks werden lose zur Bahn ausgelegt.
|
||||
// Beschriftung: KEINE Gravur. ID/Phasenfarbe via Etikett Ø37 in der Mitte.
|
||||
|
||||
/* [Puck] */
|
||||
puck_d = 100; // Aussendurchmesser
|
||||
puck_h = 8; // Gesamthoehe (8 -> Ø6-Magnet passt in die Kante)
|
||||
puck_h = 6; // Gesamthoehe
|
||||
edge_cham = 1; // Fase obere Aussenkante (Optik/Griff)
|
||||
|
||||
/* [Rand + Einbuchtung] */
|
||||
|
|
@ -32,23 +27,16 @@ 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
|
||||
spot_a0 = 15; // Winkel-Offset: keine Mulde auf der Kopplungsachse (X)
|
||||
|
||||
/* [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
|
||||
|
||||
/* [Kopplung] — Magnete an Eingang/Ausgang */
|
||||
coupling = true; // Flats + Magnettaschen an +X/-X
|
||||
flat_at = 47; // Abstand der Kontakt-Flache von der Mitte (Flat-Tiefe = 50-47 = 3)
|
||||
mag_d = 6.2; // Loch fuer Ø6-Magnet
|
||||
mag_t = 2.2; // Tiefe (Ø6x2-Magnet + Spiel)
|
||||
|
||||
$fn = 96;
|
||||
|
||||
// abgeleitet
|
||||
play_d = puck_d - 2*rim_w; // Spielflaeche Ø90
|
||||
play_z = puck_h - recess_dep; // Hoehe der eingebuchteten Spielflaeche (6.8)
|
||||
play_z = puck_h - recess_dep; // Hoehe der eingebuchteten Spielflaeche (4.8)
|
||||
|
||||
// --- Grundkoerper mit gefaster Oberkante ------------------------------------
|
||||
module puck_blank() {
|
||||
|
|
@ -68,43 +56,22 @@ module figure_spot() {
|
|||
}
|
||||
}
|
||||
|
||||
// --- Kopplung: Flat-Schnitt + Magnettasche je Seite ------------------------
|
||||
module coupling_flat_cut() {
|
||||
// entfernt Material jenseits von x = +/- flat_at -> zwei Kontakt-Flachen
|
||||
for (s = [-1, 1])
|
||||
translate([s * (flat_at + 40), 0, puck_h/2])
|
||||
cube([80, puck_d + 20, puck_h + 2], center = true);
|
||||
}
|
||||
|
||||
module coupling_magnets() {
|
||||
// +X (Ausgang): Tasche von der Flache nach innen
|
||||
translate([flat_at + 0.3, 0, puck_h/2])
|
||||
rotate([0, -90, 0]) cylinder(d = mag_d, h = mag_t + 0.3, $fn = 32);
|
||||
// -X (Eingang)
|
||||
translate([-flat_at - 0.3, 0, puck_h/2])
|
||||
rotate([0, 90, 0]) cylinder(d = mag_d, h = mag_t + 0.3, $fn = 32);
|
||||
}
|
||||
|
||||
module puck() {
|
||||
difference() {
|
||||
puck_blank();
|
||||
if (coupling) coupling_flat_cut();
|
||||
// Einbuchtung / Spielflaeche
|
||||
translate([0, 0, play_z]) cylinder(d = play_d, h = recess_dep + 0.1);
|
||||
// 7 Figurenmulden im Ring (mit Offset, frei von der Kopplungsachse)
|
||||
// 7 Figurenmulden im Ring
|
||||
for (i = [0 : spot_count - 1]) {
|
||||
a = spot_a0 + 360/spot_count * i;
|
||||
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);
|
||||
// Magnettaschen
|
||||
if (coupling) coupling_magnets();
|
||||
}
|
||||
}
|
||||
|
||||
puck();
|
||||
|
||||
echo(puck_d = puck_d, puck_h = puck_h, spielflaeche = play_d,
|
||||
figurenplaetze = spot_count, spot_d = spot_d, etikett_mulde = label_d,
|
||||
kopplung = coupling);
|
||||
figurenplaetze = spot_count, spot_d = spot_d, etikett_mulde = label_d);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue