mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-22 05:39:37 +08:00
Update PurgeLinesAndUnload.py
Changed 'Execute' procedure per suggestion. Add 'G10' firmware retraction support to 'Adjust Starting E'.
This commit is contained in:
parent
82336a0616
commit
035ae14eb7
@ -131,17 +131,20 @@ class PurgeLinesAndUnload(Script):
|
|||||||
|
|
||||||
def execute(self, data):
|
def execute(self, data):
|
||||||
# Run the selected procedures
|
# Run the selected procedures
|
||||||
if self.getSettingValueByKey("add_purge_lines"):
|
# Mapping settings to corresponding methods
|
||||||
self._add_purge_lines(data)
|
procedures = {
|
||||||
if self.getSettingValueByKey("move_to_start"):
|
"add_purge_lines": self._add_purge_lines,
|
||||||
self._move_to_start(data)
|
"move_to_start": self._move_to_start,
|
||||||
if self.getSettingValueByKey("adjust_starting_e"):
|
"adjust_starting_e": self._adjust_starting_e,
|
||||||
self._adjust_starting_e(data)
|
"enable_unload": self._unload_filament
|
||||||
if self.getSettingValueByKey("enable_unload"):
|
}
|
||||||
self._unload_filament(data)
|
# Run selected procedures
|
||||||
|
for setting, method in procedures.items():
|
||||||
|
if self.getSettingValueByKey(setting):
|
||||||
|
method(data)
|
||||||
# Format the startup and ending gcodes
|
# Format the startup and ending gcodes
|
||||||
data[1] = self._format_string(data[1])
|
data[1] = self._format_string(data[1])
|
||||||
data[len(data) - 1] = self._format_string(data[len(data) - 1])
|
data[-1] = self._format_string(data[-1])
|
||||||
return data
|
return data
|
||||||
|
|
||||||
# Add Purge Lines to the user defined position on the build plate
|
# Add Purge Lines to the user defined position on the build plate
|
||||||
@ -606,9 +609,13 @@ class PurgeLinesAndUnload(Script):
|
|||||||
adjust_amt = self.getSettingValueByKey("adjust_e_loc_to")
|
adjust_amt = self.getSettingValueByKey("adjust_e_loc_to")
|
||||||
lines = data[1].split("\n")
|
lines = data[1].split("\n")
|
||||||
lines.reverse()
|
lines.reverse()
|
||||||
|
if curaApp.getProperty("machine_firmware_retract", "value"):
|
||||||
|
search_pattern = "G10"
|
||||||
|
else:
|
||||||
|
search_pattern = "G1 F(\d*) E-(\d.*)"
|
||||||
for index, line in enumerate(lines):
|
for index, line in enumerate(lines):
|
||||||
if re.search("G1 F(\d*) E-(\d.*)", line) is not None:
|
if re.search(search_pattern, line):
|
||||||
lines[index] = re.sub("G1 F(\d*) E-(\d.*)", f"G92 E{adjust_amt}", line)
|
lines[index] = re.sub(search_pattern, f"G92 E{adjust_amt}", line)
|
||||||
lines.reverse()
|
lines.reverse()
|
||||||
data[1] = "\n".join(lines)
|
data[1] = "\n".join(lines)
|
||||||
break
|
break
|
||||||
|
Loading…
x
Reference in New Issue
Block a user