Esempio n. 1
0
    p0,p1 = modes.get(mode, (None, None))
    if p0 and p1:
        print "Mache bilder im mode: ", mode
        map(dp, [[ (int(p[p0]),int(p[p1])) for p in t] for t in tris])
        im.save(filename+"_"+mode+"."+FILETYPE)
    else:
        print "Mache alle bilder"
        for key, value in modes.items():
            map(dp, [[ (int(p[value[0]]),int(p[value[1]])) for p in t] for t in tris])
            im.save(filename+"_"+key+"."+FILETYPE)



if __name__ == '__main__':
    if len(sys.argv) > 1:
        filename = sys.argv[1].replace(".obj", "")
        try:
            pts = objread(filename+".obj")
            machebild(pts, filename, "all")

            ptri = objread_tri(filename+".obj")
            machebild_tri(ptri, filename+"_tri", "all")
            print ptri

        except IOError:
            print "obj-file not found!"

    else:
        print "usage:"
        print sys.argv[0], "<obj-filename>"
    im = Image.new("1", (400, 400))
    if mode == "xy":
        for i in points:
            im.putpixel((int(i[0]), int(i[1])), 1)
        im.save(name + "_" + mode + ".png")
    elif mode == "xz":
        for i in points:
            im.putpixel((int(i[0]), int(i[2])), 1)
        im.save(name + "_" + mode + ".png")
    elif mode == "yz":
        for i in points:
            im.putpixel((int(i[1]), int(i[2])), 1)
        im.save(name + "_" + mode + ".png")


if len(sys.argv) > 3:
    fle = file(sys.argv[1]).read().split()
    objlist = obj_parser.filter_obj(fle)
    if sys.argv[3] == "all":
        makepic(objlist, sys.argv[2], "xy")
        makepic(objlist, sys.argv[2], "xz")
        makepic(objlist, sys.argv[2], "yz")
    else:
        makepic(objlist, sys.argv[2], sys.argv[3])
elif len(sys.argv) == 2:
    fle = file(sys.argv[1]).read().split()
    objlist = obj_parser.objread(fle)
    obj_triangle.make_tri(objlist[1])
else:
    print "Zu wenige Argumente"
def makepic(points, name, mode):
    im = Image.new("1", (400, 400))
    if mode == "xy":
        for i in points:
            im.putpixel((int(i[0]), int(i[1])), 1)
        im.save(name + '_' + mode + '.png')
    elif mode == "xz":
        for i in points:
            im.putpixel((int(i[0]), int(i[2])), 1)
        im.save(name + '_' + mode + '.png')
    elif mode == "yz":
        for i in points:
            im.putpixel((int(i[1]), int(i[2])), 1)
        im.save(name + '_' + mode + '.png')

if len(sys.argv) > 3:
    fle = file(sys.argv[1]).read().split()
    objlist = obj_parser.filter_obj(fle)
    if sys.argv[3] == 'all':
        makepic(objlist, sys.argv[2], "xy")
        makepic(objlist, sys.argv[2], "xz")
        makepic(objlist, sys.argv[2], "yz")
    else:
        makepic(objlist, sys.argv[2], sys.argv[3])
elif len(sys.argv) == 2:
    fle = file(sys.argv[1]).read().split()
    objlist = obj_parser.objread(fle)
    obj_triangle.make_tri(objlist[1])
else:
    print "Zu wenige Argumente"