self.absoluteDistanceMode = False
elif firstWord == '(<layer>':
self.layerIndex += 1
+ if self.layerIndex == 0 and self.repository.relativeExtrusionDistance.value:
+ self.distanceFeedRate.addLine('M83 ;Relative extrusion')
settings.printProgress(self.layerIndex, 'dimension')
elif firstWord == '(</layer>)' or firstWord == '(<supportLayer>)' or firstWord == '(</supportLayer>)':
if self.totalExtrusionDistance > 0.0 and not self.repository.relativeExtrusionDistance.value:
currentExtruder = 0
extrudeAmountMultiply = 1.0
totalMoveTimeMinute = 0.0
+ absoluteE = True
scale = 1.0
posAbs = True
feedRate = 3600
totalMoveTimeMinute += (oldPos - pos).vsize() / feedRate
moveType = 'move'
if e is not None:
+ if not absoluteE:
+ e += currentE
if posAbs:
if e > currentE:
moveType = 'extrude'
pass
elif M == 81: #Suicide/disable power supply
pass
+ elif M == 82: #Absolute E
+ absoluteE = True
+ elif M == 83: #Relative E
+ absoluteE = False
elif M == 84: #Disable step drivers
pass
elif M == 92: #Set steps per unit