Blender für den 3D-Druck

3D-Druck-Blender ist eine andere Disziplin als Render-Blender. Beim Rendern zählt, wie es aussieht. Beim Drucken zählt, ob es mathematisch ein geschlossener Körper ist – ein Mesh, das perfekt rendert, kann völlig undruckbar sein. Alle Bilder und Clips auf dieser Seite stammen aus echten Blender-Sessions mit dem Beispielmodell aus Abschnitt 02.

01

Setup, einmalig

  • 3D-Print-Toolbox aktivieren: Edit → Preferences → Add-ons → „3D Print“ suchen, Häkchen setzen. Erscheint danach als eigener Tab im N-Panel.
  • Einheiten festlegen und stur einhalten: 1 Blender-Einheit = 1 mm. STL-Exporter schreiben Einheiten unverändert, Slicer lesen sie als Millimeter.

Merksatz: druckbar heißt manifold – jede Kante gehört zu genau zwei Flächen, das Mesh ist eine geschlossene Hülle ohne Löcher und ohne Selbstdurchdringung. Wie ein Ballon.

02

Der Weg eines Modells

Ein kaputtes KI-Modell, sechs Schritte, ein druckfähiges Teil. Die Beispielfigur hat, was AI-Meshes typischerweise mitbringen: eine offene Fläche (die Finne oben), einen Fremdkörper, der das Mesh durchdringt (der Ring an der Schnauze), gekippte Normalen und ein loses Teil im Inneren. Jedes Bild unten ist ein Frame aus genau dieser Reparatur – keine Symbolbilder.

1. Importieren und Maßstab prüfen

Kaputtes KI-Modell nach dem Import in Blender: Figur mit offener Finne und durchdringendem Ring
Das Modell nach dem Import: 1.083 Flächen, 114,8 × 74,8 × 98,3 mm. Auf den ersten Blick harmlos.

2. Prüfen: Check All

Dieselbe Figur mit rot markierten nicht-manifolden Kanten entlang der Finne und des Rings
Der Druckbarkeits-Check findet 46 nicht-manifolde Kanten (hier rot eingezeichnet) – Randkanten der Finne und die Durchdringung durch den Ring.

3. Reparieren: Voxel Remesh

Vorher-nachher-Vergleich: links das kaputte Mesh, rechts dieselbe Figur nach dem Voxel Remesh
Voxel Remesh (Voxelgröße 1,4 mm): 1.083 → 16.604 Flächen, danach garantiert manifold. Finne und Ring sind mit dem Körper verschmolzen.
Derselbe Schritt als Clip: das kaputte Mesh, ein Schnitt, das reparierte – danach zählt nur noch die Form, nicht mehr die Herkunft des Meshs.

4. Verschlanken: Decimate

Drahtgitter-Ansicht: links das Remesh mit feinem Gitter, rechts nach Decimate mit grobem Gitter
Drahtgitter-Ansicht: Decimate (Ratio 0,3) reduziert 16.604 → 7.615 Flächen – die Silhouette bleibt, die Datei wird handhabbar.

5. Funktion dazu: Boolean & Solidify

Links ein Sockel mit zwei per Boolean geschnittenen Bohrungen, rechts eine offene Schale mit Wandstärke per Solidify
An zwei Demonstratoren: Boolean schneidet die Montagebohrungen in den Sockel, Solidify gibt der offenen Schale 4 mm Wandstärke.

6. Platzieren: Bauraum und Export

Das reparierte Modell steht auf Z null im Drahtgitter-Kubus des 256-Millimeter-Bauraums
Das fertige Modell (113,9 × 74,2 × 83,9 mm) im 256-mm-Bauraum des Creator 5 Pro, auf Z = 0 gesetzt – bereit für den STL-Export.
Das Ergebnis von allen Seiten: manifold, maßstäblich, druckfähig.

03

Die sechs Werkzeuge, die 90 % abdecken

