From ba878ccff085365e0cf6f420a7c20d3e309ccd26 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 12:08:16 +0200 Subject: [PATCH 01/91] fix luminance computation --- plugins/ImageReader/ImageReader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index e720ce4854..c59151f1cb 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -99,8 +99,8 @@ class ImageReader(MeshReader): for x in range(0, width): for y in range(0, height): qrgb = img.pixel(x, y) - avg = float(qRed(qrgb) + qGreen(qrgb) + qBlue(qrgb)) / (3 * 255) - height_data[y, x] = avg + luminance = (0.2126 * qRed(qrgb) + 0.7152 * qGreen(qrgb) + 0.0722 * qBlue(qrgb)) / 255 # fast computation ignoring gamma + height_data[y, x] = luminance Job.yieldThread() From 31683287505372d20d0e9488427c60af8d76a0f8 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 12:10:18 +0200 Subject: [PATCH 02/91] feat: use logarithmic conversion for lithophanes --- plugins/ImageReader/ConfigUI.qml | 22 ++++++++++++++++++++++ plugins/ImageReader/ImageReader.py | 16 ++++++++++++---- plugins/ImageReader/ImageReaderUI.py | 6 ++++++ 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index 47ba10778c..ef28c174f2 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -143,6 +143,28 @@ UM.Dialog } } + UM.TooltipArea { + Layout.fillWidth:true + height: childrenRect.height + text: catalog.i18nc("@info:tooltip","For lithophanes a logarithmic function is more appropriate for most materials. For height maps the pixel values correspond to heights linearly.") + Row { + width: parent.width + + Label { + text: "Conversion" + width: 150 * screenScaleFactor + anchors.verticalCenter: parent.verticalCenter + } + ComboBox { + id: conversion + objectName: "Conversion" + model: [ catalog.i18nc("@item:inlistbox","Logarithmic"), catalog.i18nc("@item:inlistbox","Linear") ] + width: 180 * screenScaleFactor + onCurrentIndexChanged: { manager.onConvertFunctionChanged(currentIndex) } + } + } + } + UM.TooltipArea { Layout.fillWidth:true height: childrenRect.height diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index c59151f1cb..bfaa6eb48c 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -3,6 +3,8 @@ import numpy +import math + from PyQt5.QtGui import QImage, qRed, qGreen, qBlue from PyQt5.QtCore import Qt @@ -46,9 +48,9 @@ class ImageReader(MeshReader): def _read(self, file_name): size = max(self._ui.getWidth(), self._ui.getDepth()) - return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher) + return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_logarithmic_function) - def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher): + def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_logarithmic_function): scene_node = SceneNode() mesh = MeshBuilder() @@ -124,8 +126,14 @@ class ImageReader(MeshReader): Job.yieldThread() - height_data *= scale_vector.y - height_data += base_height + if use_logarithmic_function: + min_luminance = 2.0 ** (peak_height - base_height) + for (y, x) in numpy.ndindex(height_data.shape): + mapped_luminance = min_luminance + (1.0 - min_luminance) * height_data[y, x] + height_data[y, x] = peak_height - math.log(mapped_luminance, 2) + else: + height_data *= scale_vector.y + height_data += base_height heightmap_face_count = 2 * height_minus_one * width_minus_one total_face_count = heightmap_face_count + (width_minus_one * 2) * (height_minus_one * 2) + 2 diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index 213468a2ab..c769a8c264 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -34,6 +34,7 @@ class ImageReaderUI(QObject): self.peak_height = 2.5 self.smoothing = 1 self.lighter_is_higher = False; + self.use_logarithmic_function = False; self._ui_lock = threading.Lock() self._cancelled = False @@ -144,3 +145,8 @@ class ImageReaderUI(QObject): @pyqtSlot(int) def onImageColorInvertChanged(self, value): self.lighter_is_higher = (value == 1) + + @pyqtSlot(int) + def onConvertFunctionChanged(self, value): + self.use_logarithmic_function = (value == 0) + From 9066f5f6d4f484cb2e3cfd8e83a79cfa39fb294f Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 14:18:07 +0200 Subject: [PATCH 03/91] fix translucency model using new permittance setting --- plugins/ImageReader/ConfigUI.qml | 23 +++++++++++++++++++++++ plugins/ImageReader/ImageReader.py | 9 +++++---- plugins/ImageReader/ImageReaderUI.py | 5 +++++ 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index ef28c174f2..491594fa58 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -165,6 +165,29 @@ UM.Dialog } } + UM.TooltipArea { + Layout.fillWidth:true + height: childrenRect.height + text: catalog.i18nc("@info:tooltip","The percentage of light penetrating a print with a thickness of 1 millimeter.") + Row { + width: parent.width + + Label { + text: catalog.i18nc("@action:label", "1mm Transmittance (%)") + width: 150 * screenScaleFactor + anchors.verticalCenter: parent.verticalCenter + } + TextField { + id: transmittance + objectName: "Transmittance" + focus: true + validator: RegExpValidator {regExp: /^[1-9]\d{0,2}([\,|\.]\d*)?$/} + width: 180 * screenScaleFactor + onTextChanged: { manager.onTransmittanceChanged(text) } + } + } + } + UM.TooltipArea { Layout.fillWidth:true height: childrenRect.height diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index bfaa6eb48c..ce3cab0b8f 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -48,9 +48,9 @@ class ImageReader(MeshReader): def _read(self, file_name): size = max(self._ui.getWidth(), self._ui.getDepth()) - return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_logarithmic_function) + return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_logarithmic_function, self._ui.transmittance_1mm) - def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_logarithmic_function): + def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_logarithmic_function, transmittance_1mm): scene_node = SceneNode() mesh = MeshBuilder() @@ -127,10 +127,11 @@ class ImageReader(MeshReader): Job.yieldThread() if use_logarithmic_function: - min_luminance = 2.0 ** (peak_height - base_height) + p = 1.0 / math.log(transmittance_1mm / 100.0, 2) + min_luminance = 2.0 ** ((peak_height - base_height) / p) for (y, x) in numpy.ndindex(height_data.shape): mapped_luminance = min_luminance + (1.0 - min_luminance) * height_data[y, x] - height_data[y, x] = peak_height - math.log(mapped_luminance, 2) + height_data[y, x] = peak_height - p * math.log(mapped_luminance, 2) else: height_data *= scale_vector.y height_data += base_height diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index c769a8c264..67d6444538 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -35,6 +35,7 @@ class ImageReaderUI(QObject): self.smoothing = 1 self.lighter_is_higher = False; self.use_logarithmic_function = False; + self.transmittance_1mm = 40.0; self._ui_lock = threading.Lock() self._cancelled = False @@ -76,6 +77,7 @@ class ImageReaderUI(QObject): self._ui_view.findChild(QObject, "Base_Height").setProperty("text", str(self.base_height)) self._ui_view.findChild(QObject, "Peak_Height").setProperty("text", str(self.peak_height)) + self._ui_view.findChild(QObject, "Transmittance").setProperty("text", str(self.transmittance_1mm)) self._ui_view.findChild(QObject, "Smoothing").setProperty("value", self.smoothing) def _createConfigUI(self): @@ -150,3 +152,6 @@ class ImageReaderUI(QObject): def onConvertFunctionChanged(self, value): self.use_logarithmic_function = (value == 0) + @pyqtSlot(int) + def onTransmittanceChanged(self, value): + self.transmittance_1mm = value From beaa5e0b7a300e3eab1eeaff79749ce4fb934632 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 14:21:05 +0200 Subject: [PATCH 04/91] fix luminance computation --- plugins/ImageReader/ImageReader.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index ce3cab0b8f..50825f2464 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -101,8 +101,10 @@ class ImageReader(MeshReader): for x in range(0, width): for y in range(0, height): qrgb = img.pixel(x, y) - luminance = (0.2126 * qRed(qrgb) + 0.7152 * qGreen(qrgb) + 0.0722 * qBlue(qrgb)) / 255 # fast computation ignoring gamma - height_data[y, x] = luminance + if use_logarithmic_function: + height_data[y, x] = (0.299 * math.pow(qRed(qrgb) / 255.0, 2.2) + 0.587 * math.pow(qGreen(qrgb) / 255.0, 2.2) + 0.114 * math.pow(qBlue(qrgb) / 255.0, 2.2)) + else: + height_data[y, x] = (0.212655 * qRed(qrgb) + 0.715158 * qGreen(qrgb) + 0.072187 * qBlue(qrgb)) / 255 # fast computation ignoring gamma and degamma Job.yieldThread() From 5b9a18f5dfc0b1fd15cc5cec3bed015b7f394d1c Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 14:27:51 +0200 Subject: [PATCH 05/91] make naming of Logarithmic Conversion Function intelligible --- plugins/ImageReader/ConfigUI.qml | 12 ++++++------ plugins/ImageReader/ImageReader.py | 8 ++++---- plugins/ImageReader/ImageReaderUI.py | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index 491594fa58..8a4ac67b3e 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -146,21 +146,21 @@ UM.Dialog UM.TooltipArea { Layout.fillWidth:true height: childrenRect.height - text: catalog.i18nc("@info:tooltip","For lithophanes a logarithmic function is more appropriate for most materials. For height maps the pixel values correspond to heights linearly.") + text: catalog.i18nc("@info:tooltip","For lithophanes a simple logarithmic model for translucency is available. For height maps the pixel values correspond to heights linearly.") Row { width: parent.width Label { - text: "Conversion" + text: "Color Model" width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } ComboBox { - id: conversion - objectName: "Conversion" - model: [ catalog.i18nc("@item:inlistbox","Logarithmic"), catalog.i18nc("@item:inlistbox","Linear") ] + id: color_model + objectName: "ColorModel" + model: [ catalog.i18nc("@item:inlistbox","Translucency"), catalog.i18nc("@item:inlistbox","Linear") ] width: 180 * screenScaleFactor - onCurrentIndexChanged: { manager.onConvertFunctionChanged(currentIndex) } + onCurrentIndexChanged: { manager.onColorModelChanged(currentIndex) } } } } diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index 50825f2464..0086736f6d 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -48,9 +48,9 @@ class ImageReader(MeshReader): def _read(self, file_name): size = max(self._ui.getWidth(), self._ui.getDepth()) - return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_logarithmic_function, self._ui.transmittance_1mm) + return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_transparency_model, self._ui.transmittance_1mm) - def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_logarithmic_function, transmittance_1mm): + def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_transparency_model, transmittance_1mm): scene_node = SceneNode() mesh = MeshBuilder() @@ -101,7 +101,7 @@ class ImageReader(MeshReader): for x in range(0, width): for y in range(0, height): qrgb = img.pixel(x, y) - if use_logarithmic_function: + if use_transparency_model: height_data[y, x] = (0.299 * math.pow(qRed(qrgb) / 255.0, 2.2) + 0.587 * math.pow(qGreen(qrgb) / 255.0, 2.2) + 0.114 * math.pow(qBlue(qrgb) / 255.0, 2.2)) else: height_data[y, x] = (0.212655 * qRed(qrgb) + 0.715158 * qGreen(qrgb) + 0.072187 * qBlue(qrgb)) / 255 # fast computation ignoring gamma and degamma @@ -128,7 +128,7 @@ class ImageReader(MeshReader): Job.yieldThread() - if use_logarithmic_function: + if use_transparency_model: p = 1.0 / math.log(transmittance_1mm / 100.0, 2) min_luminance = 2.0 ** ((peak_height - base_height) / p) for (y, x) in numpy.ndindex(height_data.shape): diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index 67d6444538..41d8741b38 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -34,7 +34,7 @@ class ImageReaderUI(QObject): self.peak_height = 2.5 self.smoothing = 1 self.lighter_is_higher = False; - self.use_logarithmic_function = False; + self.use_transparency_model = True; self.transmittance_1mm = 40.0; self._ui_lock = threading.Lock() @@ -149,8 +149,8 @@ class ImageReaderUI(QObject): self.lighter_is_higher = (value == 1) @pyqtSlot(int) - def onConvertFunctionChanged(self, value): - self.use_logarithmic_function = (value == 0) + def onColorModelChanged(self, value): + self.use_transparency_model = (value == 0) @pyqtSlot(int) def onTransmittanceChanged(self, value): From 3e0b756a6d9654ed180f97d47a8b0412dc063a66 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 14:37:14 +0200 Subject: [PATCH 06/91] explain litho transmittance better --- plugins/ImageReader/ConfigUI.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index 8a4ac67b3e..842ca612d9 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -168,7 +168,7 @@ UM.Dialog UM.TooltipArea { Layout.fillWidth:true height: childrenRect.height - text: catalog.i18nc("@info:tooltip","The percentage of light penetrating a print with a thickness of 1 millimeter.") + text: catalog.i18nc("@info:tooltip","The percentage of light penetrating a print with a thickness of 1 millimeter. Lowering this value increases the contrast in dark regions and decreases the contrast in light regions of the image.") Row { width: parent.width From 236b7574c0bf5415535fde6ca559ebfa7bc8eeb7 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 14:55:10 +0200 Subject: [PATCH 07/91] fix litho thickness computation --- plugins/ImageReader/ImageReader.py | 4 ++-- plugins/ImageReader/ImageReaderUI.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index 0086736f6d..2084844548 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -108,7 +108,7 @@ class ImageReader(MeshReader): Job.yieldThread() - if not lighter_is_higher: + if lighter_is_higher is use_transparency_model: height_data = 1 - height_data for _ in range(0, blur_iterations): @@ -133,7 +133,7 @@ class ImageReader(MeshReader): min_luminance = 2.0 ** ((peak_height - base_height) / p) for (y, x) in numpy.ndindex(height_data.shape): mapped_luminance = min_luminance + (1.0 - min_luminance) * height_data[y, x] - height_data[y, x] = peak_height - p * math.log(mapped_luminance, 2) + height_data[y, x] = base_height + p * math.log(mapped_luminance, 2) else: height_data *= scale_vector.y height_data += base_height diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index 41d8741b38..0fb9ea78de 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -35,7 +35,7 @@ class ImageReaderUI(QObject): self.smoothing = 1 self.lighter_is_higher = False; self.use_transparency_model = True; - self.transmittance_1mm = 40.0; + self.transmittance_1mm = 20.0; # based on pearl PLA self._ui_lock = threading.Lock() self._cancelled = False From e59641eb67663c302f0139421c94fde29db64de1 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 20:19:29 +0200 Subject: [PATCH 08/91] based transmittance on measurements on print ratio of luminance of 1.4mm thickness to luminance at 0.4mm --- plugins/ImageReader/ImageReaderUI.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index 0fb9ea78de..a61fabb742 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -35,7 +35,7 @@ class ImageReaderUI(QObject): self.smoothing = 1 self.lighter_is_higher = False; self.use_transparency_model = True; - self.transmittance_1mm = 20.0; # based on pearl PLA + self.transmittance_1mm = 50.0; # based on pearl PLA self._ui_lock = threading.Lock() self._cancelled = False From 4067f5216ecbe095b2b40bc442025322b9ba68c6 Mon Sep 17 00:00:00 2001 From: Mathias Lyngklip Kjeldgaard Date: Wed, 31 Jul 2019 13:34:28 +0200 Subject: [PATCH 09/91] Create DisplayRemainingTimeOnLCD.py Added a post-processing script that prints out the estimated time remaining generated by Cura. --- .../scripts/DisplayRemainingTimeOnLCD.py | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py diff --git a/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py b/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py new file mode 100644 index 0000000000..a943ca58f8 --- /dev/null +++ b/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py @@ -0,0 +1,86 @@ + +from ..Script import Script + +import re +import datetime + + +class DisplayRemainingTimeOnLCD(Script): + + def __init__(self): + super().__init__() + + + def getSettingDataString(self): + return """{ + "name":"Disaplay Remaining Time on LCD", + "key":"DisplayRemainingTimeOnLCD", + "metadata": {}, + "version": 2, + "settings": + { + "TurnOn": + { + "label": "Enable", + "description": "When enabled, It will write Time Left HHMMSS on the display", + "type": "bool", + "default_value": true + } + } + }""" + + def execute(self, data): + if self.getSettingValueByKey("TurnOn"): + TotalTime = 0 # Var for total time + TotalTimeString = "" # Var for the string we insert + for layer in data: + layer_index = data.index(layer) + lines = layer.split("\n") + for line in lines: + if line.startswith(";TIME:"): + # At this point, we have found a line in the GCODE with ";TIME:" + # which is the indication of TotalTime. Looks like: ";TIME:1337", where + # 1337 is the total print time in seconds. + line_index = lines.index(line) # We take a hold of that line + minString = re.split(":", line) # Then we split it, so we can get the number + + StringMedTal = "{}".format(minString[1]) # Here we insert that number from the + # list into a string. + + TotalTime = int(StringMedTal) # Only to contert it to a int. + + m, s = divmod(TotalTime, 60) # Math to calculate + h, m = divmod(m, 60) # hours, minutes and seconds. + TotalTimeString = "{:d}h{:02d}m{:02d}s".format(h, m, s) # Now we put it into the string + lines[line_index] = "M117 Time Left: {}".format(TotalTimeString) # And print that string instead of the original one + + + + + elif line.startswith(";TIME_ELAPSED:"): + + # As we didnt find the total time (";TIME:"), we have found a elapsed time mark + # This time represents the time the printer have printed. So with some math; + # totalTime - printTime = RemainingTime. + line_index = lines.index(line) # We get a hold of the line + myList = re.split(":", line) # Again, we split at ":" so we can get the number + StringMedTal = "{}".format(myList[1]) # Then we put that number from the list, into a string + + currentTime = float(StringMedTal) # This time we convert to a float, as the line looks something like: + # ;TIME_ELAPSED:1234.6789 + # which is total time in seconds + + timeLeft = TotalTime - currentTime # Here we calculate remaining time + + m1, s1 = divmod(timeLeft, 60) # And some math to get the total time in seconds into + h1, m1 = divmod(m1, 60) # the right format. (HH,MM,SS) + currentTimeString = "{:d}h{:2d}m{:2d}s".format(int(h1), int(m1), int(s1)) # Here we create the string holding our time + lines[line_index] = "M117 Time Left: {}".format(currentTimeString) # And now insert that into the GCODE + + + # Here we are OUT of the second for-loop + # Which means we have found and replaces all the occurences. + # Which also means we are ready to join the lines for that section of the GCODE file. + final_lines = "\n".join(lines) + data[layer_index] = final_lines + return data From fd3233dba59653101a349ad5dbe078e314f35dcd Mon Sep 17 00:00:00 2001 From: Mathias Lyngklip Kjeldgaard Date: Wed, 31 Jul 2019 23:29:35 +0200 Subject: [PATCH 10/91] updated variable names --- .../scripts/DisplayRemainingTimeOnLCD.py | 58 +++++++++++-------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py b/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py index a943ca58f8..e5f61f7360 100644 --- a/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py +++ b/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py @@ -1,3 +1,13 @@ +# Cura PostProcessingPlugin +# Author: Mathias Lyngklip Kjeldgaard +# Date: July 31, 2019 +# Modified: --- + +# Description: This plugin displayes the remaining time on the LCD of the printer +# using the estimated print-time generated by Cura. + + + from ..Script import Script @@ -22,37 +32,36 @@ class DisplayRemainingTimeOnLCD(Script): "TurnOn": { "label": "Enable", - "description": "When enabled, It will write Time Left HHMMSS on the display", + "description": "When enabled, It will write Time Left: HHMMSS on the display", "type": "bool", - "default_value": true + "default_value": false } } }""" def execute(self, data): if self.getSettingValueByKey("TurnOn"): - TotalTime = 0 # Var for total time - TotalTimeString = "" # Var for the string we insert + total_time = 0 + total_time_string = "" for layer in data: layer_index = data.index(layer) lines = layer.split("\n") for line in lines: if line.startswith(";TIME:"): # At this point, we have found a line in the GCODE with ";TIME:" - # which is the indication of TotalTime. Looks like: ";TIME:1337", where + # which is the indication of total_time. Looks like: ";TIME:1337", where # 1337 is the total print time in seconds. - line_index = lines.index(line) # We take a hold of that line - minString = re.split(":", line) # Then we split it, so we can get the number + line_index = lines.index(line) # We take a hold of that line + split_string = re.split(":", line) # Then we split it, so we can get the number - StringMedTal = "{}".format(minString[1]) # Here we insert that number from the - # list into a string. + string_with_numbers = "{}".format(split_string[1]) # Here we insert that number from the + # list into a string. + total_time = int(string_with_numbers) # Only to contert it to a int. - TotalTime = int(StringMedTal) # Only to contert it to a int. - - m, s = divmod(TotalTime, 60) # Math to calculate - h, m = divmod(m, 60) # hours, minutes and seconds. - TotalTimeString = "{:d}h{:02d}m{:02d}s".format(h, m, s) # Now we put it into the string - lines[line_index] = "M117 Time Left: {}".format(TotalTimeString) # And print that string instead of the original one + m, s = divmod(total_time, 60) # Math to calculate + h, m = divmod(m, 60) # hours, minutes and seconds. + total_time_string = "{:d}h{:02d}m{:02d}s".format(h, m, s) # Now we put it into the string + lines[line_index] = "M117 Time Left: {}".format(total_time_string) # And print that string instead of the original one @@ -63,19 +72,18 @@ class DisplayRemainingTimeOnLCD(Script): # This time represents the time the printer have printed. So with some math; # totalTime - printTime = RemainingTime. line_index = lines.index(line) # We get a hold of the line - myList = re.split(":", line) # Again, we split at ":" so we can get the number - StringMedTal = "{}".format(myList[1]) # Then we put that number from the list, into a string + list_split = re.split(":", line) # Again, we split at ":" so we can get the number + string_with_numbers = "{}".format(list_split[1]) # Then we put that number from the list, into a string - currentTime = float(StringMedTal) # This time we convert to a float, as the line looks something like: - # ;TIME_ELAPSED:1234.6789 - # which is total time in seconds + current_time = float(string_with_numbers) # This time we convert to a float, as the line looks something like: + # ;TIME_ELAPSED:1234.6789 + # which is total time in seconds - timeLeft = TotalTime - currentTime # Here we calculate remaining time - - m1, s1 = divmod(timeLeft, 60) # And some math to get the total time in seconds into + time_left = total_time - current_time # Here we calculate remaining time + m1, s1 = divmod(time_left, 60) # And some math to get the total time in seconds into h1, m1 = divmod(m1, 60) # the right format. (HH,MM,SS) - currentTimeString = "{:d}h{:2d}m{:2d}s".format(int(h1), int(m1), int(s1)) # Here we create the string holding our time - lines[line_index] = "M117 Time Left: {}".format(currentTimeString) # And now insert that into the GCODE + current_time_string = "{:d}h{:2d}m{:2d}s".format(int(h1), int(m1), int(s1)) # Here we create the string holding our time + lines[line_index] = "M117 Time Left: {}".format(current_time_string) # And now insert that into the GCODE # Here we are OUT of the second for-loop From 4934d7a6e9d13de78fc20f0fa0376de2dfcfd784 Mon Sep 17 00:00:00 2001 From: Mathias Lyngklip Kjeldgaard Date: Thu, 8 Aug 2019 11:03:24 +0200 Subject: [PATCH 11/91] Fixed a bug caused by ":" I discovered the ":" I added caused the rest of the message to not be displayed when printing from a SD card, so I removed the ":". --- .../PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py b/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py index e5f61f7360..9152ab65f9 100644 --- a/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py +++ b/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py @@ -61,7 +61,7 @@ class DisplayRemainingTimeOnLCD(Script): m, s = divmod(total_time, 60) # Math to calculate h, m = divmod(m, 60) # hours, minutes and seconds. total_time_string = "{:d}h{:02d}m{:02d}s".format(h, m, s) # Now we put it into the string - lines[line_index] = "M117 Time Left: {}".format(total_time_string) # And print that string instead of the original one + lines[line_index] = "M117 Time Left {}".format(total_time_string) # And print that string instead of the original one @@ -83,7 +83,7 @@ class DisplayRemainingTimeOnLCD(Script): m1, s1 = divmod(time_left, 60) # And some math to get the total time in seconds into h1, m1 = divmod(m1, 60) # the right format. (HH,MM,SS) current_time_string = "{:d}h{:2d}m{:2d}s".format(int(h1), int(m1), int(s1)) # Here we create the string holding our time - lines[line_index] = "M117 Time Left: {}".format(current_time_string) # And now insert that into the GCODE + lines[line_index] = "M117 Time Left {}".format(current_time_string) # And now insert that into the GCODE # Here we are OUT of the second for-loop From e4a4e965f93cb8e7c10f3ff58415ca82a8242138 Mon Sep 17 00:00:00 2001 From: KOUBeMT <51325289+KOUBeMT@users.noreply.github.com> Date: Fri, 16 Aug 2019 10:26:49 +0200 Subject: [PATCH 12/91] Removing_supprot_for_generic_materials --- .../quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg | 2 +- 28 files changed, 28 insertions(+), 28 deletions(-) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg index 3e40732f74..ed6eefaffe 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = a weight = 1 -material = generic_abs +material = emotiontech_abs variant = Standard 0.4 [values] diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg index 40846dddc8..5501c91687 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = b weight = 0 -material = generic_abs +material = emotiontech_abs variant = Standard 0.4 [values] diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg index f21737f4cb..f60244024a 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = c weight = -1 -material = generic_abs +material = emotiontech_abs variant = Standard 0.4 [values] diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg index fb2398dc39..905a8dd7d8 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = a weight = 1 -material = generic_petg +material = emotiontech_petg variant = Standard 0.4 [values] diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg index ee09d737b6..d718ca9b76 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = b weight = 0 -material = generic_petg +material = emotiontech_petg variant = Standard 0.4 [values] diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg index e76d94c014..dac95a12ea 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = c weight = -1 -material = generic_petg +material = emotiontech_petg variant = Standard 0.4 [values] diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg index b69bffc010..a490d8c582 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = a weight = 1 -material = generic_pla +material = emotiontech_pla variant = Standard 0.4 [values] diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg index 43ea198edf..690463fd32 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = b weight = 0 -material = generic_pla +material = emotiontech_pla variant = Standard 0.4 [values] diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg index 0c64f0c061..c701cb0143 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = c weight = -1 -material = generic_pla +material = emotiontech_pla variant = Standard 0.4 [values] diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg index e9f70f90c0..ec1cae9ddb 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = b weight = 1 -material = generic_abs +material = emotiontech_abs variant = Standard 0.6 [values] diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg index 054dd9fe6c..3e38e488f0 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = c weight = 0 -material = generic_abs +material = emotiontech_abs variant = Standard 0.6 [values] diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg index 0ca7f6b5aa..496dbbd7f3 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = d weight = -1 -material = generic_abs +material = emotiontech_abs variant = Standard 0.6 [values] diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg index 812e5e6004..75282edd6e 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = b weight = 1 -material = generic_petg +material = emotiontech_petg variant = Standard 0.6 [values] diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg index c92efe23e4..9a36e8e390 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = c weight = 0 -material = generic_petg +material = emotiontech_petg variant = Standard 0.6 [values] diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg index 72249c3a59..8a6c2bd566 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = d weight = -1 -material = generic_petg +material = emotiontech_petg variant = Standard 0.6 [values] diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg index 2e1a08ecca..8380b66240 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = b weight = 1 -material = generic_pla +material = emotiontech_pla variant = Standard 0.6 [values] diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg index c2f254e322..9323ee2933 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = c weight = 0 -material = generic_pla +material = emotiontech_pla variant = Standard 0.6 [values] diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg index c03cd12b4d..94a7e3eb72 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = d weight = -1 -material = generic_pla +material = emotiontech_pla variant = Standard 0.6 [values] diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg index 106bf05af4..0ace94666d 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = c weight = 1 -material = generic_abs +material = emotiontech_abs variant = Standard 0.8 [values] diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg index 4e7d19e1d7..627bf8e94d 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = d weight = 0 -material = generic_abs +material = emotiontech_abs variant = Standard 0.8 [values] diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg index 693c4e3d09..5b1c21787b 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = e weight = -1 -material = generic_abs +material = emotiontech_abs variant = Standard 0.8 [values] diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg index 148b3fc309..46cc77abc7 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = c weight = 1 -material = generic_petg +material = emotiontech_petg variant = Standard 0.8 [values] diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg index 58991f5de9..660f6e9039 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = d weight = 0 -material = generic_petg +material = emotiontech_petg variant = Standard 0.8 [values] diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg index ab38f97ece..d33718b6b7 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = e weight = -1 -material = generic_petg +material = emotiontech_petg variant = Standard 0.8 [values] diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg index 5ae5415636..b7827fe783 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = c weight = 1 -material = generic_pla +material = emotiontech_pla variant = Standard 0.8 [values] diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg index 7094088e4f..b589f1a405 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = d weight = 0 -material = generic_pla +material = emotiontech_pla variant = Standard 0.8 [values] diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg index de9c0e8c16..38875405b9 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = e weight = -1 -material = generic_pla +material = emotiontech_pla variant = Standard 0.8 [values] diff --git a/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg b/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg index 2ebc3c7c0d..8ba4dbff9c 100644 --- a/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg @@ -8,7 +8,7 @@ setting_version = 8 type = quality quality_type = h weight = -1 -material = generic_pla +material = emotiontech_pla variant = Standard 1.2 [values] From 3f9f465053fa970ecf2da9e3ae228b37fdf3c40b Mon Sep 17 00:00:00 2001 From: KOUBeMT <51325289+KOUBeMT@users.noreply.github.com> Date: Thu, 3 Oct 2019 12:03:48 +0200 Subject: [PATCH 13/91] Update strateo3d.def.json --- resources/definitions/strateo3d.def.json | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/resources/definitions/strateo3d.def.json b/resources/definitions/strateo3d.def.json index 38f7c4b0d3..b4b9f224ab 100644 --- a/resources/definitions/strateo3d.def.json +++ b/resources/definitions/strateo3d.def.json @@ -31,13 +31,14 @@ "machine_depth": { "default_value": 420 }, "machine_height": { "default_value": 495 }, "machine_heated_bed": { "default_value": true }, + "machine_heated_build_volume": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, "machine_head_with_fans_polygon": { "default_value": [ [ -76, -51.8 ] , [ 25, -51.8 ] , [ 25, 38.2 ] , [ -76, 38.2 ] ] }, "gantry_height": { "default_value": 40 }, "machine_extruder_count": { "default_value": 2 }, "machine_gcode_flavor": { "default_value": "Marlin" }, "machine_start_gcode": { "default_value": "G28 \nG90 G1 X300 Y210 Z15 F6000 \nG92 E0" }, - "machine_end_gcode": { "default_value": "T1 \nM104 S0 \nT0 \nM104 S0 \nM140 S0 \nM141 S0 \nG91 \nG0 E-1 F1500 \nG0 z1 \nG90 \nG28 \nM801.2 \nM801.0 \nM84" }, + "machine_end_gcode": { "default_value": "T1 \nM104 S0 \nT0 \nM104 S0 \nM140 S0 \nM141 S0 \nG91 \nG0 z1 \nG90 \nG28 \nM801.0 \nM84 \nM192" }, "extruder_prime_pos_y": {"minimum_value": "0", "maximum_value": "machine_depth"}, "extruder_prime_pos_x": {"minimum_value": "0", "maximum_value": "machine_width"}, "machine_heat_zone_length": { "default_value": 7 }, @@ -47,17 +48,17 @@ "material_bed_temperature": { "maximum_value": "130" }, "material_bed_temperature_layer_0": { "maximum_value": "130" }, "extruder_prime_pos_abs": { "default_value": true }, - "machine_acceleration": { "default_value": 2000 }, + "machine_acceleration": { "default_value": 1500 }, "acceleration_enabled": { "value": false }, "acceleration_layer_0": { "value": "acceleration_topbottom" }, - "acceleration_prime_tower": { "value": "math.ceil(acceleration_print * 1000 / 2000)" }, - "acceleration_print": { "value": "2000" }, + "acceleration_prime_tower": { "value": "math.ceil(acceleration_print * 1500 / 1500)" }, + "acceleration_print": { "value": "1500" }, "acceleration_support": { "value": "acceleration_print" }, "acceleration_support_interface": { "value": "acceleration_topbottom" }, - "acceleration_topbottom": { "value": "math.ceil(acceleration_print * 1000 / 2000)" }, - "acceleration_wall": { "value": "math.ceil(acceleration_print * 1500 / 2000)" }, - "acceleration_wall_0": { "value": "math.ceil(acceleration_wall * 1000 / 1500)" }, + "acceleration_topbottom": { "value": "math.ceil(acceleration_print * 1000 / 1500)" }, + "acceleration_wall": { "value": "math.ceil(acceleration_print * 1500 / 1500)" }, + "acceleration_wall_0": { "value": "math.ceil(acceleration_print * 1000 / 1500)" }, "adaptive_layer_height_variation": { "default_value": 0.1 }, "adaptive_layer_height_variation_step": { "default_value": 0.05 }, "adhesion_type": { "default_value": "skirt" }, From f1ecb63c3f08bcd90bd292a6eeeebfd6b1470097 Mon Sep 17 00:00:00 2001 From: KOUBeMT <51325289+KOUBeMT@users.noreply.github.com> Date: Thu, 3 Oct 2019 12:11:20 +0200 Subject: [PATCH 14/91] Setting version update --- .../quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg | 2 +- .../strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg | 2 +- .../strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg | 2 +- .../strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg | 2 +- .../strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg | 2 +- .../strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg | 2 +- .../strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg | 2 +- .../strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg | 2 +- .../strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_C.inst.cfg | 2 +- .../strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_D.inst.cfg | 2 +- .../strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_A.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_B.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_C.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_D.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_E.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_F.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_G.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_H.inst.cfg | 2 +- resources/variants/strateo3d_standard_04.inst.cfg | 2 +- resources/variants/strateo3d_standard_06.inst.cfg | 2 +- 72 files changed, 72 insertions(+), 72 deletions(-) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg index ed6eefaffe..bfb18a444c 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg index 5501c91687..0cef5ae255 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg index f60244024a..08ee21c497 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg index 905a8dd7d8..4a74ad71eb 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg index d718ca9b76..ea6db301d7 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg index dac95a12ea..6c6dad3992 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg index a490d8c582..a0546f6d8e 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg index 690463fd32..2cfc241aa7 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg index c701cb0143..50cfb4c11e 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg index 79e82bf40f..8fb7ba8ed5 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg index d688415c7c..28ad37478e 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg index 777e693156..544ba3b0bf 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg index 22ea5bbb6e..f86140b415 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg index b67c5a7092..3036cbc215 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg index f146d02305..dd2a2f0c94 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg index de0783bd9d..39fb0ba390 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg index e8a542f84e..3a6babd860 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg index 5820928910..bd418bccd6 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg index 32e6caf4b8..896c44ea06 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg index 00bc5e1468..7c8aa8553a 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg index 992d6bf539..e1fc3c9935 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg index ec1cae9ddb..2f0b6ade1e 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg index 3e38e488f0..f6ba60245c 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg index 496dbbd7f3..534de977fe 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg index f79f8b19e0..698feba6d5 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg index 13d0bb8bf3..c3a1ff764a 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg index a207ab0438..3f2c6a8617 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg index e38975a85e..faf731cabd 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg index 75282edd6e..6229c8a8c0 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg index 9a36e8e390..ad25d6a6b3 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg index 8a6c2bd566..48fc342581 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg index 8380b66240..8ec601e30f 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg index 9323ee2933..6a4c1bfecc 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg index 94a7e3eb72..676cffd1f1 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg index e1858b3343..1caddc5543 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg index d7cc60868b..f4b98ed47c 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg index 5214dab77e..ffe642001e 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg index e565aa053f..ecdcfa2b49 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg index 5306f1bc8f..6d719613f1 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg index 7986e8f289..a30598c298 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg index 38b5e25b24..95fc12cacb 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg index bae7932184..190d73029a 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg index a782e3f1a6..53d2e8b1da 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg index ae35f6c605..b80711fe8d 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg index 22ba7f1c92..69db96ff85 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg index 489a1c369e..a0a90933e2 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg index 0ace94666d..a8b7219a3a 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg index 627bf8e94d..7a949c7fe5 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg index 5b1c21787b..003e0660c8 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg @@ -4,7 +4,7 @@ name = E definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = e weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg index 46cc77abc7..957f20205b 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg index 660f6e9039..817384f951 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg index d33718b6b7..4551376434 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg @@ -4,7 +4,7 @@ name = E definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = e weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg index b7827fe783..929227857d 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg index b589f1a405..53621b3e93 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg index 38875405b9..0cfc4081c2 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg @@ -4,7 +4,7 @@ name = E definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = e weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_C.inst.cfg index 604a3ffd96..80e9934540 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_D.inst.cfg index 781edd7385..c597412185 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_E.inst.cfg index 7c5508bf51..def6799406 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_E.inst.cfg @@ -4,7 +4,7 @@ name = E definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = e weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_C.inst.cfg index 65e29556f3..569188ff3c 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_D.inst.cfg index 42a49fb9c1..b83b16b3ff 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_E.inst.cfg index 90bbf7cd51..368cbf59f0 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_E.inst.cfg @@ -4,7 +4,7 @@ name = E definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = e weight = -1 diff --git a/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg b/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg index 8ba4dbff9c..0fe2705fbd 100644 --- a/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg @@ -4,7 +4,7 @@ name = H definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = h weight = -1 diff --git a/resources/quality/strateo3d/s3d_global_A.inst.cfg b/resources/quality/strateo3d/s3d_global_A.inst.cfg index 5c39d27c4b..36765ea8cf 100644 --- a/resources/quality/strateo3d/s3d_global_A.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_A.inst.cfg @@ -4,7 +4,7 @@ name = Extra Fine Quality definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = a weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_B.inst.cfg b/resources/quality/strateo3d/s3d_global_B.inst.cfg index 7d5c69e18b..afb61bb3b3 100644 --- a/resources/quality/strateo3d/s3d_global_B.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_B.inst.cfg @@ -4,7 +4,7 @@ name = Fine Quality definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_C.inst.cfg b/resources/quality/strateo3d/s3d_global_C.inst.cfg index 8a1b0cf374..a0db1a5af4 100644 --- a/resources/quality/strateo3d/s3d_global_C.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_C.inst.cfg @@ -4,7 +4,7 @@ name = High Quality definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_D.inst.cfg b/resources/quality/strateo3d/s3d_global_D.inst.cfg index 73379db500..3d52f5d331 100644 --- a/resources/quality/strateo3d/s3d_global_D.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_D.inst.cfg @@ -4,7 +4,7 @@ name = Medium Quality definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_E.inst.cfg b/resources/quality/strateo3d/s3d_global_E.inst.cfg index f0378ac2a0..d3ce741a0d 100644 --- a/resources/quality/strateo3d/s3d_global_E.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_E.inst.cfg @@ -4,7 +4,7 @@ name = Low Quality definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = e weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_F.inst.cfg b/resources/quality/strateo3d/s3d_global_F.inst.cfg index 22ee65b9ab..842e579f73 100644 --- a/resources/quality/strateo3d/s3d_global_F.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_F.inst.cfg @@ -4,7 +4,7 @@ name = Coarse Quality definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = f weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_G.inst.cfg b/resources/quality/strateo3d/s3d_global_G.inst.cfg index e2c430d178..a5dcd8c000 100644 --- a/resources/quality/strateo3d/s3d_global_G.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_G.inst.cfg @@ -4,7 +4,7 @@ name = Extra Coarse Quality definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = g weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_H.inst.cfg b/resources/quality/strateo3d/s3d_global_H.inst.cfg index 8bef923923..273ab89ba9 100644 --- a/resources/quality/strateo3d/s3d_global_H.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_H.inst.cfg @@ -4,7 +4,7 @@ name = Ultra Coarse Quality definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = quality quality_type = h weight = 0 diff --git a/resources/variants/strateo3d_standard_04.inst.cfg b/resources/variants/strateo3d_standard_04.inst.cfg index 86db486d3b..ee249049d8 100644 --- a/resources/variants/strateo3d_standard_04.inst.cfg +++ b/resources/variants/strateo3d_standard_04.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = variant hardware_type = nozzle diff --git a/resources/variants/strateo3d_standard_06.inst.cfg b/resources/variants/strateo3d_standard_06.inst.cfg index 6f50af1e6c..5458f1f7cb 100644 --- a/resources/variants/strateo3d_standard_06.inst.cfg +++ b/resources/variants/strateo3d_standard_06.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = strateo3d [metadata] -setting_version = 8 +setting_version = 9 type = variant hardware_type = nozzle From a135a3f328207d0998096c82a945ca93ba6acc84 Mon Sep 17 00:00:00 2001 From: KOUBeMT <51325289+KOUBeMT@users.noreply.github.com> Date: Thu, 3 Oct 2019 15:52:38 +0200 Subject: [PATCH 15/91] LW&Speed_Update --- .../Standard_0.4/s3d_std0.4_ABS_A.inst.cfg | 15 +++++++-------- .../Standard_0.4/s3d_std0.4_ABS_B.inst.cfg | 15 +++++++-------- .../Standard_0.4/s3d_std0.4_ABS_C.inst.cfg | 15 +++++++-------- .../Standard_0.4/s3d_std0.4_PETG_A.inst.cfg | 15 +++++++-------- .../Standard_0.4/s3d_std0.4_PETG_B.inst.cfg | 15 +++++++-------- .../Standard_0.4/s3d_std0.4_PETG_C.inst.cfg | 15 +++++++-------- .../Standard_0.4/s3d_std0.4_PLA_A.inst.cfg | 15 +++++++-------- .../Standard_0.4/s3d_std0.4_PLA_B.inst.cfg | 15 +++++++-------- .../Standard_0.4/s3d_std0.4_PLA_C.inst.cfg | 15 +++++++-------- .../Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg | 7 +++---- .../Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg | 9 ++++----- .../Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg | 7 +++---- .../Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg | 7 +++---- .../Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg | 7 +++---- .../Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg | 7 +++---- .../Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg | 7 +++---- .../Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg | 7 +++---- .../Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg | 7 +++---- .../Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg | 3 +-- .../Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg | 3 +-- .../Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg | 3 +-- .../Standard_0.6/s3d_std0.6_ABS_B.inst.cfg | 5 ++--- .../Standard_0.6/s3d_std0.6_ABS_C.inst.cfg | 5 ++--- .../Standard_0.6/s3d_std0.6_ABS_D.inst.cfg | 5 ++--- .../Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg | 15 +++++++-------- .../Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg | 15 +++++++-------- .../Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg | 15 +++++++-------- .../s3d_std0.6_Nylon-1030_C.inst.cfg | 3 +-- .../Standard_0.6/s3d_std0.6_PETG_B.inst.cfg | 13 ++++++------- .../Standard_0.6/s3d_std0.6_PETG_C.inst.cfg | 13 ++++++------- .../Standard_0.6/s3d_std0.6_PETG_D.inst.cfg | 13 ++++++------- .../Standard_0.6/s3d_std0.6_PLA_B.inst.cfg | 17 ++++++++--------- .../Standard_0.6/s3d_std0.6_PLA_C.inst.cfg | 17 ++++++++--------- .../Standard_0.6/s3d_std0.6_PLA_D.inst.cfg | 17 ++++++++--------- .../Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg | 7 +++---- .../Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg | 7 +++---- .../Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg | 7 +++---- .../Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg | 7 +++---- .../Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg | 7 +++---- .../Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg | 7 +++---- .../Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg | 7 +++---- .../Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg | 7 +++---- .../Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg | 7 +++---- .../Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg | 13 ++++++------- .../Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg | 13 ++++++------- .../Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg | 13 ++++++------- 46 files changed, 209 insertions(+), 255 deletions(-) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg index bfb18a444c..d04c647069 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.5 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 55 -speed_wall = =math.ceil(speed_print * 40/55) -speed_wall_0 = =math.ceil(speed_wall * 30/40) -speed_topbottom = =math.ceil(speed_print * 35/55) -speed_layer_0 = =math.ceil(speed_print * 20/55) +speed_print = 50 +speed_wall = =math.ceil(speed_print * 35/50) +speed_wall_0 = =math.ceil(speed_wall * 30/35) +speed_topbottom = =math.ceil(speed_print * 35/50) +speed_layer_0 = =math.ceil(speed_print * 20/50) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 35 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg index 0cef5ae255..9f8de69188 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.5 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 60 -speed_wall = =math.ceil(speed_print * 43/60) -speed_wall_0 = =math.ceil(speed_wall * 33/43) -speed_topbottom = =math.ceil(speed_print * 37/60) -speed_layer_0 = =math.ceil(speed_print * 25/60) +speed_print = 55 +speed_wall = =math.ceil(speed_print * 37/55) +speed_wall_0 = =math.ceil(speed_wall * 33/37) +speed_topbottom = =math.ceil(speed_print * 37/55) +speed_layer_0 = =math.ceil(speed_print * 25/55) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 35 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg index 08ee21c497..b3cac1b12a 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.5 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 65 -speed_wall = =math.ceil(speed_print * 45/65) -speed_wall_0 = =math.ceil(speed_wall * 35/45) -speed_topbottom = =math.ceil(speed_print * 40/65) -speed_layer_0 = =math.ceil(speed_print * 30/65) +speed_print = 60 +speed_wall = =math.ceil(speed_print * 40/60) +speed_wall_0 = =math.ceil(speed_wall * 35/40) +speed_topbottom = =math.ceil(speed_print * 40/60) +speed_layer_0 = =math.ceil(speed_print * 30/60) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 35 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg index 4a74ad71eb..d465336791 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 55 -speed_wall = =math.ceil(speed_print * 40/55) -speed_wall_0 = =math.ceil(speed_wall * 25/40) -speed_topbottom = =math.ceil(speed_print * 35/55) -speed_layer_0 = =math.ceil(speed_print * 20/55) +speed_print = 50 +speed_wall = =math.ceil(speed_print * 35/50) +speed_wall_0 = =math.ceil(speed_wall * 30/35) +speed_topbottom = =math.ceil(speed_print * 35/50) +speed_layer_0 = =math.ceil(speed_print * 20/50) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 50 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg index ea6db301d7..cd61144efb 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 60 -speed_wall = =math.ceil(speed_print * 43/60) -speed_wall_0 = =math.ceil(speed_wall * 27/43) -speed_topbottom = =math.ceil(speed_print * 37/60) -speed_layer_0 = =math.ceil(speed_print * 25/60) +speed_print = 55 +speed_wall = =math.ceil(speed_print * 37/55) +speed_wall_0 = =math.ceil(speed_wall * 33/37) +speed_topbottom = =math.ceil(speed_print * 37/55) +speed_layer_0 = =math.ceil(speed_print * 25/55) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 50 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg index 6c6dad3992..0c198a0a0c 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 65 -speed_wall = =math.ceil(speed_print * 45/65) -speed_wall_0 = =math.ceil(speed_wall * 30/45) -speed_topbottom = =math.ceil(speed_print * 40/65) -speed_layer_0 = =math.ceil(speed_print * 30/65) +speed_print = 60 +speed_wall = =math.ceil(speed_print * 40/60) +speed_wall_0 = =math.ceil(speed_wall * 35/40) +speed_topbottom = =math.ceil(speed_print * 40/60) +speed_layer_0 = =math.ceil(speed_print * 30/60) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 50 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg index a0546f6d8e..2442ff5d41 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.43 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 55 -speed_wall = =math.ceil(speed_print * 40/55) -speed_wall_0 = =math.ceil(speed_wall * 30/40) -speed_topbottom = =math.ceil(speed_print * 35/55) -speed_layer_0 = =math.ceil(speed_print * 20/55) +speed_print = 50 +speed_wall = =math.ceil(speed_print * 35/50) +speed_wall_0 = =math.ceil(speed_wall * 30/35) +speed_topbottom = =math.ceil(speed_print * 35/50) +speed_layer_0 = =math.ceil(speed_print * 20/50) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 100 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg index 2cfc241aa7..0401561aba 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.43 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 60 -speed_wall = =math.ceil(speed_print * 43/60) -speed_wall_0 = =math.ceil(speed_wall * 33/43) -speed_topbottom = =math.ceil(speed_print * 37/60) -speed_layer_0 = =math.ceil(speed_print * 25/60) +speed_print = 55 +speed_wall = =math.ceil(speed_print * 37/55) +speed_wall_0 = =math.ceil(speed_wall * 33/37) +speed_topbottom = =math.ceil(speed_print * 37/55) +speed_layer_0 = =math.ceil(speed_print * 25/55) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 100 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg index 50cfb4c11e..a49104f40d 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.43 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.35 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 65 -speed_wall = =math.ceil(speed_print * 45/65) -speed_wall_0 = =math.ceil(speed_wall * 35/45) -speed_topbottom = =math.ceil(speed_print * 40/65) -speed_layer_0 = =math.ceil(speed_print * 30/65) +speed_print = 60 +speed_wall = =math.ceil(speed_print * 40/60) +speed_wall_0 = =math.ceil(speed_wall * 35/40) +speed_topbottom = =math.ceil(speed_print * 40/60) +speed_layer_0 = =math.ceil(speed_print * 30/60) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 100 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg index 8fb7ba8ed5..56e2c689b0 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.4 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg index 28ad37478e..7d3a8c8fd5 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.4 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) @@ -42,7 +41,7 @@ skin_overlap = 15 support_z_distance = =layer_height-layer_height support_bottom_distance = =support_z_distance support_xy_distance = =line_width*3/4 -support_xy_distance_overhang = ==line_width*0.175/line_width +support_xy_distance_overhang = =line_width*0.175/line_width support_offset = 3 support_pattern = grid support_interface_density = 100 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg index 544ba3b0bf..79859858e8 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.4 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg index f86140b415..85eaa2fc56 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.4 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg index 3036cbc215..33bc2c7fdf 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.4 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg index dd2a2f0c94..4b49fb759c 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.4 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg index 39fb0ba390..bda2a4f342 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.4 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg index 3a6babd860..9c75b69e1e 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.4 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg index bd418bccd6..f754280aae 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.35 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.3 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.4 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.4 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg index 896c44ea06..3fe9caa365 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg @@ -14,9 +14,8 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) line_width = =machine_nozzle_size/machine_nozzle_size*0.38 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.38 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.38 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.38 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.38 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 30 speed_wall = =math.ceil(speed_print * 30/30) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg index 7c8aa8553a..f6a6d04ef4 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg @@ -14,9 +14,8 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) line_width = =machine_nozzle_size/machine_nozzle_size*0.38 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.38 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.38 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.38 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.38 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 35 speed_wall = =math.ceil(speed_print * 35/35) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg index e1fc3c9935..6f95be4f77 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg @@ -14,9 +14,8 @@ variant = Standard 0.4 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) line_width = =machine_nozzle_size/machine_nozzle_size*0.38 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.38 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.38 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.38 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.38 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 40/40) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg index 2f0b6ade1e..808e7c19b6 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.53 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.53 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 50 speed_wall = =math.ceil(speed_print * 37/50) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg index f6ba60245c..9d45df7783 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.53 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.53 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 55 speed_wall = =math.ceil(speed_print * 40/55) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg index 534de977fe..1c9f284bac 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.53 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.53 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 60 speed_wall = =math.ceil(speed_print * 43/60) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg index 698feba6d5..e2a6a2eefb 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.53 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.53 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 55 -speed_wall = =math.ceil(speed_print * 3/4) -speed_wall_0 = =math.ceil(speed_wall * 2/3) -speed_topbottom = =math.ceil(speed_print * 2/3) -speed_layer_0 = =math.ceil(speed_print * 25/55) +speed_print = 50 +speed_wall = =math.ceil(speed_print * 37/50) +speed_wall_0 = =math.ceil(speed_wall * 30/37) +speed_topbottom = =math.ceil(speed_print * 35/50) +speed_layer_0 = =math.ceil(speed_print * 25/50) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 40 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg index c3a1ff764a..ed36b40b41 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.53 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.53 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 60 -speed_wall = =math.ceil(speed_print * 3/4) -speed_wall_0 = =math.ceil(speed_wall * 2/3) -speed_topbottom = =math.ceil(speed_print * 2/3) -speed_layer_0 = =math.ceil(speed_print * 27/60) +speed_print = 55 +speed_wall = =math.ceil(speed_print * 40/55) +speed_wall_0 = =math.ceil(speed_wall * 33/40) +speed_topbottom = =math.ceil(speed_print * 37/55) +speed_layer_0 = =math.ceil(speed_print * 27/55) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 40 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg index 3f2c6a8617..1e01699a46 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.53 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.53 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 65 -speed_wall = =math.ceil(speed_print * 3/4) -speed_wall_0 = =math.ceil(speed_wall * 3/4) -speed_topbottom = =math.ceil(speed_print * 2/3) -speed_layer_0 = =math.ceil(speed_print * 30/65) +speed_print = 60 +speed_wall = =math.ceil(speed_print * 43/60) +speed_wall_0 = =math.ceil(speed_wall * 35/45) +speed_topbottom = =math.ceil(speed_print * 40/60) +speed_layer_0 = =math.ceil(speed_print * 30/60) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 40 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg index faf731cabd..8943e85979 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg @@ -14,9 +14,8 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.6 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.7 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 55 speed_wall = =math.ceil(speed_print * 40/55) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg index 6229c8a8c0..62ed7a1f6b 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.5 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 45 -speed_wall = =math.ceil(speed_print * 3/4) -speed_wall_0 = =math.ceil(speed_wall * 2/3) -speed_topbottom = =math.ceil(speed_print * 2/3) -speed_layer_0 = =math.ceil(speed_print * 0.5) +speed_wall = =math.ceil(speed_print * 33/45) +speed_wall_0 = =math.ceil(speed_wall * 23/33) +speed_topbottom = =math.ceil(speed_print * 30/45) +speed_layer_0 = =math.ceil(speed_print * 23/45) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 70 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg index ad25d6a6b3..2588f8cc57 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.5 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 50 -speed_wall = =math.ceil(speed_print * 3/4) -speed_wall_0 = =math.ceil(speed_wall * 2/3) -speed_topbottom = =math.ceil(speed_print * 2/3) -speed_layer_0 = =math.ceil(speed_print * 0.5) +speed_wall = =math.ceil(speed_print * 37/50) +speed_wall_0 = =math.ceil(speed_wall * 25/37) +speed_topbottom = =math.ceil(speed_print * 33/50) +speed_layer_0 = =math.ceil(speed_print * 25/50) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 70 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg index 48fc342581..11c0286731 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.5 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 55 -speed_wall = =math.ceil(speed_print * 3/4) -speed_wall_0 = =math.ceil(speed_wall * 2/3) -speed_topbottom = =math.ceil(speed_print * 2/3) -speed_layer_0 = =math.ceil(speed_print * 0.5) +speed_wall = =math.ceil(speed_print * 40/55) +speed_wall_0 = =math.ceil(speed_wall * 27/40) +speed_topbottom = =math.ceil(speed_print * 37/55) +speed_layer_0 = =math.ceil(speed_print * 27/55) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 70 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg index 8ec601e30f..3dc53a4f4e 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.47 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.53 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.45 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 55 -speed_wall = =math.ceil(speed_print * 3/4) -speed_wall_0 = =math.ceil(speed_wall * 2/3) -speed_topbottom = =math.ceil(speed_print * 2/3) -speed_layer_0 = =math.ceil(speed_print * 0.5) +speed_print = 50 +speed_wall = =math.ceil(speed_print * 37/50) +speed_wall_0 = =math.ceil(speed_wall * 30/37) +speed_topbottom = =math.ceil(speed_print * 33/50) +speed_layer_0 = =math.ceil(speed_print * 25/50) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 100 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg index 6a4c1bfecc..faed401603 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.47 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.53 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.45 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 60 -speed_wall = =math.ceil(speed_print * 3/4) -speed_wall_0 = =math.ceil(speed_wall * 2/3) -speed_topbottom = =math.ceil(speed_print * 2/3) -speed_layer_0 = =math.ceil(speed_print * 0.5) +speed_print = 55 +speed_wall = =math.ceil(speed_print * 40/55) +speed_wall_0 = =math.ceil(speed_wall * 30/40) +speed_topbottom = =math.ceil(speed_print * 37/55) +speed_layer_0 = =math.ceil(speed_print * 27/55) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 100 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg index 676cffd1f1..e3af54a0fe 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg @@ -13,16 +13,15 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.47 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.53 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.45 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 wall_0_wipe_dist = =machine_nozzle_size/2 -speed_print = 65 -speed_wall = =math.ceil(speed_print * 3/4) -speed_wall_0 = =math.ceil(speed_wall * 2/3) -speed_topbottom = =math.ceil(speed_print * 2/3) -speed_layer_0 = =math.ceil(speed_print * 0.5) +speed_print = 60 +speed_wall = =math.ceil(speed_print * 45/60) +speed_wall_0 = =math.ceil(speed_wall * 33/45) +speed_topbottom = =math.ceil(speed_print * 40/60) +speed_layer_0 = =math.ceil(speed_print * 30/60) speed_slowdown_layers = 2 cool_fan_enabled = True cool_fan_speed = 100 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg index 1caddc5543..86fcc42f19 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.6 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg index f4b98ed47c..5f6b13231e 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.6 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg index ffe642001e..bbee20e22c 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.6 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg index ecdcfa2b49..964d1a51d0 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.6 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg index 6d719613f1..bc9529d67c 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.6 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg index a30598c298..a6a9dad353 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.6 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg index 95fc12cacb..8f3e1117d3 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.6 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg index 190d73029a..28f0e8972c 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.6 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg index 53d2e8b1da..afdfd75dd5 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg @@ -13,10 +13,9 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.55 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.5 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.6 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.6 wall_0_wipe_dist = =machine_nozzle_size/2 speed_print = 40 speed_wall = =math.ceil(speed_print * 30/40) diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg index b80711fe8d..1d8c019534 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg @@ -13,15 +13,14 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.5*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.59 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.49 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.54 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.54 +line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.55 wall_0_wipe_dist = =machine_nozzle_size speed_print = 35 -speed_wall = =math.ceil(speed_print * 4/4) -speed_wall_0 = =math.ceil(speed_wall * 3/4) -speed_topbottom = =math.ceil(speed_print * 2/3) +speed_wall = =math.ceil(speed_print * 35/35) +speed_wall_0 = =math.ceil(speed_wall * 30/35) +speed_topbottom = =math.ceil(speed_print * 25/35) speed_support = =speed_wall_0 speed_layer_0 = =math.ceil(speed_print * 20/35) speed_slowdown_layers = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg index 69db96ff85..ba0d23d5cd 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg @@ -13,15 +13,14 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.67*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.59 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.49 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.54 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.54 +line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.55 wall_0_wipe_dist = =machine_nozzle_size speed_print = 40 -speed_wall = =math.ceil(speed_print * 4/4) -speed_wall_0 = =math.ceil(speed_wall * 3/4) -speed_topbottom = =math.ceil(speed_print * 2/3) +speed_wall = =math.ceil(speed_print * 40/40) +speed_wall_0 = =math.ceil(speed_wall * 30/40) +speed_topbottom = =math.ceil(speed_print * 27/40) speed_support = =speed_wall_0 speed_layer_0 = =math.ceil(speed_print * 20/40) speed_slowdown_layers = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg index a0a90933e2..b7c6503630 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg @@ -13,15 +13,14 @@ variant = Standard 0.6 [values] layer_height_0 = =round(0.75*machine_nozzle_size, 2) -line_width = =machine_nozzle_size/machine_nozzle_size*0.59 -wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.49 -infill_line_width = =machine_nozzle_size/machine_nozzle_size*0.54 -support_line_width = =machine_nozzle_size/machine_nozzle_size*0.54 +line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +wall_line_width = =machine_nozzle_size/machine_nozzle_size*0.55 +wall_line_width_x = =machine_nozzle_size/machine_nozzle_size*0.55 wall_0_wipe_dist = =machine_nozzle_size speed_print = 45 -speed_wall = =math.ceil(speed_print * 4/4) -speed_wall_0 = =math.ceil(speed_wall * 3/4) -speed_topbottom = =math.ceil(speed_print * 2/3) +speed_wall = =math.ceil(speed_print * 45/45) +speed_wall_0 = =math.ceil(speed_wall * 33/45) +speed_topbottom = =math.ceil(speed_print * 30/45) speed_layer_0 = =math.ceil(speed_print * 20/45) speed_slowdown_layers = 1 cool_fan_enabled = True From 44290d371507940d87cc270b7e869c9bf3c0e780 Mon Sep 17 00:00:00 2001 From: KOUBeMT <51325289+KOUBeMT@users.noreply.github.com> Date: Thu, 3 Oct 2019 16:00:55 +0200 Subject: [PATCH 16/91] setting_version_update --- .../quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg | 2 +- .../strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg | 2 +- .../strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg | 2 +- .../strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg | 2 +- .../strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg | 2 +- .../strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg | 2 +- .../strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg | 2 +- .../strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg | 2 +- .../strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_C.inst.cfg | 2 +- .../strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_D.inst.cfg | 2 +- .../strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_A.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_B.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_C.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_D.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_E.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_F.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_G.inst.cfg | 2 +- resources/quality/strateo3d/s3d_global_H.inst.cfg | 2 +- resources/variants/strateo3d_standard_04.inst.cfg | 2 +- resources/variants/strateo3d_standard_06.inst.cfg | 2 +- 72 files changed, 72 insertions(+), 72 deletions(-) diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg index d04c647069..a3260a32f4 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg index 9f8de69188..648ec5520c 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg index b3cac1b12a..e3fe5f49fc 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_ABS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg index d465336791..8482d229ce 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg index cd61144efb..fdddcfbdf5 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg index 0c198a0a0c..841c23b837 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PETG_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg index 2442ff5d41..ff541e9c67 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg index 0401561aba..291ea81dc8 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg index a49104f40d..7afac5304e 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PLA_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg index 56e2c689b0..19d8247456 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg index 7d3a8c8fd5..44e5609b3f 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg index 79859858e8..b4cc317f50 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-M_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg index 85eaa2fc56..eb8bd0a020 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg index 33bc2c7fdf..a25f57b3e7 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg index 4b49fb759c..6222d946e0 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-OKS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg index bda2a4f342..774a985511 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg index 9c75b69e1e..72429d945b 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg index f754280aae..09c540498e 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_PVA-S_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg index 3fe9caa365..7c31ab6b41 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_A.inst.cfg @@ -4,7 +4,7 @@ name = A definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = a weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg index f6a6d04ef4..67fb9d5dcb 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg index 6f95be4f77..fbe0f733cc 100644 --- a/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.4/s3d_std0.4_TPU98A_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg index 808e7c19b6..517a0d9943 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg index 9d45df7783..0a55c5fef6 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg index 1c9f284bac..6128889e8c 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ABS_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg index e2a6a2eefb..af9b874470 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg index ed36b40b41..1ee8fcd291 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg index 1e01699a46..9922045d01 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_ASA-X_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg index 8943e85979..f8b58f5600 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_Nylon-1030_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg index 62ed7a1f6b..a837a8f969 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg index 2588f8cc57..92cba1ea19 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg index 11c0286731..a1e04e4789 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PETG_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg index 3dc53a4f4e..e70d84ddd8 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg index faed401603..fe9d215acb 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg index e3af54a0fe..233ea10e27 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PLA_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg index 86fcc42f19..05ae1383eb 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg index 5f6b13231e..7507968a69 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg index bbee20e22c..ea68f30f33 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-M_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg index 964d1a51d0..915e0f3b83 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg index bc9529d67c..b9c260eb2c 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg index a6a9dad353..7e1237eb55 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-OKS_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg index 8f3e1117d3..f5fed6dc2e 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg index 28f0e8972c..033c0e03bd 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg index afdfd75dd5..9e457f7d73 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_PVA-S_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg index 1d8c019534..8d152328ad 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_B.inst.cfg @@ -4,7 +4,7 @@ name = B definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg index ba0d23d5cd..78483d0238 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg index b7c6503630..de5110ef46 100644 --- a/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.6/s3d_std0.6_TPU98A_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg index a8b7219a3a..bf649d61ef 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg index 7a949c7fe5..55d6d20323 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg index 003e0660c8..8c3215ebc1 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_ABS_E.inst.cfg @@ -4,7 +4,7 @@ name = E definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = e weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg index 957f20205b..4a12fffb1e 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg index 817384f951..a5f01107f8 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg index 4551376434..6042de9501 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PETG_E.inst.cfg @@ -4,7 +4,7 @@ name = E definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = e weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg index 929227857d..405bc3db13 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg index 53621b3e93..b52bd3e5a1 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg index 0cfc4081c2..8b65fa78bd 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PLA_E.inst.cfg @@ -4,7 +4,7 @@ name = E definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = e weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_C.inst.cfg index 80e9934540..5cf1c2c5a9 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_D.inst.cfg index c597412185..e514ce8425 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_E.inst.cfg index def6799406..883c733088 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_PVA-OKS_E.inst.cfg @@ -4,7 +4,7 @@ name = E definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = e weight = -1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_C.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_C.inst.cfg index 569188ff3c..b7ec8a65db 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_C.inst.cfg @@ -4,7 +4,7 @@ name = C definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 1 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_D.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_D.inst.cfg index b83b16b3ff..fcea53fbe5 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_D.inst.cfg @@ -4,7 +4,7 @@ name = D definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_E.inst.cfg b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_E.inst.cfg index 368cbf59f0..61a455827c 100644 --- a/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0.8/s3d_std0.8_TPU_E.inst.cfg @@ -4,7 +4,7 @@ name = E definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = e weight = -1 diff --git a/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg b/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg index 0fe2705fbd..7f29e29d88 100644 --- a/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1.2/s3d_std1.2_PLA_H.inst.cfg @@ -4,7 +4,7 @@ name = H definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = h weight = -1 diff --git a/resources/quality/strateo3d/s3d_global_A.inst.cfg b/resources/quality/strateo3d/s3d_global_A.inst.cfg index 36765ea8cf..69a9bedd9e 100644 --- a/resources/quality/strateo3d/s3d_global_A.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_A.inst.cfg @@ -4,7 +4,7 @@ name = Extra Fine Quality definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = a weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_B.inst.cfg b/resources/quality/strateo3d/s3d_global_B.inst.cfg index afb61bb3b3..dbfd0c46f6 100644 --- a/resources/quality/strateo3d/s3d_global_B.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_B.inst.cfg @@ -4,7 +4,7 @@ name = Fine Quality definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = b weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_C.inst.cfg b/resources/quality/strateo3d/s3d_global_C.inst.cfg index a0db1a5af4..e167da5fdb 100644 --- a/resources/quality/strateo3d/s3d_global_C.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_C.inst.cfg @@ -4,7 +4,7 @@ name = High Quality definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = c weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_D.inst.cfg b/resources/quality/strateo3d/s3d_global_D.inst.cfg index 3d52f5d331..b1a00232ed 100644 --- a/resources/quality/strateo3d/s3d_global_D.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_D.inst.cfg @@ -4,7 +4,7 @@ name = Medium Quality definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = d weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_E.inst.cfg b/resources/quality/strateo3d/s3d_global_E.inst.cfg index d3ce741a0d..ee2e45b511 100644 --- a/resources/quality/strateo3d/s3d_global_E.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_E.inst.cfg @@ -4,7 +4,7 @@ name = Low Quality definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = e weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_F.inst.cfg b/resources/quality/strateo3d/s3d_global_F.inst.cfg index 842e579f73..bc1bf264f3 100644 --- a/resources/quality/strateo3d/s3d_global_F.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_F.inst.cfg @@ -4,7 +4,7 @@ name = Coarse Quality definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = f weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_G.inst.cfg b/resources/quality/strateo3d/s3d_global_G.inst.cfg index a5dcd8c000..634cebecf6 100644 --- a/resources/quality/strateo3d/s3d_global_G.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_G.inst.cfg @@ -4,7 +4,7 @@ name = Extra Coarse Quality definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = g weight = 0 diff --git a/resources/quality/strateo3d/s3d_global_H.inst.cfg b/resources/quality/strateo3d/s3d_global_H.inst.cfg index 273ab89ba9..ea1a751190 100644 --- a/resources/quality/strateo3d/s3d_global_H.inst.cfg +++ b/resources/quality/strateo3d/s3d_global_H.inst.cfg @@ -4,7 +4,7 @@ name = Ultra Coarse Quality definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = quality quality_type = h weight = 0 diff --git a/resources/variants/strateo3d_standard_04.inst.cfg b/resources/variants/strateo3d_standard_04.inst.cfg index ee249049d8..29cd075177 100644 --- a/resources/variants/strateo3d_standard_04.inst.cfg +++ b/resources/variants/strateo3d_standard_04.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = variant hardware_type = nozzle diff --git a/resources/variants/strateo3d_standard_06.inst.cfg b/resources/variants/strateo3d_standard_06.inst.cfg index 5458f1f7cb..b4618f2bd8 100644 --- a/resources/variants/strateo3d_standard_06.inst.cfg +++ b/resources/variants/strateo3d_standard_06.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = strateo3d [metadata] -setting_version = 9 +setting_version = 10 type = variant hardware_type = nozzle From fbf583b577667d8800ca054d6f73ccf477ee9b3f Mon Sep 17 00:00:00 2001 From: KOUBeMT <51325289+KOUBeMT@users.noreply.github.com> Date: Fri, 11 Oct 2019 15:27:46 +0200 Subject: [PATCH 17/91] Update strateo3d.def.json --- resources/definitions/strateo3d.def.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/definitions/strateo3d.def.json b/resources/definitions/strateo3d.def.json index b4b9f224ab..6e02f882c3 100644 --- a/resources/definitions/strateo3d.def.json +++ b/resources/definitions/strateo3d.def.json @@ -51,14 +51,14 @@ "machine_acceleration": { "default_value": 1500 }, "acceleration_enabled": { "value": false }, - "acceleration_layer_0": { "value": "acceleration_topbottom" }, - "acceleration_prime_tower": { "value": "math.ceil(acceleration_print * 1500 / 1500)" }, - "acceleration_print": { "value": "1500" }, + "acceleration_print": { "value": "machine_acceleration" }, + "acceleration_wall": { "value": "math.ceil(acceleration_print * 1250 / acceleration_print)" }, + "acceleration_wall_0": { "value": "math.ceil(acceleration_print * 1000 / acceleration_print)" }, + "acceleration_topbottom": { "value": "math.ceil(acceleration_print * 1250 / acceleration_print)" }, "acceleration_support": { "value": "acceleration_print" }, "acceleration_support_interface": { "value": "acceleration_topbottom" }, - "acceleration_topbottom": { "value": "math.ceil(acceleration_print * 1000 / 1500)" }, - "acceleration_wall": { "value": "math.ceil(acceleration_print * 1500 / 1500)" }, - "acceleration_wall_0": { "value": "math.ceil(acceleration_print * 1000 / 1500)" }, + "acceleration_travel": { "value": "acceleration_print" }, + "acceleration_layer_0": { "value": "acceleration_topbottom" }, "adaptive_layer_height_variation": { "default_value": 0.1 }, "adaptive_layer_height_variation_step": { "default_value": 0.05 }, "adhesion_type": { "default_value": "skirt" }, From 969b74e1f6e510b61903ab4d3fc8d26c84a598a2 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 24 Oct 2019 10:59:37 +0200 Subject: [PATCH 18/91] Prevent crash when sync list somehow contains None I couldn't figure out how it could ever contain None, but we received logs from a user that indicate a crash here because that set contains None and that is not orderable. This is a hotfix to fail more gracefully instead of crashing the entire application. --- cura/PrinterOutput/PrinterOutputDevice.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cura/PrinterOutput/PrinterOutputDevice.py b/cura/PrinterOutput/PrinterOutputDevice.py index ae916e434b..ec682a1739 100644 --- a/cura/PrinterOutput/PrinterOutputDevice.py +++ b/cura/PrinterOutput/PrinterOutputDevice.py @@ -220,6 +220,9 @@ class PrinterOutputDevice(QObject, OutputDevice): if printer.printerConfiguration is not None and printer.printerConfiguration.hasAnyMaterialLoaded(): all_configurations.add(printer.printerConfiguration) all_configurations.update(printer.availableConfigurations) + if None in all_configurations: # Shouldn't happen, but it do. I don't see how it could ever happen. Skip adding that configuration. List could end up empty! + Logger.log("e", "Found a broken configuration in the synced list!") + all_configurations.remove(None) new_configurations = sorted(all_configurations, key = lambda config: config.printerType or "") if new_configurations != self._unique_configurations: self._unique_configurations = new_configurations From 867283ffc3c77982829b8ab791f54e7a77a2b14d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 24 Oct 2019 13:23:44 +0200 Subject: [PATCH 19/91] Code style --- .../qml/MonitorPrintJobProgressBar.qml | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobProgressBar.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobProgressBar.qml index 91f4accee1..0a478c8543 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobProgressBar.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobProgressBar.qml @@ -63,41 +63,41 @@ Item verticalCenter: parent.verticalCenter } color: UM.Theme.getColor("monitor_text_primary") - font: UM.Theme.getFont("default") // 12pt, regular + font: UM.Theme.getFont("default") text: { if (!printJob) { - return "" + return ""; } switch (printJob.state) { case "wait_cleanup": if (printJob.timeTotal > printJob.timeElapsed) { - return catalog.i18nc("@label:status", "Aborted") + return catalog.i18nc("@label:status", "Aborted"); } - return catalog.i18nc("@label:status", "Finished") + return catalog.i18nc("@label:status", "Finished"); case "finished": - return catalog.i18nc("@label:status", "Finished") + return catalog.i18nc("@label:status", "Finished"); case "sent_to_printer": - return catalog.i18nc("@label:status", "Preparing...") + return catalog.i18nc("@label:status", "Preparing..."); case "pre_print": - return catalog.i18nc("@label:status", "Preparing...") + return catalog.i18nc("@label:status", "Preparing..."); case "aborting": // NOTE: Doesn't exist but maybe should someday - return catalog.i18nc("@label:status", "Aborting...") + return catalog.i18nc("@label:status", "Aborting..."); case "aborted": // NOTE: Unused, see above - return catalog.i18nc("@label:status", "Aborted") + return catalog.i18nc("@label:status", "Aborted"); case "pausing": - return catalog.i18nc("@label:status", "Pausing...") + return catalog.i18nc("@label:status", "Pausing..."); case "paused": - return catalog.i18nc("@label:status", "Paused") + return catalog.i18nc("@label:status", "Paused"); case "resuming": - return catalog.i18nc("@label:status", "Resuming...") + return catalog.i18nc("@label:status", "Resuming..."); case "queued": - return catalog.i18nc("@label:status", "Action required") + return catalog.i18nc("@label:status", "Action required"); default: - return catalog.i18nc("@label:status", "Finishes %1 at %2".arg(OutputDevice.getDateCompleted( printJob.timeRemaining )).arg(OutputDevice.getTimeCompleted( printJob.timeRemaining ))) + return catalog.i18nc("@label:status", "Finishes %1 at %2".arg(OutputDevice.getDateCompleted(printJob.timeRemaining)).arg(OutputDevice.getTimeCompleted(printJob.timeRemaining))); } } width: contentWidth From d905b8b8cc4ae6ca169654db7c4d701905271887 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 24 Oct 2019 15:55:49 +0200 Subject: [PATCH 20/91] Add extra reporting stage for splash screen CURA-6823 --- cura/CuraApplication.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 8caccc786e..e5fe813bbd 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -517,7 +517,8 @@ class CuraApplication(QtApplication): with self._container_registry.lockFile(): self._container_registry.loadAllMetadata() - # set the setting version for Preferences + self.showSplashMessage(self._i18n_catalog.i18nc("@info:progress", "Setting up preferences...")) + # Set the setting version for Preferences preferences = self.getPreferences() preferences.addPreference("metadata/setting_version", 0) preferences.setValue("metadata/setting_version", self.SettingVersion) #Don't make it equal to the default so that the setting version always gets written to the file. From b3d7887d4d6b60a061a2fb7097a57a0988d15b26 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 12:08:16 +0200 Subject: [PATCH 21/91] fix luminance computation --- plugins/ImageReader/ImageReader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index e720ce4854..c59151f1cb 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -99,8 +99,8 @@ class ImageReader(MeshReader): for x in range(0, width): for y in range(0, height): qrgb = img.pixel(x, y) - avg = float(qRed(qrgb) + qGreen(qrgb) + qBlue(qrgb)) / (3 * 255) - height_data[y, x] = avg + luminance = (0.2126 * qRed(qrgb) + 0.7152 * qGreen(qrgb) + 0.0722 * qBlue(qrgb)) / 255 # fast computation ignoring gamma + height_data[y, x] = luminance Job.yieldThread() From 88b424d36aa43d863a3e937187337af378905908 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 12:10:18 +0200 Subject: [PATCH 22/91] feat: use logarithmic conversion for lithophanes --- plugins/ImageReader/ConfigUI.qml | 22 ++++++++++++++++++++++ plugins/ImageReader/ImageReader.py | 16 ++++++++++++---- plugins/ImageReader/ImageReaderUI.py | 6 ++++++ 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index 47ba10778c..ef28c174f2 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -143,6 +143,28 @@ UM.Dialog } } + UM.TooltipArea { + Layout.fillWidth:true + height: childrenRect.height + text: catalog.i18nc("@info:tooltip","For lithophanes a logarithmic function is more appropriate for most materials. For height maps the pixel values correspond to heights linearly.") + Row { + width: parent.width + + Label { + text: "Conversion" + width: 150 * screenScaleFactor + anchors.verticalCenter: parent.verticalCenter + } + ComboBox { + id: conversion + objectName: "Conversion" + model: [ catalog.i18nc("@item:inlistbox","Logarithmic"), catalog.i18nc("@item:inlistbox","Linear") ] + width: 180 * screenScaleFactor + onCurrentIndexChanged: { manager.onConvertFunctionChanged(currentIndex) } + } + } + } + UM.TooltipArea { Layout.fillWidth:true height: childrenRect.height diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index c59151f1cb..bfaa6eb48c 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -3,6 +3,8 @@ import numpy +import math + from PyQt5.QtGui import QImage, qRed, qGreen, qBlue from PyQt5.QtCore import Qt @@ -46,9 +48,9 @@ class ImageReader(MeshReader): def _read(self, file_name): size = max(self._ui.getWidth(), self._ui.getDepth()) - return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher) + return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_logarithmic_function) - def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher): + def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_logarithmic_function): scene_node = SceneNode() mesh = MeshBuilder() @@ -124,8 +126,14 @@ class ImageReader(MeshReader): Job.yieldThread() - height_data *= scale_vector.y - height_data += base_height + if use_logarithmic_function: + min_luminance = 2.0 ** (peak_height - base_height) + for (y, x) in numpy.ndindex(height_data.shape): + mapped_luminance = min_luminance + (1.0 - min_luminance) * height_data[y, x] + height_data[y, x] = peak_height - math.log(mapped_luminance, 2) + else: + height_data *= scale_vector.y + height_data += base_height heightmap_face_count = 2 * height_minus_one * width_minus_one total_face_count = heightmap_face_count + (width_minus_one * 2) * (height_minus_one * 2) + 2 diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index 213468a2ab..c769a8c264 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -34,6 +34,7 @@ class ImageReaderUI(QObject): self.peak_height = 2.5 self.smoothing = 1 self.lighter_is_higher = False; + self.use_logarithmic_function = False; self._ui_lock = threading.Lock() self._cancelled = False @@ -144,3 +145,8 @@ class ImageReaderUI(QObject): @pyqtSlot(int) def onImageColorInvertChanged(self, value): self.lighter_is_higher = (value == 1) + + @pyqtSlot(int) + def onConvertFunctionChanged(self, value): + self.use_logarithmic_function = (value == 0) + From b88183f4a1f218b7c87d9ccd64a2fa1d95a68f9e Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 14:18:07 +0200 Subject: [PATCH 23/91] fix translucency model using new permittance setting --- plugins/ImageReader/ConfigUI.qml | 23 +++++++++++++++++++++++ plugins/ImageReader/ImageReader.py | 9 +++++---- plugins/ImageReader/ImageReaderUI.py | 5 +++++ 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index ef28c174f2..491594fa58 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -165,6 +165,29 @@ UM.Dialog } } + UM.TooltipArea { + Layout.fillWidth:true + height: childrenRect.height + text: catalog.i18nc("@info:tooltip","The percentage of light penetrating a print with a thickness of 1 millimeter.") + Row { + width: parent.width + + Label { + text: catalog.i18nc("@action:label", "1mm Transmittance (%)") + width: 150 * screenScaleFactor + anchors.verticalCenter: parent.verticalCenter + } + TextField { + id: transmittance + objectName: "Transmittance" + focus: true + validator: RegExpValidator {regExp: /^[1-9]\d{0,2}([\,|\.]\d*)?$/} + width: 180 * screenScaleFactor + onTextChanged: { manager.onTransmittanceChanged(text) } + } + } + } + UM.TooltipArea { Layout.fillWidth:true height: childrenRect.height diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index bfaa6eb48c..ce3cab0b8f 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -48,9 +48,9 @@ class ImageReader(MeshReader): def _read(self, file_name): size = max(self._ui.getWidth(), self._ui.getDepth()) - return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_logarithmic_function) + return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_logarithmic_function, self._ui.transmittance_1mm) - def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_logarithmic_function): + def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_logarithmic_function, transmittance_1mm): scene_node = SceneNode() mesh = MeshBuilder() @@ -127,10 +127,11 @@ class ImageReader(MeshReader): Job.yieldThread() if use_logarithmic_function: - min_luminance = 2.0 ** (peak_height - base_height) + p = 1.0 / math.log(transmittance_1mm / 100.0, 2) + min_luminance = 2.0 ** ((peak_height - base_height) / p) for (y, x) in numpy.ndindex(height_data.shape): mapped_luminance = min_luminance + (1.0 - min_luminance) * height_data[y, x] - height_data[y, x] = peak_height - math.log(mapped_luminance, 2) + height_data[y, x] = peak_height - p * math.log(mapped_luminance, 2) else: height_data *= scale_vector.y height_data += base_height diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index c769a8c264..67d6444538 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -35,6 +35,7 @@ class ImageReaderUI(QObject): self.smoothing = 1 self.lighter_is_higher = False; self.use_logarithmic_function = False; + self.transmittance_1mm = 40.0; self._ui_lock = threading.Lock() self._cancelled = False @@ -76,6 +77,7 @@ class ImageReaderUI(QObject): self._ui_view.findChild(QObject, "Base_Height").setProperty("text", str(self.base_height)) self._ui_view.findChild(QObject, "Peak_Height").setProperty("text", str(self.peak_height)) + self._ui_view.findChild(QObject, "Transmittance").setProperty("text", str(self.transmittance_1mm)) self._ui_view.findChild(QObject, "Smoothing").setProperty("value", self.smoothing) def _createConfigUI(self): @@ -150,3 +152,6 @@ class ImageReaderUI(QObject): def onConvertFunctionChanged(self, value): self.use_logarithmic_function = (value == 0) + @pyqtSlot(int) + def onTransmittanceChanged(self, value): + self.transmittance_1mm = value From 2b55b85a1234791babf7700a362c940d4ca42473 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 14:21:05 +0200 Subject: [PATCH 24/91] fix luminance computation --- plugins/ImageReader/ImageReader.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index ce3cab0b8f..50825f2464 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -101,8 +101,10 @@ class ImageReader(MeshReader): for x in range(0, width): for y in range(0, height): qrgb = img.pixel(x, y) - luminance = (0.2126 * qRed(qrgb) + 0.7152 * qGreen(qrgb) + 0.0722 * qBlue(qrgb)) / 255 # fast computation ignoring gamma - height_data[y, x] = luminance + if use_logarithmic_function: + height_data[y, x] = (0.299 * math.pow(qRed(qrgb) / 255.0, 2.2) + 0.587 * math.pow(qGreen(qrgb) / 255.0, 2.2) + 0.114 * math.pow(qBlue(qrgb) / 255.0, 2.2)) + else: + height_data[y, x] = (0.212655 * qRed(qrgb) + 0.715158 * qGreen(qrgb) + 0.072187 * qBlue(qrgb)) / 255 # fast computation ignoring gamma and degamma Job.yieldThread() From a8b3d7e49ddcbc33df41dd6c4ec71b619511b966 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 14:27:51 +0200 Subject: [PATCH 25/91] make naming of Logarithmic Conversion Function intelligible --- plugins/ImageReader/ConfigUI.qml | 12 ++++++------ plugins/ImageReader/ImageReader.py | 8 ++++---- plugins/ImageReader/ImageReaderUI.py | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index 491594fa58..8a4ac67b3e 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -146,21 +146,21 @@ UM.Dialog UM.TooltipArea { Layout.fillWidth:true height: childrenRect.height - text: catalog.i18nc("@info:tooltip","For lithophanes a logarithmic function is more appropriate for most materials. For height maps the pixel values correspond to heights linearly.") + text: catalog.i18nc("@info:tooltip","For lithophanes a simple logarithmic model for translucency is available. For height maps the pixel values correspond to heights linearly.") Row { width: parent.width Label { - text: "Conversion" + text: "Color Model" width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } ComboBox { - id: conversion - objectName: "Conversion" - model: [ catalog.i18nc("@item:inlistbox","Logarithmic"), catalog.i18nc("@item:inlistbox","Linear") ] + id: color_model + objectName: "ColorModel" + model: [ catalog.i18nc("@item:inlistbox","Translucency"), catalog.i18nc("@item:inlistbox","Linear") ] width: 180 * screenScaleFactor - onCurrentIndexChanged: { manager.onConvertFunctionChanged(currentIndex) } + onCurrentIndexChanged: { manager.onColorModelChanged(currentIndex) } } } } diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index 50825f2464..0086736f6d 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -48,9 +48,9 @@ class ImageReader(MeshReader): def _read(self, file_name): size = max(self._ui.getWidth(), self._ui.getDepth()) - return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_logarithmic_function, self._ui.transmittance_1mm) + return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_transparency_model, self._ui.transmittance_1mm) - def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_logarithmic_function, transmittance_1mm): + def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_transparency_model, transmittance_1mm): scene_node = SceneNode() mesh = MeshBuilder() @@ -101,7 +101,7 @@ class ImageReader(MeshReader): for x in range(0, width): for y in range(0, height): qrgb = img.pixel(x, y) - if use_logarithmic_function: + if use_transparency_model: height_data[y, x] = (0.299 * math.pow(qRed(qrgb) / 255.0, 2.2) + 0.587 * math.pow(qGreen(qrgb) / 255.0, 2.2) + 0.114 * math.pow(qBlue(qrgb) / 255.0, 2.2)) else: height_data[y, x] = (0.212655 * qRed(qrgb) + 0.715158 * qGreen(qrgb) + 0.072187 * qBlue(qrgb)) / 255 # fast computation ignoring gamma and degamma @@ -128,7 +128,7 @@ class ImageReader(MeshReader): Job.yieldThread() - if use_logarithmic_function: + if use_transparency_model: p = 1.0 / math.log(transmittance_1mm / 100.0, 2) min_luminance = 2.0 ** ((peak_height - base_height) / p) for (y, x) in numpy.ndindex(height_data.shape): diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index 67d6444538..41d8741b38 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -34,7 +34,7 @@ class ImageReaderUI(QObject): self.peak_height = 2.5 self.smoothing = 1 self.lighter_is_higher = False; - self.use_logarithmic_function = False; + self.use_transparency_model = True; self.transmittance_1mm = 40.0; self._ui_lock = threading.Lock() @@ -149,8 +149,8 @@ class ImageReaderUI(QObject): self.lighter_is_higher = (value == 1) @pyqtSlot(int) - def onConvertFunctionChanged(self, value): - self.use_logarithmic_function = (value == 0) + def onColorModelChanged(self, value): + self.use_transparency_model = (value == 0) @pyqtSlot(int) def onTransmittanceChanged(self, value): From 364483f6533905b710b5c2d8f2ff3d77b5d73598 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 14:37:14 +0200 Subject: [PATCH 26/91] explain litho transmittance better --- plugins/ImageReader/ConfigUI.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index 8a4ac67b3e..842ca612d9 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -168,7 +168,7 @@ UM.Dialog UM.TooltipArea { Layout.fillWidth:true height: childrenRect.height - text: catalog.i18nc("@info:tooltip","The percentage of light penetrating a print with a thickness of 1 millimeter.") + text: catalog.i18nc("@info:tooltip","The percentage of light penetrating a print with a thickness of 1 millimeter. Lowering this value increases the contrast in dark regions and decreases the contrast in light regions of the image.") Row { width: parent.width From 5915947a7a54502b48367a9ba5e47e5888d5351b Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 14:55:10 +0200 Subject: [PATCH 27/91] fix litho thickness computation --- plugins/ImageReader/ImageReader.py | 4 ++-- plugins/ImageReader/ImageReaderUI.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index 0086736f6d..2084844548 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -108,7 +108,7 @@ class ImageReader(MeshReader): Job.yieldThread() - if not lighter_is_higher: + if lighter_is_higher is use_transparency_model: height_data = 1 - height_data for _ in range(0, blur_iterations): @@ -133,7 +133,7 @@ class ImageReader(MeshReader): min_luminance = 2.0 ** ((peak_height - base_height) / p) for (y, x) in numpy.ndindex(height_data.shape): mapped_luminance = min_luminance + (1.0 - min_luminance) * height_data[y, x] - height_data[y, x] = peak_height - p * math.log(mapped_luminance, 2) + height_data[y, x] = base_height + p * math.log(mapped_luminance, 2) else: height_data *= scale_vector.y height_data += base_height diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index 41d8741b38..0fb9ea78de 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -35,7 +35,7 @@ class ImageReaderUI(QObject): self.smoothing = 1 self.lighter_is_higher = False; self.use_transparency_model = True; - self.transmittance_1mm = 40.0; + self.transmittance_1mm = 20.0; # based on pearl PLA self._ui_lock = threading.Lock() self._cancelled = False From 449ad198225bb3df6c68a699b71e02660ad233ba Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 20 May 2019 20:19:29 +0200 Subject: [PATCH 28/91] based transmittance on measurements on print ratio of luminance of 1.4mm thickness to luminance at 0.4mm --- plugins/ImageReader/ImageReaderUI.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index 0fb9ea78de..a61fabb742 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -35,7 +35,7 @@ class ImageReaderUI(QObject): self.smoothing = 1 self.lighter_is_higher = False; self.use_transparency_model = True; - self.transmittance_1mm = 20.0; # based on pearl PLA + self.transmittance_1mm = 50.0; # based on pearl PLA self._ui_lock = threading.Lock() self._cancelled = False From 03f7fab1247cd50ea409a4129feb0b92174ca402 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Thu, 24 Oct 2019 17:26:20 +0200 Subject: [PATCH 29/91] lil fix --- plugins/ImageReader/ImageReader.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index 2084844548..a77cc9b0ed 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -108,7 +108,7 @@ class ImageReader(MeshReader): Job.yieldThread() - if lighter_is_higher is use_transparency_model: + if lighter_is_higher == use_transparency_model: height_data = 1 - height_data for _ in range(0, blur_iterations): @@ -129,11 +129,11 @@ class ImageReader(MeshReader): Job.yieldThread() if use_transparency_model: - p = 1.0 / math.log(transmittance_1mm / 100.0, 2) + p = 1.0 / math.log(transmittance_1mm / 100.0, 2) # base doesn't matter here. use base 2 for fast computation min_luminance = 2.0 ** ((peak_height - base_height) / p) for (y, x) in numpy.ndindex(height_data.shape): mapped_luminance = min_luminance + (1.0 - min_luminance) * height_data[y, x] - height_data[y, x] = base_height + p * math.log(mapped_luminance, 2) + height_data[y, x] = base_height + p * math.log(mapped_luminance, 2) # use same base as a couple lines above this else: height_data *= scale_vector.y height_data += base_height From 6e65fe57727acf62cf8669557d7242b1ab9a1059 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Fri, 25 Oct 2019 09:57:39 +0200 Subject: [PATCH 30/91] Only show the transmittance input when the color model is Translucency CURA-6540 --- plugins/ImageReader/ConfigUI.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index 842ca612d9..72ad79c05e 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -169,6 +169,7 @@ UM.Dialog Layout.fillWidth:true height: childrenRect.height text: catalog.i18nc("@info:tooltip","The percentage of light penetrating a print with a thickness of 1 millimeter. Lowering this value increases the contrast in dark regions and decreases the contrast in light regions of the image.") + visible: color_model.currentText == catalog.i18nc("@item:inlistbox","Translucency") Row { width: parent.width From e805c3db059a16dba7cf7dcd8082203fe9825935 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 11:05:38 +0200 Subject: [PATCH 31/91] Ensure material is selected on first opening of material manager --- resources/qml/Preferences/Materials/MaterialsPage.qml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/qml/Preferences/Materials/MaterialsPage.qml b/resources/qml/Preferences/Materials/MaterialsPage.qml index fcfe5749e0..d635b2b721 100644 --- a/resources/qml/Preferences/Materials/MaterialsPage.qml +++ b/resources/qml/Preferences/Materials/MaterialsPage.qml @@ -53,7 +53,11 @@ Item } // When loaded, try to select the active material in the tree - Component.onCompleted: resetExpandedActiveMaterial() + Component.onCompleted: + { + resetExpandedActiveMaterial() + base.newRootMaterialIdToSwitchTo = active_root_material_id + } // Every time the selected item has changed, notify to the details panel onCurrentItemChanged: From 3491900bf189b115e110da343935bd9c7d7d7083 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 11:06:01 +0200 Subject: [PATCH 32/91] Fix grammar in a comment --- cura/PrinterOutput/PrinterOutputDevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/PrinterOutput/PrinterOutputDevice.py b/cura/PrinterOutput/PrinterOutputDevice.py index ec682a1739..b05e76ad2e 100644 --- a/cura/PrinterOutput/PrinterOutputDevice.py +++ b/cura/PrinterOutput/PrinterOutputDevice.py @@ -220,7 +220,7 @@ class PrinterOutputDevice(QObject, OutputDevice): if printer.printerConfiguration is not None and printer.printerConfiguration.hasAnyMaterialLoaded(): all_configurations.add(printer.printerConfiguration) all_configurations.update(printer.availableConfigurations) - if None in all_configurations: # Shouldn't happen, but it do. I don't see how it could ever happen. Skip adding that configuration. List could end up empty! + if None in all_configurations: # Shouldn't happen, but it does. I don't see how it could ever happen. Skip adding that configuration. List could end up empty! Logger.log("e", "Found a broken configuration in the synced list!") all_configurations.remove(None) new_configurations = sorted(all_configurations, key = lambda config: config.printerType or "") From 76a538322dba877cc520224932daf6fa93b12d03 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 25 Oct 2019 10:36:20 +0200 Subject: [PATCH 33/91] simplify formula to make it more numerically stable --- plugins/ImageReader/ImageReader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index a77cc9b0ed..babd9f45cb 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -130,7 +130,7 @@ class ImageReader(MeshReader): if use_transparency_model: p = 1.0 / math.log(transmittance_1mm / 100.0, 2) # base doesn't matter here. use base 2 for fast computation - min_luminance = 2.0 ** ((peak_height - base_height) / p) + min_luminance = (transmittance_1mm / 100.0) ** (peak_height - base_height) for (y, x) in numpy.ndindex(height_data.shape): mapped_luminance = min_luminance + (1.0 - min_luminance) * height_data[y, x] height_data[y, x] = base_height + p * math.log(mapped_luminance, 2) # use same base as a couple lines above this From a01f91d4e366d1d1dbec2eb04ceb0e8f6398550d Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 25 Oct 2019 10:36:55 +0200 Subject: [PATCH 34/91] omit irrelevant log base --- plugins/ImageReader/ImageReader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index babd9f45cb..9bcd245615 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -129,11 +129,11 @@ class ImageReader(MeshReader): Job.yieldThread() if use_transparency_model: - p = 1.0 / math.log(transmittance_1mm / 100.0, 2) # base doesn't matter here. use base 2 for fast computation + p = 1.0 / math.log(transmittance_1mm / 100.0) # log-base doesn't matter here. Precompute this value for faster computation of each pixel. min_luminance = (transmittance_1mm / 100.0) ** (peak_height - base_height) for (y, x) in numpy.ndindex(height_data.shape): mapped_luminance = min_luminance + (1.0 - min_luminance) * height_data[y, x] - height_data[y, x] = base_height + p * math.log(mapped_luminance, 2) # use same base as a couple lines above this + height_data[y, x] = base_height + p * math.log(mapped_luminance) # use same base as a couple lines above this else: height_data *= scale_vector.y height_data += base_height From 1c134026706d270041a7e97d043cc6d93f505dfb Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 25 Oct 2019 10:38:23 +0200 Subject: [PATCH 35/91] rename single letter variable --- plugins/ImageReader/ImageReader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index 9bcd245615..d6c2827d16 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -129,11 +129,11 @@ class ImageReader(MeshReader): Job.yieldThread() if use_transparency_model: - p = 1.0 / math.log(transmittance_1mm / 100.0) # log-base doesn't matter here. Precompute this value for faster computation of each pixel. + divisor = 1.0 / math.log(transmittance_1mm / 100.0) # log-base doesn't matter here. Precompute this value for faster computation of each pixel. min_luminance = (transmittance_1mm / 100.0) ** (peak_height - base_height) for (y, x) in numpy.ndindex(height_data.shape): mapped_luminance = min_luminance + (1.0 - min_luminance) * height_data[y, x] - height_data[y, x] = base_height + p * math.log(mapped_luminance) # use same base as a couple lines above this + height_data[y, x] = base_height + divisor * math.log(mapped_luminance) # use same base as a couple lines above this else: height_data *= scale_vector.y height_data += base_height From 8198762755bbb7958d6e20ef38145b9eb1e230f2 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Wed, 23 Oct 2019 17:25:05 +0200 Subject: [PATCH 36/91] Do not require loaded view in PrevieStage to have a safeArea CURA-6853 --- plugins/PreviewStage/PreviewMain.qml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/plugins/PreviewStage/PreviewMain.qml b/plugins/PreviewStage/PreviewMain.qml index 1b8387644d..4ef10e5dbb 100644 --- a/plugins/PreviewStage/PreviewMain.qml +++ b/plugins/PreviewStage/PreviewMain.qml @@ -29,11 +29,10 @@ Item source: UM.Controller.activeView != null && UM.Controller.activeView.mainComponent != null ? UM.Controller.activeView.mainComponent : "" - Binding - { - target: previewMain.item - property: "safeArea" - value:safeArea + onLoaded: { + if (previewMain.item.safeArea !== undefined){ + previewMain.item.safeArea = Qt.binding(function() { return safeArea }); + } } } From 9a3ff527acf9b025563e70d01059801668e629d1 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Fri, 25 Oct 2019 12:25:41 +0200 Subject: [PATCH 37/91] Bring back the printer selection dialog for networked printers --- .../Models/PrinterOutputModel.py | 10 +++ .../resources/qml/PrintWindow.qml | 70 ++++++++----------- .../src/Models/Http/ClusterPrinterStatus.py | 1 + .../src/Network/LocalClusterOutputDevice.py | 41 ++++++++++- 4 files changed, 80 insertions(+), 42 deletions(-) diff --git a/cura/PrinterOutput/Models/PrinterOutputModel.py b/cura/PrinterOutput/Models/PrinterOutputModel.py index a1a23201fb..37135bf663 100644 --- a/cura/PrinterOutput/Models/PrinterOutputModel.py +++ b/cura/PrinterOutput/Models/PrinterOutputModel.py @@ -35,6 +35,7 @@ class PrinterOutputModel(QObject): self._target_bed_temperature = 0 # type: float self._name = "" self._key = "" # Unique identifier + self._unique_name = "" # Unique name (used in Connect) self._controller = output_controller self._controller.canUpdateFirmwareChanged.connect(self._onControllerCanUpdateFirmwareChanged) self._extruders = [ExtruderOutputModel(printer = self, position = i) for i in range(number_of_extruders)] @@ -190,6 +191,15 @@ class PrinterOutputModel(QObject): self._name = name self.nameChanged.emit() + @pyqtProperty(str, notify = nameChanged) + def uniqueName(self) -> str: + return self._unique_name + + def updateUniqueName(self, unique_name: str) -> None: + if self._unique_name != unique_name: + self._unique_name = unique_name + self.nameChanged.emit() + ## Update the bed temperature. This only changes it locally. def updateBedTemperature(self, temperature: float) -> None: if self._bed_temperature != temperature: diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml index bcba60352c..6d9f375788 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml @@ -1,52 +1,57 @@ // Copyright (c) 2019 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. - import QtQuick 2.2 import QtQuick.Window 2.2 import QtQuick.Controls 1.2 import UM 1.1 as UM UM.Dialog { + id: base; + title: catalog.i18nc("@title:window", "Print over network"); + width: minimumWidth; height: minimumHeight; - leftButtons: [ - Button { - enabled: true; - onClicked: { - base.visible = false; - printerSelectionCombobox.currentIndex = 0; - OutputDevice.cancelPrintSelection(); - } - text: catalog.i18nc("@action:button","Cancel"); - } - ] maximumHeight: minimumHeight; maximumWidth: minimumWidth; minimumHeight: 140 * screenScaleFactor; minimumWidth: 500 * screenScaleFactor; modality: Qt.ApplicationModal; - onVisibleChanged: { - if (visible) { - resetPrintersModel(); - } else { - OutputDevice.cancelPrintSelection(); + + Component.onCompleted: { + populateComboBox() + } + + // populates the combo box with the correct printer values + function populateComboBox() { + comboBoxPrintersModel.clear(); + comboBoxPrintersModel.append({ name: "Automatic", key: "" }); // Connect will just do it's thing + for (var i in OutputDevice.printers) { + comboBoxPrintersModel.append({ + name: OutputDevice.printers[i].name, + key: OutputDevice.printers[i].uniqueName + }); } } + + leftButtons: [ + Button { + enabled: true; + onClicked: { + base.close(); + } + text: catalog.i18nc("@action:button","Cancel"); + } + ] rightButtons: [ Button { enabled: true; onClicked: { - base.visible = false; - OutputDevice.selectPrinter(printerSelectionCombobox.model.get(printerSelectionCombobox.currentIndex).key); - // reset to defaults - printerSelectionCombobox.currentIndex = 0; + OutputDevice.selectTargetPrinter(printerComboBox.model.get(printerComboBox.currentIndex).key); + base.close(); } text: catalog.i18nc("@action:button","Print"); } ] - title: catalog.i18nc("@title:window", "Print over network"); - visible: true; - width: minimumWidth; Column { id: printerSelection; @@ -59,10 +64,6 @@ UM.Dialog { } height: 50 * screenScaleFactor; - SystemPalette { - id: palette; - } - UM.I18nCatalog { id: catalog; name: "cura"; @@ -82,23 +83,14 @@ UM.Dialog { } ComboBox { - id: printerSelectionCombobox; + id: printerComboBox; Behavior on height { NumberAnimation { duration: 100 } } height: 40 * screenScaleFactor; model: ListModel { - id: printersModel; + id: comboBoxPrintersModel; } textRole: "name"; width: parent.width; } } - - // Utils - function resetPrintersModel() { - printersModel.clear(); - printersModel.append({ name: "Automatic", key: ""}); - for (var index in OutputDevice.printers) { - printersModel.append({name: OutputDevice.printers[index].name, key: OutputDevice.printers[index].key}); - } - } } diff --git a/plugins/UM3NetworkPrinting/src/Models/Http/ClusterPrinterStatus.py b/plugins/UM3NetworkPrinting/src/Models/Http/ClusterPrinterStatus.py index 69daa1f08b..2e0912f057 100644 --- a/plugins/UM3NetworkPrinting/src/Models/Http/ClusterPrinterStatus.py +++ b/plugins/UM3NetworkPrinting/src/Models/Http/ClusterPrinterStatus.py @@ -79,6 +79,7 @@ class ClusterPrinterStatus(BaseModel): def updateOutputModel(self, model: PrinterOutputModel) -> None: model.updateKey(self.uuid) model.updateName(self.friendly_name) + model.updateUniqueName(self.unique_name) model.updateType(self.machine_variant) model.updateState(self.status if self.enabled else "disabled") model.updateBuildplate(self.build_plate.type if self.build_plate else "glass") diff --git a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py index dd9c0a7d2a..9e368c73b3 100644 --- a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py @@ -1,16 +1,17 @@ # Copyright (c) 2019 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. - +import os from typing import Optional, Dict, List, Callable, Any from PyQt5.QtGui import QDesktopServices -from PyQt5.QtCore import pyqtSlot, QUrl, pyqtSignal, pyqtProperty +from PyQt5.QtCore import pyqtSlot, QUrl, pyqtSignal, pyqtProperty, QObject from PyQt5.QtNetwork import QNetworkReply from UM.FileHandler.FileHandler import FileHandler from UM.i18n import i18nCatalog from UM.Logger import Logger from UM.Scene.SceneNode import SceneNode +from cura.CuraApplication import CuraApplication from cura.PrinterOutput.NetworkedPrinterOutputDevice import AuthState from cura.PrinterOutput.PrinterOutputDevice import ConnectionType @@ -42,6 +43,8 @@ class LocalClusterOutputDevice(UltimakerNetworkedPrinterOutputDevice): ) self._cluster_api = None # type: Optional[ClusterApiClient] + self._active_exported_job = None # type: Optional[ExportFileJob] + self._printer_select_dialog = None # type: Optional[QObject] # We don't have authentication over local networking, so we're always authenticated. self.setAuthenticationState(AuthState.Authenticated) @@ -129,17 +132,49 @@ class LocalClusterOutputDevice(UltimakerNetworkedPrinterOutputDevice): job.finished.connect(self._onPrintJobCreated) job.start() + ## Allows the user to choose a printer to print with from the printer selection dialogue. + # \param unique_name: The unique name of the printer to target. + @pyqtSlot(str, name="selectTargetPrinter") + def selectTargetPrinter(self, unique_name: str = "") -> None: + self._startPrintJobUpload(unique_name if unique_name != "" else None) + ## Handler for when the print job was created locally. # It can now be sent over the network. def _onPrintJobCreated(self, job: ExportFileJob) -> None: + self._active_exported_job = job + # TODO: add preference to enable/disable this feature? + if self.clusterSize > 1: + self._showPrinterSelectionDialog() # self._startPrintJobUpload will be triggered from this dialog + return + self._startPrintJobUpload() + + ## Shows a dialog allowing the user to select which printer in a group to send a job to. + def _showPrinterSelectionDialog(self) -> None: + if not self._printer_select_dialog: + path = os.path.join(CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting"), + "resources", "qml", "PrintWindow.qml") + self._printer_select_dialog = CuraApplication.getInstance().createQmlComponent(path, {"OutputDevice": self}) + self._printer_select_dialog.show() + + ## Upload the print job to the group. + def _startPrintJobUpload(self, unique_name: str = None) -> None: + if not self._active_exported_job: + Logger.log("e", "No active exported job to upload!") + return self._progress.show() parts = [ self._createFormPart("name=owner", bytes(self._getUserName(), "utf-8"), "text/plain"), - self._createFormPart("name=\"file\"; filename=\"%s\"" % job.getFileName(), job.getOutput()) + self._createFormPart("name=\"file\"; filename=\"%s\"" % self._active_exported_job.getFileName(), + self._active_exported_job.getOutput()) ] + # If a specific printer was selected we include the name in the request. + # FIXME: Connect should allow the printer UUID here instead of the 'unique_name'. + if unique_name is not None: + parts.append(self._createFormPart("name=require_printer_name", bytes(unique_name, "utf-8"), "text/plain")) # FIXME: move form posting to API client self.postFormWithParts("/cluster-api/v1/print_jobs/", parts, on_finished=self._onPrintUploadCompleted, on_progress=self._onPrintJobUploadProgress) + self._active_exported_job = None ## Handler for print job upload progress. def _onPrintJobUploadProgress(self, bytes_sent: int, bytes_total: int) -> None: From 8f46c02e5d32448422b0d74210d7150b5718e2c0 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Fri, 25 Oct 2019 12:35:03 +0200 Subject: [PATCH 38/91] Fix MyPy issues --- .../src/Network/LocalClusterOutputDevice.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py index 9e368c73b3..1266afcca8 100644 --- a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py @@ -151,10 +151,11 @@ class LocalClusterOutputDevice(UltimakerNetworkedPrinterOutputDevice): ## Shows a dialog allowing the user to select which printer in a group to send a job to. def _showPrinterSelectionDialog(self) -> None: if not self._printer_select_dialog: - path = os.path.join(CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting"), - "resources", "qml", "PrintWindow.qml") + plugin_path = CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting") or "" + path = os.path.join(plugin_path, "resources", "qml", "PrintWindow.qml") self._printer_select_dialog = CuraApplication.getInstance().createQmlComponent(path, {"OutputDevice": self}) - self._printer_select_dialog.show() + if self._printer_select_dialog is not None: + self._printer_select_dialog.show() ## Upload the print job to the group. def _startPrintJobUpload(self, unique_name: str = None) -> None: From c332c7debcb1616d3dd089595837b9eee6a1577e Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 25 Oct 2019 13:02:19 +0200 Subject: [PATCH 39/91] Improve issue templates Two major changes here: 1. No longer include the instructions in comments. Quite often the filled in template was also in comments then because people don't know the HTML formatting. Also if the template is not completely filled in now, public shaming ensues. 2. The reproduce steps for bugs now suggest a numbered list of steps. Hopefully this will improve the bug reports we get with better reproduction steps. --- .github/ISSUE_TEMPLATE.md | 23 ++++++++++++----------- .github/ISSUE_TEMPLATE/bug-report.md | 15 ++++++++------- .github/ISSUE_TEMPLATE/feature_request.md | 11 ++++++----- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 2f880a9e32..8e56787aeb 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -11,23 +11,24 @@ Information about how to find the log file can be found at https://github.com/Ul Thank you for using Cura! --> -**Application Version** - +**Application version** +(The version of the application this issue occurs with.) **Platform** - +(Information about the operating system the issue occurs on. Include at least the operating system. In the case of visual glitches/issues, also include information about your graphics drivers and GPU.) **Printer** - +(Which printer was selected in Cura? If possible, please attach project file as .curaproject.3mf.zip.) -**Steps to Reproduce** - +**Reproduction steps** +1. Something you did. +2. Something you did next. -**Actual Results** - +**Actual results** +(What happens after the above steps have been followed.) **Expected results** - +(What should happen after the above steps have been followed.) -**Additional Information** - +**Additional information** +(Extra information relevant to the issue, like screenshots. Don't forget to attach the log files with this issue report.) diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index a7371e02a6..749b8037c1 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -22,22 +22,23 @@ Thank you for using Cura! --> **Application version** - +(The version of the application this issue occurs with.) **Platform** - +(Information about the operating system the issue occurs on. Include at least the operating system. In the case of visual glitches/issues, also include information about your graphics drivers and GPU.) **Printer** - +(Which printer was selected in Cura? If possible, please attach project file as .curaproject.3mf.zip.) **Reproduction steps** - +1. Something you did. +2. Something you did next. **Actual results** - +(What happens after the above steps have been followed.) **Expected results** - +(What should happen after the above steps have been followed.) **Additional information** - +(Extra information relevant to the issue, like screenshots. Don't forget to attach the log files with this issue report.) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 2a0a3e4e7b..a10d664a04 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -8,15 +8,16 @@ assignees: '' --- **Is your feature request related to a problem? Please describe.** - +(A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]) **Describe the solution you'd like** - +(A clear and concise description of what you want to happen. If possible, describe why you think this is a good solution.) **Describe alternatives you've considered** - +(A clear and concise description of any alternative solutions or features you've considered. Again, if possible, think about why these alternatives are not working out.) **Affected users and/or printers** - +(Who do you think will benefit from this? Is everyone going to benefit from these changes? Or specific kinds of users?) + **Additional context** - +(Add any other context or screenshots about the feature request here.) From 2abb9842d2ed75ca587fb7ed980bc5b7154f63a8 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 25 Oct 2019 13:21:18 +0200 Subject: [PATCH 40/91] Choose a supported quality as preferred quality One that is supported by the preferred material and nozzle. As discussed in #6474. --- resources/definitions/strateo3d.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/strateo3d.def.json b/resources/definitions/strateo3d.def.json index 4bf4e19aa4..2ee3650404 100644 --- a/resources/definitions/strateo3d.def.json +++ b/resources/definitions/strateo3d.def.json @@ -14,7 +14,7 @@ "has_variants": true, "preferred_variant_name": "Standard 0.6", "preferred_material": "emotiontech_pla", - "preferred_quality_type": "e", + "preferred_quality_type": "c", "variants_name": "Print Head", "machine_extruder_trains": { From 98275d2da056a6e3a0feabcf663d101bc1340bd5 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 13:44:55 +0200 Subject: [PATCH 41/91] Create first start model on demand So if we don't use it, we don't spend any time on it. --- cura/CuraApplication.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index e5fe813bbd..4ce8eadaf8 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -224,7 +224,7 @@ class CuraApplication(QtApplication): self._quality_management_model = None self._discovered_printer_model = DiscoveredPrintersModel(self, parent = self) - self._first_start_machine_actions_model = FirstStartMachineActionsModel(self, parent = self) + self._first_start_machine_actions_model = None self._welcome_pages_model = WelcomePagesModel(self, parent = self) self._add_printer_pages_model = AddPrinterPagesModel(self, parent = self) self._whats_new_pages_model = WhatsNewPagesModel(self, parent = self) @@ -878,6 +878,8 @@ class CuraApplication(QtApplication): @pyqtSlot(result = QObject) def getFirstStartMachineActionsModel(self, *args) -> "FirstStartMachineActionsModel": + if self._first_start_machine_actions_model is None: + self._first_start_machine_actions_model = FirstStartMachineActionsModel(self, parent = self) return self._first_start_machine_actions_model @pyqtSlot(result = QObject) From 11bf91ae388fcea4325dc1a5d9880b8c10632252 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 13:52:45 +0200 Subject: [PATCH 42/91] Prevent type coercion in qml This should speed things up a tiny bit --- resources/qml/Settings/SettingView.qml | 28 +++++++++++++------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index c2f23a6f1d..c917badb42 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -228,7 +228,7 @@ Item model: UM.SettingDefinitionsModel { id: definitionsModel - containerId: Cura.MachineManager.activeMachine != null ? Cura.MachineManager.activeMachine.definition.id: "" + containerId: Cura.MachineManager.activeMachine !== null ? Cura.MachineManager.activeMachine.definition.id: "" visibilityHandler: UM.SettingPreferenceVisibilityHandler { } exclude: ["machine_settings", "command_line_settings", "infill_mesh", "infill_mesh_order", "cutting_mesh", "support_mesh", "anti_overhang_mesh"] // TODO: infill_mesh settigns are excluded hardcoded, but should be based on the fact that settable_globally, settable_per_meshgroup and settable_per_extruder are false. expanded: CuraApplication.expandedCategories @@ -244,40 +244,40 @@ Item onVisibilityChanged: Cura.SettingInheritanceManager.forceUpdate() } - property var indexWithFocus: -1 + property int indexWithFocus: -1 delegate: Loader { id: delegate width: scrollView.width - height: provider.properties.enabled == "True" ? UM.Theme.getSize("section").height : - contents.spacing + height: provider.properties.enabled === "True" ? UM.Theme.getSize("section").height : - contents.spacing Behavior on height { NumberAnimation { duration: 100 } } - opacity: provider.properties.enabled == "True" ? 1 : 0 + opacity: provider.properties.enabled === "True" ? 1 : 0 Behavior on opacity { NumberAnimation { duration: 100 } } enabled: { if (!Cura.ExtruderManager.activeExtruderStackId && machineExtruderCount.properties.value > 1) { // disable all controls on the global tab, except categories - return model.type == "category" + return model.type === "category" } - return provider.properties.enabled == "True" + return provider.properties.enabled === "True" } property var definition: model property var settingDefinitionsModel: definitionsModel property var propertyProvider: provider property var globalPropertyProvider: inheritStackProvider - property var externalResetHandler: false + property bool externalResetHandler: false property string activeMachineId: Cura.MachineManager.activeMachine !== null ? Cura.MachineManager.activeMachine.id : "" //Qt5.4.2 and earlier has a bug where this causes a crash: https://bugreports.qt.io/browse/QTBUG-35989 //In addition, while it works for 5.5 and higher, the ordering of the actual combo box drop down changes, //causing nasty issues when selecting different options. So disable asynchronous loading of enum type completely. - asynchronous: model.type != "enum" && model.type != "extruder" && model.type != "optional_extruder" - active: model.type != undefined + asynchronous: model.type !== "enum" && model.type !== "extruder" && model.type !== "optional_extruder" + active: model.type !== undefined source: { @@ -313,7 +313,7 @@ Item { target: provider property: "containerStackId" - when: model.settable_per_extruder || (inheritStackProvider.properties.limit_to_extruder != null && inheritStackProvider.properties.limit_to_extruder >= 0); + when: model.settable_per_extruder || (inheritStackProvider.properties.limit_to_extruder !== null && inheritStackProvider.properties.limit_to_extruder >= 0); value: { // Associate this binding with Cura.MachineManager.activeMachine.id in the beginning so this @@ -326,7 +326,7 @@ Item //Not settable per extruder or there only is global, so we must pick global. return delegate.activeMachineId } - if (inheritStackProvider.properties.limit_to_extruder != null && inheritStackProvider.properties.limit_to_extruder >= 0) + if (inheritStackProvider.properties.limit_to_extruder !== null && inheritStackProvider.properties.limit_to_extruder >= 0) { //We have limit_to_extruder, so pick that stack. return Cura.ExtruderManager.extruderIds[String(inheritStackProvider.properties.limit_to_extruder)]; @@ -359,7 +359,7 @@ Item key: model.key ? model.key : "" watchedProperties: [ "value", "enabled", "state", "validationState", "settable_per_extruder", "resolve" ] storeIndex: 0 - removeUnusedValue: model.resolve == undefined + removeUnusedValue: model.resolve === undefined } Connections @@ -465,7 +465,7 @@ Item //: Settings context menu action text: catalog.i18nc("@action:menu", "Copy value to all extruders") visible: machineExtruderCount.properties.value > 1 - enabled: contextMenu.provider != undefined && contextMenu.provider.properties.settable_per_extruder != "False" + enabled: contextMenu.provider !== undefined && contextMenu.provider.properties.settable_per_extruder !== "False" onTriggered: Cura.MachineManager.copyValueToExtruders(contextMenu.key) } @@ -474,7 +474,7 @@ Item //: Settings context menu action text: catalog.i18nc("@action:menu", "Copy all changed values to all extruders") visible: machineExtruderCount.properties.value > 1 - enabled: contextMenu.provider != undefined + enabled: contextMenu.provider !== undefined onTriggered: Cura.MachineManager.copyAllValuesToExtruders() } From 0168a1d5e0fe3b395952fac673d16f7f9a0a22e3 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 25 Oct 2019 14:12:55 +0200 Subject: [PATCH 43/91] Don't output to stderr if there is no stderr This can happen on Windows where the default command line doesn't have a stderr channel. Put it in stdout then. Fixes #6579. --- cura_app.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cura_app.py b/cura_app.py index 080479ee92..e14b4410bc 100755 --- a/cura_app.py +++ b/cura_app.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (c) 2018 Ultimaker B.V. +# Copyright (c) 2019 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import argparse @@ -131,7 +131,10 @@ def exceptHook(hook_type, value, traceback): # Set exception hook to use the crash dialog handler sys.excepthook = exceptHook # Enable dumping traceback for all threads -faulthandler.enable(all_threads = True) +if sys.stderr: + faulthandler.enable(file = sys.stderr, all_threads = True) +else: + faulthandler.enable(file = sys.stdout, all_threads = True) # Workaround for a race condition on certain systems where there # is a race condition between Arcus and PyQt. Importing Arcus From 624b8d87417ae55f050fdd2d194750ee84255b80 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 14:28:09 +0200 Subject: [PATCH 44/91] Prevent unneeded re-evaluation of ActiveMachine ID property --- resources/qml/Settings/SettingView.qml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index c917badb42..20e9af59db 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -245,7 +245,7 @@ Item } property int indexWithFocus: -1 - + property string activeMachineId: Cura.MachineManager.activeMachine !== null ? Cura.MachineManager.activeMachine.id : "" delegate: Loader { id: delegate @@ -271,8 +271,6 @@ Item property var globalPropertyProvider: inheritStackProvider property bool externalResetHandler: false - property string activeMachineId: Cura.MachineManager.activeMachine !== null ? Cura.MachineManager.activeMachine.id : "" - //Qt5.4.2 and earlier has a bug where this causes a crash: https://bugreports.qt.io/browse/QTBUG-35989 //In addition, while it works for 5.5 and higher, the ordering of the actual combo box drop down changes, //causing nasty issues when selecting different options. So disable asynchronous loading of enum type completely. @@ -324,7 +322,7 @@ Item if (!model.settable_per_extruder) { //Not settable per extruder or there only is global, so we must pick global. - return delegate.activeMachineId + return contents.activeMachineId } if (inheritStackProvider.properties.limit_to_extruder !== null && inheritStackProvider.properties.limit_to_extruder >= 0) { @@ -337,7 +335,7 @@ Item return Cura.ExtruderManager.activeExtruderStackId; } //No extruder tab is selected. Pick the global stack. Shouldn't happen any more since we removed the global tab. - return delegate.activeMachineId + return contents.activeMachineId } } @@ -346,7 +344,7 @@ Item UM.SettingPropertyProvider { id: inheritStackProvider - containerStackId: Cura.MachineManager.activeMachine !== null ? Cura.MachineManager.activeMachine.id: "" + containerStackId: contents.activeMachineId key: model.key watchedProperties: [ "limit_to_extruder" ] } @@ -355,7 +353,7 @@ Item { id: provider - containerStackId: delegate.activeMachineId + containerStackId: contents.activeMachineId key: model.key ? model.key : "" watchedProperties: [ "value", "enabled", "state", "validationState", "settable_per_extruder", "resolve" ] storeIndex: 0 From 9430d05cac522fb1953cb134cf603bcd4db6ad6c Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Fri, 25 Oct 2019 15:06:33 +0200 Subject: [PATCH 45/91] WIP: center path slider between view controls and action panel CURA-6874 --- plugins/PreviewStage/PreviewMain.qml | 31 +++++++++++++------ .../SimulationViewMainComponent.qml | 22 ++++++++++--- resources/qml/Cura.qml | 17 ++++++++++ 3 files changed, 57 insertions(+), 13 deletions(-) diff --git a/plugins/PreviewStage/PreviewMain.qml b/plugins/PreviewStage/PreviewMain.qml index 4ef10e5dbb..0b93dea0af 100644 --- a/plugins/PreviewStage/PreviewMain.qml +++ b/plugins/PreviewStage/PreviewMain.qml @@ -12,14 +12,26 @@ import Cura 1.0 as Cura Item { + // An Item whose bounds are guaranteed to be safe for overlays to be placed. + // Defaults to parent, ie. the entire available area + property var safeArea: parent + // Subtract the actionPanel from the safe area. This way the view won't draw interface elements under/over it - Item { - id: safeArea - visible: false - anchors.left: parent.left - anchors.right: actionPanelWidget.left - anchors.top: parent.top - anchors.bottom: actionPanelWidget.top + Rectangle + { + id: childSafeArea + x: safeArea.x - parent.x + y: safeArea.y - parent.y + width: actionPanelWidget.x - x + height: actionPanelWidget.y - y + visible: true // true for debug only + color:"#800000FF" + + Component.onCompleted: { + print("parent", parent.x, parent.y) + print("parent safe", safeArea.x, safeArea.y) + print("previewmain safe", childSafeArea.x, childSafeArea.y, childSafeArea.width, childSafeArea.height) + } } Loader @@ -29,9 +41,10 @@ Item source: UM.Controller.activeView != null && UM.Controller.activeView.mainComponent != null ? UM.Controller.activeView.mainComponent : "" - onLoaded: { + onLoaded: + { if (previewMain.item.safeArea !== undefined){ - previewMain.item.safeArea = Qt.binding(function() { return safeArea }); + previewMain.item.safeArea = Qt.binding(function() { return childSafeArea }); } } } diff --git a/plugins/SimulationView/SimulationViewMainComponent.qml b/plugins/SimulationView/SimulationViewMainComponent.qml index cd7d108370..0cd2027dfa 100644 --- a/plugins/SimulationView/SimulationViewMainComponent.qml +++ b/plugins/SimulationView/SimulationViewMainComponent.qml @@ -18,7 +18,10 @@ Item property bool isSimulationPlaying: false + readonly property var layerSliderSafeYMin: safeArea.y readonly property var layerSliderSafeYMax: safeArea.y + safeArea.height + readonly property var pathSliderSafeXMin: safeArea.x + playButton.width //todo playbutton margin or group button + slider in an item? + readonly property var pathSliderSafeXMax: safeArea.x + safeArea.width visible: UM.SimulationView.layerActivity && CuraApplication.platformActivity @@ -26,13 +29,21 @@ Item PathSlider { id: pathSlider + + readonly property var preferredWidth: UM.Theme.getSize("slider_layerview_size").height // not a typo, should be as long as layerview slider + readonly property var margin: UM.Theme.getSize("default_margin").width + readonly property var pathSliderSafeWidth: pathSliderSafeXMax - pathSliderSafeXMin + height: UM.Theme.getSize("slider_handle").width - width: UM.Theme.getSize("slider_layerview_size").height + width: preferredWidth + margin * 2 < pathSliderSafeWidth ? preferredWidth : pathSliderSafeWidth - margin * 2 + anchors.bottom: parent.bottom - anchors.bottomMargin: UM.Theme.getSize("default_margin").height + anchors.bottomMargin: margin anchors.horizontalCenter: parent.horizontalCenter + anchors.horizontalCenterOffset: -(parent.width - pathSliderSafeXMax - pathSliderSafeXMin) / 2 // center between parent top and layerSliderSafeYMax + visible: !UM.SimulationView.compatibilityMode @@ -184,16 +195,19 @@ Item { property var preferredHeight: UM.Theme.getSize("slider_layerview_size").height property double heightMargin: UM.Theme.getSize("default_margin").height + property double layerSliderSafeHeight: layerSliderSafeYMax - layerSliderSafeYMin + //todo incorporate margins in safeHeight? + id: layerSlider width: UM.Theme.getSize("slider_handle").width - height: preferredHeight + heightMargin * 2 < layerSliderSafeYMax ? preferredHeight : layerSliderSafeYMax - heightMargin * 2 + height: preferredHeight + heightMargin * 2 < layerSliderSafeHeight ? preferredHeight : layerSliderSafeHeight - heightMargin * 2 anchors { right: parent.right verticalCenter: parent.verticalCenter - verticalCenterOffset: -(parent.height - layerSliderSafeYMax) / 2 // center between parent top and layerSliderSafeYMax + verticalCenterOffset: -(parent.height - layerSliderSafeYMax - layerSliderSafeYMin) / 2 // center between parent top and layerSliderSafeYMax rightMargin: UM.Theme.getSize("default_margin").width bottomMargin: heightMargin topMargin: heightMargin diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 828d8854dd..023072ddd3 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -301,6 +301,17 @@ UM.MainWindow } } + // A hint for the loaded content view. Overlay items / controls can safely be placed in this area + Rectangle { + id: mainSafeArea + anchors.left: viewOrientationControls.right + anchors.right: main.right + anchors.top: main.top + anchors.bottom: main.bottom + visible: true // set to true for debugging only + color:"#8000FF00" + } + Loader { // A stage can control this area. If nothing is set, it will therefore show the 3D view. @@ -316,6 +327,12 @@ UM.MainWindow } source: UM.Controller.activeStage != null ? UM.Controller.activeStage.mainComponent : "" + + onLoaded: { + if (main.item.safeArea !== undefined){ + main.item.safeArea = Qt.binding(function() { return mainSafeArea }); + } + } } Loader From f090b5898e93cd6b8204ed7ab793d0128cf59fcf Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 15:09:31 +0200 Subject: [PATCH 46/91] Small qml speed improvements for setting item --- cura/Settings/SettingInheritanceManager.py | 2 +- resources/qml/Settings/SettingItem.qml | 32 ++++++++++++---------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/cura/Settings/SettingInheritanceManager.py b/cura/Settings/SettingInheritanceManager.py index 12b541c3d8..780b2c8705 100644 --- a/cura/Settings/SettingInheritanceManager.py +++ b/cura/Settings/SettingInheritanceManager.py @@ -89,7 +89,7 @@ class SettingInheritanceManager(QObject): @pyqtSlot() def forceUpdate(self) -> None: - self._update() + self._update_timer.start() def _onActiveExtruderChanged(self) -> None: new_active_stack = ExtruderManager.getInstance().getActiveExtruderStack() diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index c851b7c042..e2e8d9fbad 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -23,17 +23,16 @@ Item property alias contents: controlContainer.children property alias hovered: mouse.containsMouse - property var showRevertButton: true - property var showInheritButton: true - property var showLinkedSettingIcon: true - property var doDepthIndentation: true - property var doQualityUserSettingEmphasis: true + property bool showRevertButton: true + property bool showInheritButton: true + property bool showLinkedSettingIcon: true + property bool doDepthIndentation: true + property bool doQualityUserSettingEmphasis: true property var settingKey: definition.key //Used to detect each individual setting more easily in Squish GUI tests. // Create properties to put property provider stuff in (bindings break in qt 5.5.1 otherwise) property var state: propertyProvider.properties.state - // There is no resolve property if there is only one stack. - property var resolve: Cura.MachineManager.activeStackId !== Cura.MachineManager.activeMachine.id ? propertyProvider.properties.resolve : "None" + property var resolve: propertyProvider.properties.resolve property var stackLevels: propertyProvider.stackLevels property var stackLevel: stackLevels[0] // A list of stack levels that will trigger to show the revert button @@ -149,7 +148,7 @@ Item color: UM.Theme.getColor("setting_control_text") opacity: (definition.visible) ? 1 : 0.5 // emphasize the setting if it has a value in the user or quality profile - font: base.doQualityUserSettingEmphasis && base.stackLevel != undefined && base.stackLevel <= 1 ? UM.Theme.getFont("default_italic") : UM.Theme.getFont("default") + font: base.doQualityUserSettingEmphasis && base.stackLevel !== undefined && base.stackLevel <= 1 ? UM.Theme.getFont("default_italic") : UM.Theme.getFont("default") } Row @@ -170,10 +169,11 @@ Item { id: linkedSettingIcon; - visible: Cura.MachineManager.activeStack != Cura.MachineManager.activeMachine && (!definition.settable_per_extruder || String(globalPropertyProvider.properties.limit_to_extruder) != "-1") && base.showLinkedSettingIcon + visible: Cura.MachineManager.activeStack !== Cura.MachineManager.activeMachine && (!definition.settable_per_extruder || String(globalPropertyProvider.properties.limit_to_extruder) != "-1") && base.showLinkedSettingIcon - height: parent.height; - width: height; + anchors.top: parent.top + anchors.bottom: parent.bottom + width: height color: UM.Theme.getColor("setting_control_button") hoverColor: UM.Theme.getColor("setting_control_button") @@ -184,7 +184,7 @@ Item { hoverTimer.stop() var tooltipText = catalog.i18nc("@label", "This setting is always shared between all extruders. Changing it here will change the value for all extruders.") - if ((resolve != "None") && (stackLevel != 0)) + if ((resolve !== "None") && (stackLevel !== 0)) { // We come here if a setting has a resolve and the setting is not manually edited. tooltipText += " " + catalog.i18nc("@label", "The value is resolved from per-extruder values ") + "[" + Cura.ExtruderManager.getInstanceExtruderValues(definition.key) + "]." @@ -200,7 +200,8 @@ Item visible: base.resetButtonVisible - height: parent.height + anchors.top: parent.top + anchors.bottom: parent.bottom width: height color: UM.Theme.getColor("setting_control_button") @@ -278,7 +279,8 @@ Item return Cura.SettingInheritanceManager.getOverridesForExtruder(definition.key, String(globalPropertyProvider.properties.limit_to_extruder)).indexOf(definition.key) >= 0 } - height: parent.height + anchors.top: parent.top + anchors.bottom: parent.bottom width: height onClicked: @@ -296,7 +298,7 @@ Item break } } - if ((last_entry == 4 || last_entry == 11) && base.stackLevel == 0 && base.stackLevels.length == 2) + if ((last_entry === 4 || last_entry === 11) && base.stackLevel === 0 && base.stackLevels.length === 2) { // Special case of the inherit reset. If only the definition (4th or 11th) container) and the first // entry (user container) are set, we can simply remove the container. From 93e97c5dcef0d48f68b7162adaa02b6d42d32b8d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 15:15:21 +0200 Subject: [PATCH 47/91] Add update timer to intentCategory model --- cura/Machines/Models/IntentCategoryModel.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cura/Machines/Models/IntentCategoryModel.py b/cura/Machines/Models/IntentCategoryModel.py index add70f4c1a..0ff52b325a 100644 --- a/cura/Machines/Models/IntentCategoryModel.py +++ b/cura/Machines/Models/IntentCategoryModel.py @@ -1,7 +1,7 @@ #Copyright (c) 2019 Ultimaker B.V. #Cura is released under the terms of the LGPLv3 or higher. -from PyQt5.QtCore import Qt +from PyQt5.QtCore import Qt, QTimer import collections from typing import TYPE_CHECKING, Optional, Dict @@ -69,6 +69,11 @@ class IntentCategoryModel(ListModel): extruder_manager = application.getExtruderManager() extruder_manager.extrudersChanged.connect(self.update) + self._update_timer = QTimer() + self._update_timer.setInterval(500) + self._update_timer.setSingleShot(True) + self._update_timer.timeout.connect(self._update) + self.update() ## Updates the list of intents if an intent profile was added or removed. @@ -76,8 +81,11 @@ class IntentCategoryModel(ListModel): if container.getMetaDataEntry("type") == "intent": self.update() + def update(self): + self._update_timer.start() + ## Updates the list of intents. - def update(self) -> None: + def _update(self) -> None: available_categories = IntentManager.getInstance().currentAvailableIntentCategories() result = [] for category in available_categories: From 27701f765310bb58dc76373abe97a02f84ae5a2d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 15:28:17 +0200 Subject: [PATCH 48/91] Add a few process events to setActiveMachine to make it react more smooth --- cura/Settings/MachineManager.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index aa48e39410..69fa907d8b 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -291,7 +291,8 @@ class MachineManager(QObject): @pyqtSlot(str) def setActiveMachine(self, stack_id: str) -> None: self.blurSettings.emit() # Ensure no-one has focus. - + self._application.processEvents() + container_registry = CuraContainerRegistry.getInstance() containers = container_registry.findContainerStacks(id = stack_id) if not containers: @@ -301,9 +302,11 @@ class MachineManager(QObject): # Make sure that the default machine actions for this machine have been added self._application.getMachineActionManager().addDefaultMachineActions(global_stack) + self._application.processEvents() extruder_manager = ExtruderManager.getInstance() extruder_manager.fixSingleExtrusionMachineExtruderDefinition(global_stack) + self._application.processEvents() if not global_stack.isValid(): # Mark global stack as invalid ConfigurationErrorMessage.getInstance().addFaultyContainers(global_stack.getId()) @@ -313,8 +316,12 @@ class MachineManager(QObject): extruder_manager.addMachineExtruders(global_stack) self._application.setGlobalContainerStack(global_stack) + self._application.processEvents() + # Switch to the first enabled extruder self.updateDefaultExtruder() + + self._application.processEvents() default_extruder_position = int(self.defaultExtruderPosition) old_active_extruder_index = extruder_manager.activeExtruderIndex extruder_manager.setActiveExtruderIndex(default_extruder_position) From 7f1cc84eb4ffb88be0d1a5d4cbb43e2fde097e38 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 15:36:49 +0200 Subject: [PATCH 49/91] Simplify visible check for linkedSettings Icon It was checking for a statement that is never True --- resources/qml/Settings/SettingItem.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index e2e8d9fbad..3531b10244 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -169,7 +169,7 @@ Item { id: linkedSettingIcon; - visible: Cura.MachineManager.activeStack !== Cura.MachineManager.activeMachine && (!definition.settable_per_extruder || String(globalPropertyProvider.properties.limit_to_extruder) != "-1") && base.showLinkedSettingIcon + visible: (!definition.settable_per_extruder || String(globalPropertyProvider.properties.limit_to_extruder) != "-1") && base.showLinkedSettingIcon anchors.top: parent.top anchors.bottom: parent.bottom From 5f2984b77ea350a6d59425988dfb122647956ae2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 15:42:07 +0200 Subject: [PATCH 50/91] Remove unused catalog 20ms faster is 20ms faster... --- .../Recommended/RecommendedPrintSetup.qml | 6 ------ resources/qml/Settings/SettingView.qml | 2 -- 2 files changed, 8 deletions(-) diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml index a180ad6324..22c4039063 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml @@ -19,12 +19,6 @@ Item property bool settingsEnabled: Cura.ExtruderManager.activeExtruderStackId || extrudersEnabledCount.properties.value == 1 property real padding: UM.Theme.getSize("thick_margin").width - UM.I18nCatalog - { - id: catalog - name: "cura" - } - Column { spacing: UM.Theme.getSize("wide_margin").height diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index 20e9af59db..53e432ecae 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -419,8 +419,6 @@ Item } } - UM.I18nCatalog { id: catalog; name: "cura"; } - NumberAnimation { id: animateContentY target: contents From 4cc8bf594688ff81f8cce668fd702c86ca714edb Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 25 Oct 2019 15:54:45 +0200 Subject: [PATCH 51/91] Create tooltips on demand instead of on creation. This makes the loading of setting items a *lot* more faster, as each string takes about 2.5 ms to create (and we load all of them in memory!). --- resources/qml/Settings/SettingItem.qml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index 3531b10244..e1b3f5a098 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -56,7 +56,8 @@ Item signal showTooltip(string text) signal hideTooltip() signal showAllHiddenInheritedSettings(string category_id) - property string tooltipText: + + function createTooltipText() { var affects = settingDefinitionsModel.getRequiredBy(definition.key, "value") var affected_by = settingDefinitionsModel.getRequires(definition.key, "value") @@ -127,7 +128,7 @@ Item onTriggered: { - base.showTooltip(base.tooltipText) + base.showTooltip(base.createTooltipText()) } } @@ -191,7 +192,7 @@ Item } base.showTooltip(tooltipText) } - onExited: base.showTooltip(base.tooltipText) + onExited: base.showTooltip(base.createTooltipText()) } UM.SimpleButton @@ -228,7 +229,7 @@ Item hoverTimer.stop() base.showTooltip(catalog.i18nc("@label", "This setting has a value that is different from the profile.\n\nClick to restore the value of the profile.")) } - onExited: base.showTooltip(base.tooltipText) + onExited: base.showTooltip(base.createTooltipText()) } UM.SimpleButton @@ -322,7 +323,7 @@ Item iconSource: UM.Theme.getIcon("formula") onEntered: { hoverTimer.stop(); base.showTooltip(catalog.i18nc("@label", "This setting is normally calculated, but it currently has an absolute value set.\n\nClick to restore the calculated value.")) } - onExited: base.showTooltip(base.tooltipText) + onExited: base.showTooltip(base.createTooltipText()) } } From 11d30dab56ce8d295b2aaa7ca4aa9585708ee69d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 25 Oct 2019 23:21:30 +0200 Subject: [PATCH 52/91] Improve setting descriptions for flow rate compensation settings The original setting descriptions were wholly undescriptive... Done during investigation of these settings for the Setting Guide. --- resources/definitions/fdmprinter.def.json | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index ca0057adb4..cd847ef8b6 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6658,30 +6658,26 @@ }, "flow_rate_max_extrusion_offset": { - "label": "Flow rate compensation max extrusion offset", - "description": "The maximum distance in mm to compensate.", + "label": "Flow Rate Compensation Max Extrusion Offset", + "description": "The maximum distance in mm to move the filament to compensate for changes in flow rate.", "unit": "mm", "type": "float", "minimum_value": "0", "maximum_value_warning": "10", "default_value": 0, - "value": "0", - "enabled": true, "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false }, "flow_rate_extrusion_offset_factor": { - "label": "Flow rate compensation factor", - "description": "The multiplication factor for the flow rate -> distance translation.", + "label": "Flow Rate Compensation Factor", + "description": "How far to move the filament in order to compensate for changes in flow rate, as a percentage of how far the filament would move in one second of extrusion.", "unit": "%", "type": "float", "minimum_value": "0", "maximum_value_warning": "100", "default_value": 100, - "value": "100", - "enabled": true, "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false From 7dada6539c6571dfbb8d439e1df4d13db3543f05 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Sat, 26 Oct 2019 01:12:34 +0200 Subject: [PATCH 53/91] Fix minimum speeds and distances for wire printing Minimum distance is 0.001, i.e. one micrometre. Minimum speeds are set to Marlin's Minimum Planner Speed which is hardcoded. --- resources/definitions/fdmprinter.def.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index cd847ef8b6..f9c96693ea 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6700,7 +6700,7 @@ "unit": "mm", "default_value": 3, "value": "machine_nozzle_head_distance", - "minimum_value": "0.0001", + "minimum_value": "0.001", "maximum_value_warning": "20", "enabled": "wireframe_enabled", "settable_per_mesh": false, @@ -6730,7 +6730,7 @@ "unit": "mm/s", "type": "float", "default_value": 5, - "minimum_value": "0.1", + "minimum_value": "0.05", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2 + machine_max_feedrate_z ** 2)", "maximum_value_warning": "50", "enabled": "wireframe_enabled", @@ -6746,7 +6746,7 @@ "unit": "mm/s", "type": "float", "default_value": 5, - "minimum_value": "0.1", + "minimum_value": "0.05", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)", "maximum_value_warning": "50", "enabled": "wireframe_enabled", @@ -6762,7 +6762,7 @@ "unit": "mm/s", "type": "float", "default_value": 5, - "minimum_value": "0.1", + "minimum_value": "0.05", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2 + machine_max_feedrate_z ** 2)", "maximum_value_warning": "50", "enabled": "wireframe_enabled", @@ -6778,7 +6778,7 @@ "unit": "mm/s", "type": "float", "default_value": 5, - "minimum_value": "0.1", + "minimum_value": "0.05", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2 + machine_max_feedrate_z ** 2)", "maximum_value_warning": "50", "enabled": "wireframe_enabled", @@ -6794,7 +6794,7 @@ "unit": "mm/s", "type": "float", "default_value": 5, - "minimum_value": "0.1", + "minimum_value": "0.05", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)", "maximum_value_warning": "100", "value": "wireframe_printspeed", @@ -7068,7 +7068,7 @@ "default_value": 0.01, "unit": "mm", "settable_per_mesh": false, - "minimum_value": "0.0001", + "minimum_value": "0.001", "settable_per_extruder": false, "settable_per_meshgroup": false }, From 0ea67d18d23109b35eeca99a598fe13b45213181 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Sun, 27 Oct 2019 01:00:17 +0200 Subject: [PATCH 54/91] Only show strategy-specific settings if their WP strategy is activated Reduces confusion, I hope, and the feeling of being overwhelmed by a load of settings, because obviously only people who make all settings visible are going to see these settings at all. --- resources/definitions/fdmprinter.def.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index f9c96693ea..8511d9e969 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6750,7 +6750,7 @@ "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)", "maximum_value_warning": "50", "enabled": "wireframe_enabled", - "value": "wireframe_printspeed", + "value": "wireframe_printspeed_flat", "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false @@ -6917,7 +6917,7 @@ "default_value": 0.6, "minimum_value": "0", "maximum_value_warning": "2.0", - "enabled": "wireframe_enabled", + "enabled": "wireframe_enabled and wireframe_strategy == 'knot'", "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false @@ -6931,7 +6931,7 @@ "default_value": 0.5, "minimum_value": "0", "maximum_value_warning": "wireframe_height", - "enabled": "wireframe_enabled", + "enabled": "wireframe_enabled and wireframe_strategy == 'compensate'", "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false @@ -6945,7 +6945,7 @@ "default_value": 0.6, "minimum_value": "0", "maximum_value_warning": "wireframe_height", - "enabled": "wireframe_enabled", + "enabled": "wireframe_enabled and wireframe_strategy == 'compensate'", "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false From d59a343b3f4020e2ff9742376378d143b4f59ad3 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Mon, 28 Oct 2019 09:59:30 +0100 Subject: [PATCH 55/91] Update simulation slider handle position after width change CURA-6874 --- plugins/SimulationView/PathSlider.qml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/SimulationView/PathSlider.qml b/plugins/SimulationView/PathSlider.qml index c7a43c6407..facdbb6a53 100644 --- a/plugins/SimulationView/PathSlider.qml +++ b/plugins/SimulationView/PathSlider.qml @@ -56,6 +56,11 @@ Item return Math.min(Math.max(value, sliderRoot.minimumValue), sliderRoot.maximumValue) } + onWidthChanged : { + // After a width change, the pixel-position of the handle is out of sync with the property value + setHandleValue(handleValue) + } + // slider track Rectangle { From 6bef16bbecd5044b19847d6d4f4b92deba2fe60a Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Mon, 28 Oct 2019 10:28:19 +0100 Subject: [PATCH 56/91] Cleanup: make safe areas invisible CURA-6874 --- plugins/PreviewStage/PreviewMain.qml | 2 +- resources/qml/Cura.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/PreviewStage/PreviewMain.qml b/plugins/PreviewStage/PreviewMain.qml index 0b93dea0af..719b5c0c0b 100644 --- a/plugins/PreviewStage/PreviewMain.qml +++ b/plugins/PreviewStage/PreviewMain.qml @@ -24,7 +24,7 @@ Item y: safeArea.y - parent.y width: actionPanelWidget.x - x height: actionPanelWidget.y - y - visible: true // true for debug only + visible: false // true for debug only color:"#800000FF" Component.onCompleted: { diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 023072ddd3..1f7ccf39a5 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -308,7 +308,7 @@ UM.MainWindow anchors.right: main.right anchors.top: main.top anchors.bottom: main.bottom - visible: true // set to true for debugging only + visible: false // set to true for debugging only color:"#8000FF00" } From c5623a1364306087eb43df23cdb7e39fe6e49d94 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 28 Oct 2019 10:30:25 +0100 Subject: [PATCH 57/91] Also catch ValueError when handling modelParsing from network CURA-6855 --- plugins/UM3NetworkPrinting/src/Network/ClusterApiClient.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/src/Network/ClusterApiClient.py b/plugins/UM3NetworkPrinting/src/Network/ClusterApiClient.py index f61982b9a8..6a8b9f625c 100644 --- a/plugins/UM3NetworkPrinting/src/Network/ClusterApiClient.py +++ b/plugins/UM3NetworkPrinting/src/Network/ClusterApiClient.py @@ -135,7 +135,7 @@ class ClusterApiClient: result = model_class(**response) # type: ClusterApiClientModel on_finished_item = cast(Callable[[ClusterApiClientModel], Any], on_finished) on_finished_item(result) - except (JSONDecodeError, TypeError): + except (JSONDecodeError, TypeError, ValueError): Logger.log("e", "Could not parse response from network: %s", str(response)) ## Creates a callback function so that it includes the parsing of the response into the correct model. From b360e0db3943fe1bb9d95e35c41e3630c7a06e40 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 28 Oct 2019 10:44:21 +0100 Subject: [PATCH 58/91] Fix numberExtrudersEnabled returning None CURA-6931 --- cura/Settings/MachineManager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index aa48e39410..d7a7586115 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -872,7 +872,10 @@ class MachineManager(QObject): def numberExtrudersEnabled(self) -> int: if self._global_container_stack is None: return 1 - return self._global_container_stack.definitionChanges.getProperty("extruders_enabled_count", "value") + extruders_enabled_count = self._global_container_stack.definitionChanges.getProperty("extruders_enabled_count", "value") + if extruders_enabled_count is None: + extruders_enabled_count = len(self._global_container_stack.extruderList) + return extruders_enabled_count @pyqtProperty(str, notify = extruderChanged) def defaultExtruderPosition(self) -> str: From 9e6207794b682df4e275410866971ec93734cc7d Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 24 Oct 2019 13:19:06 +0200 Subject: [PATCH 59/91] Add CMake options to exclude plugins for installation CURA-6557 --- CMakeLists.txt | 6 +- cmake/CuraPluginInstall.cmake | 98 ++++++++++++++++++++++++++++++ cmake/mod_bundled_packages_json.py | 71 ++++++++++++++++++++++ 3 files changed, 172 insertions(+), 3 deletions(-) create mode 100644 cmake/CuraPluginInstall.cmake create mode 100755 cmake/mod_bundled_packages_json.py diff --git a/CMakeLists.txt b/CMakeLists.txt index b516de6b63..4954ac46dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,7 +49,7 @@ endif() if(NOT ${URANIUM_DIR} STREQUAL "") - set(CMAKE_MODULE_PATH "${URANIUM_DIR}/cmake") + set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${URANIUM_DIR}/cmake") endif() if(NOT ${URANIUM_SCRIPTS_DIR} STREQUAL "") list(APPEND CMAKE_MODULE_PATH ${URANIUM_DIR}/cmake) @@ -63,8 +63,8 @@ endif() install(DIRECTORY resources DESTINATION ${CMAKE_INSTALL_DATADIR}/cura) -install(DIRECTORY plugins - DESTINATION lib${LIB_SUFFIX}/cura) + +include(CuraPluginInstall) if(NOT APPLE AND NOT WIN32) install(FILES cura_app.py diff --git a/cmake/CuraPluginInstall.cmake b/cmake/CuraPluginInstall.cmake new file mode 100644 index 0000000000..2eadb6c18f --- /dev/null +++ b/cmake/CuraPluginInstall.cmake @@ -0,0 +1,98 @@ +# Copyright (c) 2019 Ultimaker B.V. +# CuraPluginInstall.cmake is released under the terms of the LGPLv3 or higher. + +# +# This module detects all plugins that need to be installed and adds them using the CMake install() command. +# It detects all plugin folder in the path "plugins/*" where there's a "plugin.json" in it. +# +# Plugins can be configured to NOT BE INSTALLED via the variable "CURA_NO_INSTALL_PLUGINS" as a list of string in the +# form of "a;b;c" or "a,b,c". By default all plugins will be installed. +# + +# FIXME: Remove the code for CMake <3.12 once we have switched over completely. +# FindPython3 is a new module since CMake 3.12. It deprecates FindPythonInterp and FindPythonLibs. The FindPython3 +# module is copied from the CMake repository here so in CMake <3.12 we can still use it. +if(${CMAKE_VERSION} VERSION_LESS 3.12) + # Use FindPythonInterp and FindPythonLibs for CMake <3.12 + find_package(PythonInterp 3 REQUIRED) + + set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE}) +else() + # Use FindPython3 for CMake >=3.12 + find_package(Python3 REQUIRED COMPONENTS Interpreter) +endif() + +# Options or configuration variables +set(CURA_NO_INSTALL_PLUGINS "" CACHE STRING "A list of plugins that should not be installed, separated with ';' or ','.") + +file(GLOB_RECURSE _plugin_json_list ${CMAKE_SOURCE_DIR}/plugins/*/plugin.json) +list(LENGTH _plugin_json_list _plugin_json_list_len) + +# Sort the lists alphabetically so we can handle cases like this: +# - plugins/my_plugin/plugin.json +# - plugins/my_plugin/my_module/plugin.json +# In this case, only "plugins/my_plugin" should be added via install(). +set(_no_install_plugin_list ${CURA_NO_INSTALL_PLUGINS}) +# Sanitize the string so the comparison will be case-insensitive. +string(STRIP "${_no_install_plugin_list}" _no_install_plugin_list) +string(TOLOWER "${_no_install_plugin_list}" _no_install_plugin_list) + +# WORKAROUND counterpart of what's in cura-build. +string(REPLACE "," ";" _no_install_plugin_list "${_no_install_plugin_list}") + +list(LENGTH _no_install_plugin_list _no_install_plugin_list_len) + +if(_no_install_plugin_list_len GREATER 0) + list(SORT _no_install_plugin_list) +endif() +if(_plugin_json_list_len GREATER 0) + list(SORT _plugin_json_list) +endif() + +# Check all plugin directories and add them via install() if needed. +set(_install_plugin_list "") +foreach(_plugin_json_path ${_plugin_json_list}) + get_filename_component(_plugin_dir ${_plugin_json_path} DIRECTORY) + file(RELATIVE_PATH _rel_plugin_dir ${CMAKE_CURRENT_SOURCE_DIR} ${_plugin_dir}) + get_filename_component(_plugin_dir_name ${_plugin_dir} NAME) + + # Make plugin name comparison case-insensitive + string(TOLOWER "${_plugin_dir_name}" _plugin_dir_name_lowercase) + + # Check if this plugin needs to be skipped for installation + set(_add_plugin ON) + set(_is_no_install_plugin OFF) + if(_no_install_plugin_list) + if("${_plugin_dir_name_lowercase}" IN_LIST _no_install_plugin_list) + set(_add_plugin OFF) + set(_is_no_install_plugin ON) + endif() + endif() + + # Make sure this is not a subdirectory in a plugin that's already in the install list + if(_add_plugin) + foreach(_known_install_plugin_dir ${_install_plugin_list}) + if(_plugin_dir MATCHES "${_known_install_plugin_dir}.+") + set(_add_plugin OFF) + break() + endif() + endforeach() + endif() + + if(_add_plugin) + message(STATUS "[+] PLUGIN TO INSTALL: ${_rel_plugin_dir}") + get_filename_component(_rel_plugin_parent_dir ${_rel_plugin_dir} DIRECTORY) + install(DIRECTORY ${_rel_plugin_dir} + DESTINATION lib${LIB_SUFFIX}/cura/${_rel_plugin_parent_dir} + PATTERN "__pycache__" EXCLUDE + PATTERN "*.qmlc" EXCLUDE + ) + list(APPEND _install_plugin_list ${_plugin_dir}) + elseif(_is_no_install_plugin) + message(STATUS "[-] PLUGIN TO REMOVE : ${_rel_plugin_dir}") + execute_process(COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/mod_bundled_packages_json.py + -d ${CMAKE_CURRENT_SOURCE_DIR}/resources/bundled_packages + ${_plugin_dir_name} + RESULT_VARIABLE _mod_json_result) + endif() +endforeach() diff --git a/cmake/mod_bundled_packages_json.py b/cmake/mod_bundled_packages_json.py new file mode 100755 index 0000000000..8a33f88a5a --- /dev/null +++ b/cmake/mod_bundled_packages_json.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python3 +# +# This script removes the given package entries in the bundled_packages JSON files. This is used by the PluginInstall +# CMake module. +# + +import argparse +import collections +import json +import os +import sys + + +def find_json_files(work_dir: str) -> list: + """ + Finds all JSON files in the given directory recursively and returns a list of those files in absolute paths. + :param work_dir: The directory to look for JSON files recursively. + :return: A list of JSON files in absolute paths that are found in the given directory. + """ + json_file_list = [] + for root, dir_names, file_names in os.walk(work_dir): + for file_name in file_names: + abs_path = os.path.abspath(os.path.join(root, file_name)) + json_file_list.append(abs_path) + return json_file_list + + +def remove_entries_from_json_file(file_path: str, entries: list) -> None: + """ + Removes the given entries from the given JSON file. The file will modified in-place. + :param file_path: The JSON file to modify. + :param entries: A list of strings as entries to remove. + :return: None + """ + try: + with open(file_path, "r", encoding = "utf-8") as f: + package_dict = json.load(f, object_hook = collections.OrderedDict) + except Exception as e: + msg = "Failed to load '{file_path}' as a JSON file. This file will be ignored Exception: {e}"\ + .format(file_path = file_path, e = e) + sys.stderr.write(msg + os.linesep) + return + + for entry in entries: + if entry in package_dict: + del package_dict[entry] + print("[INFO] Remove entry [{entry}] from [{file_path}]".format(file_path = file_path, entry = entry)) + + try: + with open(file_path, "w", encoding = "utf-8", newline = "\n") as f: + json.dump(package_dict, f, indent = 4) + except Exception as e: + msg = "Failed to write '{file_path}' as a JSON file. Exception: {e}".format(file_path = file_path, e = e) + raise IOError(msg) + + +def main() -> None: + parser = argparse.ArgumentParser("mod_bundled_packages_json") + parser.add_argument("-d", "--dir", dest = "work_dir", + help = "The directory to look for bundled packages JSON files, recursively.") + parser.add_argument("entries", metavar = "ENTRIES", type = str, nargs = "+") + + args = parser.parse_args() + + json_file_list = find_json_files(args.work_dir) + for json_file_path in json_file_list: + remove_entries_from_json_file(json_file_path, args.entries) + + +if __name__ == "__main__": + main() From 3f1a3d76eab136f818bfef8513cd42ad8f477265 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 28 Oct 2019 14:37:07 +0100 Subject: [PATCH 60/91] Add more docs CURA-6557 --- cmake/CuraPluginInstall.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/CuraPluginInstall.cmake b/cmake/CuraPluginInstall.cmake index 2eadb6c18f..d35e74acb8 100644 --- a/cmake/CuraPluginInstall.cmake +++ b/cmake/CuraPluginInstall.cmake @@ -60,8 +60,9 @@ foreach(_plugin_json_path ${_plugin_json_list}) string(TOLOWER "${_plugin_dir_name}" _plugin_dir_name_lowercase) # Check if this plugin needs to be skipped for installation - set(_add_plugin ON) - set(_is_no_install_plugin OFF) + set(_add_plugin ON) # Indicates if this plugin should be added to the build or not. + set(_is_no_install_plugin OFF) # If this plugin will not be added, this indicates if it's because the plugin is + # specified in the NO_INSTALL_PLUGINS list. if(_no_install_plugin_list) if("${_plugin_dir_name_lowercase}" IN_LIST _no_install_plugin_list) set(_add_plugin OFF) From 95350cda51f35a1b4552846dafb4ceef77edc6bd Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 28 Oct 2019 16:04:43 +0100 Subject: [PATCH 61/91] Revert "Add a few process events to setActiveMachine to make it react more smooth" This reverts commit 27701f765310bb58dc76373abe97a02f84ae5a2d. After discussion with Nallath we've decided that it wasn't that noticeable and could temporarily display wrong names in the interface. We've decided to undo it for now. Contributes to issue CURA-6932. --- cura/Settings/MachineManager.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 69fa907d8b..aa48e39410 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -291,8 +291,7 @@ class MachineManager(QObject): @pyqtSlot(str) def setActiveMachine(self, stack_id: str) -> None: self.blurSettings.emit() # Ensure no-one has focus. - self._application.processEvents() - + container_registry = CuraContainerRegistry.getInstance() containers = container_registry.findContainerStacks(id = stack_id) if not containers: @@ -302,11 +301,9 @@ class MachineManager(QObject): # Make sure that the default machine actions for this machine have been added self._application.getMachineActionManager().addDefaultMachineActions(global_stack) - self._application.processEvents() extruder_manager = ExtruderManager.getInstance() extruder_manager.fixSingleExtrusionMachineExtruderDefinition(global_stack) - self._application.processEvents() if not global_stack.isValid(): # Mark global stack as invalid ConfigurationErrorMessage.getInstance().addFaultyContainers(global_stack.getId()) @@ -316,12 +313,8 @@ class MachineManager(QObject): extruder_manager.addMachineExtruders(global_stack) self._application.setGlobalContainerStack(global_stack) - self._application.processEvents() - # Switch to the first enabled extruder self.updateDefaultExtruder() - - self._application.processEvents() default_extruder_position = int(self.defaultExtruderPosition) old_active_extruder_index = extruder_manager.activeExtruderIndex extruder_manager.setActiveExtruderIndex(default_extruder_position) From 7204deac0ccc3b5f7bcd7dbe84f07d835225a4ff Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 28 Oct 2019 16:07:35 +0100 Subject: [PATCH 62/91] Rename function to beter reflect what it does CURA-6932 --- cura/Settings/SettingInheritanceManager.py | 2 +- resources/qml/Settings/SettingView.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/Settings/SettingInheritanceManager.py b/cura/Settings/SettingInheritanceManager.py index 780b2c8705..8be0813d0a 100644 --- a/cura/Settings/SettingInheritanceManager.py +++ b/cura/Settings/SettingInheritanceManager.py @@ -88,7 +88,7 @@ class SettingInheritanceManager(QObject): self.settingsWithIntheritanceChanged.emit() @pyqtSlot() - def forceUpdate(self) -> None: + def scheduleUpdate(self) -> None: self._update_timer.start() def _onActiveExtruderChanged(self) -> None: diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index 53e432ecae..5aea939728 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -241,7 +241,7 @@ Item CuraApplication.setExpandedCategories(expanded) } } - onVisibilityChanged: Cura.SettingInheritanceManager.forceUpdate() + onVisibilityChanged: Cura.SettingInheritanceManager.scheduleUpdate() } property int indexWithFocus: -1 From 26ba0e645a973d051347902affc1baf3d43fe837 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 28 Oct 2019 16:33:08 +0100 Subject: [PATCH 63/91] Ensure that first start machine actions model gets initialized CURA-6932 --- cura/CuraApplication.py | 2 ++ cura/Machines/Models/FirstStartMachineActionsModel.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 4ce8eadaf8..f88467d651 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -880,6 +880,8 @@ class CuraApplication(QtApplication): def getFirstStartMachineActionsModel(self, *args) -> "FirstStartMachineActionsModel": if self._first_start_machine_actions_model is None: self._first_start_machine_actions_model = FirstStartMachineActionsModel(self, parent = self) + if self.started: + self._first_start_machine_actions_model.initialize() return self._first_start_machine_actions_model @pyqtSlot(result = QObject) diff --git a/cura/Machines/Models/FirstStartMachineActionsModel.py b/cura/Machines/Models/FirstStartMachineActionsModel.py index ce0e9bf856..92caed7b12 100644 --- a/cura/Machines/Models/FirstStartMachineActionsModel.py +++ b/cura/Machines/Models/FirstStartMachineActionsModel.py @@ -33,11 +33,11 @@ class FirstStartMachineActionsModel(ListModel): self._current_action_index = 0 self._application = application - self._application.initializationFinished.connect(self._initialize) + self._application.initializationFinished.connect(self.initialize) self._previous_global_stack = None - def _initialize(self) -> None: + def initialize(self) -> None: self._application.getMachineManager().globalContainerChanged.connect(self._update) self._update() From 8154ca5f7ced9a2a1ba96af2d627f3faef9f1f60 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 28 Oct 2019 16:42:24 +0100 Subject: [PATCH 64/91] Improve translations for option for heated build plate Eigenbouw is typisch zo'n woord bedacht door iemand die helemaal verzadigd is na een lange dag vertalen... Discovered while working on issue CURA-6932. --- resources/i18n/nl_NL/cura.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index d15742a101..3059e4aa1d 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -2795,7 +2795,7 @@ msgstr "Selecteer eventuele upgrades die op deze Ultimaker Original zijn uitgevo #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:41 msgctxt "@label" msgid "Heated Build Plate (official kit or self-built)" -msgstr "Verwarmd Platform (officiële kit of eigenbouw)" +msgstr "Verwarmd Platform (officiële kit of zelf gebouwd)" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:119 msgctxt "@label:MonitorStatus" From 007add7fc2dbf70e7a0070d731bbe43a481f52a3 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 29 Oct 2019 10:55:47 +0100 Subject: [PATCH 65/91] Prevent undefined qml warnings CURA-6935 --- resources/qml/Settings/SettingExtruder.qml | 2 +- resources/qml/Settings/SettingItem.qml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/qml/Settings/SettingExtruder.qml b/resources/qml/Settings/SettingExtruder.qml index 7162744ae5..ff57381ddf 100644 --- a/resources/qml/Settings/SettingExtruder.qml +++ b/resources/qml/Settings/SettingExtruder.qml @@ -75,7 +75,7 @@ SettingItem base.setActiveFocusToNextSetting(false) } - currentIndex: propertyProvider.properties.value + currentIndex: propertyProvider.properties.value !== undefined ? propertyProvider.properties.value : 0 property string color: "#fff" diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index e1b3f5a098..9986c7eaf8 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -277,6 +277,10 @@ Item // Observed when loading workspace, probably when SettingItems are removed. return false } + if(globalPropertyProvider.properties.limit_to_extruder === undefined) + { + return false + } return Cura.SettingInheritanceManager.getOverridesForExtruder(definition.key, String(globalPropertyProvider.properties.limit_to_extruder)).indexOf(definition.key) >= 0 } From 18167c7a7129b0b32be00c828882d700e4e2d320 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 29 Oct 2019 11:02:54 +0100 Subject: [PATCH 66/91] Fix prime position of right extruder --- resources/extruders/ultimaker_s3_extruder_right.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/extruders/ultimaker_s3_extruder_right.def.json b/resources/extruders/ultimaker_s3_extruder_right.def.json index 6771e1c0a8..7199710327 100644 --- a/resources/extruders/ultimaker_s3_extruder_right.def.json +++ b/resources/extruders/ultimaker_s3_extruder_right.def.json @@ -22,7 +22,7 @@ "machine_extruder_end_pos_x": { "default_value": 180 }, "machine_extruder_end_pos_y": { "default_value": 180 }, "machine_nozzle_head_distance": { "default_value": 4.2 }, - "extruder_prime_pos_x": { "default_value": 180 }, + "extruder_prime_pos_x": { "value": "machine_width + 3" }, "extruder_prime_pos_y": { "default_value": 6 }, "extruder_prime_pos_z": { "default_value": 2 } } From 7b9ababc11394091f727656725fae3de75a9978d Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 29 Oct 2019 11:14:49 +0100 Subject: [PATCH 67/91] Use Doxygen-style docs CURA-6557 --- cmake/mod_bundled_packages_json.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/cmake/mod_bundled_packages_json.py b/cmake/mod_bundled_packages_json.py index 8a33f88a5a..6423591f57 100755 --- a/cmake/mod_bundled_packages_json.py +++ b/cmake/mod_bundled_packages_json.py @@ -11,12 +11,11 @@ import os import sys +## Finds all JSON files in the given directory recursively and returns a list of those files in absolute paths. +# +# \param work_dir The directory to look for JSON files recursively. +# \return A list of JSON files in absolute paths that are found in the given directory. def find_json_files(work_dir: str) -> list: - """ - Finds all JSON files in the given directory recursively and returns a list of those files in absolute paths. - :param work_dir: The directory to look for JSON files recursively. - :return: A list of JSON files in absolute paths that are found in the given directory. - """ json_file_list = [] for root, dir_names, file_names in os.walk(work_dir): for file_name in file_names: @@ -25,13 +24,12 @@ def find_json_files(work_dir: str) -> list: return json_file_list +## Removes the given entries from the given JSON file. The file will modified in-place. +# +# \param file_path The JSON file to modify. +# \param entries A list of strings as entries to remove. +# \return None def remove_entries_from_json_file(file_path: str, entries: list) -> None: - """ - Removes the given entries from the given JSON file. The file will modified in-place. - :param file_path: The JSON file to modify. - :param entries: A list of strings as entries to remove. - :return: None - """ try: with open(file_path, "r", encoding = "utf-8") as f: package_dict = json.load(f, object_hook = collections.OrderedDict) From 7cd4158ac197dff4b259e6528fc1c9e7b87b873d Mon Sep 17 00:00:00 2001 From: THeijmans Date: Wed, 30 Oct 2019 09:09:17 +0100 Subject: [PATCH 68/91] Adds Ultimaker S3 intent profiles As discussed 29-10-2019. --- ...um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg | 34 +++++++++++++++++++ ..._s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg | 34 +++++++++++++++++++ ...aa0.4_ABS_Normal_Quality_Accurate.inst.cfg | 34 +++++++++++++++++++ ...um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg | 34 +++++++++++++++++++ ..._s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg | 34 +++++++++++++++++++ ...aa0.4_PLA_Normal_Quality_Accurate.inst.cfg | 34 +++++++++++++++++++ ...m_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg | 34 +++++++++++++++++++ ...s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg | 34 +++++++++++++++++++ ...a0.4_TPLA_Normal_Quality_Accurate.inst.cfg | 34 +++++++++++++++++++ 9 files changed, 306 insertions(+) create mode 100644 resources/intent/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg create mode 100644 resources/intent/um_s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg create mode 100644 resources/intent/um_s3_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg create mode 100644 resources/intent/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg create mode 100644 resources/intent/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg create mode 100644 resources/intent/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg create mode 100644 resources/intent/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg create mode 100644 resources/intent/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg create mode 100644 resources/intent/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg diff --git a/resources/intent/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg b/resources/intent/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg new file mode 100644 index 0000000000..b41f636e63 --- /dev/null +++ b/resources/intent/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg @@ -0,0 +1,34 @@ +[general] +version = 4 +name = Quick +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +intent_category = smooth +quality_type = draft +material = generic_abs +variant = AA 0.4 + +[values] +speed_infill = =speed_print +speed_topbottom = =speed_print +speed_wall = =speed_print +speed_wall_0 = =speed_wall +speed_wall_x = =speed_wall +speed_layer_0 = 20 +top_bottom_thickness = =wall_thickness +wall_thickness = =line_width * 2 +fill_perimeter_gaps = nowhere +infill_sparse_density = 15 +infill_line_width = =line_width +jerk_print = 30 +jerk_infill = =jerk_print +jerk_topbottom = =jerk_print +jerk_wall = =jerk_print +jerk_wall_0 = =jerk_wall +jerk_wall_x = =jerk_wall +jerk_layer_0 = 5 +line_width = =machine_nozzle_size +wall_line_width_x = =line_width diff --git a/resources/intent/um_s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg b/resources/intent/um_s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg new file mode 100644 index 0000000000..b3d58c0df9 --- /dev/null +++ b/resources/intent/um_s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg @@ -0,0 +1,34 @@ +[general] +version = 4 +name = Accurate +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +intent_category = engineering +quality_type = fast +material = generic_abs +variant = AA 0.4 + +[values] +infill_line_width = =line_width +jerk_print = 30 +jerk_infill = =jerk_print +jerk_topbottom = =jerk_print +jerk_wall = =jerk_print +jerk_wall_0 = =jerk_wall +jerk_wall_x = =jerk_wall +jerk_layer_0 = 5 +line_width = =machine_nozzle_size +speed_print = 30 +speed_infill = =speed_print +speed_layer_0 = 20 +speed_topbottom = =speed_print +speed_wall = =speed_print +speed_wall_0 = =speed_wall +speed_wall_x = =speed_wall +top_bottom_thickness = =wall_thickness +wall_line_width_x = =line_width +wall_thickness = =line_width * 3 +xy_offset = =- layer_height * 0.2 diff --git a/resources/intent/um_s3_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg b/resources/intent/um_s3_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg new file mode 100644 index 0000000000..c85b3fce0e --- /dev/null +++ b/resources/intent/um_s3_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg @@ -0,0 +1,34 @@ +[general] +version = 4 +name = Accurate +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +intent_category = engineering +quality_type = normal +material = generic_abs +variant = AA 0.4 + +[values] +infill_line_width = =line_width +jerk_print = 30 +jerk_infill = =jerk_print +jerk_topbottom = =jerk_print +jerk_wall = =jerk_print +jerk_wall_0 = =jerk_wall +jerk_wall_x = =jerk_wall +jerk_layer_0 = 5 +line_width = =machine_nozzle_size +speed_print = 30 +speed_infill = =speed_print +speed_layer_0 = 20 +speed_topbottom = =speed_print +speed_wall = =speed_print +speed_wall_0 = =speed_wall +speed_wall_x = =speed_wall +top_bottom_thickness = =wall_thickness +wall_line_width_x = =line_width +wall_thickness = =line_width * 3 +xy_offset = =- layer_height * 0.2 diff --git a/resources/intent/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg b/resources/intent/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg new file mode 100644 index 0000000000..8095a53141 --- /dev/null +++ b/resources/intent/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg @@ -0,0 +1,34 @@ +[general] +version = 4 +name = Quick +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +intent_category = smooth +quality_type = draft +material = generic_pla +variant = AA 0.4 + +[values] +speed_infill = =speed_print +speed_topbottom = =speed_print +speed_wall = =speed_print +speed_wall_0 = =speed_wall +speed_wall_x = =speed_wall +speed_layer_0 = 20 +top_bottom_thickness = =wall_thickness +wall_thickness = =line_width * 2 +fill_perimeter_gaps = nowhere +infill_sparse_density = 15 +infill_line_width = =line_width +jerk_print = 30 +jerk_infill = =jerk_print +jerk_topbottom = =jerk_print +jerk_wall = =jerk_print +jerk_wall_0 = =jerk_wall +jerk_wall_x = =jerk_wall +jerk_layer_0 = 5 +line_width = =machine_nozzle_size +wall_line_width_x = =line_width diff --git a/resources/intent/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg b/resources/intent/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg new file mode 100644 index 0000000000..1f38e12c42 --- /dev/null +++ b/resources/intent/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg @@ -0,0 +1,34 @@ +[general] +version = 4 +name = Accurate +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +intent_category = engineering +quality_type = fast +material = generic_pla +variant = AA 0.4 + +[values] +infill_line_width = =line_width +jerk_print = 30 +jerk_infill = =jerk_print +jerk_topbottom = =jerk_print +jerk_wall = =jerk_print +jerk_wall_0 = =jerk_wall +jerk_wall_x = =jerk_wall +jerk_layer_0 = 5 +line_width = =machine_nozzle_size +speed_print = 30 +speed_infill = =speed_print +speed_layer_0 = 20 +speed_topbottom = =speed_print +speed_wall = =speed_print +speed_wall_0 = =speed_wall +speed_wall_x = =speed_wall +top_bottom_thickness = =wall_thickness +wall_line_width_x = =line_width +wall_thickness = =line_width * 3 +xy_offset = =- layer_height * 0.2 diff --git a/resources/intent/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg b/resources/intent/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg new file mode 100644 index 0000000000..e529ff7656 --- /dev/null +++ b/resources/intent/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg @@ -0,0 +1,34 @@ +[general] +version = 4 +name = Accurate +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +intent_category = engineering +quality_type = normal +material = generic_pla +variant = AA 0.4 + +[values] +infill_line_width = =line_width +jerk_print = 30 +jerk_infill = =jerk_print +jerk_topbottom = =jerk_print +jerk_wall = =jerk_print +jerk_wall_0 = =jerk_wall +jerk_wall_x = =jerk_wall +jerk_layer_0 = 5 +line_width = =machine_nozzle_size +speed_print = 30 +speed_infill = =speed_print +speed_layer_0 = 20 +speed_topbottom = =speed_print +speed_wall = =speed_print +speed_wall_0 = =speed_wall +speed_wall_x = =speed_wall +top_bottom_thickness = =wall_thickness +wall_line_width_x = =line_width +wall_thickness = =line_width * 3 +xy_offset = =- layer_height * 0.2 diff --git a/resources/intent/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg b/resources/intent/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg new file mode 100644 index 0000000000..edae808491 --- /dev/null +++ b/resources/intent/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg @@ -0,0 +1,34 @@ +[general] +version = 4 +name = Quick +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +intent_category = smooth +quality_type = draft +material = generic_tough_pla +variant = AA 0.4 + +[values] +speed_infill = =speed_print +speed_topbottom = =speed_print +speed_wall = =speed_print +speed_wall_0 = =speed_wall +speed_wall_x = =speed_wall +speed_layer_0 = 20 +top_bottom_thickness = =wall_thickness +wall_thickness = =line_width * 2 +fill_perimeter_gaps = nowhere +infill_sparse_density = 15 +infill_line_width = =line_width +jerk_print = 30 +jerk_infill = =jerk_print +jerk_topbottom = =jerk_print +jerk_wall = =jerk_print +jerk_wall_0 = =jerk_wall +jerk_wall_x = =jerk_wall +jerk_layer_0 = 5 +line_width = =machine_nozzle_size +wall_line_width_x = =line_width diff --git a/resources/intent/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg b/resources/intent/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg new file mode 100644 index 0000000000..8c6727bdb0 --- /dev/null +++ b/resources/intent/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg @@ -0,0 +1,34 @@ +[general] +version = 4 +name = Accurate +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +intent_category = engineering +quality_type = fast +material = generic_tough_pla +variant = AA 0.4 + +[values] +infill_line_width = =line_width +jerk_print = 30 +jerk_infill = =jerk_print +jerk_topbottom = =jerk_print +jerk_wall = =jerk_print +jerk_wall_0 = =jerk_wall +jerk_wall_x = =jerk_wall +jerk_layer_0 = 5 +line_width = =machine_nozzle_size +speed_print = 30 +speed_infill = =speed_print +speed_layer_0 = 20 +speed_topbottom = =speed_print +speed_wall = =speed_print +speed_wall_0 = =speed_wall +speed_wall_x = =speed_wall +top_bottom_thickness = =wall_thickness +wall_line_width_x = =line_width +wall_thickness = =line_width * 3 +xy_offset = =- layer_height * 0.2 diff --git a/resources/intent/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg b/resources/intent/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg new file mode 100644 index 0000000000..dd64f3f185 --- /dev/null +++ b/resources/intent/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg @@ -0,0 +1,34 @@ +[general] +version = 4 +name = Accurate +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +intent_category = engineering +quality_type = normal +material = generic_tough_pla +variant = AA 0.4 + +[values] +infill_line_width = =line_width +jerk_print = 30 +jerk_infill = =jerk_print +jerk_topbottom = =jerk_print +jerk_wall = =jerk_print +jerk_wall_0 = =jerk_wall +jerk_wall_x = =jerk_wall +jerk_layer_0 = 5 +line_width = =machine_nozzle_size +speed_print = 30 +speed_infill = =speed_print +speed_layer_0 = 20 +speed_topbottom = =speed_print +speed_wall = =speed_print +speed_wall_0 = =speed_wall +speed_wall_x = =speed_wall +top_bottom_thickness = =wall_thickness +wall_line_width_x = =line_width +wall_thickness = =line_width * 3 +xy_offset = =- layer_height * 0.2 From 958a92280845ba9833ca3dae5b86cecd8b0aaf24 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Wed, 30 Oct 2019 10:54:22 +0100 Subject: [PATCH 69/91] Cleanup debugging things for cura-6874 CURA-6874 --- plugins/PreviewStage/PreviewMain.qml | 11 ++--------- .../SimulationView/SimulationViewMainComponent.qml | 14 +++++++------- resources/qml/Cura.qml | 5 ++--- 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/plugins/PreviewStage/PreviewMain.qml b/plugins/PreviewStage/PreviewMain.qml index 719b5c0c0b..9eac1b9d40 100644 --- a/plugins/PreviewStage/PreviewMain.qml +++ b/plugins/PreviewStage/PreviewMain.qml @@ -17,21 +17,14 @@ Item property var safeArea: parent // Subtract the actionPanel from the safe area. This way the view won't draw interface elements under/over it - Rectangle + Item { id: childSafeArea x: safeArea.x - parent.x y: safeArea.y - parent.y width: actionPanelWidget.x - x height: actionPanelWidget.y - y - visible: false // true for debug only - color:"#800000FF" - - Component.onCompleted: { - print("parent", parent.x, parent.y) - print("parent safe", safeArea.x, safeArea.y) - print("previewmain safe", childSafeArea.x, childSafeArea.y, childSafeArea.width, childSafeArea.height) - } + visible: false } Loader diff --git a/plugins/SimulationView/SimulationViewMainComponent.qml b/plugins/SimulationView/SimulationViewMainComponent.qml index 0cd2027dfa..3b70c69e82 100644 --- a/plugins/SimulationView/SimulationViewMainComponent.qml +++ b/plugins/SimulationView/SimulationViewMainComponent.qml @@ -18,10 +18,10 @@ Item property bool isSimulationPlaying: false - readonly property var layerSliderSafeYMin: safeArea.y - readonly property var layerSliderSafeYMax: safeArea.y + safeArea.height - readonly property var pathSliderSafeXMin: safeArea.x + playButton.width //todo playbutton margin or group button + slider in an item? - readonly property var pathSliderSafeXMax: safeArea.x + safeArea.width + readonly property real layerSliderSafeYMin: safeArea.y + readonly property real layerSliderSafeYMax: safeArea.y + safeArea.height + readonly property real pathSliderSafeXMin: safeArea.x + playButton.width + readonly property real pathSliderSafeXMax: safeArea.x + safeArea.width visible: UM.SimulationView.layerActivity && CuraApplication.platformActivity @@ -30,9 +30,9 @@ Item { id: pathSlider - readonly property var preferredWidth: UM.Theme.getSize("slider_layerview_size").height // not a typo, should be as long as layerview slider - readonly property var margin: UM.Theme.getSize("default_margin").width - readonly property var pathSliderSafeWidth: pathSliderSafeXMax - pathSliderSafeXMin + readonly property real preferredWidth: UM.Theme.getSize("slider_layerview_size").height // not a typo, should be as long as layerview slider + readonly property real margin: UM.Theme.getSize("default_margin").width + readonly property real pathSliderSafeWidth: pathSliderSafeXMax - pathSliderSafeXMin height: UM.Theme.getSize("slider_handle").width width: preferredWidth + margin * 2 < pathSliderSafeWidth ? preferredWidth : pathSliderSafeWidth - margin * 2 diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 1f7ccf39a5..abae84e7f0 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -302,14 +302,13 @@ UM.MainWindow } // A hint for the loaded content view. Overlay items / controls can safely be placed in this area - Rectangle { + Item { id: mainSafeArea anchors.left: viewOrientationControls.right anchors.right: main.right anchors.top: main.top anchors.bottom: main.bottom - visible: false // set to true for debugging only - color:"#8000FF00" + visible: false } Loader From d63499fb245b62385de54532f90545791eeb7f46 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Wed, 30 Oct 2019 10:57:03 +0100 Subject: [PATCH 70/91] Remove redundant visibility properties from Items CURA-6874 --- plugins/PreviewStage/PreviewMain.qml | 1 - resources/qml/Cura.qml | 1 - 2 files changed, 2 deletions(-) diff --git a/plugins/PreviewStage/PreviewMain.qml b/plugins/PreviewStage/PreviewMain.qml index 9eac1b9d40..2926f0d012 100644 --- a/plugins/PreviewStage/PreviewMain.qml +++ b/plugins/PreviewStage/PreviewMain.qml @@ -24,7 +24,6 @@ Item y: safeArea.y - parent.y width: actionPanelWidget.x - x height: actionPanelWidget.y - y - visible: false } Loader diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index abae84e7f0..f13f9e0ce9 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -308,7 +308,6 @@ UM.MainWindow anchors.right: main.right anchors.top: main.top anchors.bottom: main.bottom - visible: false } Loader From 1284d9fe8d726e46b556caa8f2f390dc7d65220c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 30 Oct 2019 11:27:46 +0100 Subject: [PATCH 71/91] Fix setting prefered material on machine creation The previous check would occasionaly set duplicated materials --- cura/Machines/VariantNode.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Machines/VariantNode.py b/cura/Machines/VariantNode.py index 334a01158b..b93be9773e 100644 --- a/cura/Machines/VariantNode.py +++ b/cura/Machines/VariantNode.py @@ -83,7 +83,7 @@ class VariantNode(ContainerNode): # if there is no match. def preferredMaterial(self, approximate_diameter: int) -> MaterialNode: for base_material, material_node in self.materials.items(): - if self.machine.preferred_material in base_material and approximate_diameter == int(material_node.getMetaDataEntry("approximate_diameter")): + if self.machine.preferred_material == base_material and approximate_diameter == int(material_node.getMetaDataEntry("approximate_diameter")): return material_node # First fallback: Choose any material with matching diameter. for material_node in self.materials.values(): From d3809f883016c1e1023c6ce8899d47ed2b842748 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 30 Oct 2019 13:40:13 +0100 Subject: [PATCH 72/91] Replace logo in the top left corner This aligns it with the other Ultimaker products. Sorry, overruled by higher up. Corporate things. Contributes to issue CURA-6934. --- resources/themes/cura-light/images/logo.svg | 53 +++++++-------------- 1 file changed, 17 insertions(+), 36 deletions(-) diff --git a/resources/themes/cura-light/images/logo.svg b/resources/themes/cura-light/images/logo.svg index 814b157e2a..24d8da8c46 100644 --- a/resources/themes/cura-light/images/logo.svg +++ b/resources/themes/cura-light/images/logo.svg @@ -1,37 +1,18 @@ - - - - - - - + + + + + + + + + + + + + + + + + From d8e1402b68c64698b4a1328cebf13dda9f760df7 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 30 Oct 2019 13:50:42 +0100 Subject: [PATCH 73/91] Make logo larger Seems to be more towards what the rest of the products show. Contributes to issue CURA-6934. --- resources/themes/cura-light/theme.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 0d9f624805..055f176b33 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -483,7 +483,7 @@ "default_lining": [0.08, 0.08], "default_arrow": [0.8, 0.8], - "logo": [8, 1.75], + "logo": [16, 3.5], "wide_margin": [2.0, 2.0], "thick_margin": [1.71, 1.43], From 60d59148e802316b1730906e78444a45762495cc Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 30 Oct 2019 14:05:35 +0100 Subject: [PATCH 74/91] Fix typo in the R Contributes to issue CURA-6934. --- resources/themes/cura-light/images/logo.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/themes/cura-light/images/logo.svg b/resources/themes/cura-light/images/logo.svg index 24d8da8c46..611840e248 100644 --- a/resources/themes/cura-light/images/logo.svg +++ b/resources/themes/cura-light/images/logo.svg @@ -12,7 +12,7 @@ - + From ce31e9cffeb4ab442ac51104fa3a6e6969d0f8d4 Mon Sep 17 00:00:00 2001 From: THeijmans Date: Thu, 31 Oct 2019 11:15:10 +0100 Subject: [PATCH 75/91] Adds visual intents and create subdirectories per printer. As discussed 31-10-2019. --- .../um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg | 0 .../um_s3_aa0.4_ABS_Draft_Visual.inst.cfg | 17 +++++++++++++++++ ...um_s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg | 0 .../um_s3_aa0.4_ABS_Fast_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s3_aa0.4_ABS_High_Visual.inst.cfg | 17 +++++++++++++++++ ...3_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg | 0 .../um_s3_aa0.4_ABS_Normal_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg | 0 .../um_s3_aa0.4_PLA_Draft_Visual.inst.cfg | 17 +++++++++++++++++ ...um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg | 0 .../um_s3_aa0.4_PLA_Fast_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s3_aa0.4_PLA_High_Visual.inst.cfg | 17 +++++++++++++++++ ...3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg | 0 .../um_s3_aa0.4_PLA_Normal_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg | 0 .../um_s3_aa0.4_TPLA_Draft_Visual.inst.cfg | 17 +++++++++++++++++ ...m_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg | 0 .../um_s3_aa0.4_TPLA_Fast_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s3_aa0.4_TPLA_High_Visual.inst.cfg | 17 +++++++++++++++++ ..._aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg | 0 .../um_s3_aa0.4_TPLA_Normal_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg | 0 .../um_s5_aa0.4_ABS_Draft_Visual.inst.cfg | 16 ++++++++++++++++ ...um_s5_aa0.4_ABS_Fast_Print_Accurate.inst.cfg | 0 .../um_s5_aa0.4_ABS_Fast_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s5_aa0.4_ABS_High_Visual.inst.cfg | 17 +++++++++++++++++ ...5_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg | 0 .../um_s5_aa0.4_ABS_Normal_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg | 0 .../um_s5_aa0.4_PLA_Draft_Visual.inst.cfg | 17 +++++++++++++++++ ...um_s5_aa0.4_PLA_Fast_Print_Accurate.inst.cfg | 0 .../um_s5_aa0.4_PLA_Fast_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s5_aa0.4_PLA_High_Visual.inst.cfg | 17 +++++++++++++++++ ...5_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg | 0 .../um_s5_aa0.4_PLA_Normal_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg | 0 .../um_s5_aa0.4_TPLA_Draft_Visual.inst.cfg | 16 ++++++++++++++++ ...m_s5_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg | 0 .../um_s5_aa0.4_TPLA_Fast_Visual.inst.cfg | 17 +++++++++++++++++ .../um_s5_aa0.4_TPLA_High_Visual.inst.cfg | 17 +++++++++++++++++ ..._aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg | 0 .../um_s5_aa0.4_TPLA_Normal_Visual.inst.cfg | 17 +++++++++++++++++ 42 files changed, 406 insertions(+) rename resources/intent/{ => ultimaker_s3}/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Visual.inst.cfg rename resources/intent/{ => ultimaker_s3}/um_s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Fast_Visual.inst.cfg create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_High_Visual.inst.cfg rename resources/intent/{ => ultimaker_s3}/um_s3_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Normal_Visual.inst.cfg rename resources/intent/{ => ultimaker_s3}/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Visual.inst.cfg rename resources/intent/{ => ultimaker_s3}/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Fast_Visual.inst.cfg create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_High_Visual.inst.cfg rename resources/intent/{ => ultimaker_s3}/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Normal_Visual.inst.cfg rename resources/intent/{ => ultimaker_s3}/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Visual.inst.cfg rename resources/intent/{ => ultimaker_s3}/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Fast_Visual.inst.cfg create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_High_Visual.inst.cfg rename resources/intent/{ => ultimaker_s3}/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Normal_Visual.inst.cfg rename resources/intent/{ => ultimaker_s5}/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Visual.inst.cfg rename resources/intent/{ => ultimaker_s5}/um_s5_aa0.4_ABS_Fast_Print_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Visual.inst.cfg create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_High_Visual.inst.cfg rename resources/intent/{ => ultimaker_s5}/um_s5_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Visual.inst.cfg rename resources/intent/{ => ultimaker_s5}/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Visual.inst.cfg rename resources/intent/{ => ultimaker_s5}/um_s5_aa0.4_PLA_Fast_Print_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Visual.inst.cfg create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_High_Visual.inst.cfg rename resources/intent/{ => ultimaker_s5}/um_s5_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Visual.inst.cfg rename resources/intent/{ => ultimaker_s5}/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Visual.inst.cfg rename resources/intent/{ => ultimaker_s5}/um_s5_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Visual.inst.cfg create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_High_Visual.inst.cfg rename resources/intent/{ => ultimaker_s5}/um_s5_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg (100%) create mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Visual.inst.cfg diff --git a/resources/intent/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg similarity index 100% rename from resources/intent/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg rename to resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Visual.inst.cfg new file mode 100644 index 0000000000..49672fcb72 --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +intent_category = visual +quality_type = draft +material = generic_abs +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg rename to resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Fast_Print_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Fast_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Fast_Visual.inst.cfg new file mode 100644 index 0000000000..35d0d86ab3 --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Fast_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = fast +intent_category = visual +material = generic_abs +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_High_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_High_Visual.inst.cfg new file mode 100644 index 0000000000..2b656dbc35 --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_High_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = high +intent_category = visual +material = generic_abs +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s3_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s3_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg rename to resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Normal_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Normal_Visual.inst.cfg new file mode 100644 index 0000000000..aff1d9d9f0 --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Normal_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = normal +intent_category = visual +material = generic_abs +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg similarity index 100% rename from resources/intent/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg rename to resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Visual.inst.cfg new file mode 100644 index 0000000000..0c39d43c6a --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = draft +intent_category = visual +material = generic_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg rename to resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Fast_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Fast_Visual.inst.cfg new file mode 100644 index 0000000000..92ea0837fe --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Fast_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = fast +intent_category = visual +material = generic_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_High_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_High_Visual.inst.cfg new file mode 100644 index 0000000000..97c7ab325c --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_High_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = high +intent_category = visual +material = generic_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg rename to resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Normal_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Normal_Visual.inst.cfg new file mode 100644 index 0000000000..e012264294 --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Normal_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = normal +intent_category = visual +material = generic_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg similarity index 100% rename from resources/intent/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg rename to resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Visual.inst.cfg new file mode 100644 index 0000000000..f52eb22ec2 --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = draft +intent_category = visual +material = generic_tough_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg rename to resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Fast_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Fast_Visual.inst.cfg new file mode 100644 index 0000000000..9debbb6d43 --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Fast_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = fast +intent_category = visual +material = generic_tough_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_High_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_High_Visual.inst.cfg new file mode 100644 index 0000000000..a57b040660 --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_High_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = high +intent_category = visual +material = generic_tough_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg rename to resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Normal_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Normal_Visual.inst.cfg new file mode 100644 index 0000000000..0f31bcce25 --- /dev/null +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Normal_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s3 + +[metadata] +setting_version = 10 +type = intent +quality_type = normal +intent_category = visual +material = generic_tough_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg similarity index 100% rename from resources/intent/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg rename to resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Visual.inst.cfg new file mode 100644 index 0000000000..4f7ee148f9 --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Visual.inst.cfg @@ -0,0 +1,16 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +intent_category = visualquality_type = draft +material = generic_abs +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s5_aa0.4_ABS_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s5_aa0.4_ABS_Fast_Print_Accurate.inst.cfg rename to resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Visual.inst.cfg new file mode 100644 index 0000000000..0f10b8416b --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +quality_type = fast +intent_category = visual +material = generic_abs +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_High_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_High_Visual.inst.cfg new file mode 100644 index 0000000000..b6ea956563 --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_High_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +quality_type = high +intent_category = visual +material = generic_abs +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s5_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s5_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg rename to resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Visual.inst.cfg new file mode 100644 index 0000000000..f26003ca30 --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +quality_type = normal +intent_category = visual +material = generic_abs +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg similarity index 100% rename from resources/intent/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg rename to resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Visual.inst.cfg new file mode 100644 index 0000000000..a71bb898d3 --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +quality_type = draft +intent_category = visual +material = generic_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s5_aa0.4_PLA_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s5_aa0.4_PLA_Fast_Print_Accurate.inst.cfg rename to resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Visual.inst.cfg new file mode 100644 index 0000000000..b20fdcb791 --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +quality_type = fast +intent_category = visual +material = generic_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_High_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_High_Visual.inst.cfg new file mode 100644 index 0000000000..3fc0006b3f --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_High_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +quality_type = high +intent_category = visual +material = generic_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s5_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s5_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg rename to resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Visual.inst.cfg new file mode 100644 index 0000000000..4138f62694 --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +quality_type = normal +intent_category = visual +material = generic_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg similarity index 100% rename from resources/intent/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg rename to resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Visual.inst.cfg new file mode 100644 index 0000000000..b522d262af --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Visual.inst.cfg @@ -0,0 +1,16 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +intent_category = visual +material = generic_tough_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s5_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s5_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg rename to resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Visual.inst.cfg new file mode 100644 index 0000000000..3f5d3c566e --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +quality_type = fast +intent_category = visual +material = generic_tough_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_High_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_High_Visual.inst.cfg new file mode 100644 index 0000000000..3b5d9fb3db --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_High_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +quality_type = high +intent_category = visual +material = generic_tough_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness diff --git a/resources/intent/um_s5_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg similarity index 100% rename from resources/intent/um_s5_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg rename to resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Visual.inst.cfg new file mode 100644 index 0000000000..d71bb76b35 --- /dev/null +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Visual.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Visual +definition = ultimaker_s5 + +[metadata] +setting_version = 10 +type = intent +quality_type = normal +intent_category = visual +material = generic_tough_pla +variant = AA 0.4 + +[values] +speed_infill = 50 +wall_thickness = =wall_line_width * 3 +top_bottom_thickness = =wall_thickness From f679b557dc391cc362a123c4ddfae69c492c4be9 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 31 Oct 2019 11:51:40 +0100 Subject: [PATCH 76/91] Add visual quality to model to be translatable CURA-6942 --- cura/Machines/Models/IntentCategoryModel.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura/Machines/Models/IntentCategoryModel.py b/cura/Machines/Models/IntentCategoryModel.py index 0ff52b325a..20d07864bf 100644 --- a/cura/Machines/Models/IntentCategoryModel.py +++ b/cura/Machines/Models/IntentCategoryModel.py @@ -35,16 +35,20 @@ class IntentCategoryModel(ListModel): _translations["default"] = { "name": catalog.i18nc("@label", "Default") } + _translations["visual"] = { + "name": catalog.i18nc("@label", "Visual"), + "description": catalog.i18nc("@text", "Optimized for appearance") + } _translations["engineering"] = { "name": catalog.i18nc("@label", "Engineering"), "description": catalog.i18nc("@text", "Suitable for engineering work") - } _translations["smooth"] = { "name": catalog.i18nc("@label", "Smooth"), "description": catalog.i18nc("@text", "Optimized for a smooth surfaces") } + ## Creates a new model for a certain intent category. # \param The category to list the intent profiles for. def __init__(self, intent_category: str) -> None: From 355ebd4e71f332cb97a1b3965b47636488a92cb7 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 31 Oct 2019 13:20:35 +0100 Subject: [PATCH 77/91] Remove override for prime tower position The formula in the fdmprinter definition does it's job, so no need to change it! CURA-6943 --- resources/definitions/ultimaker_s3.def.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/resources/definitions/ultimaker_s3.def.json b/resources/definitions/ultimaker_s3.def.json index 7348c14a2a..efdc7cca0a 100644 --- a/resources/definitions/ultimaker_s3.def.json +++ b/resources/definitions/ultimaker_s3.def.json @@ -67,8 +67,6 @@ "extruder_prime_pos_abs": { "default_value": true }, "machine_start_gcode": { "default_value": "" }, "machine_end_gcode": { "default_value": "" }, - "prime_tower_position_x": { "value": "345" }, - "prime_tower_position_y": { "value": "222.5" }, "prime_blob_enable": { "enabled": true, "default_value": false }, "speed_travel": From 1af1a8ddcb13ab2a472ace4dc7b1f4ab59d7802f Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 31 Oct 2019 13:26:49 +0100 Subject: [PATCH 78/91] Rename "smooth" intent to draft CURA-6890 --- cura/Machines/Models/IntentCategoryModel.py | 8 ++++---- .../um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg | 2 +- .../um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg | 2 +- .../um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg | 2 +- .../um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg | 2 +- .../um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg | 2 +- .../um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cura/Machines/Models/IntentCategoryModel.py b/cura/Machines/Models/IntentCategoryModel.py index 20d07864bf..a968d12b7a 100644 --- a/cura/Machines/Models/IntentCategoryModel.py +++ b/cura/Machines/Models/IntentCategoryModel.py @@ -41,11 +41,11 @@ class IntentCategoryModel(ListModel): } _translations["engineering"] = { "name": catalog.i18nc("@label", "Engineering"), - "description": catalog.i18nc("@text", "Suitable for engineering work") + "description": catalog.i18nc("@text", "Optimized for higher accuracy") } - _translations["smooth"] = { - "name": catalog.i18nc("@label", "Smooth"), - "description": catalog.i18nc("@text", "Optimized for a smooth surfaces") + _translations["quick"] = { + "name": catalog.i18nc("@label", "Draft"), + "description": catalog.i18nc("@text", "Optimized for fast results") } diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg index b41f636e63..92d91840b5 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker_s3 [metadata] setting_version = 10 type = intent -intent_category = smooth +intent_category = quick quality_type = draft material = generic_abs variant = AA 0.4 diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg index 8095a53141..1d990b83c0 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Print_Quick.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker_s3 [metadata] setting_version = 10 type = intent -intent_category = smooth +intent_category = quick quality_type = draft material = generic_pla variant = AA 0.4 diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg index edae808491..020a4bbc99 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Print_Quick.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker_s3 [metadata] setting_version = 10 type = intent -intent_category = smooth +intent_category = quick quality_type = draft material = generic_tough_pla variant = AA 0.4 diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg index f627fbf74b..14bb0e0f54 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker_s5 [metadata] setting_version = 10 type = intent -intent_category = smooth +intent_category = quick quality_type = draft material = generic_abs variant = AA 0.4 diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg index 553a68201d..86062ecf19 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker_s5 [metadata] setting_version = 10 type = intent -intent_category = smooth +intent_category = quick quality_type = draft material = generic_pla variant = AA 0.4 diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg index 458b283dd8..3a6e19c64c 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker_s5 [metadata] setting_version = 10 type = intent -intent_category = smooth +intent_category = quick quality_type = draft material = generic_tough_pla variant = AA 0.4 From 05b1ce965889b330fc713a44e4de33995565ec94 Mon Sep 17 00:00:00 2001 From: THeijmans Date: Thu, 31 Oct 2019 17:06:05 +0100 Subject: [PATCH 79/91] Removes 0.2mm layer height visual intent profiles --- .../um_s3_aa0.4_ABS_Draft_Visual.inst.cfg | 17 ----------------- .../um_s3_aa0.4_PLA_Draft_Visual.inst.cfg | 17 ----------------- .../um_s3_aa0.4_TPLA_Draft_Visual.inst.cfg | 17 ----------------- .../um_s5_aa0.4_ABS_Draft_Visual.inst.cfg | 16 ---------------- .../um_s5_aa0.4_PLA_Draft_Visual.inst.cfg | 17 ----------------- .../um_s5_aa0.4_TPLA_Draft_Visual.inst.cfg | 16 ---------------- 6 files changed, 100 deletions(-) delete mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Visual.inst.cfg delete mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Visual.inst.cfg delete mode 100644 resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Visual.inst.cfg delete mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Visual.inst.cfg delete mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Visual.inst.cfg delete mode 100644 resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Visual.inst.cfg diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Visual.inst.cfg deleted file mode 100644 index 49672fcb72..0000000000 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Visual.inst.cfg +++ /dev/null @@ -1,17 +0,0 @@ -[general] -version = 4 -name = Visual -definition = ultimaker_s3 - -[metadata] -setting_version = 10 -type = intent -intent_category = visual -quality_type = draft -material = generic_abs -variant = AA 0.4 - -[values] -speed_infill = 50 -wall_thickness = =wall_line_width * 3 -top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Visual.inst.cfg deleted file mode 100644 index 0c39d43c6a..0000000000 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Draft_Visual.inst.cfg +++ /dev/null @@ -1,17 +0,0 @@ -[general] -version = 4 -name = Visual -definition = ultimaker_s3 - -[metadata] -setting_version = 10 -type = intent -quality_type = draft -intent_category = visual -material = generic_pla -variant = AA 0.4 - -[values] -speed_infill = 50 -wall_thickness = =wall_line_width * 3 -top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Visual.inst.cfg deleted file mode 100644 index f52eb22ec2..0000000000 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Visual.inst.cfg +++ /dev/null @@ -1,17 +0,0 @@ -[general] -version = 4 -name = Visual -definition = ultimaker_s3 - -[metadata] -setting_version = 10 -type = intent -quality_type = draft -intent_category = visual -material = generic_tough_pla -variant = AA 0.4 - -[values] -speed_infill = 50 -wall_thickness = =wall_line_width * 3 -top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Visual.inst.cfg deleted file mode 100644 index 4f7ee148f9..0000000000 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Visual.inst.cfg +++ /dev/null @@ -1,16 +0,0 @@ -[general] -version = 4 -name = Visual -definition = ultimaker_s5 - -[metadata] -setting_version = 10 -type = intent -intent_category = visualquality_type = draft -material = generic_abs -variant = AA 0.4 - -[values] -speed_infill = 50 -wall_thickness = =wall_line_width * 3 -top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Visual.inst.cfg deleted file mode 100644 index a71bb898d3..0000000000 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Visual.inst.cfg +++ /dev/null @@ -1,17 +0,0 @@ -[general] -version = 4 -name = Visual -definition = ultimaker_s5 - -[metadata] -setting_version = 10 -type = intent -quality_type = draft -intent_category = visual -material = generic_pla -variant = AA 0.4 - -[values] -speed_infill = 50 -wall_thickness = =wall_line_width * 3 -top_bottom_thickness = =wall_thickness diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Visual.inst.cfg deleted file mode 100644 index b522d262af..0000000000 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Visual.inst.cfg +++ /dev/null @@ -1,16 +0,0 @@ -[general] -version = 4 -name = Visual -definition = ultimaker_s5 - -[metadata] -setting_version = 10 -type = intent -intent_category = visual -material = generic_tough_pla -variant = AA 0.4 - -[values] -speed_infill = 50 -wall_thickness = =wall_line_width * 3 -top_bottom_thickness = =wall_thickness From 90f580494b2445abd013bf73ddd1a5762b2e5517 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Fri, 1 Nov 2019 10:31:07 +0100 Subject: [PATCH 80/91] Change default image reader algorithm from logarithmic to linear The log curve might have some benefits but is also harder to understand and configure, so let's keep the default at linear. CURA-6540 --- plugins/ImageReader/ConfigUI.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index 72ad79c05e..0429fae4e1 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -158,7 +158,7 @@ UM.Dialog ComboBox { id: color_model objectName: "ColorModel" - model: [ catalog.i18nc("@item:inlistbox","Translucency"), catalog.i18nc("@item:inlistbox","Linear") ] + model: [ catalog.i18nc("@item:inlistbox","Linear"), catalog.i18nc("@item:inlistbox","Translucency") ] width: 180 * screenScaleFactor onCurrentIndexChanged: { manager.onColorModelChanged(currentIndex) } } From eaedca191743513095a8b2fc82fde42b32561f29 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 1 Nov 2019 11:54:17 +0100 Subject: [PATCH 81/91] Convert unit of adaptive layers threshold and change name This usage is hopefully more intuitive than the previous one. --- .../VersionUpgrade43to44/VersionUpgrade43to44.py | 7 +++++++ resources/definitions/fdmprinter.def.json | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade43to44/VersionUpgrade43to44.py b/plugins/VersionUpgrade/VersionUpgrade43to44/VersionUpgrade43to44.py index e8eefb1bb0..40927fe3a0 100644 --- a/plugins/VersionUpgrade/VersionUpgrade43to44/VersionUpgrade43to44.py +++ b/plugins/VersionUpgrade/VersionUpgrade43to44/VersionUpgrade43to44.py @@ -66,6 +66,13 @@ class VersionUpgrade43to44(VersionUpgrade): # Alternate skin rotation should be translated to top/bottom line directions. if "skin_alternate_rotation" in parser["values"] and parseBool(parser["values"]["skin_alternate_rotation"]): parser["values"]["skin_angles"] = "[45, 135, 0, 90]" + # Unit of adaptive layers topography size changed. + if "adaptive_layer_height_threshold" in parser["values"]: + val = parser["values"]["adaptive_layer_height_threshold"] + if val.startswith("="): + val = val[1:] + val = "=({val}) / 1000".format(val = val) # Convert microns to millimetres. Works even if the profile contained a formula. + parser["values"]["adaptive_layer_height_threshold"] = val result = io.StringIO() parser.write(result) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 8511d9e969..90d6c8e2d8 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -7074,11 +7074,12 @@ }, "adaptive_layer_height_threshold": { - "label": "Adaptive Layers Threshold", - "description": "Threshold whether to use a smaller layer or not. This number is compared to the tan of the steepest slope in a layer.", + "label": "Adaptive Layers Topography Size", + "description": "Target horizontal distance between two adjacent layers. Reducing this setting causes thinner layers to be used to bring the edges of the layers closer together.", "type": "float", "enabled": "adaptive_layer_height_enabled", - "default_value": 200.0, + "default_value": 0.2, + "unit": "mm", "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false From 36d4162f35a26a8fa738cca07ea3f12df33d3439 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 1 Nov 2019 13:19:16 +0100 Subject: [PATCH 82/91] Fix fallback to global if extruder_nr doesn't exist Fixes #6590. --- plugins/CuraEngineBackend/StartSliceJob.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 29a6d8ff30..43d54d8b12 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Ultimaker B.V. +# Copyright (c) 2019 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import numpy @@ -72,7 +72,7 @@ class GcodeStartEndFormatter(Formatter): value = default_value_str # "-1" is global stack, and if the setting value exists in the global stack, use it as the fallback value. if key in kwargs["-1"]: - value = kwargs["-1"] + value = kwargs["-1"][key] if str(extruder_nr) in kwargs and key in kwargs[str(extruder_nr)]: value = kwargs[str(extruder_nr)][key] From 315b93a1525ba53f520f12b09669668266f12c6c Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Fri, 1 Nov 2019 13:54:52 +0100 Subject: [PATCH 83/91] Draw the NoIntentIcon over the intent description hover area. This fixes a bug where the NoIntent tooltip was hidden by the intent description CURA-6936 --- .../RecommendedQualityProfileSelector.qml | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml index 3c7caad470..5e58faec78 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml @@ -124,18 +124,6 @@ Item elide: Text.ElideRight } - NoIntentIcon - { - affected_extruders: Cura.MachineManager.extruderPositionsWithNonActiveIntent - intent_type: model.name - anchors.right: intentCategoryLabel.right - anchors.rightMargin: UM.Theme.getSize("narrow_margin").width - width: intentCategoryLabel.height * 0.75 - anchors.verticalCenter: parent.verticalCenter - height: width - visible: Cura.MachineManager.activeIntentCategory == model.intent_category && affected_extruders.length - } - Cura.RadioCheckbar { anchors @@ -164,8 +152,9 @@ Item isCheckedFunction: checkedFunction } - MouseArea // tooltip hover area + MouseArea // Intent description tooltip hover area { + id: intentDescriptionHoverArea anchors.fill: parent hoverEnabled: true enabled: model.description !== undefined @@ -181,6 +170,20 @@ Item } onExited: base.hideTooltip() } + + NoIntentIcon // This icon has hover priority over intentDescriptionHoverArea, so draw it above it. + { + affected_extruders: Cura.MachineManager.extruderPositionsWithNonActiveIntent + intent_type: model.name + anchors.right: intentCategoryLabel.right + anchors.rightMargin: UM.Theme.getSize("narrow_margin").width + width: intentCategoryLabel.height * 0.75 + anchors.verticalCenter: parent.verticalCenter + height: width + visible: Cura.MachineManager.activeIntentCategory == model.intent_category && affected_extruders.length + } + + } } From 852da51f6550aa5bad9257bcfacc3bbde369fc3e Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 1 Nov 2019 13:56:10 +0100 Subject: [PATCH 84/91] Fix tests for exact matching on preferred material I don't know why the CI system was only complaining about it several commits later. Could be troublesome. Fixes a bug introduced by 1284d9fe8d726e46b556caa8f2f390dc7d65220c. --- tests/Machines/TestVariantNode.py | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/tests/Machines/TestVariantNode.py b/tests/Machines/TestVariantNode.py index bc860058a1..8ccde9bc74 100644 --- a/tests/Machines/TestVariantNode.py +++ b/tests/Machines/TestVariantNode.py @@ -137,38 +137,17 @@ def test_materialAdded_update(container_registry, machine_node, metadata, change def test_preferredMaterialExactMatch(empty_variant_node): empty_variant_node.materials = { "some_different_material": MagicMock(getMetaDataEntry = lambda x: 3), - "preferred_material_base_file": MagicMock(getMetaDataEntry = lambda x: 3) # Exact match. + "preferred_material": MagicMock(getMetaDataEntry = lambda x: 3) # Exact match. } - assert empty_variant_node.preferredMaterial(approximate_diameter = 3) == empty_variant_node.materials["preferred_material_base_file"], "It should match exactly on this one since it's the preferred material." - -## Tests the preferred material when a submaterial is available in the -# materials list for this node. -def test_preferredMaterialSubmaterial(empty_variant_node): - empty_variant_node.materials = { - "some_different_material": MagicMock(getMetaDataEntry = lambda x: 3), - "preferred_material_base_file_aa04": MagicMock(getMetaDataEntry = lambda x: 3) # This is a submaterial of the preferred material. - } - - assert empty_variant_node.preferredMaterial(approximate_diameter = 3) == empty_variant_node.materials["preferred_material_base_file_aa04"], "It should match on the submaterial just as well." - -## Tests the preferred material matching on the approximate diameter of the -# filament. -def test_preferredMaterialDiameter(empty_variant_node): - empty_variant_node.materials = { - "some_different_material": MagicMock(getMetaDataEntry = lambda x: 3), - "preferred_material_wrong_diameter": MagicMock(getMetaDataEntry = lambda x: 2), # Approximate diameter is 2 instead of 3. - "preferred_material_correct_diameter": MagicMock(getMetaDataEntry = lambda x: 3) # Correct approximate diameter. - } - - assert empty_variant_node.preferredMaterial(approximate_diameter = 3) == empty_variant_node.materials["preferred_material_correct_diameter"], "It should match only on the material with correct diameter." + assert empty_variant_node.preferredMaterial(approximate_diameter = 3) == empty_variant_node.materials["preferred_material"], "It should match exactly on this one since it's the preferred material." ## Tests the preferred material matching on a different material if the # diameter is wrong. def test_preferredMaterialDiameterNoMatch(empty_variant_node): empty_variant_node.materials = collections.OrderedDict() empty_variant_node.materials["some_different_material"] = MagicMock(getMetaDataEntry = lambda x: 3) # This one first so that it gets iterated over first. - empty_variant_node.materials["preferred_material_wrong_diameter"] = MagicMock(getMetaDataEntry = lambda x: 2) + empty_variant_node.materials["preferred_material"] = MagicMock(getMetaDataEntry = lambda x: 2) # Wrong diameter. assert empty_variant_node.preferredMaterial(approximate_diameter = 3) == empty_variant_node.materials["some_different_material"], "It should match on another material with the correct diameter if the preferred one is unavailable." @@ -177,7 +156,7 @@ def test_preferredMaterialDiameterNoMatch(empty_variant_node): def test_preferredMaterialDiameterPreference(empty_variant_node): empty_variant_node.materials = collections.OrderedDict() empty_variant_node.materials["some_different_material"] = MagicMock(getMetaDataEntry = lambda x: 2) # This one first so that it gets iterated over first. - empty_variant_node.materials["preferred_material_wrong_diameter"] = MagicMock(getMetaDataEntry = lambda x: 2) # Matches on ID but not diameter. + empty_variant_node.materials["preferred_material"] = MagicMock(getMetaDataEntry = lambda x: 2) # Matches on ID but not diameter. empty_variant_node.materials["not_preferred_but_correct_diameter"] = MagicMock(getMetaDataEntry = lambda x: 3) # Matches diameter but not ID. assert empty_variant_node.preferredMaterial(approximate_diameter = 3) == empty_variant_node.materials["not_preferred_but_correct_diameter"], "It should match on the correct diameter even if it's not the preferred one." \ No newline at end of file From 174b326f579b7da41974c70a0c8d2fa5bcd4a789 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 1 Nov 2019 14:18:35 +0100 Subject: [PATCH 85/91] Also test validity and correctness of extruder definitions This makes a few things slightly simpler as well since it now parameterises the tests with the entire path of the definition file so we don't have to reconstruct that in every test. --- tests/Settings/TestDefinitionContainer.py | 33 ++++++++++++----------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/tests/Settings/TestDefinitionContainer.py b/tests/Settings/TestDefinitionContainer.py index 6e502280cd..2e0675f691 100644 --- a/tests/Settings/TestDefinitionContainer.py +++ b/tests/Settings/TestDefinitionContainer.py @@ -17,6 +17,10 @@ Resources.addSearchPath(os.path.abspath(os.path.join(os.path.dirname(__file__), machine_filepaths = sorted(os.listdir(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions"))) +machine_filepaths = [os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions", filename) for filename in machine_filepaths] +extruder_filepaths = sorted(os.listdir(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "extruders"))) +extruder_filepaths = [os.path.join(os.path.dirname(__file__), "..", "..", "resources", "extruders", filename) for filename in extruder_filepaths] +definition_filepaths = machine_filepaths + extruder_filepaths all_meshes = os.listdir(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "meshes")) all_images = os.listdir(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "images")) @@ -29,17 +33,16 @@ def definition_container(): ## Tests all definition containers -@pytest.mark.parametrize("file_name", machine_filepaths) -def test_validateMachineDefinitionContainer(file_name, definition_container): +@pytest.mark.parametrize("file_path", definition_filepaths) +def test_validateMachineDefinitionContainer(file_path, definition_container): + file_name = os.path.basename(file_path) if file_name == "fdmprinter.def.json" or file_name == "fdmextruder.def.json": return # Stop checking, these are root files. - definition_path = os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions") - assertIsDefinitionValid(definition_container, definition_path, file_name) + assertIsDefinitionValid(definition_container, file_path) - -def assertIsDefinitionValid(definition_container, path, file_name): - with open(os.path.join(path, file_name), encoding = "utf-8") as data: +def assertIsDefinitionValid(definition_container, file_path): + with open(file_path, encoding = "utf-8") as data: json = data.read() parser, is_valid = definition_container.readAndValidateSerialized(json) assert is_valid #The definition has invalid JSON structure. @@ -57,10 +60,9 @@ def assertIsDefinitionValid(definition_container, path, file_name): # When a definition container defines a "default_value" but inherits from a # definition that defines a "value", the "default_value" is ineffective. This # test fails on those things. -@pytest.mark.parametrize("file_name", machine_filepaths) -def test_validateOverridingDefaultValue(file_name: str): - definition_path = os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions", file_name) - with open(definition_path, encoding = "utf-8") as f: +@pytest.mark.parametrize("file_path", machine_filepaths) +def test_validateOverridingDefaultValue(file_path: str): + with open(file_path, encoding = "utf-8") as f: doc = json.load(f) if "inherits" not in doc: @@ -70,7 +72,7 @@ def test_validateOverridingDefaultValue(file_name: str): parent_settings = getInheritedSettings(doc["inherits"]) for key, val in doc["overrides"].items(): if "value" in parent_settings[key]: - assert "default_value" not in val, "Unnecessary default_value for {key} in {file_name}".format(key = key, file_name = file_name) # If there is a value in the parent settings, then the default_value is not effective. + assert "default_value" not in val, "Unnecessary default_value for {key} in {file_name}".format(key = key, file_name = file_path) # If there is a value in the parent settings, then the default_value is not effective. ## Get all settings and their properties from a definition we're inheriting # from. @@ -130,10 +132,9 @@ def merge_dicts(base: Dict[str, Any], overrides: Dict[str, Any]) -> Dict[str, An # # ID fields are legacy. They should not be used any more. This is legacy that # people don't seem to be able to get used to. -@pytest.mark.parametrize("file_name", machine_filepaths) -def test_noId(file_name): - definition_path = os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions", file_name) - with open(definition_path, encoding = "utf-8") as f: +@pytest.mark.parametrize("file_path", machine_filepaths) +def test_noId(file_path: str): + with open(file_path, encoding = "utf-8") as f: doc = json.load(f) assert "id" not in doc, "Definitions should not have an ID field." \ No newline at end of file From 6e6c510dcd50d60b798342b7d5c8cffe4824a3f9 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 1 Nov 2019 14:34:07 +0100 Subject: [PATCH 86/91] Test extruders for correctness but not for validity The validity can't be tested using the built-in validator since that one checks if there are no settings that 'override' non-existing settings. And some of the settings overridden in an extruder are not in the inheritance stack since fdmextruder doesn't inherit from fdmprinter. We'll check though that all settings that are overridden don't override a default_value while there is a value, and whether they don't have IDs. --- tests/Settings/TestDefinitionContainer.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/Settings/TestDefinitionContainer.py b/tests/Settings/TestDefinitionContainer.py index 2e0675f691..6590c488fc 100644 --- a/tests/Settings/TestDefinitionContainer.py +++ b/tests/Settings/TestDefinitionContainer.py @@ -33,7 +33,7 @@ def definition_container(): ## Tests all definition containers -@pytest.mark.parametrize("file_path", definition_filepaths) +@pytest.mark.parametrize("file_path", machine_filepaths) def test_validateMachineDefinitionContainer(file_path, definition_container): file_name = os.path.basename(file_path) if file_name == "fdmprinter.def.json" or file_name == "fdmextruder.def.json": @@ -60,7 +60,7 @@ def assertIsDefinitionValid(definition_container, file_path): # When a definition container defines a "default_value" but inherits from a # definition that defines a "value", the "default_value" is ineffective. This # test fails on those things. -@pytest.mark.parametrize("file_path", machine_filepaths) +@pytest.mark.parametrize("file_path", definition_filepaths) def test_validateOverridingDefaultValue(file_path: str): with open(file_path, encoding = "utf-8") as f: doc = json.load(f) @@ -71,7 +71,7 @@ def test_validateOverridingDefaultValue(file_path: str): return # No settings are being overridden. No need to check anything. parent_settings = getInheritedSettings(doc["inherits"]) for key, val in doc["overrides"].items(): - if "value" in parent_settings[key]: + if key in parent_settings and "value" in parent_settings[key]: assert "default_value" not in val, "Unnecessary default_value for {key} in {file_name}".format(key = key, file_name = file_path) # If there is a value in the parent settings, then the default_value is not effective. ## Get all settings and their properties from a definition we're inheriting @@ -132,7 +132,7 @@ def merge_dicts(base: Dict[str, Any], overrides: Dict[str, Any]) -> Dict[str, An # # ID fields are legacy. They should not be used any more. This is legacy that # people don't seem to be able to get used to. -@pytest.mark.parametrize("file_path", machine_filepaths) +@pytest.mark.parametrize("file_path", definition_filepaths) def test_noId(file_path: str): with open(file_path, encoding = "utf-8") as f: doc = json.load(f) From 069dc6e65d35fcc4f1167619d1e101d9dec0a5be Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 1 Nov 2019 14:52:41 +0100 Subject: [PATCH 87/91] Add test to see if definition's extruder number matches up ...with its machine definition's metadata. --- tests/Settings/TestDefinitionContainer.py | 34 ++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/tests/Settings/TestDefinitionContainer.py b/tests/Settings/TestDefinitionContainer.py index 6590c488fc..8bb7a754d3 100644 --- a/tests/Settings/TestDefinitionContainer.py +++ b/tests/Settings/TestDefinitionContainer.py @@ -137,4 +137,36 @@ def test_noId(file_path: str): with open(file_path, encoding = "utf-8") as f: doc = json.load(f) - assert "id" not in doc, "Definitions should not have an ID field." \ No newline at end of file + assert "id" not in doc, "Definitions should not have an ID field." + +## Verifies that extruders say that they work on the same extruder_nr as what +# is listed in their machine definition. +@pytest.mark.parametrize("file_path", extruder_filepaths) +def test_extruderMatch(file_path: str): + extruder_id = os.path.basename(file_path).split(".")[0] + with open(file_path, encoding = "utf-8") as f: + doc = json.load(f) + + if "metadata" not in doc: + return # May not be desirable either, but it's probably unfinished then. + if "machine" not in doc["metadata"] or "position" not in doc["metadata"]: + return # FDMextruder doesn't have this since it's not linked to a particular printer. + machine = doc["metadata"]["machine"] + position = doc["metadata"]["position"] + + # Find the machine definition. + for machine_filepath in machine_filepaths: + machine_id = os.path.basename(machine_filepath).split(".")[0] + if machine_id == machine: + break + else: + assert False, "The machine ID {machine} is not found.".format(machine = machine) + with open(machine_filepath, encoding = "utf-8") as f: + machine_doc = json.load(f) + + # Make sure that the two match up. + assert "metadata" in machine_doc, "Machine definition missing metadata entry." + assert "machine_extruder_trains" in machine_doc["metadata"], "Machine must define extruder trains." + extruder_trains = machine_doc["metadata"]["machine_extruder_trains"] + assert position in extruder_trains, "There must be a reference to the extruder in the machine definition." + assert extruder_trains[position] == extruder_id, "The extruder referenced in the machine definition must match up." \ No newline at end of file From d145945b25ba80273d0df9adeafe902522374924 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 1 Nov 2019 15:02:14 +0100 Subject: [PATCH 88/91] Fix mistakes in extruder-definition inter-referencing --- resources/definitions/kupido.def.json | 4 +- .../extruders/bibo2_dual_extruder_0.def.json | 86 +++++++++---------- .../extruders/bibo2_dual_extruder_1.def.json | 86 +++++++++---------- resources/extruders/cr-x_extruder_0.def.json | 2 +- resources/extruders/cr-x_extruder_1.def.json | 2 +- .../creatable_d3_extruder_0.def.json | 2 +- .../hellbot_magna_i_extruder.def.json | 2 +- .../extruders/key3d_tyro_extruder_0.def.json | 2 +- 8 files changed, 93 insertions(+), 93 deletions(-) diff --git a/resources/definitions/kupido.def.json b/resources/definitions/kupido.def.json index a81a40542b..ad0182a5f6 100644 --- a/resources/definitions/kupido.def.json +++ b/resources/definitions/kupido.def.json @@ -18,12 +18,12 @@ "supports_usb_connection": false, "machine_extruder_trains": { - "0": "alya3dp_extruder_0" + "0": "kupido_extruder_0" } }, "overrides": { - "machine_name": { "default_value": "ALYA 3DP" }, + "machine_name": { "default_value": "KUPIDO" }, "machine_heated_bed": { "default_value": true }, "machine_width": { "default_value": 195 }, "machine_height": { "default_value": 190 }, diff --git a/resources/extruders/bibo2_dual_extruder_0.def.json b/resources/extruders/bibo2_dual_extruder_0.def.json index b918d070be..91508ecc6d 100644 --- a/resources/extruders/bibo2_dual_extruder_0.def.json +++ b/resources/extruders/bibo2_dual_extruder_0.def.json @@ -1,45 +1,45 @@ { - "version": 2, - "name": "Extruder 1", - "inherits": "fdmextruder", - "metadata": { - "machine": "BIBO2 dual", - "position": "0" - }, - "overrides": { - "extruder_nr": { - "default_value": 0, - "maximum_value": "1" - }, - "material_diameter": { - "default_value": 1.75 - }, - "machine_nozzle_size": { - "default_value": 0.4 - }, - "machine_nozzle_offset_x": { - "default_value": 0.0 - }, - "machine_nozzle_offset_y": { - "default_value": 0.0 - }, - "machine_extruder_start_pos_abs": { - "default_value": true - }, - "machine_extruder_start_pos_x": { - "value": "prime_tower_position_x" - }, - "machine_extruder_start_pos_y": { - "value": "prime_tower_position_y" - }, - "machine_extruder_end_pos_abs": { - "default_value": true - }, - "machine_extruder_end_pos_x": { - "value": "prime_tower_position_x" - }, - "machine_extruder_end_pos_y": { - "value": "prime_tower_position_y" - } - } + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "bibo2_dual", + "position": "0" + }, + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "material_diameter": { + "default_value": 1.75 + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_nozzle_offset_x": { + "default_value": 0.0 + }, + "machine_nozzle_offset_y": { + "default_value": 0.0 + }, + "machine_extruder_start_pos_abs": { + "default_value": true + }, + "machine_extruder_start_pos_x": { + "value": "prime_tower_position_x" + }, + "machine_extruder_start_pos_y": { + "value": "prime_tower_position_y" + }, + "machine_extruder_end_pos_abs": { + "default_value": true + }, + "machine_extruder_end_pos_x": { + "value": "prime_tower_position_x" + }, + "machine_extruder_end_pos_y": { + "value": "prime_tower_position_y" + } + } } diff --git a/resources/extruders/bibo2_dual_extruder_1.def.json b/resources/extruders/bibo2_dual_extruder_1.def.json index e0386188bb..129ad27273 100644 --- a/resources/extruders/bibo2_dual_extruder_1.def.json +++ b/resources/extruders/bibo2_dual_extruder_1.def.json @@ -1,45 +1,45 @@ { - "version": 2, - "name": "Extruder 2", - "inherits": "fdmextruder", - "metadata": { - "machine": "BIBO2 dual", - "position": "1" - }, - "overrides": { - "extruder_nr": { - "default_value": 1, - "maximum_value": "1" - }, - "material_diameter": { - "default_value": 1.75 - }, - "machine_nozzle_size": { - "default_value": 0.4 - }, - "machine_nozzle_offset_x": { - "default_value": 0.0 - }, - "machine_nozzle_offset_y": { - "default_value": 0.0 - }, - "machine_extruder_start_pos_abs": { - "default_value": true - }, - "machine_extruder_start_pos_x": { - "value": "prime_tower_position_x" - }, - "machine_extruder_start_pos_y": { - "value": "prime_tower_position_y" - }, - "machine_extruder_end_pos_abs": { - "default_value": true - }, - "machine_extruder_end_pos_x": { - "value": "prime_tower_position_x" - }, - "machine_extruder_end_pos_y": { - "value": "prime_tower_position_y" - } - } + "version": 2, + "name": "Extruder 2", + "inherits": "fdmextruder", + "metadata": { + "machine": "bibo2_dual", + "position": "1" + }, + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "1" + }, + "material_diameter": { + "default_value": 1.75 + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_nozzle_offset_x": { + "default_value": 0.0 + }, + "machine_nozzle_offset_y": { + "default_value": 0.0 + }, + "machine_extruder_start_pos_abs": { + "default_value": true + }, + "machine_extruder_start_pos_x": { + "value": "prime_tower_position_x" + }, + "machine_extruder_start_pos_y": { + "value": "prime_tower_position_y" + }, + "machine_extruder_end_pos_abs": { + "default_value": true + }, + "machine_extruder_end_pos_x": { + "value": "prime_tower_position_x" + }, + "machine_extruder_end_pos_y": { + "value": "prime_tower_position_y" + } + } } diff --git a/resources/extruders/cr-x_extruder_0.def.json b/resources/extruders/cr-x_extruder_0.def.json index 4e73fd0e8e..d9b7b03021 100644 --- a/resources/extruders/cr-x_extruder_0.def.json +++ b/resources/extruders/cr-x_extruder_0.def.json @@ -3,7 +3,7 @@ "name": "Left Extruder", "inherits": "fdmextruder", "metadata": { - "machine": "Creality CR-X", + "machine": "creality_cr-x", "position": "0" }, diff --git a/resources/extruders/cr-x_extruder_1.def.json b/resources/extruders/cr-x_extruder_1.def.json index ed6056dab9..8e763df64f 100644 --- a/resources/extruders/cr-x_extruder_1.def.json +++ b/resources/extruders/cr-x_extruder_1.def.json @@ -3,7 +3,7 @@ "name": "Right Extruder", "inherits": "fdmextruder", "metadata": { - "machine": "Creality CR-X", + "machine": "creality_cr-x", "position": "1" }, diff --git a/resources/extruders/creatable_d3_extruder_0.def.json b/resources/extruders/creatable_d3_extruder_0.def.json index 6a805febd5..95883d0f69 100644 --- a/resources/extruders/creatable_d3_extruder_0.def.json +++ b/resources/extruders/creatable_d3_extruder_0.def.json @@ -3,7 +3,7 @@ "name": "Extruder 1", "inherits": "fdmextruder", "metadata": { - "machine": "Creatable_D3", + "machine": "creatable_d3", "position": "0" }, diff --git a/resources/extruders/hellbot_magna_i_extruder.def.json b/resources/extruders/hellbot_magna_i_extruder.def.json index dc63081bd2..70117c2aed 100644 --- a/resources/extruders/hellbot_magna_i_extruder.def.json +++ b/resources/extruders/hellbot_magna_i_extruder.def.json @@ -3,7 +3,7 @@ "name": "Extruder 1", "inherits": "fdmextruder", "metadata": { - "machine": "hellbot_magna_i", + "machine": "hellbot_magna_I", "position": "0" }, diff --git a/resources/extruders/key3d_tyro_extruder_0.def.json b/resources/extruders/key3d_tyro_extruder_0.def.json index 11619da332..f08ae351ab 100644 --- a/resources/extruders/key3d_tyro_extruder_0.def.json +++ b/resources/extruders/key3d_tyro_extruder_0.def.json @@ -3,7 +3,7 @@ "name": "0.4mm Nozzle", "inherits": "fdmextruder", "metadata": { - "machine": "Tyro", + "machine": "key3d_tyro", "position": "0" }, From 1f4c863683c7c4eaaa88d3bdcc3e6e55fe5308ea Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 1 Nov 2019 15:08:09 +0100 Subject: [PATCH 89/91] Also assert that the extruder_nr setting matches --- tests/Settings/TestDefinitionContainer.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/Settings/TestDefinitionContainer.py b/tests/Settings/TestDefinitionContainer.py index 8bb7a754d3..4487388b86 100644 --- a/tests/Settings/TestDefinitionContainer.py +++ b/tests/Settings/TestDefinitionContainer.py @@ -169,4 +169,9 @@ def test_extruderMatch(file_path: str): assert "machine_extruder_trains" in machine_doc["metadata"], "Machine must define extruder trains." extruder_trains = machine_doc["metadata"]["machine_extruder_trains"] assert position in extruder_trains, "There must be a reference to the extruder in the machine definition." - assert extruder_trains[position] == extruder_id, "The extruder referenced in the machine definition must match up." \ No newline at end of file + assert extruder_trains[position] == extruder_id, "The extruder referenced in the machine definition must match up." + + # Also test if the extruder_nr setting is properly overridden. + if "overrides" not in doc or "extruder_nr" not in doc["overrides"] or "default_value" not in doc["overrides"]["extruder_nr"]: + assert position == "0" # Default to 0 is allowed. + assert doc["overrides"]["extruder_nr"]["default_value"] == int(position) \ No newline at end of file From be0e1f7284401b1e85b6ae884bce83784b041304 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 1 Nov 2019 15:14:04 +0100 Subject: [PATCH 90/91] Ensure that all updates from settingInheritance are on a timer --- cura/Settings/SettingInheritanceManager.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/cura/Settings/SettingInheritanceManager.py b/cura/Settings/SettingInheritanceManager.py index 8be0813d0a..7db579bf3f 100644 --- a/cura/Settings/SettingInheritanceManager.py +++ b/cura/Settings/SettingInheritanceManager.py @@ -28,20 +28,21 @@ if TYPE_CHECKING: class SettingInheritanceManager(QObject): def __init__(self, parent = None) -> None: super().__init__(parent) - Application.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerChanged) + self._global_container_stack = None # type: Optional[ContainerStack] self._settings_with_inheritance_warning = [] # type: List[str] self._active_container_stack = None # type: Optional[ExtruderStack] - self._onGlobalContainerChanged() - - ExtruderManager.getInstance().activeExtruderChanged.connect(self._onActiveExtruderChanged) - self._onActiveExtruderChanged() self._update_timer = QTimer() self._update_timer.setInterval(500) self._update_timer.setSingleShot(True) self._update_timer.timeout.connect(self._update) + Application.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerChanged) + ExtruderManager.getInstance().activeExtruderChanged.connect(self._onActiveExtruderChanged) + self._onGlobalContainerChanged() + self._onActiveExtruderChanged() + settingsWithIntheritanceChanged = pyqtSignal() ## Get the keys of all children settings with an override. @@ -106,7 +107,7 @@ class SettingInheritanceManager(QObject): if self._active_container_stack is not None: self._active_container_stack.propertyChanged.connect(self._onPropertyChanged) self._active_container_stack.containersChanged.connect(self._onContainersChanged) - self._update() # Ensure that the settings_with_inheritance_warning list is populated. + self._update_timer.start() # Ensure that the settings_with_inheritance_warning list is populated. def _onPropertyChanged(self, key: str, property_name: str) -> None: if (property_name == "value" or property_name == "enabled") and self._global_container_stack: From c2e6116983ba23c215ecdd4a90f0f37b9b617449 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 1 Nov 2019 16:20:42 +0100 Subject: [PATCH 91/91] Add names to all the threads --- cura/PrinterOutput/FirmwareUpdater.py | 4 ++-- plugins/UM3NetworkPrinting/src/Network/ZeroConfClient.py | 2 +- plugins/USBPrinting/USBPrinterOutputDevice.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cura/PrinterOutput/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py index 3f20e0f3c4..56e260a7f0 100644 --- a/cura/PrinterOutput/FirmwareUpdater.py +++ b/cura/PrinterOutput/FirmwareUpdater.py @@ -20,7 +20,7 @@ class FirmwareUpdater(QObject): self._output_device = output_device - self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) + self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True, name = "FirmwareUpdateThread") self._firmware_file = "" self._firmware_progress = 0 @@ -43,7 +43,7 @@ class FirmwareUpdater(QObject): ## Cleanup after a succesful update def _cleanupAfterUpdate(self) -> None: # Clean up for next attempt. - self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) + self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True, name = "FirmwareUpdateThread") self._firmware_file = "" self._onFirmwareProgress(100) self._setFirmwareUpdateState(FirmwareUpdateState.completed) diff --git a/plugins/UM3NetworkPrinting/src/Network/ZeroConfClient.py b/plugins/UM3NetworkPrinting/src/Network/ZeroConfClient.py index 0446af177b..421246fb95 100644 --- a/plugins/UM3NetworkPrinting/src/Network/ZeroConfClient.py +++ b/plugins/UM3NetworkPrinting/src/Network/ZeroConfClient.py @@ -43,7 +43,7 @@ class ZeroConfClient: Logger.logException("e", "Failed to create zeroconf instance.") return - self._service_changed_request_thread = Thread(target = self._handleOnServiceChangedRequests, daemon = True) + self._service_changed_request_thread = Thread(target = self._handleOnServiceChangedRequests, daemon = True, name = "ZeroConfServiceChangedThread") self._service_changed_request_thread.start() self._zero_conf_browser = ServiceBrowser(self._zero_conf, self.ZERO_CONF_NAME, [self._queueService]) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 4930835f58..c9758d88d4 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -61,7 +61,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._all_baud_rates = [115200, 250000, 500000, 230400, 57600, 38400, 19200, 9600] # Instead of using a timer, we really need the update to be as a thread, as reading from serial can block. - self._update_thread = Thread(target = self._update, daemon = True) + self._update_thread = Thread(target = self._update, daemon = True, name = "USBPrinterUpdate") self._last_temperature_request = None # type: Optional[int] self._firmware_idle_count = 0 @@ -212,7 +212,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._serial.close() # Re-create the thread so it can be started again later. - self._update_thread = Thread(target=self._update, daemon=True) + self._update_thread = Thread(target=self._update, daemon=True, name = "USBPrinterUpdate") self._serial = None ## Send a command to printer.