Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create a simple mesh in Blender 2.50 via the Python API

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?

like image 635
guerda Avatar asked Sep 07 '10 08:09

guerda


2 Answers

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.

like image 101
neil Avatar answered Oct 05 '22 03:10

neil


Thanks to neil, I found the following section from the documentation:

Scripts for Blender 2.50 - Add Mesh Scripts

I will try the following script and report my results:

Add Solid Object Mesh

like image 42
guerda Avatar answered Oct 05 '22 03:10

guerda