bc_search_scene

Übersicht: Python & Blender


Lernziel

Welche Objekte sind in der aktuellen Szene vorhanden?

Handlungsanweisungen

Aufgaben:
  1. Was kann mit Listen erreicht werden? Wenn Du unsicher bist, schau Dir die folgende Lernstation nocheinmal an: ( Python basics: lists)
  2. Erstelle das hier gezeigte Skript und führe es aus.
  3. Füge ein Objekt von jedem „einfachen Typ“ hinzu.
  4. Positioniere die Objekte so im Raum, dass sie sich nicht berühren.

Alle Objekte zeigen

In einer neuen Blender-Datei werden immer einige Standardobjekte eingefügt. Wie kommt man an die Liste der verfügbaren Objekte heran?

blender-basics/b-find-information/object-list.py (Source)

#!bpy
"""
Name: 'object-list.py'
Blender: 2.7x
Group: 'Discover'
Tooltip: 'Find objects in a scene'
"""

import bpy


def get_list_of_objects():
    """ Print list of objects in a scene """

    for i in bpy.data.objects:
        print(i)


if __name__ == '__main__':
    # call the new function
    get_list_of_objects()

Das Modul bpy.data enthält eine Struktur objects. Dieses wiederum verwaltet alle Objekte in einer Szene über den context. In einer for-Schleife läßt sich das Inventar einer Szene ausgeben.

Ergebnis:

<bpy_struct, Object("Camera")>
<bpy_struct, Object("Cube")>
<bpy_struct, Object("Lamp")>
An Hand der Namen kann man sich gut vorstellen, um welche Art von Objekten es sich handelt.
/all/label-windows.png

Unter dem Betriebssystem Windows sieht die Ausgabe etwa so aus:

/blender-basics/b-find-information/output-win.png

Kommentare