WerkzeugWofür
3D-Print-Toolbox → Check AllFindet Manifold-Fehler, dünne Wände, steile Überhänge
Voxel RemeshMacht jedes kaputte Mesh manifold – der Hammer für AI-Meshes
DecimateReduziert Polygone nach dem Remesh auf handhabbare Größe
BooleanVereinigen, Löcher schneiden, Modelle teilen
SolidifyGibt Flächen echte Wandstärke
BisectModell für den Bauraum zerteilen

Eine Grenze des Hammers, die die Bildstrecke oben nicht zeigt: echte Löcher im Mesh (fehlende Flächen, nicht nur offene Ränder) zerlegen den Voxel Remesh in Trümmer. Erst schließen – etwa per Hand oder mit dem Remesh einer gefüllten Variante – dann reparieren.

Typische Fehlermeldungen

Toolbox meldetHeißtFix
Non-manifold EdgeLoch oder Kante mit falscher FlächenzahlVoxel Remesh
Bad Contiguous EdgesNormalen inkonsistentShift+N (Normalen neu berechnen)
Thin FacesWand dünner als druckbarSolidify oder dicker konstruieren
Intersect FacesSelbstdurchdringungBoolean Union oder Remesh

04

Mit Claude Code: der Blender-MCP

Claude Code steuert Blender über den Blender-MCP direkt – Setup einmalig: uvx blender-mcp install-addon, danach in Blender unter Preferences das Addon aktivieren und im N-Panel „Start MCP Server“. Danach ist beliebiges Python in Blender ausführbar, inklusive Viewport-Screenshot als Kontrolle. Statt in Menüs zu klicken, prüft ein Skript jedes Modell gleich – das ist der eigentliche Vorteil, nicht Bequemlichkeit.

Druckbarkeits-Check

import bpy, bmesh obj = bpy.context.active_object bm = bmesh.new() bm.from_mesh(obj.data) nicht_manifold = [e for e in bm.edges if not e.is_manifold] d = obj.dimensions print(f"Maße (mm): {d.x:.1f} x {d.y:.1f} x {d.z:.1f}") print(f"Nicht-manifold: {len(nicht_manifold)}") print(f"Passt in 256er-Bauraum: {all(v <= 256 for v in d)}") bm.free()

Die echte Ausgabe für das kaputte Beispielmodell aus Abschnitt 02 (Bild 2 oben ist genau dieser Lauf, die roten Kanten sind die 46 Fundstellen):

Maße (mm): 114.8 x 74.8 x 98.3 Nicht-manifold: 46 Passt in 256er-Bauraum: True

AI-Mesh druckfähig machen

import bpy obj = bpy.context.active_object # Voxel-Remesh: erzwingt ein geschlossenes, manifoldes Mesh rm = obj.modifiers.new(name="Remesh", type='REMESH') rm.mode = 'VOXEL' rm.voxel_size = 0.4 # mm -- kleiner = mehr Detail, groessere Datei bpy.ops.object.modifier_apply(modifier=rm.name) # Polygonzahl wieder handhabbar machen dc = obj.modifiers.new(name="Decimate", type='DECIMATE') dc.ratio = 0.3 bpy.ops.object.modifier_apply(modifier=dc.name) # Auf die Bauplatte setzen (Z = 0) tiefster = min((obj.matrix_world @ v.co).z for v in obj.data.vertices) obj.location.z -= tiefster

Für das Beispielmodell oben war voxel_size = 1.4 der passende Wert – bei 115 mm Breite sind 0,4 mm unnötig fein und blähen die Datei nur auf. Faustregel: Voxelgröße etwa ein Hundertstel der Modellbreite.

Wichtig dabei: Claude sieht Blender nur über Screenshots – gut für Struktur, Maße und Automatisierung, schlecht für ästhetische Feinarbeit. Die Handarbeit am Modell bleibt Handarbeit, und generierter Code kann erfundene API-Aufrufe enthalten (Blenders Python-API ändert sich zwischen Versionen). Immer ausführen und die Fehlermeldung zurückspielen, nicht ungeprüft übernehmen.