Blender numpy.float32

时间:2012-06-28 11:54:16

标签: python numpy blender

我只是一个简短的问题。 目前我正在为Blender写一个插件。一切正常,但当我想将顶点和面添加到当前的Blender-Scene时,我收到以下错误:

File "/usr/lib/blender/scripts/modules/bpy_types.py", line 378, in <listcomp>
vertices_flat = [f for v in vertices for f in v]
TypeError: 'numpy.float32' object is not iterable

编辑: 这是代码:

def add2Scene(self,verts):
    print("Adding object to current scene")
    triMesh = bpy.data.meshes.new("MCIsosurface") 
    triMesh.from_pydata(verts , [], self.faces)
    triObj = bpy.data.objects.new("MCIsosurface", triMesh)
    #triObj.setLocation(0,0,0)
    bpy.context.scene.objects.link(triObj)
    print("done")

1 个答案:

答案 0 :(得分:1)

我已经解决了问题

我存储了这样的位置:  X Y Z X Y Z

Blender需要这样的数据

((XYZ),(XYZ))

所以一个简单的重塑解决了它:

verts = self.vertices.reshape(len(self.vertices)/3,3)