def import_obj(path): Blender.Window.WaitCursor(1) name = path.split('\\')[-1].split('/')[-1] # parse the file m = MorphologyLoader.fromSWC(src=open(path), morphname="TestMorphlogy4") mf_mesh = MeshBuilderRings.build(morph=m) #MeshWriterPLY.write(mesh, '/tmp/testmesh.ply') mesh = Blender.NMesh.New(name) # create a new mesh for i in range(mf_mesh.nVertices): mesh.verts.append(Blender.NMesh.Vert(mf_mesh.vertices[i,0], mf_mesh.vertices[i,1], mf_mesh.vertices[i,2])) for i in range(mf_mesh.nTriangles): faceVertList = [ mesh.verts[mf_mesh.triangles[0]], mesh.verts[mf_mesh.triangles[1]], mesh.verts[mf_mesh.triangles[2]], ] newFace = Blender.NMesh.Face(faceVertList) mesh.addFace(newFace) ob = Blender.Object.New('Mesh', name) # Mesh must be spelled just this--it is a specific type ob.link(mesh) # tell the object to use the mesh we just made scn = Blender.Scene.GetCurrent() for o in scn.getChildren(): o.sel = 0 scn.link(ob) # link the object to the current scene ob.sel = 1 ob.Layers = scn.Layers Blender.Window.WaitCursor(0) Blender.Window.RedrawAll()
def swc_to_ply(swc_path, ply_path=None): ply_path = ply_path or swc_path.replace('.swc', '.ply') #morphologies = MorphologyLoader.fromSWCSet(src=open(swc_path)) SWCLoader.LoadSet(src=open(swc_path), morphname="UnknownSWC", regionNames=regionNames) meshes = [MeshBuilderRings.build(morph) for morph in morphologies] # Save the individual meshes: for i, mesh in enumerate(meshes): MeshWriterPLY.write(mesh, ply_path.replace('.ply', '_%d.ply' % i)) # Save a set of meshes: combined_mesh = TriangleMesh.merge(meshes) MeshWriterPLY.write(combined_mesh, ply_path)
def import_obj(path): Blender.Window.WaitCursor(1) name = path.split('\\')[-1].split('/')[-1] # parse the file m = MorphologyLoader.fromSWC(src=open(path), morphname="TestMorphlogy4") mf_mesh = MeshBuilderRings.build(morph=m) #MeshWriterPLY.write(mesh, '/tmp/testmesh.ply') mesh = Blender.NMesh.New(name) # create a new mesh for i in range(mf_mesh.nVertices): mesh.verts.append( Blender.NMesh.Vert(mf_mesh.vertices[i, 0], mf_mesh.vertices[i, 1], mf_mesh.vertices[i, 2])) for i in range(mf_mesh.nTriangles): faceVertList = [ mesh.verts[mf_mesh.triangles[0]], mesh.verts[mf_mesh.triangles[1]], mesh.verts[mf_mesh.triangles[2]], ] newFace = Blender.NMesh.Face(faceVertList) mesh.addFace(newFace) ob = Blender.Object.New( 'Mesh', name) # Mesh must be spelled just this--it is a specific type ob.link(mesh) # tell the object to use the mesh we just made scn = Blender.Scene.GetCurrent() for o in scn.getChildren(): o.sel = 0 scn.link(ob) # link the object to the current scene ob.sel = 1 ob.Layers = scn.Layers Blender.Window.WaitCursor(0) Blender.Window.RedrawAll()