ok soweit hab ichs jetz mal
Code:
            #print freasbahnliste
            self.speed = 0.005
            self.x_ist = 0
            self.y_ist = 0
            global maschine
            maschine.Move_Z_Up()
            print 'hoch'
            for x,linien in enumerate(freasbahnliste):
                if x < (len(freasbahnliste)/2) and x > 0: # Die Hälfte = nur 1 linie *** > 0 ohne Ummriss
                    for a,punkt in enumerate(linien):
                        if a == 1:
                            maschine.Move_Z_Down()
                            print 'runter'
                        self.punktanfahren(punkt)
                        if a == (len(linien)-1):
                            maschine.Move_Z_Up()
                            print 'hoch'
            self.punktanfahren((0,0))
        
    def punktanfahren(self,punkt):
        print punkt
        xsoll=punkt[0]
        ysoll=punkt[1]
        schrittex=0
        schrittey=0
        if self.x_ist != xsoll:
            schrittex=xsoll-self.x_ist
            #print 'schrittex'
        if self.y_ist != ysoll:
            schrittey=ysoll-self.y_ist
            #print 'schrittey'
        if schrittey == 0 and schrittex != 0:
            self.fahrex(schrittex)
        if schrittex == 0 and schrittey != 0:
            self.fahrey(schrittey)
        if schrittex != 0 and schrittey != 0:
            self.fahrexy(schrittex,schrittey)
        self.x_ist = xsoll
        self.y_ist = ysoll

    def fahrex(self,x):
        print "Fahre X",x
        data = 1 #x vor
        data2 = 0
        if x < 0:
            data = 3 #x zurück
            data2 = 2
            x = x * (-1) #negative zahl drehen
        self.p.setInitOut(1) #motor x an            
        time.sleep(0.2)
        for s in xrange(x):
            self.p.setData(data)
            time.sleep(self.speed)
            self.p.setData(data2)
            time.sleep(self.speed)
        self.p.setData(0)
        self.p.setInitOut(0) #motor x aus            
        time.sleep(0.2)
            
    def fahrey(self,y):
        print "Fahre Y",y
        data = 4 #y vor
        data2 = 0
        if y < 0:
            data = 12 #y zurück
            data2 = 8
            y = y * (-1) #negative zahl drehen
        self.p.setSelect(1) #motor y an            
        time.sleep(0.2)
        for s in xrange(y):
            self.p.setData(data)
            time.sleep(self.speed)
            self.p.setData(data2)
            time.sleep(self.speed)
        self.p.setData(0)
        self.p.setSelect(0) #motor y aus            
        time.sleep(0.2)

    def fahrexy(self,x,y):
        print "Fahre XY",x,y
muss ich beim schrägfahren auch den quatranten beachten