Included two fields on PauseAtHeight script for user to put custom GCODE before and after the pause, such as a beep code.

This commit is contained in:
Rodrigo Sclosa 2020-04-23 20:15:10 -03:00
parent b1e95d7a80
commit 323c374cc4
3 changed files with 52 additions and 1 deletions

View file

@ -1,7 +1,7 @@
{ {
"name": "Post Processing", "name": "Post Processing",
"author": "Ultimaker", "author": "Ultimaker",
"version": "2.2.1", "version": "2.3.0",
"api": "7.2.0", "api": "7.2.0",
"description": "Extension that allows for user created scripts for post processing", "description": "Extension that allows for user created scripts for post processing",
"catalog": "cura" "catalog": "cura"

View file

@ -130,6 +130,20 @@ class PauseAtHeight(Script):
"description": "Text that should appear on the display while paused. If left empty, there will not be any message.", "description": "Text that should appear on the display while paused. If left empty, there will not be any message.",
"type": "str", "type": "str",
"default_value": "" "default_value": ""
},
"custom_gcode_before_pause":
{
"label": "GCODE Before Pause",
"description": "Any custom GCODE to run before the pause, for example, M300 S440 P200 to beep.",
"type": "str",
"default_value": ""
},
"custom_gcode_after_pause":
{
"label": "GCODE After Pause",
"description": "Any custom GCODE to run after the pause, for example, M300 S440 P200 to beep.",
"type": "str",
"default_value": ""
} }
} }
}""" }"""
@ -166,6 +180,8 @@ class PauseAtHeight(Script):
control_temperatures = Application.getInstance().getGlobalContainerStack().getProperty("machine_nozzle_temp_enabled", "value") control_temperatures = Application.getInstance().getGlobalContainerStack().getProperty("machine_nozzle_temp_enabled", "value")
initial_layer_height = Application.getInstance().getGlobalContainerStack().getProperty("layer_height_0", "value") initial_layer_height = Application.getInstance().getGlobalContainerStack().getProperty("layer_height_0", "value")
display_text = self.getSettingValueByKey("display_text") display_text = self.getSettingValueByKey("display_text")
gcode_before = self.getSettingValueByKey("custom_gcode_before_pause")
gcode_after = self.getSettingValueByKey("custom_gcode_after_pause")
is_griffin = False is_griffin = False
@ -323,9 +339,17 @@ class PauseAtHeight(Script):
if disarm_timeout > 0: if disarm_timeout > 0:
prepend_gcode += self.putValue(M = 18, S = disarm_timeout) + " ; Set the disarm timeout\n" prepend_gcode += self.putValue(M = 18, S = disarm_timeout) + " ; Set the disarm timeout\n"
# Set a custom GCODE section before pause
if gcode_before:
prepend_gcode += gcode_before + "\n"
# Wait till the user continues printing # Wait till the user continues printing
prepend_gcode += self.putValue(M = 0) + " ; Do the actual pause\n" prepend_gcode += self.putValue(M = 0) + " ; Do the actual pause\n"
# Set a custom GCODE section before pause
if gcode_after:
prepend_gcode += gcode_after + "\n"
if not is_griffin: if not is_griffin:
if control_temperatures: if control_temperatures:
# Set extruder resume temperature # Set extruder resume temperature

View file

@ -67,6 +67,21 @@ class PauseAtHeightforRepetier(Script):
"unit": "layers", "unit": "layers",
"type": "int", "type": "int",
"default_value": 0 "default_value": 0
},
,
"custom_gcode_before_pause":
{
"label": "GCODE Before Pause",
"description": "Any custom GCODE to run before the pause, for example, M300 S300 P1000 to beep.",
"type": "str",
"default_value": ""
},
"custom_gcode_after_pause":
{
"label": "GCODE After Pause",
"description": "Any custom GCODE to run after the pause, for example, M300 S300 P1000 to beep.",
"type": "str",
"default_value": ""
} }
} }
}""" }"""
@ -84,6 +99,9 @@ class PauseAtHeightforRepetier(Script):
move_Z = self.getSettingValueByKey("head_move_Z") move_Z = self.getSettingValueByKey("head_move_Z")
layers_started = False layers_started = False
redo_layers = self.getSettingValueByKey("redo_layers") redo_layers = self.getSettingValueByKey("redo_layers")
gcode_before = self.getSettingValueByKey("custom_gcode_before_pause")
gcode_after = self.getSettingValueByKey("custom_gcode_after_pause")
for layer in data: for layer in data:
lines = layer.split("\n") lines = layer.split("\n")
for line in lines: for line in lines:
@ -132,9 +150,18 @@ class PauseAtHeightforRepetier(Script):
#Disable the E steppers #Disable the E steppers
prepend_gcode += "M84 E0\n" prepend_gcode += "M84 E0\n"
# Set a custom GCODE section before pause
if gcode_before:
prepend_gcode += gcode_before + "\n"
#Wait till the user continues printing #Wait till the user continues printing
prepend_gcode += "@pause now change filament and press continue printing ;Do the actual pause\n" prepend_gcode += "@pause now change filament and press continue printing ;Do the actual pause\n"
# Set a custom GCODE section before pause
if gcode_after:
prepend_gcode += gcode_after + "\n"
#Push the filament back, #Push the filament back,
if retraction_amount != 0: if retraction_amount != 0:
prepend_gcode += "G1 E%f F6000\n" % (retraction_amount) prepend_gcode += "G1 E%f F6000\n" % (retraction_amount)