我只是一个简短的问题。 目前我正在为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")
答案 0 :(得分:1)
我已经解决了问题
我存储了这样的位置: X Y Z X Y Z
Blender需要这样的数据
((XYZ),(XYZ))
所以一个简单的重塑解决了它:
verts = self.vertices.reshape(len(self.vertices)/3,3)