2010-09-07 6 views
6

Ich möchte ein einfaches Mesh in Blender (2.50) über die Python API erstellen, aber die Beispiele aus der API Dokumentation funktionieren noch nicht.Wie man ein einfaches Mesh in Blender 2.50 über die Python API erstellt

habe ich versucht, die folgende, aber es ist from API 2.49

from Blender import * 
    import bpy 

    editmode = Window.EditMode() # are we in edit mode? If so ... 
    if editmode: Window.EditMode(0) # leave edit mode before getting the mesh 

    # define vertices and faces for a pyramid 
    coords=[ [-1,-1,-1], [1,-1,-1], [1,1,-1], [-1,1,-1], [0,0,1] ] 
    faces= [ [3,2,1,0], [0,1,4], [1,2,4], [2,3,4], [3,0,4] ] 

    me = bpy.data.meshes.new('myMesh')   # create a new mesh 

    me.verts.extend(coords)   # add vertices to mesh 
    me.faces.extend(faces)   # add faces to the mesh (also adds edges) 

    me.vertexColors = 1    # enable vertex colors 
    me.faces[1].col[0].r = 255  # make each vertex a different color 
    me.faces[1].col[1].g = 255 
    me.faces[1].col[2].b = 255 

    scn = bpy.data.scenes.active  # link object to current scene 
    ob = scn.objects.new(me, 'myObj') 

    if editmode: Window.EditMode(1) # optional, just being nice 

Das funktioniert nicht, weil das Netzobjekt hat keine faces oder verts Mitglieder.

Gibt es irgendwelche Möglichkeiten, dies zu tun?

Antwort

3

Versuchen Sie this Dokumentation für die 2.5x API. Ich verstehe, dass trotz der großen Warnungen an der Spitze, die am häufigsten verwendeten Abschnitte jetzt ziemlich stabil sind. Ich habe es noch nicht ausprobiert.

EDIT:

denke ich, das entsprechende Bit ist this section - es scheint, dass Sie eine Liste von Eckpunkten erstellen Flächen usw. und an diese übergeben. Dies scheint sich gegenüber den aktuellsten Beispielen, die ich finden kann, geändert zu haben. Versuchen Sie, in Ihrem Skriptordner nachzusehen - dort könnte ein Beispiel sein, das Sie betrachten können.

EDIT 2: Ich habe den Link aktualisiert, um auf die aktuellen Live-Dokumente zu zeigen. Die Hinweise darauf deuten darauf hin, dass es wahrscheinlich bessere Möglichkeiten gibt, dies zu tun, aber es ist lange her, seit ich irgendein Blender-Scripting gemacht habe, kann also nicht mehr helfen.

+0

Sie für diesen Link Vielen , auch wenn ich das schon wusste. Können Sie mich bitte auf eine bestimmte Seite in dieser Dokumentation verweisen? Ich habe noch kein funktionierendes Beispiel gefunden. – guerda

+0

Ok, deine Bearbeitung scheint das zu lösen, ich werde es versuchen. – guerda

+0

Ich konnte kein funktionierendes Beispiel mit der Dokumentation schreiben. Könntest du mir dabei helfen? – guerda

Verwandte Themen