ich sitz' jetzt schon seit Stunden hier und überlege, wo mein Fehler liegt..
Im ersten Teil habe ich ein Haus "gebaut", welches dann mit der for-Schleife entlang der Y-Achse mit einem Abstand vervielfacht werden soll. Idee des Ganzen soll es sein, ein kleines Dorf zu bauen, aber Blender spuckt immer nur "Python script fail, look in the console for now..." aus, sobald ich die letzte Codezeile geschrieben habe. Hoffe mir kann jemand helfen!
Code: Alles auswählen
# Bibliothek mit Blender Funktionen
import bpy
import math
# einen Link auf die aktuelle Szene
Dorf = bpy.context.scene
def haus(kantenlaenge):
#Punkte aus (x,y,z) erstellen
punkte = [(0,0,0),(0,2,0),(4,2,0),(4,0,0),(0,0,2),(0,2,2),(4,2,2),(4,0,2),(1,1,3),(3,1,3)]
#Kanten aus Punktnummern erstellen
kanten = [(0,1),(1,2),(2,3),(3,0),(0,4),(1,5),(2,6),(3,7),(4,5),(5,6),(6,7),(7,4),(4,8),(5,8),(8,9),(9,7),(9,6)]
#Flächen aus Punktnummern erstellen z.B.: (Punkt Nummer 1,Punkt Nummer2,...)
flaechen = [(1,5,4,0),(2,6,5,1),(3,7,6,2),(0,4,7,3),(8,4,5),(7,9,6),(7,4,8,9),(6,9,8,5)]
#Netz erstellen
pyramiden_netz = bpy.data.meshes.new("haus")
pyramiden_netz.from_pydata(punkte, kanten, flaechen)
#Objekt erstellen und benennen
haus_objekt = bpy.data.objects.new("haus",pyramiden_netz)
#Objekt in die Szene setzen
Dorf.objects.link(haus_objekt)
#mit der neuen Funktion ein Objekt erstellen
haus(1)
for i in range(1,5):
haus(1)
letztes_haus = bpy.context.object
letzteshaus.location = (0,i*3,0)