# Port to the new python api from original source at:<br></br># http://www.janw.gothere.uk.com/Download/Python/mimport.py<br></br># $Id: mimport.py,v 1.1 2004/01/30 00:08:13 len Exp $<br></br>import string<br></br>import Blender<br></br>from Blender import NMesh<br></br><br></br>Mscale = 10<br></br><br></br>def mImport(filename):<br></br>    print 'mImport("%s")' % filename<br></br>    file = open(filename, "r")<br></br>    lines = file.readlines()<br></br>    linenumber = 1<br></br>    print "import into Blender ..."<br></br>    mesh   = NMesh.GetRaw()<br></br>    verts = {}<br></br>    for line in lines:<br></br>        words = string.split(line)<br></br>        if words and words[0] == "#":<br></br>            pass # ignore comments<br></br>        elif words and words[0] == "Vertex":<br></br>            # words[1] is the index of the vertex<br></br>            name = words[1]<br></br>            x = Mscale * string.atof(words[2])<br></br>            y = Mscale * string.atof(words[3])<br></br>            z = Mscale * string.atof(words[4])<br></br>            vert = NMesh.Vert(x, y, z)<br></br>            verts[name] = vert<br></br>            mesh.verts.append(vert)<br></br>        elif words and words[0] == "Face":<br></br>            # triangle<br></br>            # words[1] is the index of the face<br></br>            face = NMesh.Face()<br></br>            face.append(verts[words[2]])<br></br>            face.append(verts[words[3]])<br></br>            face.append(verts[words[4]])<br></br>            mesh.faces.append(face)<br></br>        else:<br></br>            print line<br></br>    NMesh.PutRaw(mesh,"3DS")<br></br>    mesh.update()<br></br>    file.close()<br></br>    print "... finished"<br></br><br></br>def callback(filename):<br></br>    mImport(filename)<br></br><br></br>if __name__ == "__main__":<br></br>    Blender.Window.FileSelector(callback, "Select .m file")<br></br>