I would like to create a simple mesh in Blender (2.50) via the Python API but the examples from the API documentation don't work yet.
I tried the following but it's 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
This does not work because the mesh object doesn't have any faces
or verts
members.
Are there any options to do this?
Try this documentation for the 2.5x API. I understand that despite the big warnings at the top, the most used sections are fairly stable now. I've not tried it yet.
EDIT:
I think the relevant bit is this section - it seems you create a list of vertices faces etc. and pass it to this. This seems to have changed from the most recent examples I can find. Try looking in your scripts folder - there might be an example there that you can look at.
EDIT 2: I have updated the link to point to the current live docs. The notes there suggest that there are probably better ways of doing this now but it is a long time since I have done any blender scripting so can't help more.