diff --git a/01_3D-Druck/blender/README.md b/01_3D-Druck/blender/README.md index 89af166..036516c 100644 --- a/01_3D-Druck/blender/README.md +++ b/01_3D-Druck/blender/README.md @@ -25,13 +25,13 @@ Er dient als **Maß-Referenz** und liefert per Render eine **saubere, neutrale V ## Spec (Maße — der „Vertrag", gilt in jedem Tool) | Element | Wert | |---|---| -| Board | **rund Ø180 × 12 mm**, Rand gefast | -| Chip-Mulde (Mitte) | Ø **40,6** × Tiefe **1,8** mm (+ Greifkerbe Ø12) — Acryl-Chip Ø40 × 2 mm | -| Figuren-Sockel | **10×** Ø **25,3** × Tiefe **1,5** mm (Sockel Ø24,5) | -| Sockel-Ring-Radius | 62 mm; 4 Sektoren über **Lücken** getrennt | +| Board | **rund Ø208 × 14 mm**, Rand gefast | +| Mittelmulde (Chip) | Ø **50** × Tiefe **2,2** mm (+ Greifkerbe Ø14) | +| Figuren-Sockel | **10×** Ø **32,8** × Tiefe **2,0** mm (Figuren-Sockel Ø32 + Spiel) | +| Sockel-Ring-Radius | 72 mm; 4 Sektoren über **Lücken** getrennt | | RACI-Verteilung | **R 3 · A 1 · C 4 · I 2** (= 10) | | Labels | RESPONSIBLE/ACCOUNTABLE/CONSULTED/INFORMED **gleich groß**; Phasenname (z. B. **DESIGN**) in der Chip-Mulde | -| Action-Card-Halter | Steh-Schlitz **63 × 4 mm**, ~12° nach hinten geneigt (Karte 60 × 90), oben | +| Action-Card-Halter | Steh-Schlitz **63 × 7 mm, 15 mm tief**, ~12° nach hinten geneigt (Karte 60 × 90), oben | | Druck | **6×** je Phasenfarbe (Design/Transition/Operation/Support/Review + Gate-Rot) | ## Ehrliche Einordnung diff --git a/01_3D-Druck/blender/__pycache__/raci-board.cpython-312.pyc b/01_3D-Druck/blender/__pycache__/raci-board.cpython-312.pyc index 2a722f7..31944a2 100644 Binary files a/01_3D-Druck/blender/__pycache__/raci-board.cpython-312.pyc and b/01_3D-Druck/blender/__pycache__/raci-board.cpython-312.pyc differ diff --git a/01_3D-Druck/blender/nano-banana-prompts.md b/01_3D-Druck/blender/nano-banana-prompts.md index f23a06e..e80887a 100644 --- a/01_3D-Druck/blender/nano-banana-prompts.md +++ b/01_3D-Druck/blender/nano-banana-prompts.md @@ -22,19 +22,22 @@ Single isolated 3D-printable board-game part, centered, filling ~80% of the fram ### B1) Objekt-Block — MIT Beschriftung ``` -The object is a single ROUND flat disc board, ~180 mm diameter, ~12 mm thick, with a softly chamfered rim. In the EXACT CENTER: one large recessed circular well (~40 mm) for a round token; the word "DESIGN" is engraved on the FLOOR of this central well, centered inside it (and nowhere else). Around the center: ONE ring of ten shallow identical circular sockets, grouped into FOUR sectors separated by clear empty gaps — 3, 1, 4 and 2 sockets (total 10). The TOP edge has an upright thin rectangular CARD-HOLDER SLOT (empty, slightly tilted back); the single ACCOUNTABLE socket sits at the top, its label engraved directly BELOW the card-holder slot. All FOUR sector labels — RESPONSIBLE, ACCOUNTABLE, CONSULTED, INFORMED — engraved in the SAME small, subtle font size, each near its own sector. No other text anywhere. Empty board: no tokens, no figures, no card inserted. +The object is a single ROUND flat disc board (thin: thickness ≈ 1/15 of its diameter), ~210 mm across, with a softly chamfered rim. KEEP PROPORTIONS ACCURATE. In the EXACT CENTER: one large recessed circular WELL whose diameter is about ONE QUARTER of the board; the word "DESIGN" is engraved on the FLOOR of this central well, centered (and nowhere else). Around the center: ONE ring of ten shallow identical circular sockets — each socket LARGE, about TWO-THIRDS the diameter of the central well — grouped into FOUR sectors separated by clear empty gaps: 3, 1, 4 and 2 sockets (total 10). The TOP edge has an upright thin rectangular CARD-HOLDER SLOT (empty, slightly tilted back); the single ACCOUNTABLE socket sits at the top, its label engraved directly BELOW the card-holder slot. All FOUR sector labels — RESPONSIBLE, ACCOUNTABLE, CONSULTED, INFORMED — engraved in the SAME small, subtle font size, each near its own sector. No other text anywhere. Empty board: no tokens, no figures, no card inserted. ``` ### B2) Objekt-Block — TEXTFREI (für Meshy; Schriften später im CAD) ``` -The object is a single ROUND flat disc board, ~180 mm diameter, ~12 mm thick, with a softly chamfered rim. In the EXACT CENTER: one large recessed circular well (~40 mm) for a round token, completely smooth and blank inside. Around the center: ONE ring of ten shallow identical circular sockets, grouped into FOUR sectors separated by clear empty gaps — 3, 1, 4 and 2 sockets (total 10). The TOP edge has an upright thin rectangular CARD-HOLDER SLOT (empty, slightly tilted back). Absolutely NO text, NO letters, NO numbers, NO engraved words or symbols anywhere — all surfaces completely blank. Empty board: no tokens, no figures, no card inserted. +The object is a single ROUND flat disc board (thin: thickness ≈ 1/15 of its diameter), ~210 mm across, with a softly chamfered rim. KEEP PROPORTIONS ACCURATE. In the EXACT CENTER: one large recessed circular WELL whose diameter is about ONE QUARTER of the board, smooth and blank inside. Around the center: ONE ring of ten shallow identical circular sockets — each socket LARGE, about TWO-THIRDS the diameter of the central well — grouped into FOUR sectors separated by clear empty gaps: 3, 1, 4 and 2 sockets (total 10). The TOP edge has an upright thin rectangular CARD-HOLDER SLOT (empty, slightly tilted back). Absolutely NO text, NO letters, NO numbers, NO engraved words or symbols anywhere — all surfaces completely blank. Empty board: no tokens, no figures, no card inserted. ``` -### Kamera-Zeilen (eine anhängen) -- **Hero 3/4:** `Camera: three-quarter view from front-right, ~35° elevated, showing the face, the ring of sockets, the central well, and the upright card-holder slot at the back.` -- **Top-down:** `Camera: exact top-down orthographic view, disc perfectly centered, all ten sockets, the four sector gaps and central well clearly visible.` -- **Front, niedrig:** `Camera: near eye-level front view with slight downward tilt, to show rim thickness, chamfer, and the upright card-holder profile.` -- **Rück-3/4:** `Camera: three-quarter from back-right, to show the card-holder slot from behind.` +### Kamera-Zeilen (eine anhängen) — Multi-View-Set für Meshy +- **Vogelperspektive (Top-down):** `Camera: exact top-down orthographic view straight from above; the disc reads as a perfect circle (no ellipse), perfectly centered; all ten sockets, the four sector gaps and the central well clearly visible.` +- **Seitenperspektive (Side):** `Camera: straight side elevation at table height (orthographic, no perspective distortion), showing the thin disc profile, the chamfered rim, the recess depths and the upright card-holder standing above the top edge.` +- **Untersicht (von unten):** `Camera: view from directly underneath, showing the flat closed bottom of the disc and the chamfered rim; no sockets on the underside.` +- **Hero 3/4 (optional):** `Camera: three-quarter view from front-right, ~35° elevated, full object centered in frame.` + +> **Meshy-Multi-View:** Erzeuge dasselbe Objekt in **Top-down + Seite + Untersicht** (+ optional Hero), +> identischer Maßstab/Hintergrund → das gibt Meshy die beste 3D-Rekonstruktion. --- diff --git a/01_3D-Druck/blender/raci-board.py b/01_3D-Druck/blender/raci-board.py index 140da0b..f2728d8 100644 --- a/01_3D-Druck/blender/raci-board.py +++ b/01_3D-Druck/blender/raci-board.py @@ -7,30 +7,30 @@ import bpy, math, os # ----------------------------- Parameter (mm) ----------------------------- -R_BOARD, BASE_H = 90.0, 12.0 -EDGE_BEVEL, EDGE_SEG = 1.4, 3 +R_BOARD, BASE_H = 104.0, 14.0 +EDGE_BEVEL, EDGE_SEG = 1.6, 3 -CHIP_D, CHIP_DEP = 40.6, 1.8 # Acryl-Chip Ø40 x 2 mm -NOTCH_D = 12.0 -SOCK_D, SOCK_DEP = 25.3, 1.5 # Figuren-Sockel Ø24,5 -RING_R = 62.0 +CHIP_D, CHIP_DEP = 50.0, 2.2 # Mittelmulde Ø50 (Chip) +NOTCH_D = 14.0 +SOCK_D, SOCK_DEP = 32.8, 2.0 # Figuren-Sockel Ø32 + 0,8 Spiel +RING_R = 72.0 PHASE_NAME, PHASE_COLOR = "DESIGN", (0.184, 0.502, 0.788, 1) # #2f80c9 # Sektor: Name, Label-Mittenwinkel, Sockel-Winkel (Grad; 90=oben, Top frei fuer Karte). # Lücken zwischen den Sektoren (34-36°) > Lücken innerhalb (28°) -> Gruppen klar sichtbar. SECTORS = [ - ("RESPONSIBLE", 174, [146, 174, 202]), - ("ACCOUNTABLE", 58, [58]), - ("CONSULTED", -20, [22, -6, -34, -62]), - ("INFORMED", -110, [-96, -124]), + ("RESPONSIBLE", 150, [118, 150, 182]), + ("ACCOUNTABLE", 66, [66]), + ("CONSULTED", -34, [30, -2, -34, -66]), + ("INFORMED", -118, [-102, -134]), ] -WORD_R = RING_R + SOCK_D/2 + 8 # Labels ausserhalb der Sockel +WORD_R = RING_R + SOCK_D/2 + 9 # Labels ausserhalb der Sockel WORD_SIZE, WORD_DEP = 6.0, 0.9 -DESIGN_SIZE, DESIGN_DEP, DESIGN_POS = 9.0, 1.0, (0, -32) +DESIGN_SIZE, DESIGN_DEP, DESIGN_POS = 9.0, 1.0, (0, -44) -CARD_CY, CARD_BW, CARD_BD, CARD_BH = 72.0, 76.0, 18.0, 14.0 -SLOT_W, SLOT_T, SLOT_TILT = 63.0, 4.0, 12.0 +CARD_CY, CARD_BW, CARD_BD, CARD_BH = 82.0, 72.0, 20.0, 16.0 +SLOT_W, SLOT_T, SLOT_DEPTH, SLOT_TILT = 63.0, 7.0, 15.0, 12.0 TOP = BASE_H @@ -101,8 +101,9 @@ for _, _, angles in SECTORS: boolean(base, cyl(SOCK_D, 6, (RING_R*math.cos(math.radians(a)), RING_R*math.sin(math.radians(a)), TOP - SOCK_DEP + 3)), 'DIFFERENCE') -# Action-Card-Schlitz (oben offen, leicht nach hinten geneigt) -slot = cube(SLOT_W, SLOT_T, 40, (0, CARD_CY, 22)) +# Action-Card-Schlitz (oben offen, 7 mm breit, 15 mm tief, leicht nach hinten geneigt) +_sb = BASE_H + CARD_BH - SLOT_DEPTH; _sh = SLOT_DEPTH + 20 +slot = cube(SLOT_W, SLOT_T, _sh, (0, CARD_CY, _sb + _sh/2)) slot.rotation_euler = (math.radians(-SLOT_TILT), 0, 0); bpy.ops.object.transform_apply(rotation=True) boolean(base, slot, 'DIFFERENCE') @@ -149,7 +150,7 @@ try: bpy.ops.object.light_add(type='AREA', location=(-140, -60, 180)) bpy.context.object.data.energy = 9000; bpy.context.object.data.size = 320 bpy.ops.object.empty_add(location=(0, 0, 5)); tgt = bpy.context.object - bpy.ops.object.camera_add(location=(235, -295, 270)); cam = bpy.context.object + bpy.ops.object.camera_add(location=(275, -345, 310)); cam = bpy.context.object cam.data.lens = 50 con = cam.constraints.new('TRACK_TO'); con.target = tgt con.track_axis = 'TRACK_NEGATIVE_Z'; con.up_axis = 'UP_Y'