Hey
I try to model with Python. On each faces, I want a shape. The problem is that the origin face. I do not get that way. I have tried to use it unless one the new faces but that does not work well because then skips the index of the faces.
import bpy
from mathutils import Vector
ob=bpy.context.selected_objects[0].data
for j in range(len(ob.faces)):
face=ob.faces[j]
ver=face.vertices
l=len(face.vertices)
co=Vector((0.0,0.0,0.0))
for i in face.vertices:
co = co +ob.vertices[i].co
for i in range(len(face.vertices)):
ob.vertices.add(1)
ob.vertices[-1].co=0.5*ob.vertices[face.vertices[i]].co+ 0.5*co/l+face.normal/3
ob.edges.add(1)
ob.edges[-1].vertices=(face.vertices[i],ob.vertices[-1].index)
if len(face.vertices) == 3:
midden = ob.vertices[len(ob.vertices)-3:len(ob.vertices)]
if len(face.vertices) == 4:
midden = ob.vertices[len(ob.vertices)-4:len(ob.vertices)]
for i in range(len(midden)):
ob.edges.add(1)
ob.edges[-1].vertices=(midden[i-1].index,midden[i].index)
for i in range(len(midden)):
ob.faces.add(1)
ob.faces[-1].vertices_raw=[face.vertices[i-1],face.vertices[i],midden[i].index,midden[i-1].index]
for i in range(len(midden)):
midden[i]=midden[i].index
ob.faces[j].vertices_raw=(midden+[midden[0]])[0:4]
ob.update()
It is a test version. But it would be nice if it would work.