mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Add typing to Retract-Continue script.
part of CURA-10092
This commit is contained in:
parent
9861e450a0
commit
e2f7ef8b8b
1 changed files with 6 additions and 4 deletions
|
@ -6,11 +6,13 @@ from ..Script import Script
|
||||||
from UM.Application import Application # To get current absolute/relative setting.
|
from UM.Application import Application # To get current absolute/relative setting.
|
||||||
from UM.Math.Vector import Vector
|
from UM.Math.Vector import Vector
|
||||||
|
|
||||||
|
from typing import List, Tuple
|
||||||
|
|
||||||
|
|
||||||
class RetractContinue(Script):
|
class RetractContinue(Script):
|
||||||
"""Continues retracting during all travel moves."""
|
"""Continues retracting during all travel moves."""
|
||||||
|
|
||||||
def getSettingDataString(self):
|
def getSettingDataString(self) -> str:
|
||||||
return """{
|
return """{
|
||||||
"name": "Retract Continue",
|
"name": "Retract Continue",
|
||||||
"key": "RetractContinue",
|
"key": "RetractContinue",
|
||||||
|
@ -28,7 +30,7 @@ class RetractContinue(Script):
|
||||||
}
|
}
|
||||||
}"""
|
}"""
|
||||||
|
|
||||||
def _getTravelMove(self, travel_move, default_pos):
|
def _getTravelMove(self, travel_move: str, default_pos: Vector) -> Tuple[Vector, float]:
|
||||||
travel = Vector(
|
travel = Vector(
|
||||||
self.getValue(travel_move, "X", default_pos.x),
|
self.getValue(travel_move, "X", default_pos.x),
|
||||||
self.getValue(travel_move, "Y", default_pos.y),
|
self.getValue(travel_move, "Y", default_pos.y),
|
||||||
|
@ -37,14 +39,14 @@ class RetractContinue(Script):
|
||||||
f = self.getValue(travel_move, "F", -1.0)
|
f = self.getValue(travel_move, "F", -1.0)
|
||||||
return travel, f
|
return travel, f
|
||||||
|
|
||||||
def _travelMoveString(self, travel, f, out_e):
|
def _travelMoveString(self, travel: Vector, f: float, out_e: float) -> str:
|
||||||
# Note that only G1 moves are written, since extrusion is included.
|
# Note that only G1 moves are written, since extrusion is included.
|
||||||
if f <= 0.0:
|
if f <= 0.0:
|
||||||
return f"G1 X{travel.x:.5f} Y{travel.y:.5f} Z{travel.z:.5f} E{out_e:.5f}"
|
return f"G1 X{travel.x:.5f} Y{travel.y:.5f} Z{travel.z:.5f} E{out_e:.5f}"
|
||||||
else:
|
else:
|
||||||
return f"G1 F{f:.5f} X{travel.x:.5f} Y{travel.y:.5f} Z{travel.z:.5f} E{out_e:.5f}"
|
return f"G1 F{f:.5f} X{travel.x:.5f} Y{travel.y:.5f} Z{travel.z:.5f} E{out_e:.5f}"
|
||||||
|
|
||||||
def execute(self, data):
|
def execute(self, data: List[str]) -> List[str]:
|
||||||
current_e = 0.0
|
current_e = 0.0
|
||||||
to_compensate = 0 # Used when extrusion mode is relative.
|
to_compensate = 0 # Used when extrusion mode is relative.
|
||||||
is_active = False # Whether retract-continue is in effect.
|
is_active = False # Whether retract-continue is in effect.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue