1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # Cura PostProcessingPlugin
- # Author: Amanda de Castilho
- # Date: August 28, 2018
- # Description: This plugin inserts a line at the start of each layer,
- # M117 - displays the filename and layer height to the LCD
- # Alternatively, user can override the filename to display alt text + layer height
- from ..Script import Script
- from UM.Application import Application
- class DisplayFilenameAndLayerOnLCD(Script):
- def __init__(self):
- super().__init__()
- def getSettingDataString(self):
- return """{
- "name": "Display filename and layer on LCD",
- "key": "DisplayFilenameAndLayerOnLCD",
- "metadata": {},
- "version": 2,
- "settings":
- {
- "name":
- {
- "label": "text to display:",
- "description": "By default the current filename will be displayed on the LCD. Enter text here to override the filename and display something else.",
- "type": "str",
- "default_value": ""
- }
- }
- }"""
-
- def execute(self, data):
- if self.getSettingValueByKey("name") != "":
- name = self.getSettingValueByKey("name")
- else:
- name = Application.getInstance().getPrintInformation().jobName
- lcd_text = "M117 " + name + " layer: "
- i = 0
- for layer in data:
- display_text = lcd_text + str(i)
- layer_index = data.index(layer)
- lines = layer.split("\n")
- for line in lines:
- if line.startswith(";LAYER:"):
- line_index = lines.index(line)
- lines.insert(line_index + 1, display_text)
- i += 1
- final_lines = "\n".join(lines)
- data[layer_index] = final_lines
-
- return data
|