- x = self.getCodeFloat(line, 'X')
- y = self.getCodeFloat(line, 'Y')
- z = self.getCodeFloat(line, 'Z')
- e = self.getCodeFloat(line, 'E')
- f = self.getCodeFloat(line, 'F')
- oldPos = pos.copy()
- if x is not None:
- if posAbs:
- pos.x = x * scale + posOffset.x
- else:
- pos.x += x * scale
- if y is not None:
- if posAbs:
- pos.y = y * scale + posOffset.y
- else:
- pos.y += y * scale
- if z is not None:
- if posAbs:
- pos.z = z * scale + posOffset.z
- else:
- pos.z += z * scale
- if f is not None:
- feedRate = f
- if x is not None or y is not None or z is not None:
- totalMoveTimeMinute += (oldPos - pos).vsize() / feedRate
+ x = getCodeFloat(line, 'X')
+ y = getCodeFloat(line, 'Y')
+ z = getCodeFloat(line, 'Z')
+ e = getCodeFloat(line, 'E')
+ #f = getCodeFloat(line, 'F')
+ oldPos = pos
+ pos = pos[:]
+ if posAbs:
+ if x is not None:
+ pos[0] = x * scale + posOffset[0]
+ if y is not None:
+ pos[1] = y * scale + posOffset[1]
+ if z is not None:
+ pos[2] = z * scale + posOffset[2]
+ else:
+ if x is not None:
+ pos[0] += x * scale
+ if y is not None:
+ pos[1] += y * scale
+ if z is not None:
+ pos[2] += z * scale