Merge pull request #14778 from tastyratz/patch-1

Update InsertAtLayerChange.py
This commit is contained in:
Erwan MATHIEU 2024-04-12 16:24:59 +02:00 committed by GitHub
commit 3648aff5c2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -26,27 +26,40 @@ class InsertAtLayerChange(Script):
}, },
"gcode_to_add": "gcode_to_add":
{ {
"label": "G-code to insert.", "label": "G-code to insert",
"description": "G-code to add before or after layer change.", "description": "G-code to add before or after layer change.",
"type": "str", "type": "str",
"default_value": "" "default_value": ""
},
"skip_layers":
{
"label": "Skip layers",
"description": "Number of layers to skip between insertions (0 for every layer).",
"type": "int",
"default_value": 0,
"minimum_value": 0
} }
} }
}""" }"""
def execute(self, data): def execute(self, data):
gcode_to_add = self.getSettingValueByKey("gcode_to_add") + "\n" gcode_to_add = self.getSettingValueByKey("gcode_to_add") + "\n"
skip_layers = self.getSettingValueByKey("skip_layers")
count = 0
for layer in data: for layer in data:
# Check that a layer is being printed # Check that a layer is being printed
lines = layer.split("\n") lines = layer.split("\n")
for line in lines: for line in lines:
if ";LAYER:" in line: if ";LAYER:" in line:
index = data.index(layer) index = data.index(layer)
if self.getSettingValueByKey("insert_location") == "before": if count == 0:
layer = gcode_to_add + layer if self.getSettingValueByKey("insert_location") == "before":
else: layer = gcode_to_add + layer
layer = layer + gcode_to_add else:
layer = layer + gcode_to_add
data[index] = layer data[index] = layer
count = (count + 1) % (skip_layers + 1)
break break
return data return data