diff --git a/plugins/PostProcessingPlugin/scripts/FilamentChange.py b/plugins/PostProcessingPlugin/scripts/FilamentChange.py index ed0f6eb174..d279aa8dce 100644 --- a/plugins/PostProcessingPlugin/scripts/FilamentChange.py +++ b/plugins/PostProcessingPlugin/scripts/FilamentChange.py @@ -45,6 +45,22 @@ class FilamentChange(Script): "unit": "mm", "type": "float", "default_value": 300.0 + }, + "x_position": + { + "label": "X Position", + "description": "Extruder X position. The print head will move here for filament change.", + "unit": "mm", + "type": "float", + "default_value": 0 + }, + "y_position": + { + "label": "Y Position", + "description": "Extruder Y position. The print head will move here for filament change.", + "unit": "mm", + "type": "float", + "default_value": 0 } } }""" @@ -55,6 +71,8 @@ class FilamentChange(Script): layer_nums = self.getSettingValueByKey("layer_number") initial_retract = self.getSettingValueByKey("initial_retract") later_retract = self.getSettingValueByKey("later_retract") + x_pos = self.getSettingValueByKey("x_position") + y_pos = self.getSettingValueByKey("y_position") color_change = "M600" @@ -62,7 +80,13 @@ class FilamentChange(Script): color_change = color_change + (" E%.2f" % initial_retract) if later_retract is not None and later_retract > 0.: - color_change = color_change + (" L%.2f" % later_retract) + color_change = color_change + (" L-%.2f" % later_retract) + + if x_pos is not None: + color_change = color_change + (" X%.2f" % x_pos) + + if y_pos is not None: + color_change = color_change + (" Y%.2f" % y_pos) color_change = color_change + " ; Generated by FilamentChange plugin"