Kurz gesagt
- Befehle in der Python Console werden mit Return ausgeführt; frühere Befehle lassen sich über den Verlauf erneut aufrufen.
- bpy.context bietet Zugriff auf Kontextinformationen wie die aktuelle Szene und ausgewählte Objekte.
- Die Position des aktiven Objekts lässt sich über die Python Console ändern.
- Mit einem Beispiel aus der Blender-API-Dokumentation können Sie der Szene ein Punktlicht hinzufügen.
Blenders Python Console lässt sich verwenden, um kurze Code-Snippets auszuführen, Szenendaten zu untersuchen und die Blender-API zu erkunden. Beispiele in der Blender-Dokumentation zeigen, wie Sie die Position des aktiven Objekts ändern, ausgewählte Objekte anzeigen und der Szene eine neue Lichtquelle hinzufügen. Die folgenden Schritte konzentrieren sich auf kleine, kontrollierbare Aufgaben in der Python Console.
Was Sie in dieser Anleitung lernen
Die Python Console führt eingegebene Befehle aus und bietet außerdem einen Befehlsverlauf sowie eine automatische Vervollständigung. Zunächst fragen wir den aktuellen Kontext ab – also das in Blender aktive Objekt und den aktiven Modus. Anschließend ändern wir die Position des aktiven Objekts, listen ausgewählte Objekte auf und erstellen ein neues Lichtobjekt.
Dieser Ansatz eignet sich für kleine Tests, ohne für jeden Vorgang ein längeres Skript schreiben zu müssen. Sobald ein Befehl wie erwartet funktioniert, erleichtert der Console-Verlauf seine erneute Verwendung. Laut Blender-Dokumentation können frühere Befehle mit den Pfeiltasten nach oben und unten aufgerufen werden; Tab aktiviert die automatische Vervollständigung in der Befehlszeile.
Voraussetzungen und Vorbereitung
Diese Beispiele basieren auf Blenders Python Console und der Blender Python API bpy. In den Quelldokumenten werden weder eine bestimmte Blender-Version noch Kontoanforderungen, Mindesthardware oder eine Installationsmethode genannt. Daher sollten Sie das API-Verhalten in der jeweils verwendeten Version zusätzlich überprüfen.
Befehle in der Console werden mit Return ausgeführt. Während der Eingabe können Sie mit Tab Vorschläge zur automatischen Vervollständigung der verfügbaren Elemente anzeigen. Die Blender-Dokumentation empfiehlt außerdem, dir() auszuführen, um die Console-Umgebung kennenzulernen. Das erste Beispiel fragt den aktuellen Modus und das aktive Objekt ab:
bpy.context.mode
bpy.context.active_objectDie erste Zeile gibt den aktuellen Interaktionsmodus zurück, die zweite das aktive Objekt. Die Dokumentation weist ausdrücklich darauf hin, dass im 3D Viewport ein Objekt ausgewählt sein muss, damit die richtigen Ergebnisse angezeigt werden. Ist kein Objekt aktiv, liefern Befehle, die auf dessen Eigenschaften zugreifen, möglicherweise nicht das erwartete Ergebnis. Stellen Sie deshalb vor den Bearbeitungsschritten sicher, dass in der Szene ein geeignetes Objekt aktiv ist.
Schritt für Schritt: Grundlegende Aufgaben in der Console
1. API-Elemente erkunden
Bei der Suche nach verfügbaren Eigenschaften in der Blender-API hilft die automatische Vervollständigung. Geben Sie den folgenden Ausdruck in die Console ein und drücken Sie Tab, um Vorschläge zu Untermodulen sowie Eigenschaften und Methoden in bpy anzuzeigen. Laut Dokumentation sind Methoden in den Vorschlägen an den Klammern am Ende zu erkennen.
bpy.Wenn Sie die Elemente einer Variablen oder eines Moduls untersuchen, können Sie sich an der vorhandenen API orientieren, statt Befehle aus dem Gedächtnis einzugeben. In der Console-Umgebung gibt es außerdem die Kurzformen C für bpy.context und D für bpy.data. Mit dir() können Sie zunächst die allgemeinen Funktionen und Variablen untersuchen, die in der Umgebung definiert sind.
2. Position des aktiven Objekts ändern
Über den Kontext können Sie auf das aktive Objekt zugreifen. Die Dokumentation enthält Beispiele, in denen die X-Koordinate eines Objekts geändert oder um einen kleinen Wert erhöht wird. Fragen Sie zunächst die aktuelle Koordinate des Objekts ab und erhöhen Sie anschließend mit dem folgenden Befehl den Wert auf der X-Achse um 0,5 Einheiten:
bpy.context.object.location.x += 0.5Dieser Befehl ändert die Positionseigenschaft des aktiven Objekts. Ist kein Objekt ausgewählt, liefert bpy.context.object möglicherweise kein geeignetes Objekt zurück. Prüfen Sie daher vor der Ausführung, ob ein Objekt aktiv ist. Mit der Pfeiltaste nach oben rufen Sie den vorherigen Befehl aus dem Verlauf auf; dadurch wird die Änderung in der Szene jedoch nicht rückgängig gemacht. Prüfen Sie das aktive Objekt und das Ergebnis in der Szene, bevor Sie eine andere Koordinate ausprobieren.
3. Alle drei Koordinaten gleichzeitig zuweisen
Sie können die drei Positionskomponenten auf einmal ändern, indem Sie die Koordinaten als Tupel übergeben. Das folgende Beispiel weist X, Y und Z der Reihe nach die Werte 1, 2 und 3 zu:
bpy.context.object.location = (1, 2, 3)Es ist auch möglich, nur die Komponenten X und Y zu ändern. Diese Methode eignet sich, wenn Sie zwei Koordinaten gemeinsam festlegen und den bestehenden Z-Wert beibehalten möchten:
bpy.context.object.location.xy = (1, 2)Diese Beispiele greifen direkt auf die Position des aktiven Objekts zu. Wenn Sie im Szenenlayout verfolgen, welches Objekt aktiv ist, vermeiden Sie Änderungen am falschen Objekt. Vor umfangreicheren Aufgaben zunächst ein einzelnes Objekt zu testen und das Ergebnis in der Szene zu überprüfen, ist eine vorsichtige Arbeitsweise.
4. Ausgewählte Objekte anzeigen
Wenn mehrere Objekte ausgewählt sind, gibt bpy.context.selected_objects eine Liste der ausgewählten Objekte zurück. Um ausgewählte Objekte außer dem aktiven Objekt anzuzeigen, können Sie folgenden Ausdruck verwenden:
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]Dieses Beispiel durchläuft die ausgewählten Objekte und nimmt diejenigen in die Ergebnisliste auf, die nicht mit dem aktiven Objekt identisch sind. So können Sie den Unterschied zwischen dem aktiven Objekt und den übrigen ausgewählten Objekten direkt in der Console untersuchen. bpy.context bietet Zugriff auf Kontextinformationen wie die aktuelle Szene, ausgewählte Objekte und den aktuellen Modus. bpy.data ermöglicht dagegen den Zugriff auf die Daten in der blend-Datei, unabhängig davon, ob sie ausgewählt oder aktiv sind.
5. Ein Punktlicht zur Szene hinzufügen
Das Beispiel in der Blender-API-Dokumentation erstellt einen neuen Lichtdatenblock und ein darauf basierendes Objekt und verknüpft dieses mit der aktiven Collection. Anschließend legt es die Position des Lichts fest und wählt das Objekt aus, um es zu aktivieren. Der folgende Code orientiert sich am grundlegenden Punktlicht-Beispiel aus der Dokumentation:
import bpy
view_layer = bpy.context.view_layer
light_data = bpy.data.lights.new(name="New Light", type='POINT')
light_object = bpy.data.objects.new(name="New Light", object_data=light_data)
view_layer.active_layer_collection.collection.objects.link(light_object)
light_object.location = (5.0, 5.0, 5.0)
light_object.select_set(True)
view_layer.objects.active = light_objectDer Code erstellt zunächst die Lichtdaten und fügt anschließend das daran gebundene Objekt zur Szenen-Collection hinzu. Nach dem Festlegen der Position und dem Auswählen wird das neue Licht zum aktiven Objekt. Das Beispiel in der Dokumentation zeigt diese Abfolge: Objekt erstellen, mit der Szene verknüpfen, positionieren und aktivieren.
Häufige Fehler
Ein grundlegendes Problem besteht darin, auf Objekteigenschaften zuzugreifen, obwohl kein aktives Objekt vorhanden ist. Prüfen Sie vor den Positionsbeispielen, ob ein Objekt ausgewählt und aktiv ist. Dass versehentlich ein anderes Objekt bearbeitet wird, liegt oft daran, dass das im Kontext aktive Objekt übersehen wurde.
Ein weiteres Missverständnis ist, den Befehlsverlauf mit dem Leeren der Console gleichzusetzen. Laut Blender-Dokumentation aktualisiert Clear All im Console-Menü die Ansicht, löscht aber nicht den Befehlsverlauf. Frühere und spätere Befehle lassen sich mit den Pfeiltasten aufrufen. Shift+Return fügt den Befehl dem Verlauf hinzu, ohne ihn auszuführen; zum Ausführen verwenden Sie Return.
Wer kurze Tests später als Skript speichern möchte, kann mit der in der Dokumentation genannten Tastenkombination Copy as Script den gesamten Verlaufspuffer in die Zwischenablage kopieren. Fügen Sie den Inhalt in eine Textdatei ein, um ihn als Python-Skript zu verwenden. Prüfen Sie den Code und seine Auswirkungen auf die Szene, bevor Sie zu umfangreicheren Aufgaben übergehen. So vermeiden Sie, dass Testbefehle versehentlich in eine Produktionsdatei übernommen werden.
Einsatz in Architektur- und Visualisierungs-Workflows
Bei Architektur-, Innenarchitektur- und Archviz-Projekten kann die Console hilfreich sein, um kleine, wiederkehrende Aufgaben auszuprobieren – etwa die Position des aktiven Objekts schnell zu ändern, ausgewählte Objekte zu untersuchen oder der Szene ein Licht hinzuzufügen. Studierende und Visualisierungsprofis, die mit der Python-API in Blender vertraut werden möchten, können anhand einzelner Befehle beobachten, wie Kontext und Objekteigenschaften zusammenhängen.
Die hier gezeigten Beispiele sind jedoch grundlegend. Die Quellen enthalten keine Angaben zu bestimmten Projektvorlagen, Render-Einstellungen, Hardwareanforderungen oder zur Kompatibilität mit anderer Software. Wenn Sie eine Automatisierung für den Büroalltag planen, sollten Sie die Beispiele mit der verwendeten Blender-Version und der Objektstruktur des Projekts testen. Wenn Sie die Auswirkungen der Befehle auf die Szene überprüfen und den Verlauf bei Bedarf als Skript speichern, lassen sich kleine Tests in einen strukturierteren Prozess überführen.
Nächste Schritte
Beginnen Sie mit Befehlen, die den Kontext abfragen, und testen Sie anschließend die Beispiele zum Ändern der Position und zum Anzeigen ausgewählter Objekte getrennt voneinander. Wenn Sie mehrere Befehle kombinieren möchten, sehen Sie sich das Object-Beispiel in der Blender-API-Dokumentation an und folgen Sie der Abfolge zum Erstellen eines Datenblocks, zum Verknüpfen mit einer Collection und zum Aktivieren des Objekts. Auch Operatoren ermöglichen es, Vorgänge, die normalerweise über eine Schaltfläche oder ein Menü gestartet werden, programmgesteuert aufzurufen. Welcher Operator geeignet ist, erfahren Sie in der entsprechenden API-Dokumentation.
Quellen und Lizenz
Diese Anleitung wurde anhand der Seite „Python Console“ im Blender Manual und der Referenz „Object“ in der Blender Python API angepasst. Beide Quellen stehen unter der CC BY-SA 4.0-Lizenz. Der Inhalt wurde ins Türkische übersetzt und neu formuliert; die Codebeispiele basieren auf der Verwendung in der jeweiligen API-Dokumentation.
Quellen
2 QuellenQuelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.
Für Architekturbüros und Studierende in der Türkei liegt der praktische Nutzen dieser Anleitung darin, kleine Änderungen an einer Blender-Szene über die API auszuprobieren und dabei zu lernen. Die Beispiele zum Abfragen des ausgewählten Objekts, Ändern seiner Position und Hinzufügen eines Lichts bieten einen grundlegenden Einstieg, bevor es an umfangreichere Automatisierungen geht.
Die Quellen machen jedoch keine Angaben zur Versionskompatibilität, zu Hardwareanforderungen oder zu Produktkosten. Prüfen Sie die Beispiele deshalb zunächst in der verwendeten Blender-Version und in der Projektszene, bevor Sie sie in Produktionsdateien übernehmen. Lizenz-, Hardware- und Workflow-Entscheidungen sollten ebenfalls gesondert bewertet werden.
Häufige Fragen
Wie führe ich einen Befehl in der Blender Python Console aus?
Geben Sie den Befehl in die Console-Zeile ein und drücken Sie Return. Tab zeigt Vorschläge zur automatischen Vervollständigung an; mit den Pfeiltasten nach oben und unten navigieren Sie durch den Befehlsverlauf.
Wie ändere ich die Position des aktiven Objekts in Blender mit Python?
Sie können über bpy.context.object auf das aktive Objekt zugreifen und dessen location-Eigenschaft bearbeiten. Um beispielsweise den X-Wert um 0,5 zu erhöhen, verwenden Sie bpy.context.object.location.x += 0.5.
Kann ich mit der Python Console ein Licht zur Blender-Szene hinzufügen?
Ja. Das Beispiel in der Blender Python API-Dokumentation erstellt einen Punktlicht-Datenblock und ein zugehöriges Objekt, verknüpft es mit der aktiven Collection, positioniert und aktiviert es.



