Lernen · Blender
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
2. Prüfen: Check All
3. Reparieren: Voxel Remesh
4. Verschlanken: Decimate
5. Funktion dazu: Boolean & Solidify
6. Platzieren: Bauraum und Export
03
Die sechs Werkzeuge, die 90 % abdecken
| Werkzeug | Wofür |
|---|---|
| 3D-Print-Toolbox → Check All | Findet Manifold-Fehler, dünne Wände, steile Überhänge |
| Voxel Remesh | Macht jedes kaputte Mesh manifold – der Hammer für AI-Meshes |
| Decimate | Reduziert Polygone nach dem Remesh auf handhabbare Größe |
| Boolean | Vereinigen, Löcher schneiden, Modelle teilen |
| Solidify | Gibt Flächen echte Wandstärke |
| Bisect | Modell 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 meldet | Heißt | Fix |
|---|---|---|
| Non-manifold Edge | Loch oder Kante mit falscher Flächenzahl | Voxel Remesh |
| Bad Contiguous Edges | Normalen inkonsistent | Shift+N (Normalen neu berechnen) |
| Thin Faces | Wand dünner als druckbar | Solidify oder dicker konstruieren |
| Intersect Faces | Selbstdurchdringung | Boolean 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: TrueAI-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 -= tiefsterFü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.