In der API stöbern
Lernziel
Das Einfügen einfacher Objekte, wie es über die Menüfolge Add | Mesh … interaktiv durchgeführt werden kann, wird nun über ein Skript umgesetzt. Wie man an die Informationen herankommt und im API die passenden Methoden finden kann, wird hier aufgezeigt.
Handlungsanweisungen/Aufgaben
Füge eine Funktion zum Skript hinzu, die alle Namen der Funktionen auflistet, mit denen sich Mesh-Objekte erzeugen lassen.
Erzeuge jeweils ein Objekt von jedem „einfachen Typ“.
Positioniere die Objekte so im Raum, dass sie sich nicht berühren.
Schreibe eine neue Funktion die aus einem Kegel und einer Kugel (UV_Sphere) einen Halmabaustein zusammensetzt.
Die Funktionen
Alle Manipulationen in Blender werden in den folgenden Modulen gruppiert und nur die ersten beiden Module werden am Anfang benötigt:
Application Modules
Data Access (bpy.data)
Operators (bpy.ops)
Types (bpy.types)
Utilities (bpy.utils)
Path Utilities (bpy.path)
Application Data (bpy.app)
Property Definitions (bpy.props)
Standalone Modules
Math Types & Utilities (mathutils)
Font Drawing (blf)
Audio System (aud)
Game Engine Modules
Game Engine bge.types Module
Game Engine bge.logic Module
Game Engine bge.render Module
Game Engine bge.events module
Welche »Primitive« gibt es?
Eine Möglichkeit wäre, im Add-Menü des 3d-View nachzusehen, über Add » Mesh » … und der Erkundung der Tool-Tipps.
RTFM (Read the fine manuals)
- Die Online-Documentation, suche nach »mesh primitive« on Blenderdocs
- Durchsuche die Befehlsliste »OperatorList.txt«.Diese kann im Editor-Fenster geöffnet werden mitHelp » Operator Cheat Sheet.Eine Kopie dieser Datei findest Du auch im Anhang: OperatorList.txt
Wenn Du mit der Konsole von Blender vertraut bist, kannst Du auch dort die API näher untersuchen.
Wenn die eigene Suche keien brauchbaren Ergebnisse liefert, wende Dich an die Community. Eine Linkliste findest Du im Anhang.
- Hinweis
Es ist wirklich wichtig, mit der API zu arbeiten!
Niemand kann alle Möglichkeiten aufsagen bzw. sich Alles merken.
Die richtige(n) Methode(n) finden
Ein Mesh-Objekt in der Konsole und mit Python statt mit dem Menü hinzuzufügen, wird im folgenden Bild gezeigt. Das ist aber fehleranfällig und ein Skript dafür zu verwenden, ist eine gute Idee.

Objekte erstellen
Jetzt wissen wir, wie neue Objekte erstellt werden. Ein Skript soll uns dabei helfen. Wo die Objekte platziert werden, steuert der Parameter location. In diesem Fall wird ein Tuple verwendet und in den runden Klammern werden die Positionen für die x-, y- und z-Achse angegeben.
Hier ein Fragment:
bpy.ops.mesh.primitive_cube_add(location=(2, 2, 0))
bpy.ops.mesh.primitive_cylinder_add(location=(-2, -2, 0))
Das Ergebnis könnte wie folgt aussehen:

Hinweise zur API
Beispiel
Versuche das folgende Konstrukt nachzubauen und verwende dazu Würfel aus dem Menü Add » Mesh » …! Erstelle hier nur die Baumkrone, den Stamm kannst Du erzeugen, wenn das Kapitel der Skalierung behandelt wurde.
Das Beispiel stammt von folgender Website: http://b3d101.org/en/introduction/

Wie man an dem Bild erkennt, werden drei Würfel ineinander verschachtelt, sie unterscheiden sich also nur im location-Parameter: