Просмотр исходного кода

support custom gcode macro before and after filament change

victornpb 2 лет назад
Родитель
Сommit
ac16659829
1 измененных файлов с 15 добавлено и 2 удалено
  1. 15 2
      plugins/PostProcessingPlugin/scripts/FilamentChange.py

+ 15 - 2
plugins/PostProcessingPlugin/scripts/FilamentChange.py

@@ -173,8 +173,18 @@ class FilamentChange(Script):
         y_pos = self.getSettingValueByKey("y_position")
         z_pos = self.getSettingValueByKey("z_position")
         firmware_config = self.getSettingValueByKey("firmware_config")
+        enable_before_macro = self.getSettingValueByKey("enable_before_macro")
+        before_macro = self.getSettingValueByKey("before_macro")
+        enable_after_macro = self.getSettingValueByKey("enable_after_macro")
+        after_macro = self.getSettingValueByKey("after_macro")
 
-        color_change = "M600"
+
+        color_change = ";BEGIN FilamentChange plugin"
+
+        if enable_before_macro:
+            color_change = color_change + "\n" + before_macro
+
+        color_change = color_change + "\n" + "M600"
 
         if not firmware_config:
             if initial_retract is not None and initial_retract > 0.:
@@ -195,7 +205,10 @@ class FilamentChange(Script):
             if z_pos is not None and z_pos > 0.:
                 color_change = color_change + (" Z%.2f" % z_pos)
 
-        color_change = color_change + " ; Generated by FilamentChange plugin\n"
+        if enable_after_macro:
+            color_change = color_change + "\n" + after_macro
+
+        color_change = color_change + "\n;END FilamentChange plugin\n"
 
         layer_targets = layer_nums.split(",")
         if len(layer_targets) > 0: