Stephanie and I have started looking at the 3D imaging program Blender. It’s a very large and complex program and we’re still trying to figure out just how to navigate around it.
However, much progress has been made, especially with becoming familiar with the idea of scripting. The tutorial in the Blender 3D: Noob to Pro wikibook (http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro), was a good starting point in learning 1) how to navigate around Blender’s Python API, such as its built-in text editor; 2) the fundamentals of how scripting works and some basic Blender Python commands. This involved using the NMesh Module, which allows one to create a NMesh object and then add vertices and faces to the object.
Creating the NMesh object:
obj = NMesh.GetRaw()
Creating a vertex and adding it to the the NMesh object’s vert list:
v0 = NMesh.Vert(0.0, 0.0, 0.0)
obj.verts.append(v0)
Creating a face, give it some vertices, then add it to the NMesh object’s faces list:
f0 = NMesh.Face()
f0.v.append(obj.verts[3])
f0.v.append(obj.verts[4])
f0.v.append(obj.verts[2])
obj.faces.append(f0)
In this way I was able to create multiple faces, which utilized many vertices, and eventually create a 3D pyramid:

A pyramid created from a Blender Python script
Next, I tried a little more complex figure and created a box sitting on a 2D plane (I like to call it a building):

A more complex 3D object
In the near future, I would like to play around with the other available modules of the Blender Python API (http://www.blender.org/documentation/249PythonDoc/), especially the Mesh Module, which I would like to compare to NMesh and see which one, if either, would be better suited to work with over the course of this project. Also, I would like to look into more efficient object creation techniques, via for loops and such.