mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-22 05:39:37 +08:00
47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
# Cura PostProcessingPlugin
|
|
# Author: Amanda de Castilho
|
|
# Date: January 5,2019
|
|
|
|
# Description: This plugin overrides probing command and inserts code to ensure
|
|
# previous probe measurements are loaded and bed leveling enabled
|
|
# (searches for G29 and replaces it with M501 & M420 S1)
|
|
# *** Assumes G29 is in the start code, will do nothing if it isn't ***
|
|
|
|
from ..Script import Script
|
|
|
|
class UsePreviousProbeMeasurements(Script):
|
|
def __init__(self):
|
|
super().__init__()
|
|
|
|
def getSettingDataString(self):
|
|
return """{
|
|
"name": "Use Previous Probe Measurements",
|
|
"key": "UsePrevProbeMeasure",
|
|
"metadata": {},
|
|
"version": 2,
|
|
"settings":
|
|
{
|
|
"use_previous_measurements":
|
|
{
|
|
"label": "Use last measurement?",
|
|
"description": "Selecting this will remove the G29 probing command and instead ensure previous measurements are loaded and enabled",
|
|
"type": "bool",
|
|
"default_value": false
|
|
}
|
|
}
|
|
}"""
|
|
|
|
def execute(self, data):
|
|
text = "M501 ;load bed level data\nM420 S1 ;enable bed leveling"
|
|
if self.getSettingValueByKey("usePrevMeas"):
|
|
for layer in data:
|
|
layer_index = data.index(layer)
|
|
lines = layer.split("\n")
|
|
for line in lines:
|
|
if line.startswith("G29"):
|
|
line_index = lines.index(line)
|
|
lines[line_index] = text
|
|
final_lines = "\n".join(lines)
|
|
data[layer_index] = final_lines
|
|
return data
|