diff --git a/01_3D-Druck/materialliste.md b/01_3D-Druck/materialliste.md index 8d6ccc3..54b94aa 100644 --- a/01_3D-Druck/materialliste.md +++ b/01_3D-Druck/materialliste.md @@ -96,7 +96,7 @@ Puck zeigen „wer ist beteiligt", das Aktiv-Feld zeigt „in welcher Verantwort | Merkmal | Wert | |---------|------| -| Grundkörper | **120 × 120 × 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 | | Standfelder | R / C / I: je 4 (2×2) · A: genau 1 = **13**; alle Markierung Ø 22 (wie Puck), Pitch 24 | | Gravur | Feld-Umrandung 0,6 mm + Zonen-Buchstabe R / A / C / I, Tiefe 0,8 mm | diff --git a/01_3D-Druck/openscad/_af.png b/01_3D-Druck/openscad/_af.png new file mode 100644 index 0000000..948bf90 Binary files /dev/null and b/01_3D-Druck/openscad/_af.png differ diff --git a/01_3D-Druck/openscad/aktiv-feld.scad b/01_3D-Druck/openscad/aktiv-feld.scad index 00868a8..af59358 100644 --- a/01_3D-Druck/openscad/aktiv-feld.scad +++ b/01_3D-Druck/openscad/aktiv-feld.scad @@ -16,7 +16,7 @@ plate_margin = 6; // Rand aussen /* [Standflaechen] (flache Markierung, kein Loch) — passend zum Sockel Ø20 */ spot_d = 22; // Durchmesser wie die Puck-Mulden (gleiche Ø20-Figuren stehen hier) spot_depth = 0.6; // Gravurtiefe -spot_pitch = 24; // Mitte-zu-Mitte (Sockel Ø20 + Luft) +spot_pitch = 30; // Mitte-zu-Mitte (mehr Luft zwischen den Standfeldern: ~8 mm) a_spot_d = spot_d; // A: GLEICHE Groesse wie die anderen — nur die Anzahl (genau 1) zaehlt /* [Zonen] — [Label, cols, rows, gridX, gridY]; gridY 0 = oben */ @@ -24,8 +24,8 @@ zones = [["R", 2, 2, 0, 0], ["A", 1, 1, 1, 0], ["C", 2, 2, 0, 1], ["I", 2, 2, 1, 1]]; n_cols = 2; n_rows = 2; -cell_pad = 13; // Rand um die Standflaechen im Feld (haelt Ø20-Sockel) -zone_gap = 8; // Abstand zwischen den Feldern +cell_pad = 13; // Rand um die Standflaechen im Feld +zone_gap = 6; // Abstand zwischen den Feldern (dichter beieinander) /* [Gravur] */ frame_w = 1.5; // Strichstaerke der Feld-Umrandung @@ -37,12 +37,12 @@ $fn = 48; // --- abgeleitete Maße ------------------------------------------------------- // QUADRATISCHE Zellen (Buchstabe in der Mittenluecke, kein Extra-Streifen). -spots_span = (2 - 1) * spot_pitch; // 24 (2x2-Raster) -cell_w = spots_span + 2 * cell_pad; // 50 -cell_h = cell_w; // 50 -> Platte wird quadratisch +spots_span = (2 - 1) * spot_pitch; // 30 (2x2-Raster) +cell_w = spots_span + 2 * cell_pad; // 56 +cell_h = cell_w; // 56 -> Platte wird quadratisch -plate_w = n_cols * cell_w + (n_cols - 1) * zone_gap + 2 * plate_margin; // 120 -plate_h = n_rows * cell_h + (n_rows - 1) * zone_gap + 2 * plate_margin; // 120 +plate_w = n_cols * cell_w + (n_cols - 1) * zone_gap + 2 * plate_margin; // 130 +plate_h = n_rows * cell_h + (n_rows - 1) * zone_gap + 2 * plate_margin; // 130 function zone_cx(gx) = -plate_w/2 + plate_margin + cell_w/2 + gx * (cell_w + zone_gap); @@ -68,14 +68,11 @@ module zone_marks(z) { lab = z[0]; nc = z[1]; nr = z[2]; cx = zone_cx(z[3]); cy = zone_cy(z[4]); if (lab == "A") { - // genau EIN Standfeld (gleiche Groesse), leicht nach oben gerueckt; Buchstabe darunter - translate([cx, cy + 7, plate_thick - spot_depth]) + // genau EIN Standfeld in der Rasterposition RECHTS OBEN; Buchstabe mittig (wie R/C/I) + translate([cx + spot_pitch/2, cy + spot_pitch/2, plate_thick - spot_depth]) cylinder(d = a_spot_d, h = spot_depth + 0.1); - translate([cx, cy - 13, plate_thick - label_depth]) - linear_extrude(label_depth + 0.1) - text(lab, size = label_size, halign = "center", valign = "center"); } else { - // 2x2 Standfelder zentriert; Buchstabe in der Mittenluecke + // 2x2 Standfelder zentriert for (c = [0 : nc - 1]) for (r = [0 : nr - 1]) { sx = cx + (c - (nc - 1)/2) * spot_pitch; @@ -83,10 +80,11 @@ module zone_marks(z) { translate([sx, sy, plate_thick - spot_depth]) cylinder(d = spot_d, h = spot_depth + 0.1); } - translate([cx, cy, plate_thick - label_depth]) - linear_extrude(label_depth + 0.1) - text(lab, size = label_size, halign = "center", valign = "center"); } + // Buchstabe in der Mittenluecke (alle Zonen gleich) + translate([cx, cy, plate_thick - label_depth]) + linear_extrude(label_depth + 0.1) + text(lab, size = label_size, halign = "center", valign = "center"); } module aktiv_feld() {