When you extrude the only face of a plane via the GUI you get a (closed) cube. If you do the same thing using
bmesh you get a cube that is open on the bottom side.
I am trying to achieve the normal result through bmesh. (using regular operators is not an option because the mesh is still not linked to the scene). Right now I duplicate the original face before extrusion, extrude, and then remove doubles.
allfaces = bm.faces[:] bmesh.ops.duplicate(bm, geom=allfaces) r = bmesh.ops.extrude_discrete_faces(bm, faces=allfaces) bmesh.ops.translate(bm, vec=Vector((0,0,height)), verts=r['faces'].verts) bmesh.ops.remove_doubles(bm, verts=bm.verts[:], dist=0.01)
This however doesn't strike me as a very elegant way to do it. Is there some other way?