From dc6edffea4da01e0d58ba4e6e95a74f5d35b8cb7 Mon Sep 17 00:00:00 2001 From: Fredrik Ehnbom Date: Sat, 21 Oct 2023 12:18:00 +0200 Subject: [PATCH 01/98] Add navigation style option --- cura/CuraApplication.py | 1 + resources/qml/Preferences/GeneralPage.qml | 50 +++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index e075fe92f5..ca10a12833 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -589,6 +589,7 @@ class CuraApplication(QtApplication): preferences.addPreference("view/invert_zoom", False) preferences.addPreference("view/filter_current_build_plate", False) + preferences.addPreference("view/navigation_style", "cura") preferences.addPreference("cura/sidebar_collapsed", False) preferences.addPreference("cura/favorite_materials", "") diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 32bbcd5053..839dc59f29 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -101,6 +101,7 @@ UM.PreferencesPage centerOnSelectCheckbox.checked = boolCheck(UM.Preferences.getValue("view/center_on_select")) UM.Preferences.resetPreference("view/invert_zoom"); invertZoomCheckbox.checked = boolCheck(UM.Preferences.getValue("view/invert_zoom")) + UM.Preferences.resetPreference("view/navigation_style"); UM.Preferences.resetPreference("view/zoom_to_mouse"); zoomToMouseCheckbox.checked = boolCheck(UM.Preferences.getValue("view/zoom_to_mouse")) //UM.Preferences.resetPreference("view/top_layer_count"); @@ -604,6 +605,55 @@ UM.PreferencesPage } } + UM.TooltipArea + { + width: childrenRect.width + height: childrenRect.height + text: catalog.i18nc("@info:tooltip", "What type of camera navigation should be used?") + Column + { + spacing: UM.Theme.getSize("narrow_margin").height + + UM.Label + { + text: catalog.i18nc("@window:text", "Camera navigation:") + } + ListModel + { + id: navigationStylesList + Component.onCompleted: + { + append({ text: catalog.i18n("Cura"), code: "cura" }) + append({ text: catalog.i18n("FreeCAD trackpad"), code: "freecad_trackpad" }) + } + } + + Cura.ComboBox + { + id: cameraNavigationComboBox + + model: navigationStylesList + textRole: "text" + width: UM.Theme.getSize("combobox").width + height: UM.Theme.getSize("combobox").height + + currentIndex: + { + var code = UM.Preferences.getValue("view/navigation_style"); + for(var i = 0; i < comboBoxList.count; ++i) + { + if(model.get(i).code == code) + { + return i + } + } + return 0 + } + onActivated: UM.Preferences.setValue("view/navigation_style", model.get(index).code) + } + } + } + Item { //: Spacer From 20ef47284526b155f5c47f1463479e4fe81949fc Mon Sep 17 00:00:00 2001 From: zhogov Date: Tue, 26 Dec 2023 05:19:12 -0500 Subject: [PATCH 02/98] Fix Ender 3 V3 SE start g-code 1. Replace square brackets with curly ones 2. Add bed heating command so Cura won't have to implicitly generate it itself --- resources/definitions/creality_ender3v3se.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/creality_ender3v3se.def.json b/resources/definitions/creality_ender3v3se.def.json index 5769e3e493..dc3e7bb70d 100644 --- a/resources/definitions/creality_ender3v3se.def.json +++ b/resources/definitions/creality_ender3v3se.def.json @@ -45,11 +45,11 @@ "machine_max_feedrate_y": { "value": 500 }, "machine_max_feedrate_z": { "value": 30 }, "machine_name": { "default_value": "Creality Ender-3 V3 SE" }, - "machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nM420 S1; Enable mesh leveling\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S[material_print_temperature_layer_0]\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800 \n" }, + "machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nM420 S1; Use saved mesh leveling data\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S{material_bed_temperature_layer_0} ; set bed temperature and wait\nM109 S{material_print_temperature_layer_0} ; set hotend temperature and wait\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800 \n" }, "machine_width": { "default_value": 220 }, "retraction_amount": { "value": 0.8 }, "retraction_speed": { "default_value": 40 }, "speed_layer_0": { "value": 30 }, "speed_print": { "value": 180 } } -} \ No newline at end of file +} From da58c63db6716a9f20de03b86f86dcfe0f39b53e Mon Sep 17 00:00:00 2001 From: zhogov Date: Tue, 26 Dec 2023 05:26:56 -0500 Subject: [PATCH 03/98] Upper case --- resources/definitions/creality_ender3v3se.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/creality_ender3v3se.def.json b/resources/definitions/creality_ender3v3se.def.json index dc3e7bb70d..8e32a44eb9 100644 --- a/resources/definitions/creality_ender3v3se.def.json +++ b/resources/definitions/creality_ender3v3se.def.json @@ -45,7 +45,7 @@ "machine_max_feedrate_y": { "value": 500 }, "machine_max_feedrate_z": { "value": 30 }, "machine_name": { "default_value": "Creality Ender-3 V3 SE" }, - "machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nM420 S1; Use saved mesh leveling data\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S{material_bed_temperature_layer_0} ; set bed temperature and wait\nM109 S{material_print_temperature_layer_0} ; set hotend temperature and wait\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800 \n" }, + "machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nM420 S1; Use saved mesh leveling data\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S{material_bed_temperature_layer_0} ; Set bed temperature and wait\nM109 S{material_print_temperature_layer_0} ; Set hotend temperature and wait\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800 \n" }, "machine_width": { "default_value": 220 }, "retraction_amount": { "value": 0.8 }, "retraction_speed": { "default_value": 40 }, From 603f49122f3e581281e5f4ff2e559d9738d55bd2 Mon Sep 17 00:00:00 2001 From: DSNS <48170013+dsnsgithub@users.noreply.github.com> Date: Sat, 30 Dec 2023 21:17:01 -0800 Subject: [PATCH 04/98] Fix Ender 5 Plus ABL command --- resources/definitions/creality_ender5plus.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/creality_ender5plus.def.json b/resources/definitions/creality_ender5plus.def.json index b7b11343e5..24bf10cd0d 100644 --- a/resources/definitions/creality_ender5plus.def.json +++ b/resources/definitions/creality_ender5plus.def.json @@ -23,8 +23,8 @@ }, "machine_height": { "default_value": 400 }, "machine_name": { "default_value": "Creality Ender-5 Plus" }, - "machine_start_gcode": { "default_value": "M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration\nM203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate\nM204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration\nM205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\nM420 S1 Z2 ;Enable ABL using saved Mesh and Fade Height\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\n" }, + "machine_start_gcode": { "default_value": "M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration\nM203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate\nM204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration\nM205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\nG29 ;Auto bed level\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\n" }, "machine_width": { "default_value": 350 }, "speed_print": { "value": 80.0 } } -} \ No newline at end of file +} From 54af5bca3c5e9b5700ce106f854f97e3ed102842 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Thu, 25 Jan 2024 13:30:56 +0100 Subject: [PATCH 05/98] Add export sub-menu CURA-11561 --- resources/qml/Menus/ExportMenu.qml | 44 ++++++++++++++++++++++++++++++ resources/qml/Menus/FileMenu.qml | 26 +++++++++--------- 2 files changed, 57 insertions(+), 13 deletions(-) create mode 100644 resources/qml/Menus/ExportMenu.qml diff --git a/resources/qml/Menus/ExportMenu.qml b/resources/qml/Menus/ExportMenu.qml new file mode 100644 index 0000000000..70560f0772 --- /dev/null +++ b/resources/qml/Menus/ExportMenu.qml @@ -0,0 +1,44 @@ +// Copyright (c) 2024 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.2 +import QtQuick.Controls 2.1 + +import UM 1.5 as UM +import Cura 1.1 as Cura + +import "../Dialogs" + +Cura.Menu +{ + id: exportMenu + property alias model: meshWriters.model + property bool selectionOnly: false + + Instantiator + { + id: meshWriters + Cura.MenuItem + { + text: model.description + onTriggered: + { + var localDeviceId = "local_file" + var file_name = PrintInformation.jobName + var args = { "filter_by_machine": false, "limit_mimetypes": model.mime_type} + if(exportMenu.selectionOnly) + { + UM.OutputDeviceManager.requestWriteSelectionToDevice(localDeviceId, file_name, args) + } + else + { + UM.OutputDeviceManager.requestWriteToDevice(localDeviceId, file_name, args) + } + } + shortcut: model.shortcut + enabled: exportMenu.shouldBeVisible + } + onObjectAdded: function(index, object) { exportMenu.insertItem(index, object)} + onObjectRemoved: function(index, object) { exportMenu.removeItem(object)} + } +} diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index 0884053ef3..254c0d5468 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -4,7 +4,7 @@ import QtQuick 2.2 import QtQuick.Controls 2.1 -import UM 1.6 as UM +import UM 1.7 as UM import Cura 1.0 as Cura Cura.Menu @@ -72,24 +72,24 @@ Cura.Menu Cura.MenuSeparator { } - Cura.MenuItem + UM.MeshWritersModel { id: meshWritersModel } + + ExportMenu { - id: saveAsMenu - text: catalog.i18nc("@title:menu menubar:file", "&Export...") - onTriggered: - { - var localDeviceId = "local_file" - UM.OutputDeviceManager.requestWriteToDevice(localDeviceId, PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}) - } + id: exportMenu + title: catalog.i18nc("@title:menu menubar:file", "&Export...") + model: meshWritersModel + shouldBeVisible: model.count > 0 } - Cura.MenuItem + ExportMenu { id: exportSelectionMenu - text: catalog.i18nc("@action:inmenu menubar:file", "Export Selection...") + title: catalog.i18nc("@action:inmenu menubar:file", "Export Selection...") + model: meshWritersModel + shouldBeVisible: model.count > 0 enabled: UM.Selection.hasSelection - icon.name: "document-save-as" - onTriggered: UM.OutputDeviceManager.requestWriteSelectionToDevice("local_file", PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}) + selectionOnly: true } Cura.MenuSeparator { } From edd5cee41a770bc844a262a3079e1f3618c0b228 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Thu, 25 Jan 2024 14:04:47 +0100 Subject: [PATCH 06/98] Fix exporting binary/ascii STL CURA-11561 --- resources/qml/Menus/ExportMenu.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Menus/ExportMenu.qml b/resources/qml/Menus/ExportMenu.qml index 70560f0772..5c08b04f0f 100644 --- a/resources/qml/Menus/ExportMenu.qml +++ b/resources/qml/Menus/ExportMenu.qml @@ -25,7 +25,7 @@ Cura.Menu { var localDeviceId = "local_file" var file_name = PrintInformation.jobName - var args = { "filter_by_machine": false, "limit_mimetypes": model.mime_type} + var args = { "filter_by_machine": false, "limit_mimetypes": [model.mime_type], "limit_modes": [model.mode]} if(exportMenu.selectionOnly) { UM.OutputDeviceManager.requestWriteSelectionToDevice(localDeviceId, file_name, args) From b5b0575baf505d4902d4aa1b72c940485914419a Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 26 Jan 2024 14:01:26 +0100 Subject: [PATCH 07/98] Display (uncomplete) configuration UI to export PCB file CURA-11561 --- plugins/PCBWriter/PCBDialog.py | 37 +++++ plugins/PCBWriter/PCBDialog.qml | 148 +++++++++++++++++++ plugins/PCBWriter/PCBWriter.py | 67 +++++++++ plugins/PCBWriter/SettingExport.py | 24 +++ plugins/PCBWriter/SettingsExportGroup.py | 59 ++++++++ plugins/PCBWriter/SettingsExportModel.py | 31 ++++ plugins/PCBWriter/SettingsSelectionGroup.qml | 70 +++++++++ plugins/PCBWriter/__init__.py | 21 +++ plugins/PCBWriter/plugin.json | 8 + resources/qml/ExtruderIcon.qml | 1 + 10 files changed, 466 insertions(+) create mode 100644 plugins/PCBWriter/PCBDialog.py create mode 100644 plugins/PCBWriter/PCBDialog.qml create mode 100644 plugins/PCBWriter/PCBWriter.py create mode 100644 plugins/PCBWriter/SettingExport.py create mode 100644 plugins/PCBWriter/SettingsExportGroup.py create mode 100644 plugins/PCBWriter/SettingsExportModel.py create mode 100644 plugins/PCBWriter/SettingsSelectionGroup.qml create mode 100644 plugins/PCBWriter/__init__.py create mode 100644 plugins/PCBWriter/plugin.json diff --git a/plugins/PCBWriter/PCBDialog.py b/plugins/PCBWriter/PCBDialog.py new file mode 100644 index 0000000000..f31c87a61b --- /dev/null +++ b/plugins/PCBWriter/PCBDialog.py @@ -0,0 +1,37 @@ +# Copyright (c) 2024 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt6.QtCore import pyqtSignal, QObject, pyqtProperty, QCoreApplication, QUrl +from PyQt6.QtGui import QDesktopServices +from typing import List, Optional, Dict, cast + +from cura.Machines.Models.MachineListModel import MachineListModel +from cura.Machines.Models.IntentTranslations import intent_translations +from cura.Settings.GlobalStack import GlobalStack +from UM.Application import Application +from UM.FlameProfiler import pyqtSlot +from UM.i18n import i18nCatalog +from UM.Logger import Logger +from UM.Message import Message +from UM.PluginRegistry import PluginRegistry +from UM.Settings.ContainerRegistry import ContainerRegistry + +import os +import threading +import time + +from cura.CuraApplication import CuraApplication + +i18n_catalog = i18nCatalog("cura") + + +class PCBDialog(QObject): + def __init__(self, parent = None) -> None: + super().__init__(parent) + + plugin_path = os.path.dirname(__file__) + dialog_path = os.path.join(plugin_path, 'PCBDialog.qml') + self._view = CuraApplication.getInstance().createQmlComponent(dialog_path, {"manager": self}) + + def show(self) -> None: + self._view.show() diff --git a/plugins/PCBWriter/PCBDialog.qml b/plugins/PCBWriter/PCBDialog.qml new file mode 100644 index 0000000000..1937c00828 --- /dev/null +++ b/plugins/PCBWriter/PCBDialog.qml @@ -0,0 +1,148 @@ +// Copyright (c) 2024 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 +import QtQuick.Layouts 1.3 +import QtQuick.Window 2.2 + +import UM 1.5 as UM +import Cura 1.1 as Cura +import PCBWriter 1.0 as PCBWriter + +UM.Dialog +{ + id: workspaceDialog + title: catalog.i18nc("@title:window", "Export pre-configured build batch") + + margin: UM.Theme.getSize("default_margin").width + minimumWidth: UM.Theme.getSize("modal_window_minimum").width + minimumHeight: UM.Theme.getSize("modal_window_minimum").height + + backgroundColor: UM.Theme.getColor("detail_background") + + headerComponent: Rectangle + { + UM.I18nCatalog { id: catalog; name: "cura" } + + height: childrenRect.height + 2 * UM.Theme.getSize("default_margin").height + color: UM.Theme.getColor("main_background") + + ColumnLayout + { + id: headerColumn + + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.rightMargin: anchors.leftMargin + + UM.Label + { + id: titleLabel + text: catalog.i18nc("@action:title", "Summary - Pre-configured build batch") + font: UM.Theme.getFont("large") + } + + UM.Label + { + id: descriptionLabel + text: catalog.i18nc("@action:description", "When exporting a build batch, all the models present on the build plate will be included with their current position, orientation and scale. You can also select which per-extruder or per-model settings should be included to ensure a proper printing of the batch, even on different printers.") + font: UM.Theme.getFont("default") + wrapMode: Text.Wrap + Layout.maximumWidth: headerColumn.width + } + } + } + + Rectangle + { + anchors.fill: parent + color: UM.Theme.getColor("main_background") + + PCBWriter.SettingsExportModel{ id: settingsExportModel } + + ListView + { + id: settingsExportList + anchors.fill: parent + anchors.margins: UM.Theme.getSize("default_margin").width + spacing: UM.Theme.getSize("default_margin").height + model: settingsExportModel.settingsGroups + clip: true + + ScrollBar.vertical: UM.ScrollBar { id: verticalScrollBar } + + delegate: SettingsSelectionGroup { Layout.margins: 0 } + } + + // Flickable + // { + // Column + // { + // width: parent.width - scrollbar.width - UM.Theme.getSize("default_margin").width + // height: childrenRect.height + // + // spacing: UM.Theme.getSize("default_margin").height + // leftPadding: UM.Theme.getSize("default_margin").width + // rightPadding: leftPadding + // topPadding: UM.Theme.getSize("default_margin").height + // bottomPadding: topPadding + // } + // } + } + + footerComponent: Rectangle + { + color: warning ? UM.Theme.getColor("warning") : "transparent" + anchors.bottom: parent.bottom + width: parent.width + height: childrenRect.height + (warning ? 2 * workspaceDialog.margin : workspaceDialog.margin) + + Column + { + height: childrenRect.height + spacing: workspaceDialog.margin + + anchors.leftMargin: workspaceDialog.margin + anchors.rightMargin: workspaceDialog.margin + anchors.bottomMargin: workspaceDialog.margin + anchors.topMargin: warning ? workspaceDialog.margin : 0 + + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + + RowLayout + { + id: warningRow + height: childrenRect.height + visible: warning + spacing: workspaceDialog.margin + UM.ColorImage + { + width: UM.Theme.getSize("extruder_icon").width + height: UM.Theme.getSize("extruder_icon").height + source: UM.Theme.getIcon("Warning") + } + + UM.Label + { + id: warningText + text: catalog.i18nc("@label", "This project contains materials or plugins that are currently not installed in Cura.
Install the missing packages and reopen the project.") + } + } + + Loader + { + width: parent.width + height: childrenRect.height + sourceComponent: buttonRow + } + } + } + + buttonSpacing: UM.Theme.getSize("wide_margin").width +} diff --git a/plugins/PCBWriter/PCBWriter.py b/plugins/PCBWriter/PCBWriter.py new file mode 100644 index 0000000000..6391493ae3 --- /dev/null +++ b/plugins/PCBWriter/PCBWriter.py @@ -0,0 +1,67 @@ +# Copyright (c) 2024 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. +import json +import re + +from threading import Lock + +from typing import Optional, cast, List, Dict, Pattern, Set + +from UM.Mesh.MeshWriter import MeshWriter +from UM.Math.Vector import Vector +from UM.Logger import Logger +from UM.Math.Matrix import Matrix +from UM.Application import Application +from UM.Message import Message +from UM.Resources import Resources +from UM.Scene.SceneNode import SceneNode +from UM.Settings.ContainerRegistry import ContainerRegistry +from UM.Settings.EmptyInstanceContainer import EmptyInstanceContainer +from PyQt6.QtQml import qmlRegisterType + +from cura.CuraApplication import CuraApplication +from cura.CuraPackageManager import CuraPackageManager +from cura.Settings import CuraContainerStack +from cura.Utils.Threading import call_on_qt_thread +from cura.Snapshot import Snapshot + +from PyQt6.QtCore import QBuffer + +import pySavitar as Savitar + +import numpy +import datetime + +import zipfile +import UM.Application + +from .PCBDialog import PCBDialog +from .SettingsExportModel import SettingsExportModel +from .SettingsExportGroup import SettingsExportGroup + +from UM.i18n import i18nCatalog +catalog = i18nCatalog("cura") + +class PCBWriter(MeshWriter): + def __init__(self): + super().__init__() + + qmlRegisterType(SettingsExportModel, "PCBWriter", 1, 0, "SettingsExportModel") + qmlRegisterType(SettingsExportGroup, "PCBWriter", 1, 0, "SettingsExportGroup") + #qmlRegisterUncreatableType(SettingsExportGroup.Category, "PCBWriter", 1, 0, "SettingsExportGroup.Category") + + self._config_dialog = None + self._main_thread_lock = Lock() + + def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode) -> bool: + self._main_thread_lock.acquire() + # Start configuration window in main application thread + CuraApplication.getInstance().callLater(self._write, stream, nodes, mode) + self._main_thread_lock.acquire() # Block until lock has been released, meaning the config is over + + self._main_thread_lock.release() + return True + + def _write(self, stream, nodes, mode): + self._config_dialog = PCBDialog() + self._config_dialog.show() diff --git a/plugins/PCBWriter/SettingExport.py b/plugins/PCBWriter/SettingExport.py new file mode 100644 index 0000000000..901dcdc804 --- /dev/null +++ b/plugins/PCBWriter/SettingExport.py @@ -0,0 +1,24 @@ +# Copyright (c) 2024 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt6.QtCore import Qt, QObject, pyqtProperty +from UM.FlameProfiler import pyqtSlot +from UM.Application import Application +from UM.Qt.ListModel import ListModel +from UM.Logger import Logger + + +class SettingsExport(): + + def __init__(self): + super().__init__() + self._name = "Generate Support" + self._value = "Enabled" + + @pyqtProperty(str, constant=True) + def name(self): + return self._name + + @pyqtProperty(str, constant=True) + def value(self): + return self._value diff --git a/plugins/PCBWriter/SettingsExportGroup.py b/plugins/PCBWriter/SettingsExportGroup.py new file mode 100644 index 0000000000..355b2347f6 --- /dev/null +++ b/plugins/PCBWriter/SettingsExportGroup.py @@ -0,0 +1,59 @@ +# Copyright (c) 2024 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from enum import IntEnum + +from PyQt6.QtCore import Qt, QObject, pyqtProperty, pyqtEnum +from UM.FlameProfiler import pyqtSlot +from UM.Application import Application +from UM.Qt.ListModel import ListModel +from UM.Logger import Logger + +from .SettingExport import SettingsExport + + +class SettingsExportGroup(QObject): + + @pyqtEnum + class Category(IntEnum): + Global = 0 + Extruder = 1 + Model = 2 + + def __init__(self, name, category, category_details = '', extruder_index = 0, extruder_color = ''): + super().__init__() + self._name = name + self._settings = [] + self._category = category + self._category_details = category_details + self._extruder_index = extruder_index + self._extruder_color = extruder_color + self._updateSettings() + + @pyqtProperty(str, constant=True) + def name(self): + return self._name + + @pyqtProperty(list, constant=True) + def settings(self): + return self._settings + + @pyqtProperty(int, constant=True) + def category(self): + return self._category + + @pyqtProperty(str, constant=True) + def category_details(self): + return self._category_details + + @pyqtProperty(int, constant=True) + def extruder_index(self): + return self._extruder_index + + @pyqtProperty(str, constant=True) + def extruder_color(self): + return self._extruder_color + + def _updateSettings(self): + self._settings.append(SettingsExport()) + self._settings.append(SettingsExport()) \ No newline at end of file diff --git a/plugins/PCBWriter/SettingsExportModel.py b/plugins/PCBWriter/SettingsExportModel.py new file mode 100644 index 0000000000..3351e22b59 --- /dev/null +++ b/plugins/PCBWriter/SettingsExportModel.py @@ -0,0 +1,31 @@ +# Copyright (c) 2024 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt6.QtCore import QObject, Qt, pyqtProperty +from UM.FlameProfiler import pyqtSlot +from UM.Application import Application +from UM.Qt.ListModel import ListModel +from UM.Logger import Logger + +from .SettingsExportGroup import SettingsExportGroup + + +class SettingsExportModel(QObject): + + def __init__(self, parent = None): + super().__init__(parent) + self._settingsGroups = [] + self._updateSettingsExportGroups() + + @pyqtProperty(list, constant=True) + def settingsGroups(self): + return self._settingsGroups + + def _updateSettingsExportGroups(self): + self._settingsGroups.append(SettingsExportGroup("Global settings", SettingsExportGroup.Category.Global)) + self._settingsGroups.append(SettingsExportGroup("Extruder settings", SettingsExportGroup.Category.Extruder, extruder_index=1, extruder_color='#ff0000')) + self._settingsGroups.append(SettingsExportGroup("Extruder settings", SettingsExportGroup.Category.Extruder, extruder_index=8, extruder_color='#008fff')) + self._settingsGroups.append(SettingsExportGroup("Model settings", + SettingsExportGroup.Category.Model, 'hypercube.stl')) + self._settingsGroups.append(SettingsExportGroup("Model settings", + SettingsExportGroup.Category.Model, 'homer-simpson.stl')) diff --git a/plugins/PCBWriter/SettingsSelectionGroup.qml b/plugins/PCBWriter/SettingsSelectionGroup.qml new file mode 100644 index 0000000000..12829c96d4 --- /dev/null +++ b/plugins/PCBWriter/SettingsSelectionGroup.qml @@ -0,0 +1,70 @@ +// Copyright (c) 2024 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 +import QtQuick.Layouts 1.3 +import QtQuick.Window 2.2 + +import UM 1.5 as UM +import Cura 1.1 as Cura +import PCBWriter 1.0 as PCBWriter + +Column +{ + id: settingsGroup + + UM.I18nCatalog { id: catalog; name: "cura" } + + Row + { + id: settingsGroupTitleRow + spacing: UM.Theme.getSize("default_margin").width + + Item + { + id: icon + anchors.verticalCenter: parent.verticalCenter + height: UM.Theme.getSize("medium_button_icon").height + width: height + + UM.ColorImage + { + id: settingsMainImage + anchors.fill: parent + source: + { + switch(modelData.category) + { + case PCBWriter.SettingsExportGroup.Global: + return UM.Theme.getIcon("Sliders") + case PCBWriter.SettingsExportGroup.Model: + return UM.Theme.getIcon("View3D") + default: + return "" + } + } + + color: UM.Theme.getColor("text") + } + + Cura.ExtruderIcon + { + id: settingsExtruderIcon + anchors.fill: parent + visible: modelData.category === PCBWriter.SettingsExportGroup.Extruder + text: (modelData.extruder_index + 1).toString() + font: UM.Theme.getFont("tiny_emphasis") + materialColor: modelData.extruder_color + } + } + + UM.Label + { + id: settingsTitle + text: modelData.name + (modelData.category_details ? ' (%1)'.arg(modelData.category_details) : '') + anchors.verticalCenter: parent.verticalCenter + font: UM.Theme.getFont("default_bold") + } + } +} diff --git a/plugins/PCBWriter/__init__.py b/plugins/PCBWriter/__init__.py new file mode 100644 index 0000000000..3ec2eba95f --- /dev/null +++ b/plugins/PCBWriter/__init__.py @@ -0,0 +1,21 @@ +# Copyright (c) 2024 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. +import sys + +from . import PCBWriter +from UM.i18n import i18nCatalog + +i18n_catalog = i18nCatalog("cura") + +def getMetaData(): + return {"mesh_writer": { + "output": [{ + "extension": "pcb", + "description": i18n_catalog.i18nc("@item:inlistbox", "Pre-Configured Batch file"), + "mime_type": "application/vnd.um.preconfigured-batch+3mf", + "mode": PCBWriter.PCBWriter.OutputMode.BinaryMode + }] + }} + +def register(app): + return {"mesh_writer": PCBWriter.PCBWriter() } diff --git a/plugins/PCBWriter/plugin.json b/plugins/PCBWriter/plugin.json new file mode 100644 index 0000000000..6571185779 --- /dev/null +++ b/plugins/PCBWriter/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Pre-Configured Batch Writer", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides support for writing Pre-Configured Batch files.", + "api": 8, + "i18n-catalog": "cura" +} diff --git a/resources/qml/ExtruderIcon.qml b/resources/qml/ExtruderIcon.qml index 3231d924ee..bd15df7848 100644 --- a/resources/qml/ExtruderIcon.qml +++ b/resources/qml/ExtruderIcon.qml @@ -15,6 +15,7 @@ Item property int iconSize: UM.Theme.getSize("extruder_icon").width property string iconVariant: "medium" property alias font: extruderNumberText.font + property alias text: extruderNumberText.text implicitWidth: iconSize implicitHeight: iconSize From 2aef33f52143f210be44f4f4a84712c68ee1d1b1 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Tue, 30 Jan 2024 14:35:55 +0100 Subject: [PATCH 08/98] Completed configuration UI to export PCB file CURA-11561 --- plugins/PCBWriter/PCBDialog.qml | 17 +----------- plugins/PCBWriter/SettingExport.py | 8 +++--- plugins/PCBWriter/SettingSelection.qml | 27 ++++++++++++++++++ plugins/PCBWriter/SettingsExportGroup.py | 9 ++---- plugins/PCBWriter/SettingsExportModel.py | 28 +++++++++++++++---- plugins/PCBWriter/SettingsSelectionGroup.qml | 29 ++++++++++++++++---- 6 files changed, 80 insertions(+), 38 deletions(-) create mode 100644 plugins/PCBWriter/SettingSelection.qml diff --git a/plugins/PCBWriter/PCBDialog.qml b/plugins/PCBWriter/PCBDialog.qml index 1937c00828..213bed108c 100644 --- a/plugins/PCBWriter/PCBDialog.qml +++ b/plugins/PCBWriter/PCBDialog.qml @@ -69,7 +69,7 @@ UM.Dialog id: settingsExportList anchors.fill: parent anchors.margins: UM.Theme.getSize("default_margin").width - spacing: UM.Theme.getSize("default_margin").height + spacing: UM.Theme.getSize("thick_margin").height model: settingsExportModel.settingsGroups clip: true @@ -77,21 +77,6 @@ UM.Dialog delegate: SettingsSelectionGroup { Layout.margins: 0 } } - - // Flickable - // { - // Column - // { - // width: parent.width - scrollbar.width - UM.Theme.getSize("default_margin").width - // height: childrenRect.height - // - // spacing: UM.Theme.getSize("default_margin").height - // leftPadding: UM.Theme.getSize("default_margin").width - // rightPadding: leftPadding - // topPadding: UM.Theme.getSize("default_margin").height - // bottomPadding: topPadding - // } - // } } footerComponent: Rectangle diff --git a/plugins/PCBWriter/SettingExport.py b/plugins/PCBWriter/SettingExport.py index 901dcdc804..2c230f9ab3 100644 --- a/plugins/PCBWriter/SettingExport.py +++ b/plugins/PCBWriter/SettingExport.py @@ -8,12 +8,12 @@ from UM.Qt.ListModel import ListModel from UM.Logger import Logger -class SettingsExport(): +class SettingsExport(QObject): - def __init__(self): + def __init__(self, name, value): super().__init__() - self._name = "Generate Support" - self._value = "Enabled" + self._name = name + self._value = value @pyqtProperty(str, constant=True) def name(self): diff --git a/plugins/PCBWriter/SettingSelection.qml b/plugins/PCBWriter/SettingSelection.qml new file mode 100644 index 0000000000..9b09593a7d --- /dev/null +++ b/plugins/PCBWriter/SettingSelection.qml @@ -0,0 +1,27 @@ +// Copyright (c) 2024 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 +import QtQuick.Layouts 1.3 +import QtQuick.Window 2.2 + +import UM 1.5 as UM +import Cura 1.1 as Cura + +RowLayout +{ + id: settingSelection + + UM.CheckBox + { + text: modelData.name + Layout.preferredWidth: UM.Theme.getSize("setting").width + checked: true + } + + UM.Label + { + text: modelData.value + } +} diff --git a/plugins/PCBWriter/SettingsExportGroup.py b/plugins/PCBWriter/SettingsExportGroup.py index 355b2347f6..0a721a7fb8 100644 --- a/plugins/PCBWriter/SettingsExportGroup.py +++ b/plugins/PCBWriter/SettingsExportGroup.py @@ -20,15 +20,14 @@ class SettingsExportGroup(QObject): Extruder = 1 Model = 2 - def __init__(self, name, category, category_details = '', extruder_index = 0, extruder_color = ''): + def __init__(self, name, category, settings, category_details = '', extruder_index = 0, extruder_color = ''): super().__init__() self._name = name - self._settings = [] + self._settings = settings self._category = category self._category_details = category_details self._extruder_index = extruder_index self._extruder_color = extruder_color - self._updateSettings() @pyqtProperty(str, constant=True) def name(self): @@ -53,7 +52,3 @@ class SettingsExportGroup(QObject): @pyqtProperty(str, constant=True) def extruder_color(self): return self._extruder_color - - def _updateSettings(self): - self._settings.append(SettingsExport()) - self._settings.append(SettingsExport()) \ No newline at end of file diff --git a/plugins/PCBWriter/SettingsExportModel.py b/plugins/PCBWriter/SettingsExportModel.py index 3351e22b59..0f1ec5113a 100644 --- a/plugins/PCBWriter/SettingsExportModel.py +++ b/plugins/PCBWriter/SettingsExportModel.py @@ -8,6 +8,7 @@ from UM.Qt.ListModel import ListModel from UM.Logger import Logger from .SettingsExportGroup import SettingsExportGroup +from .SettingExport import SettingsExport class SettingsExportModel(QObject): @@ -22,10 +23,27 @@ class SettingsExportModel(QObject): return self._settingsGroups def _updateSettingsExportGroups(self): - self._settingsGroups.append(SettingsExportGroup("Global settings", SettingsExportGroup.Category.Global)) - self._settingsGroups.append(SettingsExportGroup("Extruder settings", SettingsExportGroup.Category.Extruder, extruder_index=1, extruder_color='#ff0000')) - self._settingsGroups.append(SettingsExportGroup("Extruder settings", SettingsExportGroup.Category.Extruder, extruder_index=8, extruder_color='#008fff')) + self._settingsGroups.append(SettingsExportGroup("Global settings", + SettingsExportGroup.Category.Global, + [SettingsExport("Generate Support", "Enabled"), + SettingsExport("Support Type", "Tree")])) + self._settingsGroups.append(SettingsExportGroup("Extruder settings", + SettingsExportGroup.Category.Extruder, + [SettingsExport("Brim Width", "0.7mm")], + extruder_index=1, + extruder_color='#ff0000')) + self._settingsGroups.append(SettingsExportGroup("Extruder settings", + SettingsExportGroup.Category.Extruder, + [], + extruder_index=8, + extruder_color='#008fff')) self._settingsGroups.append(SettingsExportGroup("Model settings", - SettingsExportGroup.Category.Model, 'hypercube.stl')) + SettingsExportGroup.Category.Model, + [SettingsExport("Brim Width", "20.0 mm"), + SettingsExport("Z Hop when retracted", "Disabled")], + 'hypercube.stl')) self._settingsGroups.append(SettingsExportGroup("Model settings", - SettingsExportGroup.Category.Model, 'homer-simpson.stl')) + SettingsExportGroup.Category.Model, + [SettingsExport("Walls Thickness", "3.0 mm"), + SettingsExport("Enable Ironing", "Enabled")], + 'homer-simpson.stl')) diff --git a/plugins/PCBWriter/SettingsSelectionGroup.qml b/plugins/PCBWriter/SettingsSelectionGroup.qml index 12829c96d4..39299ab7c3 100644 --- a/plugins/PCBWriter/SettingsSelectionGroup.qml +++ b/plugins/PCBWriter/SettingsSelectionGroup.qml @@ -10,13 +10,12 @@ import UM 1.5 as UM import Cura 1.1 as Cura import PCBWriter 1.0 as PCBWriter -Column +ColumnLayout { id: settingsGroup + spacing: UM.Theme.getSize("narrow_margin").width - UM.I18nCatalog { id: catalog; name: "cura" } - - Row + RowLayout { id: settingsGroupTitleRow spacing: UM.Theme.getSize("default_margin").width @@ -24,7 +23,6 @@ Column Item { id: icon - anchors.verticalCenter: parent.verticalCenter height: UM.Theme.getSize("medium_button_icon").height width: height @@ -63,8 +61,27 @@ Column { id: settingsTitle text: modelData.name + (modelData.category_details ? ' (%1)'.arg(modelData.category_details) : '') - anchors.verticalCenter: parent.verticalCenter font: UM.Theme.getFont("default_bold") } } + + ListView + { + id: settingsExportList + Layout.fillWidth: true + Layout.preferredHeight: contentHeight + spacing: 0 + model: modelData.settings + visible: modelData.settings.length > 0 + + delegate: SettingSelection { } + } + + UM.Label + { + UM.I18nCatalog { id: catalog; name: "cura" } + + text: catalog.i18nc("@label", "No specific value has been set") + visible: modelData.settings.length === 0 + } } From 8ad4ab90a8e90a173f6e1aa08b02d75a0b822fb2 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Wed, 31 Jan 2024 09:26:49 +0100 Subject: [PATCH 09/98] User settings are now properly proposed for export CURA-11561 --- plugins/PCBWriter/PCBDialog.py | 8 +- plugins/PCBWriter/PCBDialog.qml | 2 + plugins/PCBWriter/PCBWriter.py | 4 + plugins/PCBWriter/SettingExport.py | 6 +- plugins/PCBWriter/SettingsExportGroup.py | 8 +- plugins/PCBWriter/SettingsExportModel.py | 132 +++++++++++++++++------ 6 files changed, 114 insertions(+), 46 deletions(-) diff --git a/plugins/PCBWriter/PCBDialog.py b/plugins/PCBWriter/PCBDialog.py index f31c87a61b..385b60272e 100644 --- a/plugins/PCBWriter/PCBDialog.py +++ b/plugins/PCBWriter/PCBDialog.py @@ -1,7 +1,7 @@ # Copyright (c) 2024 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from PyQt6.QtCore import pyqtSignal, QObject, pyqtProperty, QCoreApplication, QUrl +from PyQt6.QtCore import pyqtSignal, QObject, pyqtProperty, QCoreApplication, QUrl, pyqtSlot from PyQt6.QtGui import QDesktopServices from typing import List, Optional, Dict, cast @@ -26,6 +26,8 @@ i18n_catalog = i18nCatalog("cura") class PCBDialog(QObject): + finished = pyqtSignal() + def __init__(self, parent = None) -> None: super().__init__(parent) @@ -35,3 +37,7 @@ class PCBDialog(QObject): def show(self) -> None: self._view.show() + + @pyqtSlot() + def notifyClosed(self): + self.finished.emit() diff --git a/plugins/PCBWriter/PCBDialog.qml b/plugins/PCBWriter/PCBDialog.qml index 213bed108c..ddf99d5e1f 100644 --- a/plugins/PCBWriter/PCBDialog.qml +++ b/plugins/PCBWriter/PCBDialog.qml @@ -130,4 +130,6 @@ UM.Dialog } buttonSpacing: UM.Theme.getSize("wide_margin").width + + onClosing: manager.notifyClosed() } diff --git a/plugins/PCBWriter/PCBWriter.py b/plugins/PCBWriter/PCBWriter.py index 6391493ae3..26e552f583 100644 --- a/plugins/PCBWriter/PCBWriter.py +++ b/plugins/PCBWriter/PCBWriter.py @@ -64,4 +64,8 @@ class PCBWriter(MeshWriter): def _write(self, stream, nodes, mode): self._config_dialog = PCBDialog() + self._config_dialog.finished.connect(self._onDialogClosed) self._config_dialog.show() + + def _onDialogClosed(self): + self._main_thread_lock.release() diff --git a/plugins/PCBWriter/SettingExport.py b/plugins/PCBWriter/SettingExport.py index 2c230f9ab3..0a761bb6b9 100644 --- a/plugins/PCBWriter/SettingExport.py +++ b/plugins/PCBWriter/SettingExport.py @@ -1,11 +1,7 @@ # Copyright (c) 2024 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from PyQt6.QtCore import Qt, QObject, pyqtProperty -from UM.FlameProfiler import pyqtSlot -from UM.Application import Application -from UM.Qt.ListModel import ListModel -from UM.Logger import Logger +from PyQt6.QtCore import QObject, pyqtProperty class SettingsExport(QObject): diff --git a/plugins/PCBWriter/SettingsExportGroup.py b/plugins/PCBWriter/SettingsExportGroup.py index 0a721a7fb8..2b21c42b78 100644 --- a/plugins/PCBWriter/SettingsExportGroup.py +++ b/plugins/PCBWriter/SettingsExportGroup.py @@ -3,13 +3,7 @@ from enum import IntEnum -from PyQt6.QtCore import Qt, QObject, pyqtProperty, pyqtEnum -from UM.FlameProfiler import pyqtSlot -from UM.Application import Application -from UM.Qt.ListModel import ListModel -from UM.Logger import Logger - -from .SettingExport import SettingsExport +from PyQt6.QtCore import QObject, pyqtProperty, pyqtEnum class SettingsExportGroup(QObject): diff --git a/plugins/PCBWriter/SettingsExportModel.py b/plugins/PCBWriter/SettingsExportModel.py index 0f1ec5113a..b09717298a 100644 --- a/plugins/PCBWriter/SettingsExportModel.py +++ b/plugins/PCBWriter/SettingsExportModel.py @@ -1,49 +1,115 @@ # Copyright (c) 2024 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from PyQt6.QtCore import QObject, Qt, pyqtProperty -from UM.FlameProfiler import pyqtSlot -from UM.Application import Application -from UM.Qt.ListModel import ListModel -from UM.Logger import Logger +from PyQt6.QtCore import QObject, pyqtProperty from .SettingsExportGroup import SettingsExportGroup from .SettingExport import SettingsExport +from cura.CuraApplication import CuraApplication +from UM.Settings.SettingDefinition import SettingDefinition +from cura.Settings.ExtruderManager import ExtruderManager class SettingsExportModel(QObject): + EXPORTABLE_SETTINGS = {'infill_sparse_density', + 'adhesion_type', + 'support_enable', + 'infill_pattern', + 'support_type', + 'support_structure', + 'support_angle', + 'support_infill_rate', + 'ironing_enabled', + 'fill_outline_gaps', + 'coasting_enable', + 'skin_monotonic', + 'z_seam_position', + 'infill_before_walls', + 'ironing_only_highest_layer', + 'xy_offset', + 'adaptive_layer_height_enabled', + 'brim_gap', + 'support_offset', + 'brim_outside_only', + 'magic_spiralize', + 'slicing_tolerance', + 'outer_inset_first', + 'magic_fuzzy_skin_outside_only', + 'conical_overhang_enabled', + 'min_infill_area', + 'small_hole_max_size', + 'magic_mesh_surface_mode', + 'carve_multiple_volumes', + 'meshfix_union_all_remove_holes', + 'support_tree_rest_preference', + 'small_feature_max_length', + 'draft_shield_enabled', + 'brim_smart_ordering', + 'ooze_shield_enabled', + 'bottom_skin_preshrink', + 'skin_edge_support_thickness', + 'alternate_carve_order', + 'top_skin_preshrink', + 'interlocking_enable'} + def __init__(self, parent = None): super().__init__(parent) - self._settingsGroups = [] - self._updateSettingsExportGroups() + self._settings_groups = [] + + application = CuraApplication.getInstance() + + # Display global settings + global_stack = application.getGlobalContainerStack() + self._settings_groups.append(SettingsExportGroup("Global settings", + SettingsExportGroup.Category.Global, + self._exportSettings(global_stack))) + + # Display per-extruder settings + extruders_stacks = ExtruderManager.getInstance().getUsedExtruderStacks() + for extruder_stack in extruders_stacks: + color = "" + if extruder_stack.material: + color = extruder_stack.material.getMetaDataEntry("color_code") + + self._settings_groups.append(SettingsExportGroup("Extruder settings", + SettingsExportGroup.Category.Extruder, + self._exportSettings(extruder_stack), + extruder_index=extruder_stack.position, + extruder_color=color)) + + # Display per-model settings + scene_root = application.getController().getScene().getRoot() + for scene_node in scene_root.getChildren(): + per_model_stack = scene_node.callDecoration("getStack") + if per_model_stack is not None: + self._settings_groups.append(SettingsExportGroup("Model settings", + SettingsExportGroup.Category.Model, + self._exportSettings(per_model_stack), + scene_node.getName())) @pyqtProperty(list, constant=True) def settingsGroups(self): - return self._settingsGroups + return self._settings_groups - def _updateSettingsExportGroups(self): - self._settingsGroups.append(SettingsExportGroup("Global settings", - SettingsExportGroup.Category.Global, - [SettingsExport("Generate Support", "Enabled"), - SettingsExport("Support Type", "Tree")])) - self._settingsGroups.append(SettingsExportGroup("Extruder settings", - SettingsExportGroup.Category.Extruder, - [SettingsExport("Brim Width", "0.7mm")], - extruder_index=1, - extruder_color='#ff0000')) - self._settingsGroups.append(SettingsExportGroup("Extruder settings", - SettingsExportGroup.Category.Extruder, - [], - extruder_index=8, - extruder_color='#008fff')) - self._settingsGroups.append(SettingsExportGroup("Model settings", - SettingsExportGroup.Category.Model, - [SettingsExport("Brim Width", "20.0 mm"), - SettingsExport("Z Hop when retracted", "Disabled")], - 'hypercube.stl')) - self._settingsGroups.append(SettingsExportGroup("Model settings", - SettingsExportGroup.Category.Model, - [SettingsExport("Walls Thickness", "3.0 mm"), - SettingsExport("Enable Ironing", "Enabled")], - 'homer-simpson.stl')) + @staticmethod + def _exportSettings(settings_stack): + user_settings_container = settings_stack.getTop() + user_keys = user_settings_container.getAllKeys() + + settings_export = [] + + for setting_to_export in user_keys.intersection(SettingsExportModel.EXPORTABLE_SETTINGS): + label = settings_stack.getProperty(setting_to_export, "label") + value = settings_stack.getProperty(setting_to_export, "value") + + setting_type = settings_stack.getProperty(setting_to_export, "type") + if setting_type is not None: + # This is not very good looking, but will do for now + value = SettingDefinition.settingValueToString(setting_type, value) + else: + value = str(value) + + settings_export.append(SettingsExport(label, value)) + + return settings_export \ No newline at end of file From fcf1e63160007a894b8dddf8cf0a32438f95b6cb Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Thu, 1 Feb 2024 09:29:47 +0100 Subject: [PATCH 10/98] It is now possible to generate the PCB file CURA-11561 --- plugins/PCBWriter/PCBDialog.py | 49 ++- plugins/PCBWriter/PCBDialog.qml | 64 +--- plugins/PCBWriter/PCBWriter.py | 443 +++++++++++++++++++++-- plugins/PCBWriter/SettingExport.py | 19 +- plugins/PCBWriter/SettingSelection.qml | 3 +- plugins/PCBWriter/SettingsExportGroup.py | 3 +- plugins/PCBWriter/SettingsExportModel.py | 29 +- plugins/PCBWriter/__init__.py | 12 +- 8 files changed, 510 insertions(+), 112 deletions(-) diff --git a/plugins/PCBWriter/PCBDialog.py b/plugins/PCBWriter/PCBDialog.py index 385b60272e..089fa259ac 100644 --- a/plugins/PCBWriter/PCBDialog.py +++ b/plugins/PCBWriter/PCBDialog.py @@ -1,43 +1,56 @@ # Copyright (c) 2024 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from PyQt6.QtCore import pyqtSignal, QObject, pyqtProperty, QCoreApplication, QUrl, pyqtSlot -from PyQt6.QtGui import QDesktopServices -from typing import List, Optional, Dict, cast +import os -from cura.Machines.Models.MachineListModel import MachineListModel -from cura.Machines.Models.IntentTranslations import intent_translations -from cura.Settings.GlobalStack import GlobalStack -from UM.Application import Application +from PyQt6.QtCore import pyqtSignal, QObject from UM.FlameProfiler import pyqtSlot from UM.i18n import i18nCatalog -from UM.Logger import Logger -from UM.Message import Message -from UM.PluginRegistry import PluginRegistry -from UM.Settings.ContainerRegistry import ContainerRegistry - -import os -import threading -import time from cura.CuraApplication import CuraApplication +from .SettingsExportModel import SettingsExportModel + i18n_catalog = i18nCatalog("cura") class PCBDialog(QObject): - finished = pyqtSignal() + finished = pyqtSignal(bool) def __init__(self, parent = None) -> None: super().__init__(parent) plugin_path = os.path.dirname(__file__) dialog_path = os.path.join(plugin_path, 'PCBDialog.qml') - self._view = CuraApplication.getInstance().createQmlComponent(dialog_path, {"manager": self}) + self._model = SettingsExportModel() + self._view = CuraApplication.getInstance().createQmlComponent(dialog_path, + {"manager": self, + "settingsExportModel": self._model}) + self._view.accepted.connect(self._onAccepted) + self._view.rejected.connect(self._onRejected) + self._finished = False + self._accepted = False def show(self) -> None: self._view.show() + def getModel(self) -> SettingsExportModel: + return self._model + @pyqtSlot() def notifyClosed(self): - self.finished.emit() + self._onFinished() + + @pyqtSlot() + def _onAccepted(self): + self._accepted = True + self._onFinished() + + @pyqtSlot() + def _onRejected(self): + self._onFinished() + + def _onFinished(self): + if not self._finished: # Make sure we don't send the finished signal twice, whatever happens + self._finished = True + self.finished.emit(self._accepted) diff --git a/plugins/PCBWriter/PCBDialog.qml b/plugins/PCBWriter/PCBDialog.qml index ddf99d5e1f..8264e3ee96 100644 --- a/plugins/PCBWriter/PCBDialog.qml +++ b/plugins/PCBWriter/PCBDialog.qml @@ -12,7 +12,7 @@ import PCBWriter 1.0 as PCBWriter UM.Dialog { - id: workspaceDialog + id: exportDialog title: catalog.i18nc("@title:window", "Export pre-configured build batch") margin: UM.Theme.getSize("default_margin").width @@ -23,8 +23,6 @@ UM.Dialog headerComponent: Rectangle { - UM.I18nCatalog { id: catalog; name: "cura" } - height: childrenRect.height + 2 * UM.Theme.getSize("default_margin").height color: UM.Theme.getColor("main_background") @@ -62,7 +60,7 @@ UM.Dialog anchors.fill: parent color: UM.Theme.getColor("main_background") - PCBWriter.SettingsExportModel{ id: settingsExportModel } + UM.I18nCatalog { id: catalog; name: "cura" } ListView { @@ -79,55 +77,19 @@ UM.Dialog } } - footerComponent: Rectangle - { - color: warning ? UM.Theme.getColor("warning") : "transparent" - anchors.bottom: parent.bottom - width: parent.width - height: childrenRect.height + (warning ? 2 * workspaceDialog.margin : workspaceDialog.margin) - - Column + rightButtons: + [ + Cura.TertiaryButton { - height: childrenRect.height - spacing: workspaceDialog.margin - - anchors.leftMargin: workspaceDialog.margin - anchors.rightMargin: workspaceDialog.margin - anchors.bottomMargin: workspaceDialog.margin - anchors.topMargin: warning ? workspaceDialog.margin : 0 - - anchors.left: parent.left - anchors.right: parent.right - anchors.top: parent.top - - RowLayout - { - id: warningRow - height: childrenRect.height - visible: warning - spacing: workspaceDialog.margin - UM.ColorImage - { - width: UM.Theme.getSize("extruder_icon").width - height: UM.Theme.getSize("extruder_icon").height - source: UM.Theme.getIcon("Warning") - } - - UM.Label - { - id: warningText - text: catalog.i18nc("@label", "This project contains materials or plugins that are currently not installed in Cura.
Install the missing packages and reopen the project.") - } - } - - Loader - { - width: parent.width - height: childrenRect.height - sourceComponent: buttonRow - } + text: catalog.i18nc("@action:button", "Cancel") + onClicked: reject() + }, + Cura.PrimaryButton + { + text: catalog.i18nc("@action:button", "Save project") + onClicked: accept() } - } + ] buttonSpacing: UM.Theme.getSize("wide_margin").width diff --git a/plugins/PCBWriter/PCBWriter.py b/plugins/PCBWriter/PCBWriter.py index 26e552f583..794eac9d4a 100644 --- a/plugins/PCBWriter/PCBWriter.py +++ b/plugins/PCBWriter/PCBWriter.py @@ -1,71 +1,460 @@ # Copyright (c) 2024 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import json +import zipfile +import datetime +import numpy import re - +from dataclasses import asdict +from typing import Optional, cast, List, Dict, Pattern, Set, Union, Mapping, Any from threading import Lock +from io import StringIO # For converting g-code to bytes. -from typing import Optional, cast, List, Dict, Pattern, Set +import pySavitar as Savitar + +from PyQt6.QtCore import QBuffer from UM.Mesh.MeshWriter import MeshWriter -from UM.Math.Vector import Vector from UM.Logger import Logger -from UM.Math.Matrix import Matrix -from UM.Application import Application -from UM.Message import Message -from UM.Resources import Resources from UM.Scene.SceneNode import SceneNode +from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator +from UM.i18n import i18nCatalog +from UM.Settings.InstanceContainer import InstanceContainer +from UM.Settings.SettingFunction import SettingFunction from UM.Settings.ContainerRegistry import ContainerRegistry -from UM.Settings.EmptyInstanceContainer import EmptyInstanceContainer -from PyQt6.QtQml import qmlRegisterType +from UM.Math.Matrix import Matrix +from UM.Math.Vector import Vector from cura.CuraApplication import CuraApplication from cura.CuraPackageManager import CuraPackageManager from cura.Settings import CuraContainerStack +from cura.Settings.GlobalStack import GlobalStack from cura.Utils.Threading import call_on_qt_thread from cura.Snapshot import Snapshot -from PyQt6.QtCore import QBuffer - -import pySavitar as Savitar - -import numpy -import datetime - -import zipfile -import UM.Application - from .PCBDialog import PCBDialog from .SettingsExportModel import SettingsExportModel from .SettingsExportGroup import SettingsExportGroup -from UM.i18n import i18nCatalog +MYPY = False +try: + if not MYPY: + import xml.etree.cElementTree as ET +except ImportError: + Logger.log("w", "Unable to load cElementTree, switching to slower version") + import xml.etree.ElementTree as ET + catalog = i18nCatalog("cura") +THUMBNAIL_PATH = "Metadata/thumbnail.png" +MODEL_PATH = "3D/3dmodel.model" +PACKAGE_METADATA_PATH = "Cura/packages.json" +USER_SETTINGS_PATH = "Cura/user-settings.json" + class PCBWriter(MeshWriter): def __init__(self): super().__init__() - - qmlRegisterType(SettingsExportModel, "PCBWriter", 1, 0, "SettingsExportModel") - qmlRegisterType(SettingsExportGroup, "PCBWriter", 1, 0, "SettingsExportGroup") - #qmlRegisterUncreatableType(SettingsExportGroup.Category, "PCBWriter", 1, 0, "SettingsExportGroup.Category") + self._namespaces = { + "3mf": "http://schemas.microsoft.com/3dmanufacturing/core/2015/02", + "content-types": "http://schemas.openxmlformats.org/package/2006/content-types", + "relationships": "http://schemas.openxmlformats.org/package/2006/relationships", + "cura": "http://software.ultimaker.com/xml/cura/3mf/2015/10" + } self._config_dialog = None self._main_thread_lock = Lock() + self._success = False + self._export_model = None def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode) -> bool: + self._success = False + self._export_model = None + self._main_thread_lock.acquire() # Start configuration window in main application thread CuraApplication.getInstance().callLater(self._write, stream, nodes, mode) self._main_thread_lock.acquire() # Block until lock has been released, meaning the config is over self._main_thread_lock.release() - return True + + if self._export_model is not None: + archive = zipfile.ZipFile(stream, "w", compression=zipfile.ZIP_DEFLATED) + try: + model_file = zipfile.ZipInfo(MODEL_PATH) + # Because zipfile is stupid and ignores archive-level compression settings when writing with ZipInfo. + model_file.compress_type = zipfile.ZIP_DEFLATED + + # Create content types file + content_types_file = zipfile.ZipInfo("[Content_Types].xml") + content_types_file.compress_type = zipfile.ZIP_DEFLATED + content_types = ET.Element("Types", xmlns=self._namespaces["content-types"]) + rels_type = ET.SubElement(content_types, "Default", Extension="rels", + ContentType="application/vnd.openxmlformats-package.relationships+xml") + model_type = ET.SubElement(content_types, "Default", Extension="model", + ContentType="application/vnd.ms-package.3dmanufacturing-3dmodel+xml") + + # Create _rels/.rels file + relations_file = zipfile.ZipInfo("_rels/.rels") + relations_file.compress_type = zipfile.ZIP_DEFLATED + relations_element = ET.Element("Relationships", xmlns=self._namespaces["relationships"]) + model_relation_element = ET.SubElement(relations_element, "Relationship", Target="/" + MODEL_PATH, + Id="rel0", + Type="http://schemas.microsoft.com/3dmanufacturing/2013/01/3dmodel") + + # Attempt to add a thumbnail + snapshot = self._createSnapshot() + if snapshot: + thumbnail_buffer = QBuffer() + thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite) + snapshot.save(thumbnail_buffer, "PNG") + + thumbnail_file = zipfile.ZipInfo(THUMBNAIL_PATH) + # Don't try to compress snapshot file, because the PNG is pretty much as compact as it will get + archive.writestr(thumbnail_file, thumbnail_buffer.data()) + + # Add PNG to content types file + thumbnail_type = ET.SubElement(content_types, "Default", Extension="png", ContentType="image/png") + # Add thumbnail relation to _rels/.rels file + thumbnail_relation_element = ET.SubElement(relations_element, "Relationship", + Target="/" + THUMBNAIL_PATH, Id="rel1", + Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail") + + # Write material metadata + packages_metadata = self._getMaterialPackageMetadata() + self._getPluginPackageMetadata() + self._storeMetadataJson({"packages": packages_metadata}, archive, PACKAGE_METADATA_PATH) + + # Write user settings data + user_settings_data = self._getUserSettings(self._export_model) + self._storeMetadataJson(user_settings_data, archive, USER_SETTINGS_PATH) + + savitar_scene = Savitar.Scene() + + scene_metadata = CuraApplication.getInstance().getController().getScene().getMetaData() + + for key, value in scene_metadata.items(): + savitar_scene.setMetaDataEntry(key, value) + + current_time_string = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + if "Application" not in scene_metadata: + # This might sound a bit strange, but this field should store the original application that created + # the 3mf. So if it was already set, leave it to whatever it was. + savitar_scene.setMetaDataEntry("Application", + CuraApplication.getInstance().getApplicationDisplayName()) + if "CreationDate" not in scene_metadata: + savitar_scene.setMetaDataEntry("CreationDate", current_time_string) + + savitar_scene.setMetaDataEntry("ModificationDate", current_time_string) + + transformation_matrix = Matrix() + transformation_matrix._data[1, 1] = 0 + transformation_matrix._data[1, 2] = -1 + transformation_matrix._data[2, 1] = 1 + transformation_matrix._data[2, 2] = 0 + + global_container_stack = CuraApplication.getInstance().getGlobalContainerStack() + # Second step: 3MF defines the left corner of the machine as center, whereas cura uses the center of the + # build volume. + if global_container_stack: + translation_vector = Vector(x=global_container_stack.getProperty("machine_width", "value") / 2, + y=global_container_stack.getProperty("machine_depth", "value") / 2, + z=0) + translation_matrix = Matrix() + translation_matrix.setByTranslation(translation_vector) + transformation_matrix.preMultiply(translation_matrix) + + root_node = CuraApplication.getInstance().getController().getScene().getRoot() + exported_model_settings = PCBWriter._extractModelExportedSettings(self._export_model) + for node in nodes: + if node == root_node: + for root_child in node.getChildren(): + savitar_node = PCBWriter._convertUMNodeToSavitarNode(root_child, + transformation_matrix, + exported_model_settings) + if savitar_node: + savitar_scene.addSceneNode(savitar_node) + else: + savitar_node = self._convertUMNodeToSavitarNode(node, + transformation_matrix, + exported_model_settings) + if savitar_node: + savitar_scene.addSceneNode(savitar_node) + + parser = Savitar.ThreeMFParser() + scene_string = parser.sceneToString(savitar_scene) + + archive.writestr(model_file, scene_string) + archive.writestr(content_types_file, + b' \n' + ET.tostring(content_types)) + archive.writestr(relations_file, + b' \n' + ET.tostring(relations_element)) + except Exception as error: + Logger.logException("e", "Error writing zip file") + self.setInformation(str(error)) + return False + finally: + archive.close() + + return True + else: + return False def _write(self, stream, nodes, mode): self._config_dialog = PCBDialog() - self._config_dialog.finished.connect(self._onDialogClosed) + self._config_dialog.finished.connect(self._onDialogFinished) self._config_dialog.show() - def _onDialogClosed(self): + def _onDialogFinished(self, accepted: bool): + if accepted: + self._export_model = self._config_dialog.getModel() + self._main_thread_lock.release() + + @staticmethod + def _extractModelExportedSettings(model: SettingsExportModel) -> Mapping[str, Set[str]]: + extra_settings = {} + + for group in model.settingsGroups: + if group.category == SettingsExportGroup.Category.Model: + exported_model_settings = set() + + for exported_setting in group.settings: + if exported_setting.selected: + exported_model_settings.add(exported_setting.id) + + extra_settings[group.category_details] = exported_model_settings + + return extra_settings + + @staticmethod + def _convertUMNodeToSavitarNode(um_node, + transformation: Matrix = Matrix(), + exported_settings: Mapping[str, Set[str]] = None): + """Convenience function that converts an Uranium SceneNode object to a SavitarSceneNode + + :returns: Uranium Scene node. + """ + if not isinstance(um_node, SceneNode): + return None + + active_build_plate_nr = CuraApplication.getInstance().getMultiBuildPlateModel().activeBuildPlate + if um_node.callDecoration("getBuildPlateNumber") != active_build_plate_nr: + return + + savitar_node = Savitar.SceneNode() + savitar_node.setName(um_node.getName()) + + node_matrix = Matrix() + mesh_data = um_node.getMeshData() + # compensate for original center position, if object(s) is/are not around its zero position + if mesh_data is not None: + extents = mesh_data.getExtents() + if extents is not None: + # We use a different coordinate space while writing, so flip Z and Y + center_vector = Vector(extents.center.x, extents.center.z, extents.center.y) + node_matrix.setByTranslation(center_vector) + node_matrix.multiply(um_node.getLocalTransformation()) + + matrix_string = PCBWriter._convertMatrixToString(node_matrix.preMultiply(transformation)) + + savitar_node.setTransformation(matrix_string) + if mesh_data is not None: + savitar_node.getMeshData().setVerticesFromBytes(mesh_data.getVerticesAsByteArray()) + indices_array = mesh_data.getIndicesAsByteArray() + if indices_array is not None: + savitar_node.getMeshData().setFacesFromBytes(indices_array) + else: + savitar_node.getMeshData().setFacesFromBytes( + numpy.arange(mesh_data.getVertices().size / 3, dtype=numpy.int32).tostring()) + + # Handle per object settings (if any) + stack = um_node.callDecoration("getStack") + if stack is not None: + if um_node.getName() in exported_settings: + model_exported_settings = exported_settings[um_node.getName()] + + # Get values for all exported settings & save them. + for key in model_exported_settings: + savitar_node.setSetting("cura:" + key, str(stack.getProperty(key, "value"))) + + # Store the metadata. + for key, value in um_node.metadata.items(): + savitar_node.setSetting(key, value) + + for child_node in um_node.getChildren(): + # only save the nodes on the active build plate + if child_node.callDecoration("getBuildPlateNumber") != active_build_plate_nr: + continue + savitar_child_node = PCBWriter._convertUMNodeToSavitarNode(child_node, + exported_settings = exported_settings) + if savitar_child_node is not None: + savitar_node.addChild(savitar_child_node) + + return savitar_node + + @call_on_qt_thread # must be called from the main thread because of OpenGL + def _createSnapshot(self): + Logger.log("d", "Creating thumbnail image...") + if not CuraApplication.getInstance().isVisible: + Logger.log("w", "Can't create snapshot when renderer not initialized.") + return None + try: + snapshot = Snapshot.snapshot(width=300, height=300) + except: + Logger.logException("w", "Failed to create snapshot image") + return None + + return snapshot + + @staticmethod + def _storeMetadataJson(metadata: Union[Dict[str, List[Dict[str, str]]], Dict[str, Dict[str, Any]]], + archive: zipfile.ZipFile, path + : str) -> None: + """Stores metadata inside archive path as json file""" + metadata_file = zipfile.ZipInfo(path) + # We have to set the compress type of each file as well (it doesn't keep the type of the entire archive) + metadata_file.compress_type = zipfile.ZIP_DEFLATED + archive.writestr(metadata_file, + json.dumps(metadata, separators=(", ", ": "), indent=4, skipkeys=True, ensure_ascii=False)) + + @staticmethod + def _getUserSettings(model: SettingsExportModel) -> Dict[str, Dict[str, Any]]: + user_settings = {} + + for group in model.settingsGroups: + category = '' + if group.category == SettingsExportGroup.Category.Global: + category = 'global' + elif group.category == SettingsExportGroup.Category.Extruder: + category = f"extruder_{group.extruder_index}" + + if len(category) > 0: + settings_values = {} + stack = group.stack + + for setting in group.settings: + if setting.selected: + settings_values[setting.id] = stack.getProperty(setting.id, "value") + + user_settings[category] = settings_values + + return user_settings + + @staticmethod + def _getPluginPackageMetadata() -> List[Dict[str, str]]: + """Get metadata for all backend plugins that are used in the project. + + :return: List of material metadata dictionaries. + """ + + backend_plugin_enum_value_regex = re.compile( + r"PLUGIN::(?P\w+)@(?P\d+.\d+.\d+)::(?P\w+)") + # This regex parses enum values to find if they contain custom + # backend engine values. These custom enum values are in the format + # PLUGIN::@:: + # where + # - plugin_id is the id of the plugin + # - version is in the semver format + # - value is the value of the enum + + plugin_ids = set() + + def addPluginIdsInStack(stack: CuraContainerStack) -> None: + for key in stack.getAllKeys(): + value = str(stack.getProperty(key, "value")) + for plugin_id, _version, _value in backend_plugin_enum_value_regex.findall(value): + plugin_ids.add(plugin_id) + + # Go through all stacks and find all the plugin id contained in the project + global_stack = CuraApplication.getInstance().getMachineManager().activeMachine + addPluginIdsInStack(global_stack) + + for container in global_stack.getContainers(): + addPluginIdsInStack(container) + + for extruder_stack in global_stack.extruderList: + addPluginIdsInStack(extruder_stack) + + for container in extruder_stack.getContainers(): + addPluginIdsInStack(container) + + metadata = {} + + package_manager = cast(CuraPackageManager, CuraApplication.getInstance().getPackageManager()) + for plugin_id in plugin_ids: + package_data = package_manager.getInstalledPackageInfo(plugin_id) + + metadata[plugin_id] = { + "id": plugin_id, + "display_name": package_data.get("display_name") if package_data.get("display_name") else "", + "package_version": package_data.get("package_version") if package_data.get("package_version") else "", + "sdk_version_semver": package_data.get("sdk_version_semver") if package_data.get( + "sdk_version_semver") else "", + "type": "plugin", + } + + # Storing in a dict and fetching values to avoid duplicates + return list(metadata.values()) + + @staticmethod + def _getMaterialPackageMetadata() -> List[Dict[str, str]]: + """Get metadata for installed materials in active extruder stack, this does not include bundled materials. + + :return: List of material metadata dictionaries. + """ + metadata = {} + + package_manager = cast(CuraPackageManager, CuraApplication.getInstance().getPackageManager()) + + for extruder in CuraApplication.getInstance().getExtruderManager().getActiveExtruderStacks(): + if not extruder.isEnabled: + # Don't export materials not in use + continue + + if isinstance(extruder.material, type(ContainerRegistry.getInstance().getEmptyInstanceContainer())): + # This is an empty material container, no material to export + continue + + if package_manager.isMaterialBundled(extruder.material.getFileName(), + extruder.material.getMetaDataEntry("GUID")): + # Don't export bundled materials + continue + + package_id = package_manager.getMaterialFilePackageId(extruder.material.getFileName(), + extruder.material.getMetaDataEntry("GUID")) + package_data = package_manager.getInstalledPackageInfo(package_id) + + # We failed to find the package for this material + if not package_data: + Logger.info(f"Could not find package for material in extruder {extruder.id}, skipping.") + continue + + material_metadata = { + "id": package_id, + "display_name": package_data.get("display_name") if package_data.get("display_name") else "", + "package_version": package_data.get("package_version") if package_data.get("package_version") else "", + "sdk_version_semver": package_data.get("sdk_version_semver") if package_data.get( + "sdk_version_semver") else "", + "type": "material", + } + + metadata[package_id] = material_metadata + + # Storing in a dict and fetching values to avoid duplicates + return list(metadata.values()) + + @staticmethod + def _convertMatrixToString(matrix): + result = "" + result += str(matrix._data[0, 0]) + " " + result += str(matrix._data[1, 0]) + " " + result += str(matrix._data[2, 0]) + " " + result += str(matrix._data[0, 1]) + " " + result += str(matrix._data[1, 1]) + " " + result += str(matrix._data[2, 1]) + " " + result += str(matrix._data[0, 2]) + " " + result += str(matrix._data[1, 2]) + " " + result += str(matrix._data[2, 2]) + " " + result += str(matrix._data[0, 3]) + " " + result += str(matrix._data[1, 3]) + " " + result += str(matrix._data[2, 3]) + return result \ No newline at end of file diff --git a/plugins/PCBWriter/SettingExport.py b/plugins/PCBWriter/SettingExport.py index 0a761bb6b9..73dd818897 100644 --- a/plugins/PCBWriter/SettingExport.py +++ b/plugins/PCBWriter/SettingExport.py @@ -1,15 +1,17 @@ # Copyright (c) 2024 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from PyQt6.QtCore import QObject, pyqtProperty +from PyQt6.QtCore import QObject, pyqtProperty, pyqtSignal -class SettingsExport(QObject): +class SettingExport(QObject): - def __init__(self, name, value): + def __init__(self, id, name, value): super().__init__() + self.id = id self._name = name self._value = value + self._selected = True @pyqtProperty(str, constant=True) def name(self): @@ -18,3 +20,14 @@ class SettingsExport(QObject): @pyqtProperty(str, constant=True) def value(self): return self._value + + selectedChanged = pyqtSignal(bool) + + def setSelected(self, selected): + if selected != self._selected: + self._selected = selected + self.selectedChanged.emit(self._selected) + + @pyqtProperty(bool, fset = setSelected, notify = selectedChanged) + def selected(self): + return self._selected diff --git a/plugins/PCBWriter/SettingSelection.qml b/plugins/PCBWriter/SettingSelection.qml index 9b09593a7d..6439542f3f 100644 --- a/plugins/PCBWriter/SettingSelection.qml +++ b/plugins/PCBWriter/SettingSelection.qml @@ -17,7 +17,8 @@ RowLayout { text: modelData.name Layout.preferredWidth: UM.Theme.getSize("setting").width - checked: true + checked: modelData.selected + onClicked: modelData.selected = checked } UM.Label diff --git a/plugins/PCBWriter/SettingsExportGroup.py b/plugins/PCBWriter/SettingsExportGroup.py index 2b21c42b78..cc3fc7b4f5 100644 --- a/plugins/PCBWriter/SettingsExportGroup.py +++ b/plugins/PCBWriter/SettingsExportGroup.py @@ -14,8 +14,9 @@ class SettingsExportGroup(QObject): Extruder = 1 Model = 2 - def __init__(self, name, category, settings, category_details = '', extruder_index = 0, extruder_color = ''): + def __init__(self, stack, name, category, settings, category_details = '', extruder_index = 0, extruder_color = ''): super().__init__() + self.stack = stack self._name = name self._settings = settings self._category = category diff --git a/plugins/PCBWriter/SettingsExportModel.py b/plugins/PCBWriter/SettingsExportModel.py index b09717298a..992adeb089 100644 --- a/plugins/PCBWriter/SettingsExportModel.py +++ b/plugins/PCBWriter/SettingsExportModel.py @@ -1,13 +1,21 @@ # Copyright (c) 2024 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from dataclasses import asdict +from typing import Optional, cast, List, Dict, Pattern, Set + from PyQt6.QtCore import QObject, pyqtProperty -from .SettingsExportGroup import SettingsExportGroup -from .SettingExport import SettingsExport -from cura.CuraApplication import CuraApplication from UM.Settings.SettingDefinition import SettingDefinition +from UM.Settings.InstanceContainer import InstanceContainer +from UM.Settings.SettingFunction import SettingFunction + +from cura.CuraApplication import CuraApplication from cura.Settings.ExtruderManager import ExtruderManager +from cura.Settings.GlobalStack import GlobalStack + +from .SettingsExportGroup import SettingsExportGroup +from .SettingExport import SettingExport class SettingsExportModel(QObject): @@ -61,7 +69,8 @@ class SettingsExportModel(QObject): # Display global settings global_stack = application.getGlobalContainerStack() - self._settings_groups.append(SettingsExportGroup("Global settings", + self._settings_groups.append(SettingsExportGroup(global_stack, + "Global settings", SettingsExportGroup.Category.Global, self._exportSettings(global_stack))) @@ -72,7 +81,8 @@ class SettingsExportModel(QObject): if extruder_stack.material: color = extruder_stack.material.getMetaDataEntry("color_code") - self._settings_groups.append(SettingsExportGroup("Extruder settings", + self._settings_groups.append(SettingsExportGroup(extruder_stack, + "Extruder settings", SettingsExportGroup.Category.Extruder, self._exportSettings(extruder_stack), extruder_index=extruder_stack.position, @@ -83,13 +93,14 @@ class SettingsExportModel(QObject): for scene_node in scene_root.getChildren(): per_model_stack = scene_node.callDecoration("getStack") if per_model_stack is not None: - self._settings_groups.append(SettingsExportGroup("Model settings", + self._settings_groups.append(SettingsExportGroup(per_model_stack, + "Model settings", SettingsExportGroup.Category.Model, self._exportSettings(per_model_stack), scene_node.getName())) @pyqtProperty(list, constant=True) - def settingsGroups(self): + def settingsGroups(self) -> List[SettingsExportGroup]: return self._settings_groups @staticmethod @@ -110,6 +121,6 @@ class SettingsExportModel(QObject): else: value = str(value) - settings_export.append(SettingsExport(label, value)) + settings_export.append(SettingExport(setting_to_export, label, value)) - return settings_export \ No newline at end of file + return settings_export diff --git a/plugins/PCBWriter/__init__.py b/plugins/PCBWriter/__init__.py index 3ec2eba95f..da4205a7d7 100644 --- a/plugins/PCBWriter/__init__.py +++ b/plugins/PCBWriter/__init__.py @@ -2,9 +2,14 @@ # Cura is released under the terms of the LGPLv3 or higher. import sys -from . import PCBWriter +from PyQt6.QtQml import qmlRegisterType + from UM.i18n import i18nCatalog +from . import PCBWriter +from .SettingsExportModel import SettingsExportModel +from .SettingsExportGroup import SettingsExportGroup + i18n_catalog = i18nCatalog("cura") def getMetaData(): @@ -12,10 +17,13 @@ def getMetaData(): "output": [{ "extension": "pcb", "description": i18n_catalog.i18nc("@item:inlistbox", "Pre-Configured Batch file"), - "mime_type": "application/vnd.um.preconfigured-batch+3mf", + "mime_type": "application/x-pcb", "mode": PCBWriter.PCBWriter.OutputMode.BinaryMode }] }} def register(app): + qmlRegisterType(SettingsExportModel, "PCBWriter", 1, 0, "SettingsExportModel") + qmlRegisterType(SettingsExportGroup, "PCBWriter", 1, 0, "SettingsExportGroup") + return {"mesh_writer": PCBWriter.PCBWriter() } From 38b67f8015e508c162c65ba35e25cdbe760d51cb Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Thu, 1 Feb 2024 10:34:19 +0100 Subject: [PATCH 11/98] Now displaying a help icon and value units CURA-11561 --- plugins/3MFReader/WorkspaceSection.qml | 29 ++++-------------------- plugins/PCBWriter/SettingExport.py | 9 ++++++-- plugins/PCBWriter/SettingSelection.qml | 12 +++++++++- plugins/PCBWriter/SettingsExportModel.py | 10 +++++--- 4 files changed, 29 insertions(+), 31 deletions(-) diff --git a/plugins/3MFReader/WorkspaceSection.qml b/plugins/3MFReader/WorkspaceSection.qml index 0c94ab5d6a..63b5e89b41 100644 --- a/plugins/3MFReader/WorkspaceSection.qml +++ b/plugins/3MFReader/WorkspaceSection.qml @@ -5,7 +5,7 @@ import QtQuick 2.10 import QtQuick.Controls 2.3 -import UM 1.5 as UM +import UM 1.8 as UM Item @@ -80,34 +80,13 @@ Item sourceComponent: combobox } - MouseArea + UM.HelpIcon { - id: helpIconMouseArea anchors.right: parent.right anchors.verticalCenter: comboboxLabel.verticalCenter - width: childrenRect.width - height: childrenRect.height - hoverEnabled: true - UM.ColorImage - { - width: UM.Theme.getSize("section_icon").width - height: width - - visible: comboboxTooltipText != "" - source: UM.Theme.getIcon("Help") - color: UM.Theme.getColor("text") - - UM.ToolTip - { - text: comboboxTooltipText - visible: helpIconMouseArea.containsMouse - targetPoint: Qt.point(parent.x + Math.round(parent.width / 2), parent.y) - x: 0 - y: parent.y + parent.height + UM.Theme.getSize("default_margin").height - width: UM.Theme.getSize("tooltip").width - } - } + text: comboboxTooltipText + visible: comboboxTooltipText != "" } } diff --git a/plugins/PCBWriter/SettingExport.py b/plugins/PCBWriter/SettingExport.py index 73dd818897..6702aa1f68 100644 --- a/plugins/PCBWriter/SettingExport.py +++ b/plugins/PCBWriter/SettingExport.py @@ -6,12 +6,13 @@ from PyQt6.QtCore import QObject, pyqtProperty, pyqtSignal class SettingExport(QObject): - def __init__(self, id, name, value): + def __init__(self, id, name, value, selectable): super().__init__() self.id = id self._name = name self._value = value - self._selected = True + self._selected = selectable + self._selectable = selectable @pyqtProperty(str, constant=True) def name(self): @@ -31,3 +32,7 @@ class SettingExport(QObject): @pyqtProperty(bool, fset = setSelected, notify = selectedChanged) def selected(self): return self._selected + + @pyqtProperty(bool, constant=True) + def selectable(self): + return self._selectable diff --git a/plugins/PCBWriter/SettingSelection.qml b/plugins/PCBWriter/SettingSelection.qml index 6439542f3f..636b67fb37 100644 --- a/plugins/PCBWriter/SettingSelection.qml +++ b/plugins/PCBWriter/SettingSelection.qml @@ -6,7 +6,7 @@ import QtQuick.Controls 2.3 import QtQuick.Layouts 1.3 import QtQuick.Window 2.2 -import UM 1.5 as UM +import UM 1.8 as UM import Cura 1.1 as Cura RowLayout @@ -19,10 +19,20 @@ RowLayout Layout.preferredWidth: UM.Theme.getSize("setting").width checked: modelData.selected onClicked: modelData.selected = checked + enabled: modelData.selectable } UM.Label { text: modelData.value } + + UM.HelpIcon + { + UM.I18nCatalog { id: catalog; name: "cura" } + + text: catalog.i18nc("@tooltip", + "This setting can't be exported because it depends too much on the used printer capacities") + visible: !modelData.selectable + } } diff --git a/plugins/PCBWriter/SettingsExportModel.py b/plugins/PCBWriter/SettingsExportModel.py index 992adeb089..a4acaf02f7 100644 --- a/plugins/PCBWriter/SettingsExportModel.py +++ b/plugins/PCBWriter/SettingsExportModel.py @@ -110,17 +110,21 @@ class SettingsExportModel(QObject): settings_export = [] - for setting_to_export in user_keys.intersection(SettingsExportModel.EXPORTABLE_SETTINGS): + for setting_to_export in user_keys: label = settings_stack.getProperty(setting_to_export, "label") value = settings_stack.getProperty(setting_to_export, "value") + unit = settings_stack.getProperty(setting_to_export, "unit") setting_type = settings_stack.getProperty(setting_to_export, "type") if setting_type is not None: # This is not very good looking, but will do for now - value = SettingDefinition.settingValueToString(setting_type, value) + value = SettingDefinition.settingValueToString(setting_type, value) + " " + unit else: value = str(value) - settings_export.append(SettingExport(setting_to_export, label, value)) + settings_export.append(SettingExport(setting_to_export, + label, + value, + setting_to_export in SettingsExportModel.EXPORTABLE_SETTINGS)) return settings_export From b931029f1c6c165bf841e512281d3c770df40c55 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 2 Feb 2024 10:03:48 +0100 Subject: [PATCH 12/98] Now using ThreeMFWriter to save PCB files CURA-11561 --- plugins/{PCBWriter => 3MFWriter}/PCBDialog.py | 0 .../{PCBWriter => 3MFWriter}/PCBDialog.qml | 1 - .../{PCBWriter => 3MFWriter}/SettingExport.py | 0 .../SettingSelection.qml | 2 +- .../SettingsExportGroup.py | 0 .../SettingsExportModel.py | 0 .../SettingsSelectionGroup.qml | 8 +- plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 128 ++++- plugins/3MFWriter/ThreeMFWriter.py | 59 ++- plugins/3MFWriter/__init__.py | 45 +- plugins/PCBWriter/PCBWriter.py | 460 ------------------ plugins/PCBWriter/__init__.py | 29 -- plugins/PCBWriter/plugin.json | 8 - resources/qml/Menus/FileMenu.qml | 12 + 14 files changed, 207 insertions(+), 545 deletions(-) rename plugins/{PCBWriter => 3MFWriter}/PCBDialog.py (100%) rename plugins/{PCBWriter => 3MFWriter}/PCBDialog.qml (98%) rename plugins/{PCBWriter => 3MFWriter}/SettingExport.py (100%) rename plugins/{PCBWriter => 3MFWriter}/SettingSelection.qml (93%) rename plugins/{PCBWriter => 3MFWriter}/SettingsExportGroup.py (100%) rename plugins/{PCBWriter => 3MFWriter}/SettingsExportModel.py (100%) rename plugins/{PCBWriter => 3MFWriter}/SettingsSelectionGroup.qml (88%) delete mode 100644 plugins/PCBWriter/PCBWriter.py delete mode 100644 plugins/PCBWriter/__init__.py delete mode 100644 plugins/PCBWriter/plugin.json diff --git a/plugins/PCBWriter/PCBDialog.py b/plugins/3MFWriter/PCBDialog.py similarity index 100% rename from plugins/PCBWriter/PCBDialog.py rename to plugins/3MFWriter/PCBDialog.py diff --git a/plugins/PCBWriter/PCBDialog.qml b/plugins/3MFWriter/PCBDialog.qml similarity index 98% rename from plugins/PCBWriter/PCBDialog.qml rename to plugins/3MFWriter/PCBDialog.qml index 8264e3ee96..b65520961b 100644 --- a/plugins/PCBWriter/PCBDialog.qml +++ b/plugins/3MFWriter/PCBDialog.qml @@ -8,7 +8,6 @@ import QtQuick.Window 2.2 import UM 1.5 as UM import Cura 1.1 as Cura -import PCBWriter 1.0 as PCBWriter UM.Dialog { diff --git a/plugins/PCBWriter/SettingExport.py b/plugins/3MFWriter/SettingExport.py similarity index 100% rename from plugins/PCBWriter/SettingExport.py rename to plugins/3MFWriter/SettingExport.py diff --git a/plugins/PCBWriter/SettingSelection.qml b/plugins/3MFWriter/SettingSelection.qml similarity index 93% rename from plugins/PCBWriter/SettingSelection.qml rename to plugins/3MFWriter/SettingSelection.qml index 636b67fb37..478c2d393c 100644 --- a/plugins/PCBWriter/SettingSelection.qml +++ b/plugins/3MFWriter/SettingSelection.qml @@ -32,7 +32,7 @@ RowLayout UM.I18nCatalog { id: catalog; name: "cura" } text: catalog.i18nc("@tooltip", - "This setting can't be exported because it depends too much on the used printer capacities") + "This setting can't be exported because it depends on the used printer capacities") visible: !modelData.selectable } } diff --git a/plugins/PCBWriter/SettingsExportGroup.py b/plugins/3MFWriter/SettingsExportGroup.py similarity index 100% rename from plugins/PCBWriter/SettingsExportGroup.py rename to plugins/3MFWriter/SettingsExportGroup.py diff --git a/plugins/PCBWriter/SettingsExportModel.py b/plugins/3MFWriter/SettingsExportModel.py similarity index 100% rename from plugins/PCBWriter/SettingsExportModel.py rename to plugins/3MFWriter/SettingsExportModel.py diff --git a/plugins/PCBWriter/SettingsSelectionGroup.qml b/plugins/3MFWriter/SettingsSelectionGroup.qml similarity index 88% rename from plugins/PCBWriter/SettingsSelectionGroup.qml rename to plugins/3MFWriter/SettingsSelectionGroup.qml index 39299ab7c3..e77ba692bc 100644 --- a/plugins/PCBWriter/SettingsSelectionGroup.qml +++ b/plugins/3MFWriter/SettingsSelectionGroup.qml @@ -8,7 +8,7 @@ import QtQuick.Window 2.2 import UM 1.5 as UM import Cura 1.1 as Cura -import PCBWriter 1.0 as PCBWriter +import ThreeMFWriter 1.0 as ThreeMFWriter ColumnLayout { @@ -34,9 +34,9 @@ ColumnLayout { switch(modelData.category) { - case PCBWriter.SettingsExportGroup.Global: + case ThreeMFWriter.SettingsExportGroup.Global: return UM.Theme.getIcon("Sliders") - case PCBWriter.SettingsExportGroup.Model: + case ThreeMFWriter.SettingsExportGroup.Model: return UM.Theme.getIcon("View3D") default: return "" @@ -50,7 +50,7 @@ ColumnLayout { id: settingsExtruderIcon anchors.fill: parent - visible: modelData.category === PCBWriter.SettingsExportGroup.Extruder + visible: modelData.category === ThreeMFWriter.SettingsExportGroup.Extruder text: (modelData.extruder_index + 1).toString() font: UM.Theme.getFont("tiny_emphasis") materialColor: modelData.extruder_color diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index e89af5c70a..9715e9ac98 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -3,7 +3,9 @@ import configparser from io import StringIO +from threading import Lock import zipfile +from typing import Dict, Any from UM.Application import Application from UM.Logger import Logger @@ -13,15 +15,50 @@ from UM.Workspace.WorkspaceWriter import WorkspaceWriter from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") -from cura.Utils.Threading import call_on_qt_thread +from .PCBDialog import PCBDialog +from .ThreeMFWriter import ThreeMFWriter +from .SettingsExportModel import SettingsExportModel +from .SettingsExportGroup import SettingsExportGroup + +USER_SETTINGS_PATH = "Cura/user-settings.json" class ThreeMFWorkspaceWriter(WorkspaceWriter): def __init__(self): super().__init__() + self._main_thread_lock = Lock() + self._success = False + self._export_model = None + self._stream = None + self._nodes = None + self._mode = None + self._config_dialog = None - @call_on_qt_thread - def write(self, stream, nodes, mode=WorkspaceWriter.OutputMode.BinaryMode): + def _preWrite(self): + is_pcb = False + if hasattr(self._stream, 'name'): + # This only works with local file, but we don't want remote PCB files yet + is_pcb = self._stream.name.endswith('.pcb') + + if is_pcb: + self._config_dialog = PCBDialog() + self._config_dialog.finished.connect(self._onPCBConfigFinished) + self._config_dialog.show() + else: + self._doWrite() + + def _onPCBConfigFinished(self, accepted: bool): + if accepted: + self._export_model = self._config_dialog.getModel() + self._doWrite() + else: + self._main_thread_lock.release() + + def _doWrite(self): + self._write() + self._main_thread_lock.release() + + def _write(self): application = Application.getInstance() machine_manager = application.getMachineManager() @@ -30,24 +67,24 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): if not mesh_writer: # We need to have the 3mf mesh writer, otherwise we can't save the entire workspace self.setInformation(catalog.i18nc("@error:zip", "3MF Writer plug-in is corrupt.")) Logger.error("3MF Writer class is unavailable. Can't write workspace.") - return False + return global_stack = machine_manager.activeMachine if global_stack is None: - self.setInformation(catalog.i18nc("@error", "There is no workspace yet to write. Please add a printer first.")) + self.setInformation( + catalog.i18nc("@error", "There is no workspace yet to write. Please add a printer first.")) Logger.error("Tried to write a 3MF workspace before there was a global stack.") - return False + return # Indicate that the 3mf mesh writer should not close the archive just yet (we still need to add stuff to it). mesh_writer.setStoreArchive(True) - if not mesh_writer.write(stream, nodes, mode): + if not mesh_writer.write(self._stream, self._nodes, self._mode, self._export_model): self.setInformation(mesh_writer.getInformation()) - return False + return archive = mesh_writer.getArchive() if archive is None: # This happens if there was no mesh data to write. - archive = zipfile.ZipFile(stream, "w", compression = zipfile.ZIP_DEFLATED) - + archive = zipfile.ZipFile(self._stream, "w", compression=zipfile.ZIP_DEFLATED) try: # Add global container stack data to the archive. @@ -62,15 +99,21 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): self._writeContainerToArchive(extruder_stack, archive) for container in extruder_stack.getContainers(): self._writeContainerToArchive(container, archive) + + # Write user settings data + if self._export_model is not None: + user_settings_data = self._getUserSettings(self._export_model) + ThreeMFWriter._storeMetadataJson(user_settings_data, archive, USER_SETTINGS_PATH) except PermissionError: self.setInformation(catalog.i18nc("@error:zip", "No permission to write the workspace here.")) Logger.error("No permission to write workspace to this stream.") - return False + return # Write preferences to archive - original_preferences = Application.getInstance().getPreferences() #Copy only the preferences that we use to the workspace. + original_preferences = Application.getInstance().getPreferences() # Copy only the preferences that we use to the workspace. temp_preferences = Preferences() - for preference in {"general/visible_settings", "cura/active_mode", "cura/categories_expanded", "metadata/setting_version"}: + for preference in {"general/visible_settings", "cura/active_mode", "cura/categories_expanded", + "metadata/setting_version"}: temp_preferences.addPreference(preference, None) temp_preferences.setValue(preference, original_preferences.getValue(preference)) preferences_string = StringIO() @@ -81,7 +124,7 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): # Save Cura version version_file = zipfile.ZipInfo("Cura/version.ini") - version_config_parser = configparser.ConfigParser(interpolation = None) + version_config_parser = configparser.ConfigParser(interpolation=None) version_config_parser.add_section("versions") version_config_parser.set("versions", "cura_version", application.getVersion()) version_config_parser.set("versions", "build_type", application.getBuildType()) @@ -98,13 +141,37 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): except PermissionError: self.setInformation(catalog.i18nc("@error:zip", "No permission to write the workspace here.")) Logger.error("No permission to write workspace to this stream.") - return False + return except EnvironmentError as e: self.setInformation(catalog.i18nc("@error:zip", str(e))) - Logger.error("EnvironmentError when writing workspace to this stream: {err}".format(err = str(e))) - return False + Logger.error("EnvironmentError when writing workspace to this stream: {err}".format(err=str(e))) + return mesh_writer.setStoreArchive(False) - return True + + self._success = True + + def write(self, stream, nodes, mode=WorkspaceWriter.OutputMode.BinaryMode): + self._success = False + self._export_model = None + self._stream = stream + self._nodes = nodes + self._mode = mode + self._config_dialog = None + + self._main_thread_lock.acquire() + # Export is done in main thread because it may require a few asynchronous configuration steps + Application.getInstance().callLater(self._preWrite) + self._main_thread_lock.acquire() # Block until lock has been released, meaning the config+write is over + + self._main_thread_lock.release() + + self._export_model = None + self._stream = None + self._nodes = None + self._mode = None + self._config_dialog = None + + return self._success @staticmethod def _writePluginMetadataToArchive(archive: zipfile.ZipFile) -> None: @@ -165,4 +232,27 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): archive.writestr(file_in_archive, serialized_data) except (FileNotFoundError, EnvironmentError): Logger.error("File became inaccessible while writing to it: {archive_filename}".format(archive_filename = archive.fp.name)) - return \ No newline at end of file + return + + @staticmethod + def _getUserSettings(model: SettingsExportModel) -> Dict[str, Dict[str, Any]]: + user_settings = {} + + for group in model.settingsGroups: + category = '' + if group.category == SettingsExportGroup.Category.Global: + category = 'global' + elif group.category == SettingsExportGroup.Category.Extruder: + category = f"extruder_{group.extruder_index}" + + if len(category) > 0: + settings_values = {} + stack = group.stack + + for setting in group.settings: + if setting.selected: + settings_values[setting.id] = stack.getProperty(setting.id, "value") + + user_settings[category] = settings_values + + return user_settings \ No newline at end of file diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index ad4b0d8dad..8924ac0a61 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -40,6 +40,9 @@ except ImportError: import zipfile import UM.Application +from .SettingsExportModel import SettingsExportModel +from .SettingsExportGroup import SettingsExportGroup + from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") @@ -87,7 +90,9 @@ class ThreeMFWriter(MeshWriter): self._store_archive = store_archive @staticmethod - def _convertUMNodeToSavitarNode(um_node, transformation=Matrix()): + def _convertUMNodeToSavitarNode(um_node, + transformation = Matrix(), + exported_settings: Optional[Dict[str, Set[str]]] = None): """Convenience function that converts an Uranium SceneNode object to a SavitarSceneNode :returns: Uranium Scene node. @@ -129,13 +134,22 @@ class ThreeMFWriter(MeshWriter): if stack is not None: changed_setting_keys = stack.getTop().getAllKeys() - # Ensure that we save the extruder used for this object in a multi-extrusion setup - if stack.getProperty("machine_extruder_count", "value") > 1: - changed_setting_keys.add("extruder_nr") + if exported_settings is None: + # Ensure that we save the extruder used for this object in a multi-extrusion setup + if stack.getProperty("machine_extruder_count", "value") > 1: + changed_setting_keys.add("extruder_nr") - # Get values for all changed settings & save them. - for key in changed_setting_keys: - savitar_node.setSetting("cura:" + key, str(stack.getProperty(key, "value"))) + # Get values for all changed settings & save them. + for key in changed_setting_keys: + savitar_node.setSetting("cura:" + key, str(stack.getProperty(key, "value"))) + else: + # We want to export only the specified settings + if um_node.getName() in exported_settings: + model_exported_settings = exported_settings[um_node.getName()] + + # Get values for all exported settings & save them. + for key in model_exported_settings: + savitar_node.setSetting("cura:" + key, str(stack.getProperty(key, "value"))) # Store the metadata. for key, value in um_node.metadata.items(): @@ -145,7 +159,8 @@ class ThreeMFWriter(MeshWriter): # only save the nodes on the active build plate if child_node.callDecoration("getBuildPlateNumber") != active_build_plate_nr: continue - savitar_child_node = ThreeMFWriter._convertUMNodeToSavitarNode(child_node) + savitar_child_node = ThreeMFWriter._convertUMNodeToSavitarNode(child_node, + exported_settings = exported_settings) if savitar_child_node is not None: savitar_node.addChild(savitar_child_node) @@ -154,7 +169,7 @@ class ThreeMFWriter(MeshWriter): def getArchive(self): return self._archive - def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode) -> bool: + def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode, export_settings_model = None) -> bool: self._archive = None # Reset archive archive = zipfile.ZipFile(stream, "w", compression = zipfile.ZIP_DEFLATED) try: @@ -232,14 +247,19 @@ class ThreeMFWriter(MeshWriter): transformation_matrix.preMultiply(translation_matrix) root_node = UM.Application.Application.getInstance().getController().getScene().getRoot() + exported_model_settings = ThreeMFWriter._extractModelExportedSettings(export_settings_model) for node in nodes: if node == root_node: for root_child in node.getChildren(): - savitar_node = ThreeMFWriter._convertUMNodeToSavitarNode(root_child, transformation_matrix) + savitar_node = ThreeMFWriter._convertUMNodeToSavitarNode(root_child, + transformation_matrix, + exported_model_settings) if savitar_node: savitar_scene.addSceneNode(savitar_node) else: - savitar_node = self._convertUMNodeToSavitarNode(node, transformation_matrix) + savitar_node = self._convertUMNodeToSavitarNode(node, + transformation_matrix, + exported_model_settings) if savitar_node: savitar_scene.addSceneNode(savitar_node) @@ -395,3 +415,20 @@ class ThreeMFWriter(MeshWriter): parser = Savitar.ThreeMFParser() scene_string = parser.sceneToString(savitar_scene) return scene_string + + @staticmethod + def _extractModelExportedSettings(model: Optional[SettingsExportModel]) -> Dict[str, Set[str]]: + extra_settings = {} + + if model is not None: + for group in model.settingsGroups: + if group.category == SettingsExportGroup.Category.Model: + exported_model_settings = set() + + for exported_setting in group.settings: + if exported_setting.selected: + exported_model_settings.add(exported_setting.id) + + extra_settings[group.category_details] = exported_model_settings + + return extra_settings diff --git a/plugins/3MFWriter/__init__.py b/plugins/3MFWriter/__init__.py index eb8a596afe..e0d4037603 100644 --- a/plugins/3MFWriter/__init__.py +++ b/plugins/3MFWriter/__init__.py @@ -2,9 +2,12 @@ # Uranium is released under the terms of the LGPLv3 or higher. import sys +from PyQt6.QtQml import qmlRegisterType + from UM.Logger import Logger try: from . import ThreeMFWriter + from .SettingsExportGroup import SettingsExportGroup threemf_writer_was_imported = True except ImportError: Logger.log("w", "Could not import ThreeMFWriter; libSavitar may be missing") @@ -23,20 +26,36 @@ def getMetaData(): if threemf_writer_was_imported: metaData["mesh_writer"] = { - "output": [{ - "extension": "3mf", - "description": i18n_catalog.i18nc("@item:inlistbox", "3MF file"), - "mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", - "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode - }] + "output": [ + { + "extension": "3mf", + "description": i18n_catalog.i18nc("@item:inlistbox", "3MF file"), + "mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", + "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode + }, + { + "extension": "pcb", + "description": i18n_catalog.i18nc("@item:inlistbox", "PCB file"), + "mime_type": "application/x-pcb", + "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode + } + ] } metaData["workspace_writer"] = { - "output": [{ - "extension": workspace_extension, - "description": i18n_catalog.i18nc("@item:inlistbox", "Cura Project 3MF file"), - "mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", - "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode - }] + "output": [ + { + "extension": workspace_extension, + "description": i18n_catalog.i18nc("@item:inlistbox", "Cura Project 3MF file"), + "mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", + "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode + }, + { + "extension": "pcb", + "description": i18n_catalog.i18nc("@item:inlistbox", "Pre-Configured Batch file"), + "mime_type": "application/x-pcb", + "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode + } + ] } return metaData @@ -44,6 +63,8 @@ def getMetaData(): def register(app): if "3MFWriter.ThreeMFWriter" in sys.modules: + qmlRegisterType(SettingsExportGroup, "ThreeMFWriter", 1, 0, "SettingsExportGroup") + return {"mesh_writer": ThreeMFWriter.ThreeMFWriter(), "workspace_writer": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter()} else: diff --git a/plugins/PCBWriter/PCBWriter.py b/plugins/PCBWriter/PCBWriter.py deleted file mode 100644 index 794eac9d4a..0000000000 --- a/plugins/PCBWriter/PCBWriter.py +++ /dev/null @@ -1,460 +0,0 @@ -# Copyright (c) 2024 Ultimaker B.V. -# Cura is released under the terms of the LGPLv3 or higher. -import json -import zipfile -import datetime -import numpy -import re -from dataclasses import asdict -from typing import Optional, cast, List, Dict, Pattern, Set, Union, Mapping, Any -from threading import Lock -from io import StringIO # For converting g-code to bytes. - -import pySavitar as Savitar - -from PyQt6.QtCore import QBuffer - -from UM.Mesh.MeshWriter import MeshWriter -from UM.Logger import Logger -from UM.Scene.SceneNode import SceneNode -from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator -from UM.i18n import i18nCatalog -from UM.Settings.InstanceContainer import InstanceContainer -from UM.Settings.SettingFunction import SettingFunction -from UM.Settings.ContainerRegistry import ContainerRegistry -from UM.Math.Matrix import Matrix -from UM.Math.Vector import Vector - -from cura.CuraApplication import CuraApplication -from cura.CuraPackageManager import CuraPackageManager -from cura.Settings import CuraContainerStack -from cura.Settings.GlobalStack import GlobalStack -from cura.Utils.Threading import call_on_qt_thread -from cura.Snapshot import Snapshot - -from .PCBDialog import PCBDialog -from .SettingsExportModel import SettingsExportModel -from .SettingsExportGroup import SettingsExportGroup - -MYPY = False -try: - if not MYPY: - import xml.etree.cElementTree as ET -except ImportError: - Logger.log("w", "Unable to load cElementTree, switching to slower version") - import xml.etree.ElementTree as ET - -catalog = i18nCatalog("cura") - -THUMBNAIL_PATH = "Metadata/thumbnail.png" -MODEL_PATH = "3D/3dmodel.model" -PACKAGE_METADATA_PATH = "Cura/packages.json" -USER_SETTINGS_PATH = "Cura/user-settings.json" - -class PCBWriter(MeshWriter): - def __init__(self): - super().__init__() - self._namespaces = { - "3mf": "http://schemas.microsoft.com/3dmanufacturing/core/2015/02", - "content-types": "http://schemas.openxmlformats.org/package/2006/content-types", - "relationships": "http://schemas.openxmlformats.org/package/2006/relationships", - "cura": "http://software.ultimaker.com/xml/cura/3mf/2015/10" - } - - self._config_dialog = None - self._main_thread_lock = Lock() - self._success = False - self._export_model = None - - def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode) -> bool: - self._success = False - self._export_model = None - - self._main_thread_lock.acquire() - # Start configuration window in main application thread - CuraApplication.getInstance().callLater(self._write, stream, nodes, mode) - self._main_thread_lock.acquire() # Block until lock has been released, meaning the config is over - - self._main_thread_lock.release() - - if self._export_model is not None: - archive = zipfile.ZipFile(stream, "w", compression=zipfile.ZIP_DEFLATED) - try: - model_file = zipfile.ZipInfo(MODEL_PATH) - # Because zipfile is stupid and ignores archive-level compression settings when writing with ZipInfo. - model_file.compress_type = zipfile.ZIP_DEFLATED - - # Create content types file - content_types_file = zipfile.ZipInfo("[Content_Types].xml") - content_types_file.compress_type = zipfile.ZIP_DEFLATED - content_types = ET.Element("Types", xmlns=self._namespaces["content-types"]) - rels_type = ET.SubElement(content_types, "Default", Extension="rels", - ContentType="application/vnd.openxmlformats-package.relationships+xml") - model_type = ET.SubElement(content_types, "Default", Extension="model", - ContentType="application/vnd.ms-package.3dmanufacturing-3dmodel+xml") - - # Create _rels/.rels file - relations_file = zipfile.ZipInfo("_rels/.rels") - relations_file.compress_type = zipfile.ZIP_DEFLATED - relations_element = ET.Element("Relationships", xmlns=self._namespaces["relationships"]) - model_relation_element = ET.SubElement(relations_element, "Relationship", Target="/" + MODEL_PATH, - Id="rel0", - Type="http://schemas.microsoft.com/3dmanufacturing/2013/01/3dmodel") - - # Attempt to add a thumbnail - snapshot = self._createSnapshot() - if snapshot: - thumbnail_buffer = QBuffer() - thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite) - snapshot.save(thumbnail_buffer, "PNG") - - thumbnail_file = zipfile.ZipInfo(THUMBNAIL_PATH) - # Don't try to compress snapshot file, because the PNG is pretty much as compact as it will get - archive.writestr(thumbnail_file, thumbnail_buffer.data()) - - # Add PNG to content types file - thumbnail_type = ET.SubElement(content_types, "Default", Extension="png", ContentType="image/png") - # Add thumbnail relation to _rels/.rels file - thumbnail_relation_element = ET.SubElement(relations_element, "Relationship", - Target="/" + THUMBNAIL_PATH, Id="rel1", - Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail") - - # Write material metadata - packages_metadata = self._getMaterialPackageMetadata() + self._getPluginPackageMetadata() - self._storeMetadataJson({"packages": packages_metadata}, archive, PACKAGE_METADATA_PATH) - - # Write user settings data - user_settings_data = self._getUserSettings(self._export_model) - self._storeMetadataJson(user_settings_data, archive, USER_SETTINGS_PATH) - - savitar_scene = Savitar.Scene() - - scene_metadata = CuraApplication.getInstance().getController().getScene().getMetaData() - - for key, value in scene_metadata.items(): - savitar_scene.setMetaDataEntry(key, value) - - current_time_string = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") - if "Application" not in scene_metadata: - # This might sound a bit strange, but this field should store the original application that created - # the 3mf. So if it was already set, leave it to whatever it was. - savitar_scene.setMetaDataEntry("Application", - CuraApplication.getInstance().getApplicationDisplayName()) - if "CreationDate" not in scene_metadata: - savitar_scene.setMetaDataEntry("CreationDate", current_time_string) - - savitar_scene.setMetaDataEntry("ModificationDate", current_time_string) - - transformation_matrix = Matrix() - transformation_matrix._data[1, 1] = 0 - transformation_matrix._data[1, 2] = -1 - transformation_matrix._data[2, 1] = 1 - transformation_matrix._data[2, 2] = 0 - - global_container_stack = CuraApplication.getInstance().getGlobalContainerStack() - # Second step: 3MF defines the left corner of the machine as center, whereas cura uses the center of the - # build volume. - if global_container_stack: - translation_vector = Vector(x=global_container_stack.getProperty("machine_width", "value") / 2, - y=global_container_stack.getProperty("machine_depth", "value") / 2, - z=0) - translation_matrix = Matrix() - translation_matrix.setByTranslation(translation_vector) - transformation_matrix.preMultiply(translation_matrix) - - root_node = CuraApplication.getInstance().getController().getScene().getRoot() - exported_model_settings = PCBWriter._extractModelExportedSettings(self._export_model) - for node in nodes: - if node == root_node: - for root_child in node.getChildren(): - savitar_node = PCBWriter._convertUMNodeToSavitarNode(root_child, - transformation_matrix, - exported_model_settings) - if savitar_node: - savitar_scene.addSceneNode(savitar_node) - else: - savitar_node = self._convertUMNodeToSavitarNode(node, - transformation_matrix, - exported_model_settings) - if savitar_node: - savitar_scene.addSceneNode(savitar_node) - - parser = Savitar.ThreeMFParser() - scene_string = parser.sceneToString(savitar_scene) - - archive.writestr(model_file, scene_string) - archive.writestr(content_types_file, - b' \n' + ET.tostring(content_types)) - archive.writestr(relations_file, - b' \n' + ET.tostring(relations_element)) - except Exception as error: - Logger.logException("e", "Error writing zip file") - self.setInformation(str(error)) - return False - finally: - archive.close() - - return True - else: - return False - - def _write(self, stream, nodes, mode): - self._config_dialog = PCBDialog() - self._config_dialog.finished.connect(self._onDialogFinished) - self._config_dialog.show() - - def _onDialogFinished(self, accepted: bool): - if accepted: - self._export_model = self._config_dialog.getModel() - - self._main_thread_lock.release() - - @staticmethod - def _extractModelExportedSettings(model: SettingsExportModel) -> Mapping[str, Set[str]]: - extra_settings = {} - - for group in model.settingsGroups: - if group.category == SettingsExportGroup.Category.Model: - exported_model_settings = set() - - for exported_setting in group.settings: - if exported_setting.selected: - exported_model_settings.add(exported_setting.id) - - extra_settings[group.category_details] = exported_model_settings - - return extra_settings - - @staticmethod - def _convertUMNodeToSavitarNode(um_node, - transformation: Matrix = Matrix(), - exported_settings: Mapping[str, Set[str]] = None): - """Convenience function that converts an Uranium SceneNode object to a SavitarSceneNode - - :returns: Uranium Scene node. - """ - if not isinstance(um_node, SceneNode): - return None - - active_build_plate_nr = CuraApplication.getInstance().getMultiBuildPlateModel().activeBuildPlate - if um_node.callDecoration("getBuildPlateNumber") != active_build_plate_nr: - return - - savitar_node = Savitar.SceneNode() - savitar_node.setName(um_node.getName()) - - node_matrix = Matrix() - mesh_data = um_node.getMeshData() - # compensate for original center position, if object(s) is/are not around its zero position - if mesh_data is not None: - extents = mesh_data.getExtents() - if extents is not None: - # We use a different coordinate space while writing, so flip Z and Y - center_vector = Vector(extents.center.x, extents.center.z, extents.center.y) - node_matrix.setByTranslation(center_vector) - node_matrix.multiply(um_node.getLocalTransformation()) - - matrix_string = PCBWriter._convertMatrixToString(node_matrix.preMultiply(transformation)) - - savitar_node.setTransformation(matrix_string) - if mesh_data is not None: - savitar_node.getMeshData().setVerticesFromBytes(mesh_data.getVerticesAsByteArray()) - indices_array = mesh_data.getIndicesAsByteArray() - if indices_array is not None: - savitar_node.getMeshData().setFacesFromBytes(indices_array) - else: - savitar_node.getMeshData().setFacesFromBytes( - numpy.arange(mesh_data.getVertices().size / 3, dtype=numpy.int32).tostring()) - - # Handle per object settings (if any) - stack = um_node.callDecoration("getStack") - if stack is not None: - if um_node.getName() in exported_settings: - model_exported_settings = exported_settings[um_node.getName()] - - # Get values for all exported settings & save them. - for key in model_exported_settings: - savitar_node.setSetting("cura:" + key, str(stack.getProperty(key, "value"))) - - # Store the metadata. - for key, value in um_node.metadata.items(): - savitar_node.setSetting(key, value) - - for child_node in um_node.getChildren(): - # only save the nodes on the active build plate - if child_node.callDecoration("getBuildPlateNumber") != active_build_plate_nr: - continue - savitar_child_node = PCBWriter._convertUMNodeToSavitarNode(child_node, - exported_settings = exported_settings) - if savitar_child_node is not None: - savitar_node.addChild(savitar_child_node) - - return savitar_node - - @call_on_qt_thread # must be called from the main thread because of OpenGL - def _createSnapshot(self): - Logger.log("d", "Creating thumbnail image...") - if not CuraApplication.getInstance().isVisible: - Logger.log("w", "Can't create snapshot when renderer not initialized.") - return None - try: - snapshot = Snapshot.snapshot(width=300, height=300) - except: - Logger.logException("w", "Failed to create snapshot image") - return None - - return snapshot - - @staticmethod - def _storeMetadataJson(metadata: Union[Dict[str, List[Dict[str, str]]], Dict[str, Dict[str, Any]]], - archive: zipfile.ZipFile, path - : str) -> None: - """Stores metadata inside archive path as json file""" - metadata_file = zipfile.ZipInfo(path) - # We have to set the compress type of each file as well (it doesn't keep the type of the entire archive) - metadata_file.compress_type = zipfile.ZIP_DEFLATED - archive.writestr(metadata_file, - json.dumps(metadata, separators=(", ", ": "), indent=4, skipkeys=True, ensure_ascii=False)) - - @staticmethod - def _getUserSettings(model: SettingsExportModel) -> Dict[str, Dict[str, Any]]: - user_settings = {} - - for group in model.settingsGroups: - category = '' - if group.category == SettingsExportGroup.Category.Global: - category = 'global' - elif group.category == SettingsExportGroup.Category.Extruder: - category = f"extruder_{group.extruder_index}" - - if len(category) > 0: - settings_values = {} - stack = group.stack - - for setting in group.settings: - if setting.selected: - settings_values[setting.id] = stack.getProperty(setting.id, "value") - - user_settings[category] = settings_values - - return user_settings - - @staticmethod - def _getPluginPackageMetadata() -> List[Dict[str, str]]: - """Get metadata for all backend plugins that are used in the project. - - :return: List of material metadata dictionaries. - """ - - backend_plugin_enum_value_regex = re.compile( - r"PLUGIN::(?P\w+)@(?P\d+.\d+.\d+)::(?P\w+)") - # This regex parses enum values to find if they contain custom - # backend engine values. These custom enum values are in the format - # PLUGIN::@:: - # where - # - plugin_id is the id of the plugin - # - version is in the semver format - # - value is the value of the enum - - plugin_ids = set() - - def addPluginIdsInStack(stack: CuraContainerStack) -> None: - for key in stack.getAllKeys(): - value = str(stack.getProperty(key, "value")) - for plugin_id, _version, _value in backend_plugin_enum_value_regex.findall(value): - plugin_ids.add(plugin_id) - - # Go through all stacks and find all the plugin id contained in the project - global_stack = CuraApplication.getInstance().getMachineManager().activeMachine - addPluginIdsInStack(global_stack) - - for container in global_stack.getContainers(): - addPluginIdsInStack(container) - - for extruder_stack in global_stack.extruderList: - addPluginIdsInStack(extruder_stack) - - for container in extruder_stack.getContainers(): - addPluginIdsInStack(container) - - metadata = {} - - package_manager = cast(CuraPackageManager, CuraApplication.getInstance().getPackageManager()) - for plugin_id in plugin_ids: - package_data = package_manager.getInstalledPackageInfo(plugin_id) - - metadata[plugin_id] = { - "id": plugin_id, - "display_name": package_data.get("display_name") if package_data.get("display_name") else "", - "package_version": package_data.get("package_version") if package_data.get("package_version") else "", - "sdk_version_semver": package_data.get("sdk_version_semver") if package_data.get( - "sdk_version_semver") else "", - "type": "plugin", - } - - # Storing in a dict and fetching values to avoid duplicates - return list(metadata.values()) - - @staticmethod - def _getMaterialPackageMetadata() -> List[Dict[str, str]]: - """Get metadata for installed materials in active extruder stack, this does not include bundled materials. - - :return: List of material metadata dictionaries. - """ - metadata = {} - - package_manager = cast(CuraPackageManager, CuraApplication.getInstance().getPackageManager()) - - for extruder in CuraApplication.getInstance().getExtruderManager().getActiveExtruderStacks(): - if not extruder.isEnabled: - # Don't export materials not in use - continue - - if isinstance(extruder.material, type(ContainerRegistry.getInstance().getEmptyInstanceContainer())): - # This is an empty material container, no material to export - continue - - if package_manager.isMaterialBundled(extruder.material.getFileName(), - extruder.material.getMetaDataEntry("GUID")): - # Don't export bundled materials - continue - - package_id = package_manager.getMaterialFilePackageId(extruder.material.getFileName(), - extruder.material.getMetaDataEntry("GUID")) - package_data = package_manager.getInstalledPackageInfo(package_id) - - # We failed to find the package for this material - if not package_data: - Logger.info(f"Could not find package for material in extruder {extruder.id}, skipping.") - continue - - material_metadata = { - "id": package_id, - "display_name": package_data.get("display_name") if package_data.get("display_name") else "", - "package_version": package_data.get("package_version") if package_data.get("package_version") else "", - "sdk_version_semver": package_data.get("sdk_version_semver") if package_data.get( - "sdk_version_semver") else "", - "type": "material", - } - - metadata[package_id] = material_metadata - - # Storing in a dict and fetching values to avoid duplicates - return list(metadata.values()) - - @staticmethod - def _convertMatrixToString(matrix): - result = "" - result += str(matrix._data[0, 0]) + " " - result += str(matrix._data[1, 0]) + " " - result += str(matrix._data[2, 0]) + " " - result += str(matrix._data[0, 1]) + " " - result += str(matrix._data[1, 1]) + " " - result += str(matrix._data[2, 1]) + " " - result += str(matrix._data[0, 2]) + " " - result += str(matrix._data[1, 2]) + " " - result += str(matrix._data[2, 2]) + " " - result += str(matrix._data[0, 3]) + " " - result += str(matrix._data[1, 3]) + " " - result += str(matrix._data[2, 3]) - return result \ No newline at end of file diff --git a/plugins/PCBWriter/__init__.py b/plugins/PCBWriter/__init__.py deleted file mode 100644 index da4205a7d7..0000000000 --- a/plugins/PCBWriter/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) 2024 Ultimaker B.V. -# Cura is released under the terms of the LGPLv3 or higher. -import sys - -from PyQt6.QtQml import qmlRegisterType - -from UM.i18n import i18nCatalog - -from . import PCBWriter -from .SettingsExportModel import SettingsExportModel -from .SettingsExportGroup import SettingsExportGroup - -i18n_catalog = i18nCatalog("cura") - -def getMetaData(): - return {"mesh_writer": { - "output": [{ - "extension": "pcb", - "description": i18n_catalog.i18nc("@item:inlistbox", "Pre-Configured Batch file"), - "mime_type": "application/x-pcb", - "mode": PCBWriter.PCBWriter.OutputMode.BinaryMode - }] - }} - -def register(app): - qmlRegisterType(SettingsExportModel, "PCBWriter", 1, 0, "SettingsExportModel") - qmlRegisterType(SettingsExportGroup, "PCBWriter", 1, 0, "SettingsExportGroup") - - return {"mesh_writer": PCBWriter.PCBWriter() } diff --git a/plugins/PCBWriter/plugin.json b/plugins/PCBWriter/plugin.json deleted file mode 100644 index 6571185779..0000000000 --- a/plugins/PCBWriter/plugin.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Pre-Configured Batch Writer", - "author": "Ultimaker B.V.", - "version": "1.0.0", - "description": "Provides support for writing Pre-Configured Batch files.", - "api": 8, - "i18n-catalog": "cura" -} diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index 254c0d5468..850c0d7e73 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -70,6 +70,18 @@ Cura.Menu enabled: UM.WorkspaceFileHandler.enabled } + Cura.MenuItem + { + id: savePCBMenu + text: catalog.i18nc("@title:menu menubar:file", "&Save PCB Project...") + enabled: UM.WorkspaceFileHandler.enabled + onTriggered: + { + var args = { "filter_by_machine": false, "file_type": "workspace", "preferred_mimetypes": "application/x-pcb" }; + UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args) + } + } + Cura.MenuSeparator { } UM.MeshWritersModel { id: meshWritersModel } From c6e56202954ef1b7752306a9aac41805920b2428 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 2 Feb 2024 10:07:11 +0100 Subject: [PATCH 13/98] Revert "Add export sub-menu" This reverts commit 54af5bca3c5e9b5700ce106f854f97e3ed102842. --- resources/qml/Menus/ExportMenu.qml | 44 ------------------------------ resources/qml/Menus/FileMenu.qml | 26 +++++++++--------- 2 files changed, 13 insertions(+), 57 deletions(-) delete mode 100644 resources/qml/Menus/ExportMenu.qml diff --git a/resources/qml/Menus/ExportMenu.qml b/resources/qml/Menus/ExportMenu.qml deleted file mode 100644 index 5c08b04f0f..0000000000 --- a/resources/qml/Menus/ExportMenu.qml +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) 2024 Ultimaker B.V. -// Cura is released under the terms of the LGPLv3 or higher. - -import QtQuick 2.2 -import QtQuick.Controls 2.1 - -import UM 1.5 as UM -import Cura 1.1 as Cura - -import "../Dialogs" - -Cura.Menu -{ - id: exportMenu - property alias model: meshWriters.model - property bool selectionOnly: false - - Instantiator - { - id: meshWriters - Cura.MenuItem - { - text: model.description - onTriggered: - { - var localDeviceId = "local_file" - var file_name = PrintInformation.jobName - var args = { "filter_by_machine": false, "limit_mimetypes": [model.mime_type], "limit_modes": [model.mode]} - if(exportMenu.selectionOnly) - { - UM.OutputDeviceManager.requestWriteSelectionToDevice(localDeviceId, file_name, args) - } - else - { - UM.OutputDeviceManager.requestWriteToDevice(localDeviceId, file_name, args) - } - } - shortcut: model.shortcut - enabled: exportMenu.shouldBeVisible - } - onObjectAdded: function(index, object) { exportMenu.insertItem(index, object)} - onObjectRemoved: function(index, object) { exportMenu.removeItem(object)} - } -} diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index 850c0d7e73..36a2820087 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -4,7 +4,7 @@ import QtQuick 2.2 import QtQuick.Controls 2.1 -import UM 1.7 as UM +import UM 1.6 as UM import Cura 1.0 as Cura Cura.Menu @@ -84,24 +84,24 @@ Cura.Menu Cura.MenuSeparator { } - UM.MeshWritersModel { id: meshWritersModel } - - ExportMenu + Cura.MenuItem { - id: exportMenu - title: catalog.i18nc("@title:menu menubar:file", "&Export...") - model: meshWritersModel - shouldBeVisible: model.count > 0 + id: saveAsMenu + text: catalog.i18nc("@title:menu menubar:file", "&Export...") + onTriggered: + { + var localDeviceId = "local_file" + UM.OutputDeviceManager.requestWriteToDevice(localDeviceId, PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}) + } } - ExportMenu + Cura.MenuItem { id: exportSelectionMenu - title: catalog.i18nc("@action:inmenu menubar:file", "Export Selection...") - model: meshWritersModel - shouldBeVisible: model.count > 0 + text: catalog.i18nc("@action:inmenu menubar:file", "Export Selection...") enabled: UM.Selection.hasSelection - selectionOnly: true + icon.name: "document-save-as" + onTriggered: UM.OutputDeviceManager.requestWriteSelectionToDevice("local_file", PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}) } Cura.MenuSeparator { } From 733ef4d3d827e11bdcaefe484f17e066f1b0ce89 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 2 Feb 2024 12:17:34 +0100 Subject: [PATCH 14/98] UI now displays an option to select the same profile CURA-11561 --- plugins/3MFReader/ThreeMFReader.py | 9 ++++++- plugins/3MFReader/ThreeMFWorkspaceReader.py | 10 +++++--- plugins/3MFReader/WorkspaceDialog.py | 26 +++++++++++++++++++++ plugins/3MFReader/WorkspaceDialog.qml | 9 +++++++ plugins/3MFReader/__init__.py | 8 +++++++ plugins/3MFReader/plugin.json | 2 +- plugins/3MFWriter/plugin.json | 2 +- resources/qml/Menus/FileMenu.qml | 5 +++- 8 files changed, 64 insertions(+), 7 deletions(-) diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index 13a97d5a89..9f4a4b197b 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -46,8 +46,15 @@ class ThreeMFReader(MeshReader): suffixes=["3mf"] ) ) + MimeTypeDatabase.addMimeType( + MimeType( + name="application/x-pcb", + comment="PCB", + suffixes=["pcb"] + ) + ) - self._supported_extensions = [".3mf"] + self._supported_extensions = [".3mf", ".pcb"] self._root = None self._base_name = "" self._unit = None diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index b97cb34b01..76cd1f386b 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -112,7 +112,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): def __init__(self) -> None: super().__init__() - self._supported_extensions = [".3mf"] + self._supported_extensions = [".3mf", ".pcb"] self._dialog = WorkspaceDialog() self._3mf_mesh_reader = None self._container_registry = ContainerRegistry.getInstance() @@ -228,11 +228,14 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._resolve_strategies = {k: None for k in resolve_strategy_keys} containers_found_dict = {k: False for k in resolve_strategy_keys} + # Check whether the file is a PCB + is_pcb = file_name.endswith('.pcb') + # # Read definition containers # machine_definition_id = None - updatable_machines = [] + updatable_machines = None if is_pcb else [] machine_definition_container_count = 0 extruder_definition_container_count = 0 definition_container_files = [name for name in cura_file_names if name.endswith(self._definition_container_suffix)] @@ -250,7 +253,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): if definition_container_type == "machine": machine_definition_id = container_id machine_definition_containers = self._container_registry.findDefinitionContainers(id = machine_definition_id) - if machine_definition_containers: + if machine_definition_containers and updatable_machines is not None: updatable_machines = [machine for machine in self._container_registry.findContainerStacks(type = "machine") if machine.definition == machine_definition_containers[0]] machine_type = definition_container["name"] variant_type_name = definition_container.get("variants_name", variant_type_name) @@ -617,6 +620,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._dialog.setVariantType(variant_type_name) self._dialog.setHasObjectsOnPlate(Application.getInstance().platformActivity) self._dialog.setMissingPackagesMetadata(missing_package_metadata) + self._dialog.setHasVisibleSelectSameProfileChanged(is_pcb) self._dialog.show() # Choosing the initially selected printer in MachineSelector diff --git a/plugins/3MFReader/WorkspaceDialog.py b/plugins/3MFReader/WorkspaceDialog.py index 0203fc92b5..c5b624d35d 100644 --- a/plugins/3MFReader/WorkspaceDialog.py +++ b/plugins/3MFReader/WorkspaceDialog.py @@ -71,6 +71,8 @@ class WorkspaceDialog(QObject): self._install_missing_package_dialog: Optional[QObject] = None self._is_abstract_machine = False self._is_networked_machine = False + self._is_compatible_machine = False + self._has_visible_select_same_profile = False machineConflictChanged = pyqtSignal() qualityChangesConflictChanged = pyqtSignal() @@ -94,6 +96,8 @@ class WorkspaceDialog(QObject): extrudersChanged = pyqtSignal() isPrinterGroupChanged = pyqtSignal() missingPackagesChanged = pyqtSignal() + isCompatibleMachineChanged = pyqtSignal() + hasVisibleSelectSameProfileChanged = pyqtSignal() @pyqtProperty(bool, notify = isPrinterGroupChanged) def isPrinterGroup(self) -> bool: @@ -291,8 +295,30 @@ class WorkspaceDialog(QObject): @pyqtSlot(str) def setMachineToOverride(self, machine_name: str) -> None: + registry = ContainerRegistry.getInstance() + containers_expected = registry.findDefinitionContainers(name = self._machine_type) + containers_selected = registry.findContainerStacks(id = machine_name) + if len(containers_expected) == 1 and len(containers_selected) == 1: + new_compatible_machine = (containers_expected[0] == containers_selected[0].definition) + if new_compatible_machine != self._is_compatible_machine: + self._is_compatible_machine = new_compatible_machine + self.isCompatibleMachineChanged.emit() + self._override_machine = machine_name + @pyqtProperty(bool, notify = isCompatibleMachineChanged) + def isCompatibleMachine(self) -> bool: + return self._is_compatible_machine + + def setHasVisibleSelectSameProfileChanged(self, has_visible_select_same_profile): + if has_visible_select_same_profile != self._has_visible_select_same_profile: + self._has_visible_select_same_profile = has_visible_select_same_profile + self.hasVisibleSelectSameProfileChanged.emit() + + @pyqtProperty(bool, notify = hasVisibleSelectSameProfileChanged) + def hasVisibleSelectSameProfile(self): + return self._has_visible_select_same_profile + @pyqtSlot() def closeBackend(self) -> None: """Close the backend: otherwise one could end up with "Slicing...""" diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index d5f9b1817d..45fe7b6989 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -186,6 +186,15 @@ UM.Dialog rightLabelText: catalog.i18ncp("@action:label", "%1, %2 override", "%1, %2 overrides", manager.numSettingsOverridenByQualityChanges).arg(manager.qualityType).arg(manager.numSettingsOverridenByQualityChanges) visible: manager.numSettingsOverridenByQualityChanges != 0 } + + UM.CheckBox + { + text: catalog.i18nc("@action:checkbox", "Select the same profile") + enabled: manager.isCompatibleMachine + onEnabledChanged: checked = enabled + tooltip: enabled ? "" : catalog.i18nc("@tooltip", "You can use the same profile only if you have the same printer as the project was published with") + visible: manager.hasVisibleSelectSameProfile + } } comboboxVisible: manager.qualityChangesConflict diff --git a/plugins/3MFReader/__init__.py b/plugins/3MFReader/__init__.py index 5e2b68fce0..a07420d2c6 100644 --- a/plugins/3MFReader/__init__.py +++ b/plugins/3MFReader/__init__.py @@ -25,12 +25,20 @@ def getMetaData() -> Dict: { "extension": "3mf", "description": catalog.i18nc("@item:inlistbox", "3MF File") + }, + { + "extension": "pcb", + "description": catalog.i18nc("@item:inlistbox", "PCB File") } ] metaData["workspace_reader"] = [ { "extension": workspace_extension, "description": catalog.i18nc("@item:inlistbox", "3MF File") + }, + { + "extension": "pcb", + "description": catalog.i18nc("@item:inlistbox", "PCB File") } ] diff --git a/plugins/3MFReader/plugin.json b/plugins/3MFReader/plugin.json index bf0bc05364..1611c956d3 100644 --- a/plugins/3MFReader/plugin.json +++ b/plugins/3MFReader/plugin.json @@ -2,7 +2,7 @@ "name": "3MF Reader", "author": "Ultimaker B.V.", "version": "1.0.1", - "description": "Provides support for reading 3MF files.", + "description": "Provides support for reading 3MF and PCB files.", "api": 8, "i18n-catalog": "cura" } diff --git a/plugins/3MFWriter/plugin.json b/plugins/3MFWriter/plugin.json index b59d4ef8e1..be6d50267c 100644 --- a/plugins/3MFWriter/plugin.json +++ b/plugins/3MFWriter/plugin.json @@ -2,7 +2,7 @@ "name": "3MF Writer", "author": "Ultimaker B.V.", "version": "1.0.1", - "description": "Provides support for writing 3MF files.", + "description": "Provides support for writing 3MF and PCB files.", "api": 8, "i18n-catalog": "cura" } diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index 36a2820087..a6fb339faf 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -77,7 +77,10 @@ Cura.Menu enabled: UM.WorkspaceFileHandler.enabled onTriggered: { - var args = { "filter_by_machine": false, "file_type": "workspace", "preferred_mimetypes": "application/x-pcb" }; + var args = { "filter_by_machine": false, + "file_type": "workspace", + "preferred_mimetypes": "application/x-pcb", + "limit_mimetypes": "application/x-pcb"}; UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args) } } From ab0a52063d0d0f327b7b7c4ccbc28d35dd61feb1 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 2 Feb 2024 16:05:36 +0100 Subject: [PATCH 15/98] Now loading user settings CURA-11561 --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 222 ++++++++++++-------- plugins/3MFReader/WorkspaceDialog.py | 29 ++- plugins/3MFReader/WorkspaceDialog.qml | 15 +- plugins/3MFWriter/SettingsExportModel.py | 2 +- 4 files changed, 178 insertions(+), 90 deletions(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 76cd1f386b..3398b2e7d5 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -5,6 +5,7 @@ from configparser import ConfigParser import zipfile import os import json +import re from typing import cast, Dict, List, Optional, Tuple, Any, Set import xml.etree.ElementTree as ET @@ -141,10 +142,13 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._old_new_materials: Dict[str, str] = {} self._machine_info = None + self._load_profile = False + def _clearState(self): self._id_mapping = {} self._old_new_materials = {} self._machine_info = None + self._load_profile = False def getNewId(self, old_id: str): """Get a unique name based on the old_id. This is different from directly calling the registry in that it caches results. @@ -228,7 +232,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._resolve_strategies = {k: None for k in resolve_strategy_keys} containers_found_dict = {k: False for k in resolve_strategy_keys} - # Check whether the file is a PCB + # Check whether the file is a PCB, which changes some import options is_pcb = file_name.endswith('.pcb') # @@ -621,6 +625,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._dialog.setHasObjectsOnPlate(Application.getInstance().platformActivity) self._dialog.setMissingPackagesMetadata(missing_package_metadata) self._dialog.setHasVisibleSelectSameProfileChanged(is_pcb) + self._dialog.setAllowCreatemachine(not is_pcb) self._dialog.show() # Choosing the initially selected printer in MachineSelector @@ -652,6 +657,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._dialog.setIsNetworkedMachine(is_networked_machine) self._dialog.setIsAbstractMachine(is_abstract_machine) self._dialog.setMachineName(machine_name) + self._dialog.updateCompatibleMachine() + self._dialog.setSelectSameProfileChecked(self._dialog.isCompatibleMachine) # Block until the dialog is closed. self._dialog.waitForClose() @@ -659,6 +666,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): if self._dialog.getResult() == {}: return WorkspaceReader.PreReadResult.cancelled + self._load_profile = not is_pcb or self._dialog.selectSameProfileChecked + self._resolve_strategies = self._dialog.getResult() # # There can be 3 resolve strategies coming from the dialog: @@ -694,16 +703,16 @@ class ThreeMFWorkspaceReader(WorkspaceReader): except EnvironmentError as e: message = Message(i18n_catalog.i18nc("@info:error Don't translate the XML tags or !", "Project file {0} is suddenly inaccessible: {1}.", file_name, str(e)), - title = i18n_catalog.i18nc("@info:title", "Can't Open Project File"), - message_type = Message.MessageType.ERROR) + title = i18n_catalog.i18nc("@info:title", "Can't Open Project File"), + message_type = Message.MessageType.ERROR) message.show() self.setWorkspaceName("") return [], {} except zipfile.BadZipFile as e: message = Message(i18n_catalog.i18nc("@info:error Don't translate the XML tags or !", "Project file {0} is corrupt: {1}.", file_name, str(e)), - title = i18n_catalog.i18nc("@info:title", "Can't Open Project File"), - message_type = Message.MessageType.ERROR) + title = i18n_catalog.i18nc("@info:title", "Can't Open Project File"), + message_type = Message.MessageType.ERROR) message.show() self.setWorkspaceName("") return [], {} @@ -765,9 +774,9 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # Find the machine which will be overridden global_stacks = self._container_registry.findContainerStacks(id = self._dialog.getMachineToOverride(), type = "machine") if not global_stacks: - message = Message(i18n_catalog.i18nc("@info:error Don't translate the XML tag !", + message = Message(i18n_catalog.i18nc("@info:error Don't translate the XML tag !", "Project file {0} is made using profiles that are unknown to this version of UltiMaker Cura.", file_name), - message_type = Message.MessageType.ERROR) + message_type = Message.MessageType.ERROR) message.show() self.setWorkspaceName("") return [], {} @@ -781,84 +790,107 @@ class ThreeMFWorkspaceReader(WorkspaceReader): for stack in extruder_stacks: stack.setNextStack(global_stack, connect_signals = False) - Logger.log("d", "Workspace loading is checking definitions...") - # Get all the definition files & check if they exist. If not, add them. - definition_container_files = [name for name in cura_file_names if name.endswith(self._definition_container_suffix)] - for definition_container_file in definition_container_files: - container_id = self._stripFileToId(definition_container_file) + user_settings = {} - definitions = self._container_registry.findDefinitionContainersMetadata(id = container_id) - if not definitions: - definition_container = DefinitionContainer(container_id) - try: - definition_container.deserialize(archive.open(definition_container_file).read().decode("utf-8"), - file_name = definition_container_file) - except ContainerFormatError: - # We cannot just skip the definition file because everything else later will just break if the - # machine definition cannot be found. - Logger.logException("e", "Failed to deserialize definition file %s in project file %s", - definition_container_file, file_name) - definition_container = self._container_registry.findDefinitionContainers(id = "fdmprinter")[0] #Fall back to defaults. - self._container_registry.addContainer(definition_container) - Job.yieldThread() - QCoreApplication.processEvents() # Ensure that the GUI does not freeze. + if self._load_profile: + Logger.log("d", "Workspace loading is checking definitions...") + # Get all the definition files & check if they exist. If not, add them. + definition_container_files = [name for name in cura_file_names if name.endswith(self._definition_container_suffix)] + for definition_container_file in definition_container_files: + container_id = self._stripFileToId(definition_container_file) - Logger.log("d", "Workspace loading is checking materials...") - # Get all the material files and check if they exist. If not, add them. - xml_material_profile = self._getXmlProfileClass() - if self._material_container_suffix is None: - self._material_container_suffix = ContainerRegistry.getMimeTypeForContainer(xml_material_profile).suffixes[0] - if xml_material_profile: - material_container_files = [name for name in cura_file_names if name.endswith(self._material_container_suffix)] - for material_container_file in material_container_files: - to_deserialize_material = False - container_id = self._stripFileToId(material_container_file) - need_new_name = False - materials = self._container_registry.findInstanceContainers(id = container_id) - - if not materials: - # No material found, deserialize this material later and add it - to_deserialize_material = True - else: - material_container = materials[0] - old_material_root_id = material_container.getMetaDataEntry("base_file") - if old_material_root_id is not None and not self._container_registry.isReadOnly(old_material_root_id): # Only create new materials if they are not read only. - to_deserialize_material = True - - if self._resolve_strategies["material"] == "override": - # Remove the old materials and then deserialize the one from the project - root_material_id = material_container.getMetaDataEntry("base_file") - application.getContainerRegistry().removeContainer(root_material_id) - elif self._resolve_strategies["material"] == "new": - # Note that we *must* deserialize it with a new ID, as multiple containers will be - # auto created & added. - container_id = self.getNewId(container_id) - self._old_new_materials[old_material_root_id] = container_id - need_new_name = True - - if to_deserialize_material: - material_container = xml_material_profile(container_id) + definitions = self._container_registry.findDefinitionContainersMetadata(id = container_id) + if not definitions: + definition_container = DefinitionContainer(container_id) try: - material_container.deserialize(archive.open(material_container_file).read().decode("utf-8"), - file_name = container_id + "." + self._material_container_suffix) + definition_container.deserialize(archive.open(definition_container_file).read().decode("utf-8"), + file_name = definition_container_file) except ContainerFormatError: - Logger.logException("e", "Failed to deserialize material file %s in project file %s", - material_container_file, file_name) - continue - if need_new_name: - new_name = ContainerRegistry.getInstance().uniqueName(material_container.getName()) - material_container.setName(new_name) - material_container.setDirty(True) - self._container_registry.addContainer(material_container) + # We cannot just skip the definition file because everything else later will just break if the + # machine definition cannot be found. + Logger.logException("e", "Failed to deserialize definition file %s in project file %s", + definition_container_file, file_name) + definition_container = self._container_registry.findDefinitionContainers(id = "fdmprinter")[0] #Fall back to defaults. + self._container_registry.addContainer(definition_container) Job.yieldThread() QCoreApplication.processEvents() # Ensure that the GUI does not freeze. - if global_stack: - # Handle quality changes if any - self._processQualityChanges(global_stack) + Logger.log("d", "Workspace loading is checking materials...") + # Get all the material files and check if they exist. If not, add them. + xml_material_profile = self._getXmlProfileClass() + if self._material_container_suffix is None: + self._material_container_suffix = ContainerRegistry.getMimeTypeForContainer(xml_material_profile).suffixes[0] + if xml_material_profile: + material_container_files = [name for name in cura_file_names if name.endswith(self._material_container_suffix)] + for material_container_file in material_container_files: + to_deserialize_material = False + container_id = self._stripFileToId(material_container_file) + need_new_name = False + materials = self._container_registry.findInstanceContainers(id = container_id) - # Prepare the machine - self._applyChangesToMachine(global_stack, extruder_stack_dict) + if not materials: + # No material found, deserialize this material later and add it + to_deserialize_material = True + else: + material_container = materials[0] + old_material_root_id = material_container.getMetaDataEntry("base_file") + if old_material_root_id is not None and not self._container_registry.isReadOnly(old_material_root_id): # Only create new materials if they are not read only. + to_deserialize_material = True + + if self._resolve_strategies["material"] == "override": + # Remove the old materials and then deserialize the one from the project + root_material_id = material_container.getMetaDataEntry("base_file") + application.getContainerRegistry().removeContainer(root_material_id) + elif self._resolve_strategies["material"] == "new": + # Note that we *must* deserialize it with a new ID, as multiple containers will be + # auto created & added. + container_id = self.getNewId(container_id) + self._old_new_materials[old_material_root_id] = container_id + need_new_name = True + + if to_deserialize_material: + material_container = xml_material_profile(container_id) + try: + material_container.deserialize(archive.open(material_container_file).read().decode("utf-8"), + file_name = container_id + "." + self._material_container_suffix) + except ContainerFormatError: + Logger.logException("e", "Failed to deserialize material file %s in project file %s", + material_container_file, file_name) + continue + if need_new_name: + new_name = ContainerRegistry.getInstance().uniqueName(material_container.getName()) + material_container.setName(new_name) + material_container.setDirty(True) + self._container_registry.addContainer(material_container) + Job.yieldThread() + QCoreApplication.processEvents() # Ensure that the GUI does not freeze. + else: + Logger.log("d", "Workspace loading user settings...") + try: + user_settings = json.loads(archive.open("Cura/user-settings.json").read().decode("utf-8")) + except KeyError as e: + # If there is no user settings file, it's not a PCB, so notify user of failure. + Logger.log("w", "File %s is not a valid PCB.", file_name) + message = Message( + i18n_catalog.i18nc("@info:error Don't translate the XML tags or !", + "Project file {0} is corrupt: {1}.", + file_name, str(e)), + title=i18n_catalog.i18nc("@info:title", "Can't Open Project File"), + message_type=Message.MessageType.ERROR) + message.show() + self.setWorkspaceName("") + return [], {} + + + if global_stack: + if self._load_profile: + # Handle quality changes if any + self._processQualityChanges(global_stack) + + # Prepare the machine + self._applyChangesToMachine(global_stack, extruder_stack_dict) + else: + self._applyUserSettings(global_stack, extruder_stack_dict, user_settings) Logger.log("d", "Workspace loading is notifying rest of the code of changes...") # Actually change the active machine. @@ -1181,21 +1213,47 @@ class ThreeMFWorkspaceReader(WorkspaceReader): material_node = machine_node.variants[extruder_stack.variant.getName()].materials[root_material_id] extruder_stack.material = material_node.container - def _applyChangesToMachine(self, global_stack, extruder_stack_dict): - # Clear all first + def _clearMachineSettings(self, global_stack, extruder_stack_dict): self._clearStack(global_stack) for extruder_stack in extruder_stack_dict.values(): self._clearStack(extruder_stack) + self._quality_changes_to_apply = None + self._quality_type_to_apply = None + self._intent_category_to_apply = None + self._user_settings_to_apply = None + + def _applyUserSettings(self, global_stack, extruder_stack_dict, user_settings): + # Clear all first + self._clearMachineSettings(global_stack, extruder_stack_dict) + + for stack_name, settings in user_settings.items(): + if stack_name == 'global': + ThreeMFWorkspaceReader._applyUserSettingsOnStack(global_stack, settings) + else: + extruder_match = re.fullmatch('extruder_([0-9]+)', stack_name) + if extruder_match is not None: + extruder_nr = extruder_match.group(1) + if extruder_nr in extruder_stack_dict: + ThreeMFWorkspaceReader._applyUserSettingsOnStack(extruder_stack_dict[extruder_nr], settings) + + @staticmethod + def _applyUserSettingsOnStack(stack, user_settings): + user_settings_container = stack.userChanges + + for setting_to_import, setting_value in user_settings.items(): + user_settings_container.setProperty(setting_to_import, 'value', setting_value) + + def _applyChangesToMachine(self, global_stack, extruder_stack_dict): + # Clear all first + self._clearMachineSettings(global_stack, extruder_stack_dict) + self._applyDefinitionChanges(global_stack, extruder_stack_dict) self._applyUserChanges(global_stack, extruder_stack_dict) self._applyVariants(global_stack, extruder_stack_dict) self._applyMaterials(global_stack, extruder_stack_dict) # prepare the quality to select - self._quality_changes_to_apply = None - self._quality_type_to_apply = None - self._intent_category_to_apply = None if self._machine_info.quality_changes_info is not None: self._quality_changes_to_apply = self._machine_info.quality_changes_info.name else: diff --git a/plugins/3MFReader/WorkspaceDialog.py b/plugins/3MFReader/WorkspaceDialog.py index c5b624d35d..c0006e21a8 100644 --- a/plugins/3MFReader/WorkspaceDialog.py +++ b/plugins/3MFReader/WorkspaceDialog.py @@ -73,6 +73,8 @@ class WorkspaceDialog(QObject): self._is_networked_machine = False self._is_compatible_machine = False self._has_visible_select_same_profile = False + self._select_same_profile_checked = True + self._allow_create_machine = True machineConflictChanged = pyqtSignal() qualityChangesConflictChanged = pyqtSignal() @@ -98,6 +100,7 @@ class WorkspaceDialog(QObject): missingPackagesChanged = pyqtSignal() isCompatibleMachineChanged = pyqtSignal() hasVisibleSelectSameProfileChanged = pyqtSignal() + selectSameProfileCheckedChanged = pyqtSignal() @pyqtProperty(bool, notify = isPrinterGroupChanged) def isPrinterGroup(self) -> bool: @@ -295,17 +298,19 @@ class WorkspaceDialog(QObject): @pyqtSlot(str) def setMachineToOverride(self, machine_name: str) -> None: + self._override_machine = machine_name + self.updateCompatibleMachine() + + def updateCompatibleMachine(self): registry = ContainerRegistry.getInstance() - containers_expected = registry.findDefinitionContainers(name = self._machine_type) - containers_selected = registry.findContainerStacks(id = machine_name) + containers_expected = registry.findDefinitionContainers(name=self._machine_type) + containers_selected = registry.findContainerStacks(id=self._override_machine) if len(containers_expected) == 1 and len(containers_selected) == 1: new_compatible_machine = (containers_expected[0] == containers_selected[0].definition) if new_compatible_machine != self._is_compatible_machine: self._is_compatible_machine = new_compatible_machine self.isCompatibleMachineChanged.emit() - self._override_machine = machine_name - @pyqtProperty(bool, notify = isCompatibleMachineChanged) def isCompatibleMachine(self) -> bool: return self._is_compatible_machine @@ -319,6 +324,22 @@ class WorkspaceDialog(QObject): def hasVisibleSelectSameProfile(self): return self._has_visible_select_same_profile + def setSelectSameProfileChecked(self, select_same_profile_checked): + if select_same_profile_checked != self._select_same_profile_checked: + self._select_same_profile_checked = select_same_profile_checked + self.selectSameProfileCheckedChanged.emit() + + @pyqtProperty(bool, notify = selectSameProfileCheckedChanged, fset = setSelectSameProfileChecked) + def selectSameProfileChecked(self): + return self._select_same_profile_checked + + def setAllowCreatemachine(self, allow_create_machine): + self._allow_create_machine = allow_create_machine + + @pyqtProperty(bool, constant = True) + def allowCreateMachine(self): + return self._allow_create_machine + @pyqtSlot() def closeBackend(self) -> None: """Close the backend: otherwise one could end up with "Slicing...""" diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index 45fe7b6989..c7074ce220 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -120,13 +120,17 @@ UM.Dialog minDropDownWidth: machineSelector.width - buttons: [ + Component + { + id: componentNewPrinter + Cura.SecondaryButton { id: createNewPrinter text: catalog.i18nc("@button", "Create new") fixedWidthMode: true width: parent.width - leftPadding * 1.5 + visible: manager.allowCreateMachine onClicked: { toggleContent() @@ -136,7 +140,9 @@ UM.Dialog manager.setIsNetworkedMachine(false) } } - ] + } + + buttons: manager.allowCreateMachine ? [componentNewPrinter.createObject()] : [] onSelectPrinter: function(machine) { @@ -191,9 +197,12 @@ UM.Dialog { text: catalog.i18nc("@action:checkbox", "Select the same profile") enabled: manager.isCompatibleMachine - onEnabledChanged: checked = enabled + onEnabledChanged: manager.selectSameProfileChecked = enabled tooltip: enabled ? "" : catalog.i18nc("@tooltip", "You can use the same profile only if you have the same printer as the project was published with") visible: manager.hasVisibleSelectSameProfile + + checked: manager.selectSameProfileChecked + onCheckedChanged: manager.selectSameProfileChecked = checked } } diff --git a/plugins/3MFWriter/SettingsExportModel.py b/plugins/3MFWriter/SettingsExportModel.py index a4acaf02f7..0c34278067 100644 --- a/plugins/3MFWriter/SettingsExportModel.py +++ b/plugins/3MFWriter/SettingsExportModel.py @@ -105,7 +105,7 @@ class SettingsExportModel(QObject): @staticmethod def _exportSettings(settings_stack): - user_settings_container = settings_stack.getTop() + user_settings_container = settings_stack.userChanges user_keys = user_settings_container.getAllKeys() settings_export = [] From 2d79479a26d25d81ff523e34c346004f969fb12a Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 2 Feb 2024 16:17:27 +0100 Subject: [PATCH 16/98] Avoid displaying the discard changed dialog CURA-11561 --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 3398b2e7d5..57bf4be5bb 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -890,7 +890,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # Prepare the machine self._applyChangesToMachine(global_stack, extruder_stack_dict) else: - self._applyUserSettings(global_stack, extruder_stack_dict, user_settings) + # Just clear the settings now, so that we can change the active machine without conflicts + self._clearMachineSettings(global_stack, extruder_stack_dict) Logger.log("d", "Workspace loading is notifying rest of the code of changes...") # Actually change the active machine. @@ -902,6 +903,10 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # To solve this, we schedule _updateActiveMachine() for later so it will have the latest data. self._updateActiveMachine(global_stack) + if not self._load_profile: + # Now we have switched, apply the user settings + self._applyUserSettings(global_stack, extruder_stack_dict, user_settings) + # Load all the nodes / mesh data of the workspace nodes = self._3mf_mesh_reader.read(file_name) if nodes is None: @@ -1224,9 +1229,6 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._user_settings_to_apply = None def _applyUserSettings(self, global_stack, extruder_stack_dict, user_settings): - # Clear all first - self._clearMachineSettings(global_stack, extruder_stack_dict) - for stack_name, settings in user_settings.items(): if stack_name == 'global': ThreeMFWorkspaceReader._applyUserSettingsOnStack(global_stack, settings) From 9afe5b46dbaf94d5214df9e8f285dcb39b0f3eb6 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 5 Feb 2024 12:39:56 +0100 Subject: [PATCH 17/98] We now display the global and extruder settings in the dialog CURA-11561 --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 54 +++++++++++++-------- plugins/3MFReader/WorkspaceDialog.py | 7 +++ plugins/3MFReader/WorkspaceDialog.qml | 45 ++++++++++++++--- plugins/3MFReader/WorkspaceRow.qml | 20 ++++++-- 4 files changed, 96 insertions(+), 30 deletions(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 57bf4be5bb..caf411bc67 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -143,12 +143,14 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._machine_info = None self._load_profile = False + self._user_settings: Dict[str, Dict[str, Any]] = {} def _clearState(self): self._id_mapping = {} self._old_new_materials = {} self._machine_info = None self._load_profile = False + self._user_settings = {} def getNewId(self, old_id: str): """Get a unique name based on the old_id. This is different from directly calling the registry in that it caches results. @@ -604,6 +606,36 @@ class ThreeMFWorkspaceReader(WorkspaceReader): package_metadata = self._parse_packages_metadata(archive) missing_package_metadata = self._filter_missing_package_metadata(package_metadata) + # Load the user specifically exported settings + self._dialog.exportedSettingModel.clear() + if is_pcb: + try: + self._user_settings = json.loads(archive.open("Cura/user-settings.json").read().decode("utf-8")) + any_extruder_stack = ExtruderManager.getInstance().getExtruderStack(0) + + for stack_name, settings in self._user_settings.items(): + if stack_name == 'global': + self._dialog.exportedSettingModel.addSettingsFromStack(global_stack, i18n_catalog.i18nc("@label", "Global"), settings) + else: + extruder_match = re.fullmatch('extruder_([0-9]+)', stack_name) + if extruder_match is not None: + extruder_nr = int(extruder_match.group(1)) + self._dialog.exportedSettingModel.addSettingsFromStack(any_extruder_stack, + i18n_catalog.i18nc("@label", + "Extruder {0}", extruder_nr + 1), + settings) + except KeyError as e: + # If there is no user settings file, it's not a PCB, so notify user of failure. + Logger.log("w", "File %s is not a valid PCB.", file_name) + message = Message( + i18n_catalog.i18nc("@info:error Don't translate the XML tags or !", + "Project file {0} is corrupt: {1}.", + file_name, str(e)), + title=i18n_catalog.i18nc("@info:title", "Can't Open Project File"), + message_type=Message.MessageType.ERROR) + message.show() + return WorkspaceReader.PreReadResult.failed + # Show the dialog, informing the user what is about to happen. self._dialog.setMachineConflict(machine_conflict) self._dialog.setIsPrinterGroup(is_printer_group) @@ -628,6 +660,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._dialog.setAllowCreatemachine(not is_pcb) self._dialog.show() + # Choosing the initially selected printer in MachineSelector is_networked_machine = False is_abstract_machine = False @@ -790,8 +823,6 @@ class ThreeMFWorkspaceReader(WorkspaceReader): for stack in extruder_stacks: stack.setNextStack(global_stack, connect_signals = False) - user_settings = {} - if self._load_profile: Logger.log("d", "Workspace loading is checking definitions...") # Get all the definition files & check if they exist. If not, add them. @@ -864,23 +895,6 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._container_registry.addContainer(material_container) Job.yieldThread() QCoreApplication.processEvents() # Ensure that the GUI does not freeze. - else: - Logger.log("d", "Workspace loading user settings...") - try: - user_settings = json.loads(archive.open("Cura/user-settings.json").read().decode("utf-8")) - except KeyError as e: - # If there is no user settings file, it's not a PCB, so notify user of failure. - Logger.log("w", "File %s is not a valid PCB.", file_name) - message = Message( - i18n_catalog.i18nc("@info:error Don't translate the XML tags or !", - "Project file {0} is corrupt: {1}.", - file_name, str(e)), - title=i18n_catalog.i18nc("@info:title", "Can't Open Project File"), - message_type=Message.MessageType.ERROR) - message.show() - self.setWorkspaceName("") - return [], {} - if global_stack: if self._load_profile: @@ -905,7 +919,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): if not self._load_profile: # Now we have switched, apply the user settings - self._applyUserSettings(global_stack, extruder_stack_dict, user_settings) + self._applyUserSettings(global_stack, extruder_stack_dict, self._user_settings) # Load all the nodes / mesh data of the workspace nodes = self._3mf_mesh_reader.read(file_name) diff --git a/plugins/3MFReader/WorkspaceDialog.py b/plugins/3MFReader/WorkspaceDialog.py index c0006e21a8..1fafcf59f5 100644 --- a/plugins/3MFReader/WorkspaceDialog.py +++ b/plugins/3MFReader/WorkspaceDialog.py @@ -22,6 +22,8 @@ import time from cura.CuraApplication import CuraApplication +from .SpecificSettingsModel import SpecificSettingsModel + i18n_catalog = i18nCatalog("cura") @@ -75,6 +77,7 @@ class WorkspaceDialog(QObject): self._has_visible_select_same_profile = False self._select_same_profile_checked = True self._allow_create_machine = True + self._exported_settings_model = SpecificSettingsModel() machineConflictChanged = pyqtSignal() qualityChangesConflictChanged = pyqtSignal() @@ -340,6 +343,10 @@ class WorkspaceDialog(QObject): def allowCreateMachine(self): return self._allow_create_machine + @pyqtProperty(QObject, constant = True) + def exportedSettingModel(self): + return self._exported_settings_model + @pyqtSlot() def closeBackend(self) -> None: """Close the backend: otherwise one could end up with "Slicing...""" diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index c7074ce220..b6a9d59751 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -1,12 +1,12 @@ // Copyright (c) 2022 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. -import QtQuick 2.10 +import QtQuick 2.14 import QtQuick.Controls 2.3 import QtQuick.Layouts 1.3 import QtQuick.Window 2.2 -import UM 1.5 as UM +import UM 1.6 as UM import Cura 1.1 as Cura UM.Dialog @@ -171,35 +171,68 @@ UM.Dialog { leftLabelText: catalog.i18nc("@action:label", "Name") rightLabelText: manager.qualityName + visible: manager.isCompatibleMachine } WorkspaceRow { leftLabelText: catalog.i18nc("@action:label", "Intent") rightLabelText: manager.intentName + visible: manager.isCompatibleMachine } WorkspaceRow { leftLabelText: catalog.i18nc("@action:label", "Not in profile") rightLabelText: catalog.i18ncp("@action:label", "%1 override", "%1 overrides", manager.numUserSettings).arg(manager.numUserSettings) - visible: manager.numUserSettings != 0 + visible: manager.numUserSettings != 0 && manager.selectSameProfileChecked && manager.isCompatibleMachine } WorkspaceRow { leftLabelText: catalog.i18nc("@action:label", "Derivative from") rightLabelText: catalog.i18ncp("@action:label", "%1, %2 override", "%1, %2 overrides", manager.numSettingsOverridenByQualityChanges).arg(manager.qualityType).arg(manager.numSettingsOverridenByQualityChanges) - visible: manager.numSettingsOverridenByQualityChanges != 0 + visible: manager.numSettingsOverridenByQualityChanges != 0 && manager.selectSameProfileChecked && manager.isCompatibleMachine + } + + WorkspaceRow + { + leftLabelText: catalog.i18nc("@action:label", "Specific settings") + rightLabelText: catalog.i18ncp("@action:label", "%1 override", "%1 overrides", manager.exportedSettingModel.rowCount()).arg(manager.exportedSettingModel.rowCount()) + buttonText: tableViewSpecificSettings.shouldBeVisible ? catalog.i18nc("@action:button", "Hide settings") : catalog.i18nc("@action:button", "Show settings") + visible: !manager.selectSameProfileChecked || !manager.isCompatibleMachine + onButtonClicked: tableViewSpecificSettings.shouldBeVisible = !tableViewSpecificSettings.shouldBeVisible + } + + Cura.TableView + { + id: tableViewSpecificSettings + width: parent.width - parent.leftPadding - UM.Theme.getSize("default_margin").width + height: UM.Theme.getSize("card").height + visible: shouldBeVisible && (!manager.selectSameProfileChecked || !manager.isCompatibleMachine) + property bool shouldBeVisible: false + + columnHeaders: + [ + catalog.i18nc("@title:column", "Applies on"), + catalog.i18nc("@title:column", "Setting"), + catalog.i18nc("@title:column", "Value") + ] + + model: UM.TableModel + { + id: tableModel + headers: ["category", "label", "value"] + rows: manager.exportedSettingModel.items + } } UM.CheckBox { text: catalog.i18nc("@action:checkbox", "Select the same profile") - enabled: manager.isCompatibleMachine onEnabledChanged: manager.selectSameProfileChecked = enabled tooltip: enabled ? "" : catalog.i18nc("@tooltip", "You can use the same profile only if you have the same printer as the project was published with") - visible: manager.hasVisibleSelectSameProfile + visible: manager.hasVisibleSelectSameProfile && manager.isCompatibleMachine checked: manager.selectSameProfileChecked onCheckedChanged: manager.selectSameProfileChecked = checked diff --git a/plugins/3MFReader/WorkspaceRow.qml b/plugins/3MFReader/WorkspaceRow.qml index 8d9f1f25b3..855b8c18b0 100644 --- a/plugins/3MFReader/WorkspaceRow.qml +++ b/plugins/3MFReader/WorkspaceRow.qml @@ -9,26 +9,38 @@ import QtQuick.Window 2.2 import UM 1.5 as UM import Cura 1.1 as Cura -Row +RowLayout { + id: root + property alias leftLabelText: leftLabel.text property alias rightLabelText: rightLabel.text + property alias buttonText: button.text + signal buttonClicked width: parent.width - height: visible ? childrenRect.height : 0 UM.Label { id: leftLabel text: catalog.i18nc("@action:label", "Type") - width: Math.round(parent.width / 4) + Layout.preferredWidth: Math.round(parent.width / 4) wrapMode: Text.WordWrap } + UM.Label { id: rightLabel text: manager.machineType - width: Math.round(parent.width / 3) wrapMode: Text.WordWrap } + + Cura.TertiaryButton + { + id: button + visible: !text.isEmpty + Layout.maximumHeight: leftLabel.implicitHeight + Layout.fillWidth: true + onClicked: root.buttonClicked() + } } \ No newline at end of file From 2ae990833486e035c8291732e211b32d2ff55799 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 5 Feb 2024 12:58:02 +0100 Subject: [PATCH 18/98] Fix crash CURA-11561 --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index caf411bc67..c28880211d 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -699,7 +699,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): if self._dialog.getResult() == {}: return WorkspaceReader.PreReadResult.cancelled - self._load_profile = not is_pcb or self._dialog.selectSameProfileChecked + self._load_profile = not is_pcb or (self._dialog.selectSameProfileChecked and self._dialog.isCompatibleMachine) self._resolve_strategies = self._dialog.getResult() # From 63c1eb8990ff3b86337fddb0331bc8ca24ea1092 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 5 Feb 2024 14:15:43 +0100 Subject: [PATCH 19/98] Rename to Universal Cura Project CURA-11561 --- plugins/3MFReader/ThreeMFReader.py | 8 ++++---- plugins/3MFReader/ThreeMFWorkspaceReader.py | 20 +++++++++---------- plugins/3MFReader/__init__.py | 8 ++++---- plugins/3MFReader/plugin.json | 2 +- plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 16 +++++++-------- .../3MFWriter/{PCBDialog.py => UCPDialog.py} | 4 ++-- .../{PCBDialog.qml => UCPDialog.qml} | 6 +++--- plugins/3MFWriter/__init__.py | 12 +++++------ plugins/3MFWriter/plugin.json | 2 +- resources/qml/Menus/FileMenu.qml | 8 ++++---- 10 files changed, 43 insertions(+), 43 deletions(-) rename plugins/3MFWriter/{PCBDialog.py => UCPDialog.py} (94%) rename plugins/3MFWriter/{PCBDialog.qml => UCPDialog.qml} (86%) diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index 9f4a4b197b..13d069f5a7 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -48,13 +48,13 @@ class ThreeMFReader(MeshReader): ) MimeTypeDatabase.addMimeType( MimeType( - name="application/x-pcb", - comment="PCB", - suffixes=["pcb"] + name="application/x-ucp", + comment="UCP", + suffixes=["ucp"] ) ) - self._supported_extensions = [".3mf", ".pcb"] + self._supported_extensions = [".3mf", ".ucp"] self._root = None self._base_name = "" self._unit = None diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index c28880211d..e3056065a8 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -113,7 +113,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): def __init__(self) -> None: super().__init__() - self._supported_extensions = [".3mf", ".pcb"] + self._supported_extensions = [".3mf", ".ucp"] self._dialog = WorkspaceDialog() self._3mf_mesh_reader = None self._container_registry = ContainerRegistry.getInstance() @@ -234,14 +234,14 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._resolve_strategies = {k: None for k in resolve_strategy_keys} containers_found_dict = {k: False for k in resolve_strategy_keys} - # Check whether the file is a PCB, which changes some import options - is_pcb = file_name.endswith('.pcb') + # Check whether the file is a UCP, which changes some import options + is_ucp = file_name.endswith('.ucp') # # Read definition containers # machine_definition_id = None - updatable_machines = None if is_pcb else [] + updatable_machines = None if is_ucp else [] machine_definition_container_count = 0 extruder_definition_container_count = 0 definition_container_files = [name for name in cura_file_names if name.endswith(self._definition_container_suffix)] @@ -608,7 +608,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # Load the user specifically exported settings self._dialog.exportedSettingModel.clear() - if is_pcb: + if is_ucp: try: self._user_settings = json.loads(archive.open("Cura/user-settings.json").read().decode("utf-8")) any_extruder_stack = ExtruderManager.getInstance().getExtruderStack(0) @@ -625,8 +625,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): "Extruder {0}", extruder_nr + 1), settings) except KeyError as e: - # If there is no user settings file, it's not a PCB, so notify user of failure. - Logger.log("w", "File %s is not a valid PCB.", file_name) + # If there is no user settings file, it's not a UCP, so notify user of failure. + Logger.log("w", "File %s is not a valid UCP.", file_name) message = Message( i18n_catalog.i18nc("@info:error Don't translate the XML tags or !", "Project file {0} is corrupt: {1}.", @@ -656,8 +656,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._dialog.setVariantType(variant_type_name) self._dialog.setHasObjectsOnPlate(Application.getInstance().platformActivity) self._dialog.setMissingPackagesMetadata(missing_package_metadata) - self._dialog.setHasVisibleSelectSameProfileChanged(is_pcb) - self._dialog.setAllowCreatemachine(not is_pcb) + self._dialog.setHasVisibleSelectSameProfileChanged(is_ucp) + self._dialog.setAllowCreatemachine(not is_ucp) self._dialog.show() @@ -699,7 +699,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): if self._dialog.getResult() == {}: return WorkspaceReader.PreReadResult.cancelled - self._load_profile = not is_pcb or (self._dialog.selectSameProfileChecked and self._dialog.isCompatibleMachine) + self._load_profile = not is_ucp or (self._dialog.selectSameProfileChecked and self._dialog.isCompatibleMachine) self._resolve_strategies = self._dialog.getResult() # diff --git a/plugins/3MFReader/__init__.py b/plugins/3MFReader/__init__.py index a07420d2c6..101337f05f 100644 --- a/plugins/3MFReader/__init__.py +++ b/plugins/3MFReader/__init__.py @@ -27,8 +27,8 @@ def getMetaData() -> Dict: "description": catalog.i18nc("@item:inlistbox", "3MF File") }, { - "extension": "pcb", - "description": catalog.i18nc("@item:inlistbox", "PCB File") + "extension": "ucp", + "description": catalog.i18nc("@item:inlistbox", "UCP File") } ] metaData["workspace_reader"] = [ @@ -37,8 +37,8 @@ def getMetaData() -> Dict: "description": catalog.i18nc("@item:inlistbox", "3MF File") }, { - "extension": "pcb", - "description": catalog.i18nc("@item:inlistbox", "PCB File") + "extension": "ucp", + "description": catalog.i18nc("@item:inlistbox", "UCP File") } ] diff --git a/plugins/3MFReader/plugin.json b/plugins/3MFReader/plugin.json index 1611c956d3..010adbb501 100644 --- a/plugins/3MFReader/plugin.json +++ b/plugins/3MFReader/plugin.json @@ -2,7 +2,7 @@ "name": "3MF Reader", "author": "Ultimaker B.V.", "version": "1.0.1", - "description": "Provides support for reading 3MF and PCB files.", + "description": "Provides support for reading 3MF and UCP files.", "api": 8, "i18n-catalog": "cura" } diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index 9715e9ac98..7cdf884709 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -15,7 +15,7 @@ from UM.Workspace.WorkspaceWriter import WorkspaceWriter from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") -from .PCBDialog import PCBDialog +from .UCPDialog import UCPDialog from .ThreeMFWriter import ThreeMFWriter from .SettingsExportModel import SettingsExportModel from .SettingsExportGroup import SettingsExportGroup @@ -35,19 +35,19 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): self._config_dialog = None def _preWrite(self): - is_pcb = False + is_ucp = False if hasattr(self._stream, 'name'): - # This only works with local file, but we don't want remote PCB files yet - is_pcb = self._stream.name.endswith('.pcb') + # This only works with local file, but we don't want remote UCP files yet + is_ucp = self._stream.name.endswith('.ucp') - if is_pcb: - self._config_dialog = PCBDialog() - self._config_dialog.finished.connect(self._onPCBConfigFinished) + if is_ucp: + self._config_dialog = UCPDialog() + self._config_dialog.finished.connect(self._onUCPConfigFinished) self._config_dialog.show() else: self._doWrite() - def _onPCBConfigFinished(self, accepted: bool): + def _onUCPConfigFinished(self, accepted: bool): if accepted: self._export_model = self._config_dialog.getModel() self._doWrite() diff --git a/plugins/3MFWriter/PCBDialog.py b/plugins/3MFWriter/UCPDialog.py similarity index 94% rename from plugins/3MFWriter/PCBDialog.py rename to plugins/3MFWriter/UCPDialog.py index 089fa259ac..fb214aded0 100644 --- a/plugins/3MFWriter/PCBDialog.py +++ b/plugins/3MFWriter/UCPDialog.py @@ -14,14 +14,14 @@ from .SettingsExportModel import SettingsExportModel i18n_catalog = i18nCatalog("cura") -class PCBDialog(QObject): +class UCPDialog(QObject): finished = pyqtSignal(bool) def __init__(self, parent = None) -> None: super().__init__(parent) plugin_path = os.path.dirname(__file__) - dialog_path = os.path.join(plugin_path, 'PCBDialog.qml') + dialog_path = os.path.join(plugin_path, 'UCPDialog.qml') self._model = SettingsExportModel() self._view = CuraApplication.getInstance().createQmlComponent(dialog_path, {"manager": self, diff --git a/plugins/3MFWriter/PCBDialog.qml b/plugins/3MFWriter/UCPDialog.qml similarity index 86% rename from plugins/3MFWriter/PCBDialog.qml rename to plugins/3MFWriter/UCPDialog.qml index b65520961b..88552cc292 100644 --- a/plugins/3MFWriter/PCBDialog.qml +++ b/plugins/3MFWriter/UCPDialog.qml @@ -12,7 +12,7 @@ import Cura 1.1 as Cura UM.Dialog { id: exportDialog - title: catalog.i18nc("@title:window", "Export pre-configured build batch") + title: catalog.i18nc("@title:window", "Export Universal Cura Project") margin: UM.Theme.getSize("default_margin").width minimumWidth: UM.Theme.getSize("modal_window_minimum").width @@ -39,14 +39,14 @@ UM.Dialog UM.Label { id: titleLabel - text: catalog.i18nc("@action:title", "Summary - Pre-configured build batch") + text: catalog.i18nc("@action:title", "Summary - Universal Cura Project") font: UM.Theme.getFont("large") } UM.Label { id: descriptionLabel - text: catalog.i18nc("@action:description", "When exporting a build batch, all the models present on the build plate will be included with their current position, orientation and scale. You can also select which per-extruder or per-model settings should be included to ensure a proper printing of the batch, even on different printers.") + text: catalog.i18nc("@action:description", "When exporting a Universal Cura Project, all the models present on the build plate will be included with their current position, orientation and scale. You can also select which per-extruder or per-model settings should be included to ensure a proper printing of the batch, even on different printers.") font: UM.Theme.getFont("default") wrapMode: Text.Wrap Layout.maximumWidth: headerColumn.width diff --git a/plugins/3MFWriter/__init__.py b/plugins/3MFWriter/__init__.py index e0d4037603..40fd42b199 100644 --- a/plugins/3MFWriter/__init__.py +++ b/plugins/3MFWriter/__init__.py @@ -34,9 +34,9 @@ def getMetaData(): "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode }, { - "extension": "pcb", - "description": i18n_catalog.i18nc("@item:inlistbox", "PCB file"), - "mime_type": "application/x-pcb", + "extension": "ucp", + "description": i18n_catalog.i18nc("@item:inlistbox", "Universal Cura Project"), + "mime_type": "application/x-ucp", "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode } ] @@ -50,9 +50,9 @@ def getMetaData(): "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode }, { - "extension": "pcb", - "description": i18n_catalog.i18nc("@item:inlistbox", "Pre-Configured Batch file"), - "mime_type": "application/x-pcb", + "extension": "ucp", + "description": i18n_catalog.i18nc("@item:inlistbox", "Universal Cura Project"), + "mime_type": "application/x-ucp", "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode } ] diff --git a/plugins/3MFWriter/plugin.json b/plugins/3MFWriter/plugin.json index be6d50267c..254384dc25 100644 --- a/plugins/3MFWriter/plugin.json +++ b/plugins/3MFWriter/plugin.json @@ -2,7 +2,7 @@ "name": "3MF Writer", "author": "Ultimaker B.V.", "version": "1.0.1", - "description": "Provides support for writing 3MF and PCB files.", + "description": "Provides support for writing 3MF and UCP files.", "api": 8, "i18n-catalog": "cura" } diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index a6fb339faf..4f7734cb11 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -72,15 +72,15 @@ Cura.Menu Cura.MenuItem { - id: savePCBMenu - text: catalog.i18nc("@title:menu menubar:file", "&Save PCB Project...") + id: saveUCPMenu + text: catalog.i18nc("@title:menu menubar:file", "&Save Universal Cura Project...") enabled: UM.WorkspaceFileHandler.enabled onTriggered: { var args = { "filter_by_machine": false, "file_type": "workspace", - "preferred_mimetypes": "application/x-pcb", - "limit_mimetypes": "application/x-pcb"}; + "preferred_mimetypes": "application/x-ucp", + "limit_mimetypes": "application/x-ucp"}; UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args) } } From 31f3d6161d764e66c469f9c1d3d6de5cff1c8b76 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Tue, 6 Feb 2024 13:19:42 +0100 Subject: [PATCH 20/98] Add missing file CURA-11561 --- plugins/3MFReader/SpecificSettingsModel.py | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 plugins/3MFReader/SpecificSettingsModel.py diff --git a/plugins/3MFReader/SpecificSettingsModel.py b/plugins/3MFReader/SpecificSettingsModel.py new file mode 100644 index 0000000000..fd5719d6b3 --- /dev/null +++ b/plugins/3MFReader/SpecificSettingsModel.py @@ -0,0 +1,38 @@ +# Copyright (c) 2024 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt6.QtCore import Qt + +from UM.Settings.SettingDefinition import SettingDefinition +from UM.Qt.ListModel import ListModel + + +class SpecificSettingsModel(ListModel): + CategoryRole = Qt.ItemDataRole.UserRole + 1 + LabelRole = Qt.ItemDataRole.UserRole + 2 + ValueRole = Qt.ItemDataRole.UserRole + 3 + + def __init__(self, parent = None): + super().__init__(parent = parent) + self.addRoleName(self.CategoryRole, "category") + self.addRoleName(self.LabelRole, "label") + self.addRoleName(self.ValueRole, "value") + + self._i18n_catalog = None + + def addSettingsFromStack(self, stack, category, settings): + for setting, value in settings.items(): + unit = stack.getProperty(setting, "unit") + + setting_type = stack.getProperty(setting, "type") + if setting_type is not None: + # This is not very good looking, but will do for now + value = SettingDefinition.settingValueToString(setting_type, value) + " " + unit + else: + value = str(value) + + self.appendItem({ + "category": category, + "label": stack.getProperty(setting, "label"), + "value": value + }) From 627bef2eabfd3b3d1560e0df34929d0a46e1c566 Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Tue, 6 Feb 2024 19:34:12 +0100 Subject: [PATCH 21/98] Enable monotonic raft surface for all Ultimaker machines. Disable skin_monotonic for Method XL machines (speed increase), roofing_monotonic is still enable to create a good top surface. PP-430 --- resources/definitions/ultimaker.def.json | 1 + resources/definitions/ultimaker_method_base.def.json | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index 1669dd5e00..97eaf278e8 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -96,6 +96,7 @@ "raft_interface_thickness": { "value": "(raft_base_thickness + raft_surface_thickness) / 2" }, "raft_speed": { "value": 15 }, "raft_surface_fan_speed": { "value": "cool_fan_speed_min" }, + "raft_surface_monotonic": { "value": true }, "raft_surface_speed": { "value": "speed_topbottom" }, "relative_extrusion": { diff --git a/resources/definitions/ultimaker_method_base.def.json b/resources/definitions/ultimaker_method_base.def.json index f0808c529e..19fe80b2e2 100644 --- a/resources/definitions/ultimaker_method_base.def.json +++ b/resources/definitions/ultimaker_method_base.def.json @@ -380,7 +380,6 @@ "roofing_material_flow": { "value": "material_flow" }, "roofing_monotonic": { "value": true }, "skin_material_flow": { "value": "0.95*material_flow" }, - "skin_monotonic": { "value": true }, "skin_outline_count": { "value": 0 }, "skin_overlap": { "value": 0 }, "skin_preshrink": { "value": 0 }, From 671698d1a3efe77043501b462507d8f8a2ed7429 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Wed, 7 Feb 2024 08:49:05 +0100 Subject: [PATCH 22/98] Restore useless import version bump CURA-11561 --- plugins/3MFReader/WorkspaceDialog.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index b6a9d59751..8d06b32e14 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -1,7 +1,7 @@ // Copyright (c) 2022 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. -import QtQuick 2.14 +import QtQuick 2.10 import QtQuick.Controls 2.3 import QtQuick.Layouts 1.3 import QtQuick.Window 2.2 From 93cb35859959394ac67a2fd52c2c04825c8e5c8b Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 9 Feb 2024 07:43:48 +0100 Subject: [PATCH 23/98] Add FIXMEs where big changes are required CURA-11561 --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 1 + plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index e3056065a8..92a62ddca2 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -235,6 +235,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): containers_found_dict = {k: False for k in resolve_strategy_keys} # Check whether the file is a UCP, which changes some import options + #FIXME Instead of this, we should just check for the presence of the user-settings file, whatever the extension is_ucp = file_name.endswith('.ucp') # diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index 7cdf884709..d0a843af69 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -34,6 +34,7 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): self._mode = None self._config_dialog = None + #FIXME We should have proper preWrite/write methods like the readers have a preRead/read, and have them called by the global process def _preWrite(self): is_ucp = False if hasattr(self._stream, 'name'): @@ -150,6 +151,7 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): self._success = True + #FIXME We should somehow give the information of the file type so that we know what to write, like the mode but for other files types (give mimetype ?) def write(self, stream, nodes, mode=WorkspaceWriter.OutputMode.BinaryMode): self._success = False self._export_model = None From 345ddc40bb3dd32c2a88990e99073702c4e4e721 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 9 Feb 2024 11:54:49 +0100 Subject: [PATCH 24/98] Fix file opening failure CURA-11561 --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 92a62ddca2..d96de5b324 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -613,10 +613,11 @@ class ThreeMFWorkspaceReader(WorkspaceReader): try: self._user_settings = json.loads(archive.open("Cura/user-settings.json").read().decode("utf-8")) any_extruder_stack = ExtruderManager.getInstance().getExtruderStack(0) + actual_global_stack = CuraApplication.getInstance().getGlobalContainerStack() for stack_name, settings in self._user_settings.items(): if stack_name == 'global': - self._dialog.exportedSettingModel.addSettingsFromStack(global_stack, i18n_catalog.i18nc("@label", "Global"), settings) + self._dialog.exportedSettingModel.addSettingsFromStack(actual_global_stack, i18n_catalog.i18nc("@label", "Global"), settings) else: extruder_match = re.fullmatch('extruder_([0-9]+)', stack_name) if extruder_match is not None: From 860dbaa4fe450c06c4990182d0ea2e4ddfa0c59f Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Tue, 13 Feb 2024 11:32:58 +0100 Subject: [PATCH 25/98] Added experimental print profiles for the Method X and XL: ASA, Nylon12-CF and SR-30 support material. PP-393 --- .../definitions/ultimaker_methodx.def.json | 1 - ...methodx_1c_um-asa-175_0.2mm_solid.inst.cfg | 18 +++++++ ..._1c_um-nylon12-cf-175_0.2mm_solid.inst.cfg | 18 +++++++ ...ethodx_1xa_um-asa-175_0.2mm_solid.inst.cfg | 18 +++++++ ...thodx_2xa_um-sr30-175_0.2mm_solid.inst.cfg | 17 ++++++ ...thodx_labs_um-asa-175_0.2mm_solid.inst.cfg | 18 +++++++ ...abs_um-nylon12-cf-175_0.2mm_solid.inst.cfg | 18 +++++++ ...ethodxl_1c_um-asa-175_0.2mm_solid.inst.cfg | 18 +++++++ ..._1c_um-nylon12-cf-175_0.2mm_solid.inst.cfg | 18 +++++++ ...thodxl_1xa_um-asa-175_0.2mm_solid.inst.cfg | 18 +++++++ ...hodxl_2xa_um-sr30-175_0.2mm_solid.inst.cfg | 17 ++++++ ...hodxl_labs_um-asa-175_0.2mm_solid.inst.cfg | 18 +++++++ ...abs_um-nylon12-cf-175_0.2mm_solid.inst.cfg | 18 +++++++ .../um_methodx_1c_um-asa-175_0.2mm.inst.cfg | 50 +++++++++++++++++ ...ethodx_1c_um-nylon12-cf-175_0.2mm.inst.cfg | 53 +++++++++++++++++++ .../um_methodx_1xa_um-asa-175_0.2mm.inst.cfg | 50 +++++++++++++++++ .../um_methodx_2xa_um-sr30-175_0.2mm.inst.cfg | 41 ++++++++++++++ .../um_methodx_labs_um-asa-175_0.2mm.inst.cfg | 50 +++++++++++++++++ ...hodx_labs_um-nylon12-cf-175_0.2mm.inst.cfg | 53 +++++++++++++++++++ .../um_methodxl_1c_um-absr-175_0.2mm.inst.cfg | 2 - .../um_methodxl_1c_um-asa-175_0.2mm.inst.cfg | 51 ++++++++++++++++++ ...thodxl_1c_um-nylon12-cf-175_0.2mm.inst.cfg | 53 +++++++++++++++++++ ...um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg | 2 - .../um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg | 51 ++++++++++++++++++ ...um_methodxl_2xa_um-sr30-175_0.2mm.inst.cfg | 41 ++++++++++++++ ...m_methodxl_labs_um-absr-175_0.2mm.inst.cfg | 2 - ...um_methodxl_labs_um-asa-175_0.2mm.inst.cfg | 51 ++++++++++++++++++ ...odxl_labs_um-nylon12-cf-175_0.2mm.inst.cfg | 53 +++++++++++++++++++ .../um_s3_aa0.25_um-abs_0.1mm.inst.cfg | 1 + .../um_s5_aa0.25_um-abs_0.1mm.inst.cfg | 1 + 30 files changed, 813 insertions(+), 7 deletions(-) create mode 100644 resources/intent/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodx/um_methodx_1c_um-nylon12-cf-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodx/um_methodx_2xa_um-sr30-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodx/um_methodx_labs_um-nylon12-cf-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodxl/um_methodxl_1c_um-nylon12-cf-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodxl/um_methodxl_2xa_um-sr30-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm_solid.inst.cfg create mode 100644 resources/intent/ultimaker_methodxl/um_methodxl_labs_um-nylon12-cf-175_0.2mm_solid.inst.cfg create mode 100644 resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodx/um_methodx_1c_um-nylon12-cf-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodx/um_methodx_2xa_um-sr30-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodx/um_methodx_labs_um-nylon12-cf-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodxl/um_methodxl_1c_um-nylon12-cf-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodxl/um_methodxl_2xa_um-sr30-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg create mode 100644 resources/quality/ultimaker_methodxl/um_methodxl_labs_um-nylon12-cf-175_0.2mm.inst.cfg diff --git a/resources/definitions/ultimaker_methodx.def.json b/resources/definitions/ultimaker_methodx.def.json index a6708a0421..9828ba96f2 100644 --- a/resources/definitions/ultimaker_methodx.def.json +++ b/resources/definitions/ultimaker_methodx.def.json @@ -35,7 +35,6 @@ "generic_nylon_175", "generic_hips_175", "generic_pc_175", - "ultimaker_sr30_175", "generic_tpu_175", "goofoo_", "ideagen3D_", diff --git a/resources/intent/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..23c8807afd --- /dev/null +++ b/resources/intent/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm_solid.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = ultimaker_methodx +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = intent +variant = 1C + +[values] +infill_pattern = lines +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodx/um_methodx_1c_um-nylon12-cf-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1c_um-nylon12-cf-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..cdff2f30ce --- /dev/null +++ b/resources/intent/ultimaker_methodx/um_methodx_1c_um-nylon12-cf-175_0.2mm_solid.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = ultimaker_methodx +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_nylon12-cf_175 +quality_type = draft +setting_version = 22 +type = intent +variant = 1C + +[values] +infill_pattern = lines +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..3a781b61aa --- /dev/null +++ b/resources/intent/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm_solid.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = ultimaker_methodx +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = intent +variant = 1XA + +[values] +infill_pattern = lines +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodx/um_methodx_2xa_um-sr30-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_2xa_um-sr30-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..a833556bd8 --- /dev/null +++ b/resources/intent/ultimaker_methodx/um_methodx_2xa_um-sr30-175_0.2mm_solid.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = ultimaker_methodx +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_sr30_175 +quality_type = draft +setting_version = 22 +type = intent +variant = 2XA + +[values] +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..87823a01a6 --- /dev/null +++ b/resources/intent/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm_solid.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = ultimaker_methodx +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = intent +variant = LABS + +[values] +infill_pattern = lines +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodx/um_methodx_labs_um-nylon12-cf-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_labs_um-nylon12-cf-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..bb76919888 --- /dev/null +++ b/resources/intent/ultimaker_methodx/um_methodx_labs_um-nylon12-cf-175_0.2mm_solid.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = ultimaker_methodx +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_nylon12-cf_175 +quality_type = draft +setting_version = 22 +type = intent +variant = LABS + +[values] +infill_pattern = lines +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..12bc3f2708 --- /dev/null +++ b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm_solid.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = ultimaker_methodxl +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = intent +variant = 1C + +[values] +infill_pattern = lines +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-nylon12-cf-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-nylon12-cf-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..5533672636 --- /dev/null +++ b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-nylon12-cf-175_0.2mm_solid.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = ultimaker_methodxl +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_nylon12-cf_175 +quality_type = draft +setting_version = 22 +type = intent +variant = 1C + +[values] +infill_pattern = lines +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..82aa8e9bad --- /dev/null +++ b/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm_solid.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = ultimaker_methodxl +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = intent +variant = 1XA + +[values] +infill_pattern = lines +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_2xa_um-sr30-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_2xa_um-sr30-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..01a55c85a4 --- /dev/null +++ b/resources/intent/ultimaker_methodxl/um_methodxl_2xa_um-sr30-175_0.2mm_solid.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = ultimaker_methodxl +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_sr30_175 +quality_type = draft +setting_version = 22 +type = intent +variant = 2XA + +[values] +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..ae7100bc86 --- /dev/null +++ b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm_solid.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = ultimaker_methodxl +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = intent +variant = LABS + +[values] +infill_pattern = lines +infill_sparse_density = 100 + diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-nylon12-cf-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-nylon12-cf-175_0.2mm_solid.inst.cfg new file mode 100644 index 0000000000..af43c95cd2 --- /dev/null +++ b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-nylon12-cf-175_0.2mm_solid.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = ultimaker_methodxl +name = Solid +version = 4 + +[metadata] +intent_category = solid +is_experimental = True +material = ultimaker_nylon12-cf_175 +quality_type = draft +setting_version = 22 +type = intent +variant = LABS + +[values] +infill_pattern = lines +infill_sparse_density = 100 + diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..f0e0a4fded --- /dev/null +++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg @@ -0,0 +1,50 @@ +[general] +definition = ultimaker_methodx +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = quality +variant = 1C +weight = -2 + +[values] +cool_fan_enabled = False +material_print_temperature_layer_0 = =default_material_print_temperature+5 +raft_airgap = 0.3 +raft_base_speed = 10 +retract_at_layer_change = True +retraction_amount = 0.5 +retraction_min_travel = 3.2 +roofing_material_flow = 98.0 +small_skin_width = 3.6 +speed_prime_tower = 30.0 +speed_print = 120.0 +speed_roofing = 55 +speed_topbottom = 55 +speed_travel = 250.0 +speed_wall_0 = 45 +speed_wall_x = 65 +support_angle = 50 +support_bottom_density = 24 +support_bottom_enable = False +support_bottom_line_width = 0.6 +support_bottom_stair_step_height = 0 +support_fan_enable = False +support_infill_rate = 12.0 +support_interface_enable = True +support_interface_pattern = lines +support_line_width = 0.3 +support_pattern = lines +support_roof_density = 97 +support_roof_height = 1.015 +support_roof_line_width = 0.25 +support_use_towers = False +support_xy_distance = 0.2 +support_xy_distance_overhang = 0.15 +support_z_distance = 0.25 + diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-nylon12-cf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-nylon12-cf-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..32d64ed5b1 --- /dev/null +++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-nylon12-cf-175_0.2mm.inst.cfg @@ -0,0 +1,53 @@ +[general] +definition = ultimaker_methodx +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_nylon12-cf_175 +quality_type = draft +setting_version = 22 +type = quality +variant = 1C +weight = -2 + +[values] +cool_fan_enabled = False +material_final_print_temperature = =default_material_print_temperature-5 +material_initial_print_temperature = =default_material_print_temperature-5 +raft_airgap = 0.3 +raft_base_line_spacing = 3 +raft_base_line_width = 1.2 +raft_base_speed = 10 +retract_at_layer_change = True +retraction_amount = 0.5 +retraction_min_travel = 3.2 +roofing_material_flow = 100 +small_skin_width = 3.6 +speed_prime_tower = 30.0 +speed_print = 120.0 +speed_roofing = 55 +speed_topbottom = 55 +speed_travel = 250.0 +speed_wall_0 = 45 +speed_wall_x = 65 +support_angle = 50 +support_bottom_density = 24 +support_bottom_enable = False +support_bottom_line_width = 0.6 +support_bottom_stair_step_height = 0 +support_fan_enable = False +support_infill_rate = 12.0 +support_interface_enable = True +support_interface_pattern = lines +support_line_width = 0.3 +support_pattern = lines +support_roof_density = 97 +support_roof_height = 1.015 +support_roof_line_width = 0.25 +support_use_towers = False +support_xy_distance = 0.2 +support_xy_distance_overhang = 0.15 +support_z_distance = 0.25 + diff --git a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..e032e3a3b8 --- /dev/null +++ b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg @@ -0,0 +1,50 @@ +[general] +definition = ultimaker_methodx +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = quality +variant = 1XA +weight = -2 + +[values] +cool_fan_enabled = False +material_print_temperature_layer_0 = =default_material_print_temperature+5 +raft_airgap = 0.3 +raft_base_speed = 10 +retract_at_layer_change = True +retraction_amount = 0.5 +retraction_min_travel = 3.2 +roofing_material_flow = 98.0 +small_skin_width = 3.6 +speed_prime_tower = 30.0 +speed_print = 120.0 +speed_roofing = 55 +speed_topbottom = 55 +speed_travel = 250.0 +speed_wall_0 = 45 +speed_wall_x = 65 +support_angle = 50 +support_bottom_density = 24 +support_bottom_enable = False +support_bottom_line_width = 0.6 +support_bottom_stair_step_height = 0 +support_fan_enable = False +support_infill_rate = 12.0 +support_interface_enable = True +support_interface_pattern = lines +support_line_width = 0.3 +support_pattern = lines +support_roof_density = 97 +support_roof_height = 1.015 +support_roof_line_width = 0.25 +support_use_towers = False +support_xy_distance = 0.2 +support_xy_distance_overhang = 0.15 +support_z_distance = 0.25 + diff --git a/resources/quality/ultimaker_methodx/um_methodx_2xa_um-sr30-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_2xa_um-sr30-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..5ebc2b4560 --- /dev/null +++ b/resources/quality/ultimaker_methodx/um_methodx_2xa_um-sr30-175_0.2mm.inst.cfg @@ -0,0 +1,41 @@ +[general] +definition = ultimaker_methodx +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_sr30_175 +quality_type = draft +setting_version = 22 +type = quality +variant = 2XA +weight = -2 + +[values] +brim_replaces_support = False +cool_fan_enabled = False +cool_min_temperature = =material_print_temperature +raft_airgap = 0.0 +raft_interface_line_width = 0.7 +raft_interface_speed = 70 +raft_surface_speed = 90 +retract_at_layer_change = True +retraction_amount = 0.5 +speed_prime_tower = 25.0 +speed_print = 50 +speed_roofing = 50 +speed_support = 50 +speed_support_bottom = 30 +speed_support_interface = 80 +speed_topbottom = 50 +speed_wall_0 = 50 +speed_wall_x = 50 +support_bottom_wall_count = 5 +support_fan_enable = False +support_infill_sparse_thickness = =min(layer_height * 2, machine_nozzle_size * 3 / 4) if layer_height <= 0.15 / 0.4 * machine_nozzle_size else layer_height +support_interface_enable = True +support_wall_count = 1 +support_xy_distance = 0.2 +support_z_distance = 0 + diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..3c9f4500fc --- /dev/null +++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg @@ -0,0 +1,50 @@ +[general] +definition = ultimaker_methodx +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = quality +variant = LABS +weight = -2 + +[values] +cool_fan_enabled = False +material_print_temperature_layer_0 = =default_material_print_temperature+5 +raft_airgap = 0.3 +raft_base_speed = 10 +retract_at_layer_change = True +retraction_amount = 0.5 +retraction_min_travel = 3.2 +roofing_material_flow = 98.0 +small_skin_width = 3.6 +speed_prime_tower = 30.0 +speed_print = 120.0 +speed_roofing = 55 +speed_topbottom = 55 +speed_travel = 250.0 +speed_wall_0 = 45 +speed_wall_x = 65 +support_angle = 50 +support_bottom_density = 24 +support_bottom_enable = False +support_bottom_line_width = 0.6 +support_bottom_stair_step_height = 0 +support_fan_enable = False +support_infill_rate = 12.0 +support_interface_enable = True +support_interface_pattern = lines +support_line_width = 0.3 +support_pattern = lines +support_roof_density = 97 +support_roof_height = 1.015 +support_roof_line_width = 0.25 +support_use_towers = False +support_xy_distance = 0.2 +support_xy_distance_overhang = 0.15 +support_z_distance = 0.25 + diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-nylon12-cf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-nylon12-cf-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..7bb14d9107 --- /dev/null +++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-nylon12-cf-175_0.2mm.inst.cfg @@ -0,0 +1,53 @@ +[general] +definition = ultimaker_methodx +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_nylon12-cf_175 +quality_type = draft +setting_version = 22 +type = quality +variant = LABS +weight = -2 + +[values] +cool_fan_enabled = False +material_final_print_temperature = =default_material_print_temperature-5 +material_initial_print_temperature = =default_material_print_temperature-5 +raft_airgap = 0.3 +raft_base_line_spacing = 3 +raft_base_line_width = 1.2 +raft_base_speed = 10 +retract_at_layer_change = True +retraction_amount = 0.5 +retraction_min_travel = 3.2 +roofing_material_flow = 100 +small_skin_width = 3.6 +speed_prime_tower = 30.0 +speed_print = 120.0 +speed_roofing = 55 +speed_topbottom = 55 +speed_travel = 250.0 +speed_wall_0 = 45 +speed_wall_x = 65 +support_angle = 50 +support_bottom_density = 24 +support_bottom_enable = False +support_bottom_line_width = 0.6 +support_bottom_stair_step_height = 0 +support_fan_enable = False +support_infill_rate = 12.0 +support_interface_enable = True +support_interface_pattern = lines +support_line_width = 0.3 +support_pattern = lines +support_roof_density = 97 +support_roof_height = 1.015 +support_roof_line_width = 0.25 +support_use_towers = False +support_xy_distance = 0.2 +support_xy_distance_overhang = 0.15 +support_z_distance = 0.25 + diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg index 7b5daf0d20..2688d88ad3 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg @@ -12,9 +12,7 @@ variant = 1C weight = -2 [values] -build_volume_temperature = 85 cool_fan_enabled = False -default_material_bed_temperature = 95 raft_airgap = 0.3 speed_prime_tower = 30.0 speed_print = 120.0 diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..5aaee1f2c6 --- /dev/null +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg @@ -0,0 +1,51 @@ +[general] +definition = ultimaker_methodxl +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = quality +variant = 1C +weight = -2 + +[values] +cool_fan_enabled = False +material_print_temperature_layer_0 = =default_material_print_temperature+5 +raft_airgap = 0.3 +raft_base_speed = 10 +retract_at_layer_change = True +retraction_amount = 0.5 +retraction_min_travel = 3.2 +roofing_material_flow = 98.0 +small_skin_width = 3.6 +speed_prime_tower = 30.0 +speed_print = 120.0 +speed_roofing = 55 +speed_topbottom = 55 +speed_travel = 500 +speed_travel_layer_0 = 250 +speed_wall_0 = 45 +speed_wall_x = 65 +support_angle = 50 +support_bottom_density = 24 +support_bottom_enable = False +support_bottom_line_width = 0.6 +support_bottom_stair_step_height = 0 +support_fan_enable = False +support_infill_rate = 12.0 +support_interface_enable = True +support_interface_pattern = lines +support_line_width = 0.3 +support_pattern = lines +support_roof_density = 97 +support_roof_height = 1.015 +support_roof_line_width = 0.25 +support_use_towers = False +support_xy_distance = 0.2 +support_xy_distance_overhang = 0.15 +support_z_distance = 0.25 + diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-nylon12-cf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-nylon12-cf-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..575189deae --- /dev/null +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-nylon12-cf-175_0.2mm.inst.cfg @@ -0,0 +1,53 @@ +[general] +definition = ultimaker_methodxl +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_nylon12-cf_175 +quality_type = draft +setting_version = 22 +type = quality +variant = 1C +weight = -2 + +[values] +cool_fan_enabled = False +material_final_print_temperature = =default_material_print_temperature-5 +material_initial_print_temperature = =default_material_print_temperature-5 +raft_airgap = 0.3 +raft_base_line_spacing = 3 +raft_base_line_width = 1.2 +raft_base_speed = 10 +retract_at_layer_change = True +retraction_amount = 0.5 +retraction_min_travel = 3.2 +roofing_material_flow = 100 +small_skin_width = 3.6 +speed_prime_tower = 30.0 +speed_print = 120.0 +speed_roofing = 55 +speed_topbottom = 55 +speed_travel = 250.0 +speed_wall_0 = 45 +speed_wall_x = 65 +support_angle = 50 +support_bottom_density = 24 +support_bottom_enable = False +support_bottom_line_width = 0.6 +support_bottom_stair_step_height = 0 +support_fan_enable = False +support_infill_rate = 12.0 +support_interface_enable = True +support_interface_pattern = lines +support_line_width = 0.3 +support_pattern = lines +support_roof_density = 97 +support_roof_height = 1.015 +support_roof_line_width = 0.25 +support_use_towers = False +support_xy_distance = 0.2 +support_xy_distance_overhang = 0.15 +support_z_distance = 0.25 + diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg index 7445bd2d42..fd224e8798 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg @@ -12,9 +12,7 @@ variant = 1XA weight = -2 [values] -build_volume_temperature = 85 cool_fan_enabled = False -default_material_bed_temperature = 95 raft_airgap = 0.3 speed_prime_tower = 30.0 speed_print = 120.0 diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..504ab8c10b --- /dev/null +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg @@ -0,0 +1,51 @@ +[general] +definition = ultimaker_methodxl +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = quality +variant = 1XA +weight = -2 + +[values] +cool_fan_enabled = False +material_print_temperature_layer_0 = =default_material_print_temperature+5 +raft_airgap = 0.3 +raft_base_speed = 10 +retract_at_layer_change = True +retraction_amount = 0.5 +retraction_min_travel = 3.2 +roofing_material_flow = 98.0 +small_skin_width = 3.6 +speed_prime_tower = 30.0 +speed_print = 120.0 +speed_roofing = 55 +speed_topbottom = 55 +speed_travel = 500 +speed_travel_layer_0 = 250 +speed_wall_0 = 45 +speed_wall_x = 65 +support_angle = 50 +support_bottom_density = 24 +support_bottom_enable = False +support_bottom_line_width = 0.6 +support_bottom_stair_step_height = 0 +support_fan_enable = False +support_infill_rate = 12.0 +support_interface_enable = True +support_interface_pattern = lines +support_line_width = 0.3 +support_pattern = lines +support_roof_density = 97 +support_roof_height = 1.015 +support_roof_line_width = 0.25 +support_use_towers = False +support_xy_distance = 0.2 +support_xy_distance_overhang = 0.15 +support_z_distance = 0.25 + diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_2xa_um-sr30-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_2xa_um-sr30-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..ebc6ecfe98 --- /dev/null +++ b/resources/quality/ultimaker_methodxl/um_methodxl_2xa_um-sr30-175_0.2mm.inst.cfg @@ -0,0 +1,41 @@ +[general] +definition = ultimaker_methodxl +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_sr30_175 +quality_type = draft +setting_version = 22 +type = quality +variant = 2XA +weight = -2 + +[values] +brim_replaces_support = False +cool_fan_enabled = False +cool_min_temperature = =material_print_temperature +raft_airgap = 0.0 +raft_interface_line_width = 0.7 +raft_interface_speed = 70 +raft_surface_speed = 90 +retract_at_layer_change = True +retraction_amount = 0.5 +speed_prime_tower = 25.0 +speed_print = 50 +speed_roofing = 50 +speed_support = 50 +speed_support_bottom = 30 +speed_support_interface = 80 +speed_topbottom = 50 +speed_wall_0 = 50 +speed_wall_x = 50 +support_bottom_wall_count = 5 +support_fan_enable = False +support_infill_sparse_thickness = =min(layer_height * 2, machine_nozzle_size * 3 / 4) if layer_height <= 0.15 / 0.4 * machine_nozzle_size else layer_height +support_interface_enable = True +support_wall_count = 1 +support_xy_distance = 0.2 +support_z_distance = 0 + diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg index 2114be0ff4..4af8230b24 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg @@ -12,9 +12,7 @@ variant = LABS weight = -2 [values] -build_volume_temperature = 85 cool_fan_enabled = False -default_material_bed_temperature = 95 raft_airgap = 0.3 speed_prime_tower = 30.0 speed_print = 120.0 diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..14c15fd3c5 --- /dev/null +++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg @@ -0,0 +1,51 @@ +[general] +definition = ultimaker_methodxl +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_asa_175 +quality_type = draft +setting_version = 22 +type = quality +variant = LABS +weight = -2 + +[values] +cool_fan_enabled = False +material_print_temperature_layer_0 = =default_material_print_temperature+5 +raft_airgap = 0.3 +raft_base_speed = 10 +retract_at_layer_change = True +retraction_amount = 0.5 +retraction_min_travel = 3.2 +roofing_material_flow = 98.0 +small_skin_width = 3.6 +speed_prime_tower = 30.0 +speed_print = 120.0 +speed_roofing = 55 +speed_topbottom = 55 +speed_travel = 500 +speed_travel_layer_0 = 250 +speed_wall_0 = 45 +speed_wall_x = 65 +support_angle = 50 +support_bottom_density = 24 +support_bottom_enable = False +support_bottom_line_width = 0.6 +support_bottom_stair_step_height = 0 +support_fan_enable = False +support_infill_rate = 12.0 +support_interface_enable = True +support_interface_pattern = lines +support_line_width = 0.3 +support_pattern = lines +support_roof_density = 97 +support_roof_height = 1.015 +support_roof_line_width = 0.25 +support_use_towers = False +support_xy_distance = 0.2 +support_xy_distance_overhang = 0.15 +support_z_distance = 0.25 + diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-nylon12-cf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-nylon12-cf-175_0.2mm.inst.cfg new file mode 100644 index 0000000000..110fa5e4b5 --- /dev/null +++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-nylon12-cf-175_0.2mm.inst.cfg @@ -0,0 +1,53 @@ +[general] +definition = ultimaker_methodxl +name = Fast - Experimental +version = 4 + +[metadata] +is_experimental = True +material = ultimaker_nylon12-cf_175 +quality_type = draft +setting_version = 22 +type = quality +variant = LABS +weight = -2 + +[values] +cool_fan_enabled = False +material_final_print_temperature = =default_material_print_temperature-5 +material_initial_print_temperature = =default_material_print_temperature-5 +raft_airgap = 0.3 +raft_base_line_spacing = 3 +raft_base_line_width = 1.2 +raft_base_speed = 10 +retract_at_layer_change = True +retraction_amount = 0.5 +retraction_min_travel = 3.2 +roofing_material_flow = 100 +small_skin_width = 3.6 +speed_prime_tower = 30.0 +speed_print = 120.0 +speed_roofing = 55 +speed_topbottom = 55 +speed_travel = 250.0 +speed_wall_0 = 45 +speed_wall_x = 65 +support_angle = 50 +support_bottom_density = 24 +support_bottom_enable = False +support_bottom_line_width = 0.6 +support_bottom_stair_step_height = 0 +support_fan_enable = False +support_infill_rate = 12.0 +support_interface_enable = True +support_interface_pattern = lines +support_line_width = 0.3 +support_pattern = lines +support_roof_density = 97 +support_roof_height = 1.015 +support_roof_line_width = 0.25 +support_use_towers = False +support_xy_distance = 0.2 +support_xy_distance_overhang = 0.15 +support_z_distance = 0.25 + diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_um-abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_um-abs_0.1mm.inst.cfg index 24c5a1d9e6..f989bcc3f6 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_um-abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_um-abs_0.1mm.inst.cfg @@ -27,6 +27,7 @@ acceleration_wall_x = =acceleration_wall bridge_skin_speed = =bridge_wall_speed bridge_sparse_infill_max_density = 50 bridge_wall_speed = 30 +cool_fan_speed_0 = 0 cool_min_layer_time = 4 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_sparse_density = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_um-abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_um-abs_0.1mm.inst.cfg index 7b14730a66..29057ff13b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_um-abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_um-abs_0.1mm.inst.cfg @@ -27,6 +27,7 @@ acceleration_wall_x = =acceleration_wall bridge_skin_speed = =bridge_wall_speed bridge_sparse_infill_max_density = 50 bridge_wall_speed = 30 +cool_fan_speed_0 = 0 cool_min_layer_time = 4 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_sparse_density = 15 From 6d5e5ae718748e89575d6714c0b6dbfe35ace7f4 Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Wed, 14 Feb 2024 17:15:27 +0100 Subject: [PATCH 26/98] setting up printorder in case nodes came from copy paste or multiply CURA-10542 --- cura/PrintOrderManager.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cura/PrintOrderManager.py b/cura/PrintOrderManager.py index 80fc1e99dc..59bbe684f4 100644 --- a/cura/PrintOrderManager.py +++ b/cura/PrintOrderManager.py @@ -116,6 +116,9 @@ class PrintOrderManager(QObject): ) -> (Optional[CuraSceneNode], Optional[CuraSceneNode], Optional[CuraSceneNode]): nodes = self._get_nodes() ordered_nodes = sorted(nodes, key=lambda n: n.printOrder) + for i, node in enumerate(ordered_nodes, 1): + node.printOrder = i + selected_node = PrintOrderManager._getSingleSelectedNode() if selected_node and selected_node in ordered_nodes: selected_node_index = ordered_nodes.index(selected_node) From b641741e49a72dc39110dc8cf4dacf6b315fe62f Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Fri, 16 Feb 2024 14:11:07 +0100 Subject: [PATCH 27/98] Added preference to show UFP saving dialog Changes saving to .ucp to .3mf --- cura/CuraApplication.py | 2 ++ plugins/3MFReader/ThreeMFReader.py | 4 ++-- plugins/3MFReader/ThreeMFWorkspaceReader.py | 4 ++-- plugins/3MFReader/plugin.json | 2 +- plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 2 +- plugins/3MFWriter/UCPDialog.qml | 25 ++++++++++++++++++++- plugins/3MFWriter/__init__.py | 4 ++-- resources/qml/Preferences/GeneralPage.qml | 14 ++++++++++++ 8 files changed, 48 insertions(+), 9 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 20e54fa57c..7b588c836a 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -601,7 +601,9 @@ class CuraApplication(QtApplication): preferences.addPreference("mesh/scale_to_fit", False) preferences.addPreference("mesh/scale_tiny_meshes", True) preferences.addPreference("cura/dialog_on_project_save", True) + preferences.addPreference("cura/dialog_on_ucp_project_save", True) preferences.addPreference("cura/asked_dialog_on_project_save", False) + preferences.addPreference("cura/asked_dialog_on_ucp_project_save", False) preferences.addPreference("cura/choice_on_profile_override", "always_ask") preferences.addPreference("cura/choice_on_open_project", "always_ask") preferences.addPreference("cura/use_multi_build_plate", False) diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index a715d990eb..c7a15e043e 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -50,11 +50,11 @@ class ThreeMFReader(MeshReader): MimeType( name="application/x-ucp", comment="UCP", - suffixes=["ucp"] + suffixes=["3mf"] ) ) - self._supported_extensions = [".3mf", ".ucp"] + self._supported_extensions = [".3mf"] self._root = None self._base_name = "" self._unit = None diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index d96de5b324..c9692599e5 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -113,7 +113,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): def __init__(self) -> None: super().__init__() - self._supported_extensions = [".3mf", ".ucp"] + self._supported_extensions = [".3mf"] self._dialog = WorkspaceDialog() self._3mf_mesh_reader = None self._container_registry = ContainerRegistry.getInstance() @@ -236,7 +236,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # Check whether the file is a UCP, which changes some import options #FIXME Instead of this, we should just check for the presence of the user-settings file, whatever the extension - is_ucp = file_name.endswith('.ucp') + is_ucp = file_name.endswith('.3mf') # # Read definition containers diff --git a/plugins/3MFReader/plugin.json b/plugins/3MFReader/plugin.json index 010adbb501..bf0bc05364 100644 --- a/plugins/3MFReader/plugin.json +++ b/plugins/3MFReader/plugin.json @@ -2,7 +2,7 @@ "name": "3MF Reader", "author": "Ultimaker B.V.", "version": "1.0.1", - "description": "Provides support for reading 3MF and UCP files.", + "description": "Provides support for reading 3MF files.", "api": 8, "i18n-catalog": "cura" } diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index d0a843af69..c67da24569 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -39,7 +39,7 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): is_ucp = False if hasattr(self._stream, 'name'): # This only works with local file, but we don't want remote UCP files yet - is_ucp = self._stream.name.endswith('.ucp') + is_ucp = self._stream.name.endswith('.3mf') if is_ucp: self._config_dialog = UCPDialog() diff --git a/plugins/3MFWriter/UCPDialog.qml b/plugins/3MFWriter/UCPDialog.qml index 88552cc292..7eaf57c96b 100644 --- a/plugins/3MFWriter/UCPDialog.qml +++ b/plugins/3MFWriter/UCPDialog.qml @@ -19,6 +19,21 @@ UM.Dialog minimumHeight: UM.Theme.getSize("modal_window_minimum").height backgroundColor: UM.Theme.getColor("detail_background") + property bool dontShowAgain: true + + function storeDontShowAgain() + { + UM.Preferences.setValue("cura/dialog_on_ucp_project_save", !dontShowAgainCheckbox.checked) + UM.Preferences.setValue("asked_dialog_on_ucp_project_save", true) + } + + onVisibleChanged: + { + if(visible && UM.Preferences.getValue("cura/asked_dialog_on_ucp_project_save")) + { + dontShowAgain = !UM.Preferences.getValue("cura/dialog_on_ucp_project_save") + } + } headerComponent: Rectangle { @@ -75,7 +90,15 @@ UM.Dialog delegate: SettingsSelectionGroup { Layout.margins: 0 } } } - + leftButtons: + [ + UM.CheckBox + { + id: dontShowAgainCheckbox + text: catalog.i18nc("@action:label", "Don't show project summary on save again") + checked: dontShowAgain + } + ] rightButtons: [ Cura.TertiaryButton diff --git a/plugins/3MFWriter/__init__.py b/plugins/3MFWriter/__init__.py index 40fd42b199..1cecf4c3f8 100644 --- a/plugins/3MFWriter/__init__.py +++ b/plugins/3MFWriter/__init__.py @@ -34,7 +34,7 @@ def getMetaData(): "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode }, { - "extension": "ucp", + "extension": "3mf", "description": i18n_catalog.i18nc("@item:inlistbox", "Universal Cura Project"), "mime_type": "application/x-ucp", "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode @@ -50,7 +50,7 @@ def getMetaData(): "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode }, { - "extension": "ucp", + "extension": "3mf", "description": i18n_catalog.i18nc("@item:inlistbox", "Universal Cura Project"), "mime_type": "application/x-ucp", "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 69607a3f6b..0ca905cf85 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -735,6 +735,20 @@ UM.PreferencesPage } } + UM.TooltipArea + { + width: childrenRect.width + height: childrenRect.height + text: catalog.i18nc("@info:tooltip", "Should a summary be shown when saving a UCP project file?") + + UM.CheckBox + { + text: catalog.i18nc("@option:check", "Show summary dialog when saving a UCP project") + checked: boolCheck(UM.Preferences.getValue("cura/dialog_on_ucp_project_save")) + onCheckedChanged: UM.Preferences.setValue("cura/dialog_on_ucp_project_save", checked) + } + } + UM.TooltipArea { width: childrenRect.width From ca94e0e3559248f8e03b270d59efee93165b1403 Mon Sep 17 00:00:00 2001 From: HellAholic Date: Mon, 19 Feb 2024 11:38:30 +0100 Subject: [PATCH 28/98] restore extruder definition --- resources/extruders/geeetech_A20_1.def.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 resources/extruders/geeetech_A20_1.def.json diff --git a/resources/extruders/geeetech_A20_1.def.json b/resources/extruders/geeetech_A20_1.def.json new file mode 100644 index 0000000000..0eba9c3ea9 --- /dev/null +++ b/resources/extruders/geeetech_A20_1.def.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "geeetech_A20", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + + } +} From e8e0bd97820ac4189c5fe287e27bb676d7943d41 Mon Sep 17 00:00:00 2001 From: HellAholic Date: Mon, 19 Feb 2024 10:39:20 +0000 Subject: [PATCH 29/98] Applied printer-linter format --- resources/extruders/geeetech_A20_1.def.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/extruders/geeetech_A20_1.def.json b/resources/extruders/geeetech_A20_1.def.json index 0eba9c3ea9..96e94fe2f6 100644 --- a/resources/extruders/geeetech_A20_1.def.json +++ b/resources/extruders/geeetech_A20_1.def.json @@ -2,15 +2,15 @@ "version": 2, "name": "Extruder 1", "inherits": "fdmextruder", - "metadata": { + "metadata": + { "machine": "geeetech_A20", "position": "0" }, - - "overrides": { + "overrides": + { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, "material_diameter": { "default_value": 1.75 } - } -} +} \ No newline at end of file From a4ec177cd34ab3f6d4def25e86d4757138e1452f Mon Sep 17 00:00:00 2001 From: Mariska <40423138+MariMakes@users.noreply.github.com> Date: Mon, 19 Feb 2024 13:08:27 +0100 Subject: [PATCH 30/98] Remove the link to the nightly build The nightly was broken so the download links were removed, this is to remove them from the slicing crash form. --- .github/ISSUE_TEMPLATE/SlicingCrash.yaml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/SlicingCrash.yaml b/.github/ISSUE_TEMPLATE/SlicingCrash.yaml index 37a70354c6..899bfef927 100644 --- a/.github/ISSUE_TEMPLATE/SlicingCrash.yaml +++ b/.github/ISSUE_TEMPLATE/SlicingCrash.yaml @@ -4,14 +4,7 @@ labels: ["Type: Bug", "Status: Triage", "Slicing Error :collision:"] body: - type: markdown attributes: - value: | - ### 💥 Slicing Crash Analysis Tool 💥 - We are taking steps to analyze an increase in reported crashes more systematically. We'll need some help with that. 😇 - Before filling out the report below, we want you to try a special Cura 5.7 Alpha. - This version of Cura has an updated slicing engine that will automatically send a report to the Cura Team for analysis. - #### [You can find the downloads here](https://github.com/Ultimaker/Cura/discussions/18080) #### - If you still encounter a crash you are still welcome to report the issue so we can use your model as a test case, you can find instructions on how to do that below. - + value: | ### Project File **⚠️ Before you continue, we need your project file to troubleshoot a slicing crash.** It contains the printer and settings we need for troubleshooting. From 8109230e99a6df9eea537807a56aa52c215d4784 Mon Sep 17 00:00:00 2001 From: Mariska <40423138+MariMakes@users.noreply.github.com> Date: Tue, 20 Feb 2024 10:43:59 +0100 Subject: [PATCH 31/98] Update Slicing Crash Template with 5.7 alpha It now refers to the 5.7 Alpha that has Sentry to analyze slicing crashes --- .github/ISSUE_TEMPLATE/SlicingCrash.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/SlicingCrash.yaml b/.github/ISSUE_TEMPLATE/SlicingCrash.yaml index 899bfef927..f4e082e00a 100644 --- a/.github/ISSUE_TEMPLATE/SlicingCrash.yaml +++ b/.github/ISSUE_TEMPLATE/SlicingCrash.yaml @@ -5,6 +5,13 @@ body: - type: markdown attributes: value: | + ### 💥 Slicing Crash Analysis Tool 💥 + We are taking steps to analyze an increase in reported crashes more systematically. We'll need some help with that. 😇 + Before filling out the report below, we want you to try a special Cura 5.7 Alpha. + This version of Cura has an updated slicing engine that will automatically send a report to the Cura Team for analysis. + #### [You can find the downloads here](https://github.com/Ultimaker/Cura/discussions/18080) #### + If you still encounter a crash you are still welcome to report the issue so we can use your model as a test case, you can find instructions on how to do that below. + ### Project File **⚠️ Before you continue, we need your project file to troubleshoot a slicing crash.** It contains the printer and settings we need for troubleshooting. From ec871782c77b73ca53c30daa0fd6174311bc4cc4 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Tue, 20 Feb 2024 10:47:27 +0100 Subject: [PATCH 32/98] PAP adding save dialog before filesave window CURA-11403 --- cura/CuraApplication.py | 10 +++++ plugins/3MFReader/ThreeMFWorkspaceReader.py | 4 +- plugins/3MFReader/__init__.py | 8 ---- plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 45 ++++++--------------- plugins/3MFWriter/ThreeMFWriter.py | 8 +++- plugins/3MFWriter/UCPDialog.py | 12 ++++++ resources/qml/Menus/FileMenu.qml | 8 +--- 7 files changed, 46 insertions(+), 49 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 7b588c836a..1af8380fd6 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1143,6 +1143,16 @@ class CuraApplication(QtApplication): self._build_plate_model = BuildPlateModel(self) return self._build_plate_model + @pyqtSlot() + def exportUcp(self): + writer = self.getMeshFileHandler().getWriter("3MFWriter") + + if writer is None: + Logger.warning("3mf writer is not enabled") + return + + writer.exportUcp() + def getCuraSceneController(self, *args) -> CuraSceneController: if self._cura_scene_controller is None: self._cura_scene_controller = CuraSceneController.createCuraSceneController() diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index c9692599e5..04885a961b 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -236,8 +236,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # Check whether the file is a UCP, which changes some import options #FIXME Instead of this, we should just check for the presence of the user-settings file, whatever the extension - is_ucp = file_name.endswith('.3mf') - + if file_name.endswith('.3mf'): + is_ucp = True # # Read definition containers # diff --git a/plugins/3MFReader/__init__.py b/plugins/3MFReader/__init__.py index 101337f05f..5e2b68fce0 100644 --- a/plugins/3MFReader/__init__.py +++ b/plugins/3MFReader/__init__.py @@ -25,20 +25,12 @@ def getMetaData() -> Dict: { "extension": "3mf", "description": catalog.i18nc("@item:inlistbox", "3MF File") - }, - { - "extension": "ucp", - "description": catalog.i18nc("@item:inlistbox", "UCP File") } ] metaData["workspace_reader"] = [ { "extension": workspace_extension, "description": catalog.i18nc("@item:inlistbox", "3MF File") - }, - { - "extension": "ucp", - "description": catalog.i18nc("@item:inlistbox", "UCP File") } ] diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index c67da24569..745627ed93 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -15,7 +15,6 @@ from UM.Workspace.WorkspaceWriter import WorkspaceWriter from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") -from .UCPDialog import UCPDialog from .ThreeMFWriter import ThreeMFWriter from .SettingsExportModel import SettingsExportModel from .SettingsExportGroup import SettingsExportGroup @@ -32,32 +31,12 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): self._stream = None self._nodes = None self._mode = None - self._config_dialog = None + self._is_ucp = False - #FIXME We should have proper preWrite/write methods like the readers have a preRead/read, and have them called by the global process - def _preWrite(self): - is_ucp = False - if hasattr(self._stream, 'name'): - # This only works with local file, but we don't want remote UCP files yet - is_ucp = self._stream.name.endswith('.3mf') - if is_ucp: - self._config_dialog = UCPDialog() - self._config_dialog.finished.connect(self._onUCPConfigFinished) - self._config_dialog.show() - else: - self._doWrite() - - def _onUCPConfigFinished(self, accepted: bool): - if accepted: - self._export_model = self._config_dialog.getModel() - self._doWrite() - else: - self._main_thread_lock.release() - - def _doWrite(self): - self._write() - self._main_thread_lock.release() + def setExportModel(self, model): + if self._export_model != model: + self._export_model = model def _write(self): application = Application.getInstance() @@ -153,19 +132,21 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): #FIXME We should somehow give the information of the file type so that we know what to write, like the mode but for other files types (give mimetype ?) def write(self, stream, nodes, mode=WorkspaceWriter.OutputMode.BinaryMode): + print("Application.getInstance().getPreferences().getValue(\"local_file/last_used_type\")", Application.getInstance().getPreferences().getValue("local_file/last_used_type")) + self._success = False self._export_model = None self._stream = stream self._nodes = nodes self._mode = mode self._config_dialog = None - - self._main_thread_lock.acquire() - # Export is done in main thread because it may require a few asynchronous configuration steps - Application.getInstance().callLater(self._preWrite) - self._main_thread_lock.acquire() # Block until lock has been released, meaning the config+write is over - - self._main_thread_lock.release() + # + # self._main_thread_lock.acquire() + # # Export is done in main thread because it may require a few asynchronous configuration steps + Application.getInstance().callLater(self._write()) + # self._main_thread_lock.acquire() # Block until lock has been released, meaning the config+write is over + # + # self._main_thread_lock.release() self._export_model = None self._stream = None diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 2caa71353c..e60aae8dd9 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -23,7 +23,7 @@ from cura.Snapshot import Snapshot from PyQt6.QtCore import QBuffer import pySavitar as Savitar - +from .UCPDialog import UCPDialog import numpy import datetime @@ -61,6 +61,7 @@ class ThreeMFWriter(MeshWriter): self._unit_matrix_string = ThreeMFWriter._convertMatrixToString(Matrix()) self._archive: Optional[zipfile.ZipFile] = None self._store_archive = False + self._is_ucp = False @staticmethod def _convertMatrixToString(matrix): @@ -433,3 +434,8 @@ class ThreeMFWriter(MeshWriter): extra_settings[group.category_details] = exported_model_settings return extra_settings + + def exportUcp(self): + self._is_ucp = True + self._config_dialog = UCPDialog() + self._config_dialog.show() diff --git a/plugins/3MFWriter/UCPDialog.py b/plugins/3MFWriter/UCPDialog.py index fb214aded0..ecffb64338 100644 --- a/plugins/3MFWriter/UCPDialog.py +++ b/plugins/3MFWriter/UCPDialog.py @@ -4,6 +4,8 @@ import os from PyQt6.QtCore import pyqtSignal, QObject + +import UM from UM.FlameProfiler import pyqtSlot from UM.i18n import i18nCatalog @@ -44,6 +46,16 @@ class UCPDialog(QObject): @pyqtSlot() def _onAccepted(self): self._accepted = True + mesh_writer = CuraApplication.getInstance().getMeshFileHandler().getWriter("3MFWriter") + mesh_writer.custom_data = "My custom data" + + device = CuraApplication.getInstance().getOutputDeviceManager().getOutputDevice("local_file") + file_handler = UM.Qt.QtApplication.QtApplication.getInstance().getWorkspaceFileHandler() + nodes = [CuraApplication.getInstance().getController().getScene().getRoot()] + device.requestWrite(nodes, "test.3mf", ["application/x-ucp"], file_handler, + preferred_mimetype_list="application/x-ucp") + #TODO: update _export_model in threeMFWorkspacewriter and set is_ucp is true + # = self._config_dialog.getModel() self._onFinished() @pyqtSlot() diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index 4f7734cb11..bc0d1e6aef 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -74,14 +74,10 @@ Cura.Menu { id: saveUCPMenu text: catalog.i18nc("@title:menu menubar:file", "&Save Universal Cura Project...") - enabled: UM.WorkspaceFileHandler.enabled + enabled: UM.WorkspaceFileHandler.enabled && CuraApplication.getPackageManager().allEnabledPackages.includes("3MFWriter") onTriggered: { - var args = { "filter_by_machine": false, - "file_type": "workspace", - "preferred_mimetypes": "application/x-ucp", - "limit_mimetypes": "application/x-ucp"}; - UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args) + CuraApplication.exportUcp() } } From efd6284f6e591564f1bc2a5e0e0cc5457730d51f Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 20 Feb 2024 13:47:51 +0100 Subject: [PATCH 33/98] Make ucp model available in workspace writer CURA-11403 --- plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 6 ++-- plugins/3MFWriter/UCPDialog.py | 35 +++++++++++++++------ 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index 745627ed93..16b05b30ec 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -27,7 +27,7 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): super().__init__() self._main_thread_lock = Lock() self._success = False - self._export_model = None + self._ucp_model = None self._stream = None self._nodes = None self._mode = None @@ -35,8 +35,8 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): def setExportModel(self, model): - if self._export_model != model: - self._export_model = model + if self._ucp_model != model: + self._ucp_model = model def _write(self): application = Application.getInstance() diff --git a/plugins/3MFWriter/UCPDialog.py b/plugins/3MFWriter/UCPDialog.py index ecffb64338..1100ddc7a9 100644 --- a/plugins/3MFWriter/UCPDialog.py +++ b/plugins/3MFWriter/UCPDialog.py @@ -7,6 +7,7 @@ from PyQt6.QtCore import pyqtSignal, QObject import UM from UM.FlameProfiler import pyqtSlot +from UM.Workspace.WorkspaceWriter import WorkspaceWriter from UM.i18n import i18nCatalog from cura.CuraApplication import CuraApplication @@ -45,24 +46,38 @@ class UCPDialog(QObject): @pyqtSlot() def _onAccepted(self): - self._accepted = True - mesh_writer = CuraApplication.getInstance().getMeshFileHandler().getWriter("3MFWriter") - mesh_writer.custom_data = "My custom data" + application = CuraApplication.getInstance() + workspace_handler = application.getInstance().getWorkspaceFileHandler() - device = CuraApplication.getInstance().getOutputDeviceManager().getOutputDevice("local_file") - file_handler = UM.Qt.QtApplication.QtApplication.getInstance().getWorkspaceFileHandler() - nodes = [CuraApplication.getInstance().getController().getScene().getRoot()] - device.requestWrite(nodes, "test.3mf", ["application/x-ucp"], file_handler, + # Set the model to the workspace writer + mesh_writer = workspace_handler.getWriter("3MFWriter") + mesh_writer.setExportModel(self._model) + + # Open file dialog and write the file + device = application.getOutputDeviceManager().getOutputDevice("local_file") + nodes = [application.getController().getScene().getRoot()] + + device.writeError.connect(self._onRejected) + device.writeSuccess.connect(self._onSuccess) + device.writeFinished.connect(self._onFinished) + + device.requestWrite(nodes, application.getPrintInformation().jobName, ["application/x-ucp"], workspace_handler, preferred_mimetype_list="application/x-ucp") - #TODO: update _export_model in threeMFWorkspacewriter and set is_ucp is true - # = self._config_dialog.getModel() - self._onFinished() @pyqtSlot() def _onRejected(self): self._onFinished() + def _onSuccess(self): + self._accepted = True + self._onFinished() + def _onFinished(self): if not self._finished: # Make sure we don't send the finished signal twice, whatever happens self._finished = True + + # Reset the model to the workspace writer + mesh_writer = CuraApplication.getInstance().getInstance().getWorkspaceFileHandler().getWriter("3MFWriter") + mesh_writer.setExportModel(None) + self.finished.emit(self._accepted) From bd52c91c94fbe58056be8f7923912d76b6ba7690 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Tue, 20 Feb 2024 14:41:48 +0100 Subject: [PATCH 34/98] adding lambda for number of args CURA-11403 --- plugins/3MFWriter/UCPDialog.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/3MFWriter/UCPDialog.py b/plugins/3MFWriter/UCPDialog.py index 1100ddc7a9..1ac435c809 100644 --- a/plugins/3MFWriter/UCPDialog.py +++ b/plugins/3MFWriter/UCPDialog.py @@ -57,9 +57,9 @@ class UCPDialog(QObject): device = application.getOutputDeviceManager().getOutputDevice("local_file") nodes = [application.getController().getScene().getRoot()] - device.writeError.connect(self._onRejected) - device.writeSuccess.connect(self._onSuccess) - device.writeFinished.connect(self._onFinished) + device.writeError.connect(lambda: self._onRejected()) + device.writeSuccess.connect(lambda: self._onSuccess()) + device.writeFinished.connect(lambda: self._onFinished()) device.requestWrite(nodes, application.getPrintInformation().jobName, ["application/x-ucp"], workspace_handler, preferred_mimetype_list="application/x-ucp") From f61991e261d963b1d688c3d9c908e165c0136ec7 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 20 Feb 2024 15:04:44 +0100 Subject: [PATCH 35/98] Untangle write function CURA-11403 --- plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 50 +++++---------------- 1 file changed, 10 insertions(+), 40 deletions(-) diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index 16b05b30ec..8e20bdb411 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -26,11 +26,7 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): def __init__(self): super().__init__() self._main_thread_lock = Lock() - self._success = False self._ucp_model = None - self._stream = None - self._nodes = None - self._mode = None self._is_ucp = False @@ -38,7 +34,7 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): if self._ucp_model != model: self._ucp_model = model - def _write(self): + def write(self, stream, nodes, mode=WorkspaceWriter.OutputMode.BinaryMode): application = Application.getInstance() machine_manager = application.getMachineManager() @@ -47,24 +43,24 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): if not mesh_writer: # We need to have the 3mf mesh writer, otherwise we can't save the entire workspace self.setInformation(catalog.i18nc("@error:zip", "3MF Writer plug-in is corrupt.")) Logger.error("3MF Writer class is unavailable. Can't write workspace.") - return + return False global_stack = machine_manager.activeMachine if global_stack is None: self.setInformation( catalog.i18nc("@error", "There is no workspace yet to write. Please add a printer first.")) Logger.error("Tried to write a 3MF workspace before there was a global stack.") - return + return False # Indicate that the 3mf mesh writer should not close the archive just yet (we still need to add stuff to it). mesh_writer.setStoreArchive(True) - if not mesh_writer.write(self._stream, self._nodes, self._mode, self._export_model): + if not mesh_writer.write(stream, nodes, mode, self._ucp_model): self.setInformation(mesh_writer.getInformation()) - return + return False archive = mesh_writer.getArchive() if archive is None: # This happens if there was no mesh data to write. - archive = zipfile.ZipFile(self._stream, "w", compression=zipfile.ZIP_DEFLATED) + archive = zipfile.ZipFile(stream, "w", compression=zipfile.ZIP_DEFLATED) try: # Add global container stack data to the archive. @@ -81,13 +77,13 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): self._writeContainerToArchive(container, archive) # Write user settings data - if self._export_model is not None: - user_settings_data = self._getUserSettings(self._export_model) + if self._ucp_model is not None: + user_settings_data = self._getUserSettings(self._ucp_model) ThreeMFWriter._storeMetadataJson(user_settings_data, archive, USER_SETTINGS_PATH) except PermissionError: self.setInformation(catalog.i18nc("@error:zip", "No permission to write the workspace here.")) Logger.error("No permission to write workspace to this stream.") - return + return False # Write preferences to archive original_preferences = Application.getInstance().getPreferences() # Copy only the preferences that we use to the workspace. @@ -128,33 +124,7 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): return mesh_writer.setStoreArchive(False) - self._success = True - - #FIXME We should somehow give the information of the file type so that we know what to write, like the mode but for other files types (give mimetype ?) - def write(self, stream, nodes, mode=WorkspaceWriter.OutputMode.BinaryMode): - print("Application.getInstance().getPreferences().getValue(\"local_file/last_used_type\")", Application.getInstance().getPreferences().getValue("local_file/last_used_type")) - - self._success = False - self._export_model = None - self._stream = stream - self._nodes = nodes - self._mode = mode - self._config_dialog = None - # - # self._main_thread_lock.acquire() - # # Export is done in main thread because it may require a few asynchronous configuration steps - Application.getInstance().callLater(self._write()) - # self._main_thread_lock.acquire() # Block until lock has been released, meaning the config+write is over - # - # self._main_thread_lock.release() - - self._export_model = None - self._stream = None - self._nodes = None - self._mode = None - self._config_dialog = None - - return self._success + return True @staticmethod def _writePluginMetadataToArchive(archive: zipfile.ZipFile) -> None: From a463e5178838cfd92855c33334f4a80244bc5e70 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 20 Feb 2024 15:07:34 +0100 Subject: [PATCH 36/98] Remove unneeded thread lock CURA-11403 --- plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index 8e20bdb411..ddff454516 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -25,11 +25,9 @@ USER_SETTINGS_PATH = "Cura/user-settings.json" class ThreeMFWorkspaceWriter(WorkspaceWriter): def __init__(self): super().__init__() - self._main_thread_lock = Lock() self._ucp_model = None self._is_ucp = False - def setExportModel(self, model): if self._ucp_model != model: self._ucp_model = model From e0754092437f0ed78c86633cbeeeac630db48ac0 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 20 Feb 2024 15:07:48 +0100 Subject: [PATCH 37/98] Return `False` in case of exception CURA-11403 --- plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index ddff454516..eb0ecf5ed5 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -115,11 +115,11 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): except PermissionError: self.setInformation(catalog.i18nc("@error:zip", "No permission to write the workspace here.")) Logger.error("No permission to write workspace to this stream.") - return + return False except EnvironmentError as e: self.setInformation(catalog.i18nc("@error:zip", str(e))) Logger.error("EnvironmentError when writing workspace to this stream: {err}".format(err=str(e))) - return + return False mesh_writer.setStoreArchive(False) return True From 6bbdd543426b9a80c14dc2d6cb67b7fed9a8b594 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 20 Feb 2024 16:17:39 +0100 Subject: [PATCH 38/98] Remove unused `_is_ucp` CURA-11403 --- plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 7 ++++--- plugins/3MFWriter/ThreeMFWriter.py | 2 -- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index eb0ecf5ed5..cff938788b 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -1,6 +1,8 @@ # Copyright (c) 2020 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from typing import Optional + import configparser from io import StringIO from threading import Lock @@ -25,10 +27,9 @@ USER_SETTINGS_PATH = "Cura/user-settings.json" class ThreeMFWorkspaceWriter(WorkspaceWriter): def __init__(self): super().__init__() - self._ucp_model = None - self._is_ucp = False + self._ucp_model: Optional[SettingsExportModel] = None - def setExportModel(self, model): + def setExportModel(self, model: SettingsExportModel) -> None: if self._ucp_model != model: self._ucp_model = model diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index e60aae8dd9..6e3dc86890 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -61,7 +61,6 @@ class ThreeMFWriter(MeshWriter): self._unit_matrix_string = ThreeMFWriter._convertMatrixToString(Matrix()) self._archive: Optional[zipfile.ZipFile] = None self._store_archive = False - self._is_ucp = False @staticmethod def _convertMatrixToString(matrix): @@ -436,6 +435,5 @@ class ThreeMFWriter(MeshWriter): return extra_settings def exportUcp(self): - self._is_ucp = True self._config_dialog = UCPDialog() self._config_dialog.show() From 11a4588546c05209e407c89a684bc118ed015a59 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 20 Feb 2024 16:27:47 +0100 Subject: [PATCH 39/98] Properly handle exceptions CURA-11403 --- plugins/3MFWriter/UCPDialog.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/plugins/3MFWriter/UCPDialog.py b/plugins/3MFWriter/UCPDialog.py index 1ac435c809..355c70602c 100644 --- a/plugins/3MFWriter/UCPDialog.py +++ b/plugins/3MFWriter/UCPDialog.py @@ -7,8 +7,11 @@ from PyQt6.QtCore import pyqtSignal, QObject import UM from UM.FlameProfiler import pyqtSlot +from UM.OutputDevice import OutputDeviceError from UM.Workspace.WorkspaceWriter import WorkspaceWriter from UM.i18n import i18nCatalog +from UM.Logger import Logger +from UM.Message import Message from cura.CuraApplication import CuraApplication @@ -61,8 +64,22 @@ class UCPDialog(QObject): device.writeSuccess.connect(lambda: self._onSuccess()) device.writeFinished.connect(lambda: self._onFinished()) - device.requestWrite(nodes, application.getPrintInformation().jobName, ["application/x-ucp"], workspace_handler, + file_name = application.getPrintInformation().jobName + + try: + device.requestWrite(nodes, file_name, ["application/x-ucp"], workspace_handler, preferred_mimetype_list="application/x-ucp") + except OutputDeviceError.UserCanceledError: + self._onRejected() + except Exception as e: + message = Message( + i18n_catalog.i18nc("@info:error", "Unable to write to file: {0}", file_name), + title=i18n_catalog.i18nc("@info:title", "Error"), + message_type=Message.MessageType.ERROR + ) + message.show() + Logger.logException("e", "Unable to write to file %s: %s", file_name, e) + self._onRejected() @pyqtSlot() def _onRejected(self): From bc41b8f801e7f905b6d480674ea55c1639297d01 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 20 Feb 2024 16:48:38 +0100 Subject: [PATCH 40/98] Use string for prime tower enum value --- resources/definitions/atmat_signal_pro_base.def.json | 4 +++- resources/definitions/deltacomb_dc20flux.def.json | 4 +++- resources/definitions/deltacomb_dc21flux.def.json | 4 +++- resources/definitions/deltacomb_dc30flux.def.json | 4 +++- resources/definitions/lotmaxx_sc60.def.json | 4 +++- resources/definitions/ultimaker_s3.def.json | 4 +++- resources/definitions/ultimaker_s5.def.json | 4 +++- 7 files changed, 21 insertions(+), 7 deletions(-) diff --git a/resources/definitions/atmat_signal_pro_base.def.json b/resources/definitions/atmat_signal_pro_base.def.json index 83af53fb3c..f6cf00b644 100644 --- a/resources/definitions/atmat_signal_pro_base.def.json +++ b/resources/definitions/atmat_signal_pro_base.def.json @@ -110,7 +110,9 @@ "min_infill_area": { "value": "5.0" }, "minimum_polygon_circumference": { "value": "0.2" }, "optimize_wall_printing_order": { "value": "True" }, - "prime_tower_mode": { "value": "normal" }, + "prime_tower_mode": { + "value": "'normal'" + }, "retraction_amount": { "value": "1" }, "retraction_combing": { "value": "'noskin'" }, "retraction_combing_max_distance": { "value": "10" }, diff --git a/resources/definitions/deltacomb_dc20flux.def.json b/resources/definitions/deltacomb_dc20flux.def.json index 50f69636bd..fd67f9da72 100644 --- a/resources/definitions/deltacomb_dc20flux.def.json +++ b/resources/definitions/deltacomb_dc20flux.def.json @@ -32,7 +32,9 @@ "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, "prime_tower_min_volume": { "value": "50" }, - "prime_tower_mode": { "value": "normal" }, + "prime_tower_mode": { + "value": "'normal'" + }, "switch_extruder_retraction_amount": { "value": "0" } } } \ No newline at end of file diff --git a/resources/definitions/deltacomb_dc21flux.def.json b/resources/definitions/deltacomb_dc21flux.def.json index e09fbeca63..c218f085b9 100644 --- a/resources/definitions/deltacomb_dc21flux.def.json +++ b/resources/definitions/deltacomb_dc21flux.def.json @@ -32,7 +32,9 @@ "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, "prime_tower_min_volume": { "value": "50" }, - "prime_tower_mode": { "value": "normal" }, + "prime_tower_mode": { + "value": "'normal'" + }, "switch_extruder_retraction_amount": { "value": "0" } } } \ No newline at end of file diff --git a/resources/definitions/deltacomb_dc30flux.def.json b/resources/definitions/deltacomb_dc30flux.def.json index f59bf53a9a..b877e4979d 100644 --- a/resources/definitions/deltacomb_dc30flux.def.json +++ b/resources/definitions/deltacomb_dc30flux.def.json @@ -32,7 +32,9 @@ "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, "prime_tower_min_volume": { "value": "50" }, - "prime_tower_mode": { "value": "normal" }, + "prime_tower_mode": { + "value": "'normal'" + }, "switch_extruder_retraction_amount": { "value": "0" } } } \ No newline at end of file diff --git a/resources/definitions/lotmaxx_sc60.def.json b/resources/definitions/lotmaxx_sc60.def.json index 89eeac9b75..39513ebc3b 100644 --- a/resources/definitions/lotmaxx_sc60.def.json +++ b/resources/definitions/lotmaxx_sc60.def.json @@ -45,7 +45,9 @@ "meshfix_maximum_resolution": { "value": 0.25 }, "optimize_wall_printing_order": { "value": true }, "prime_tower_min_volume": { "value": 30 }, - "prime_tower_mode": { "value": "normal" }, + "prime_tower_mode": { + "value": "'normal'" + }, "retract_at_layer_change": { "value": false }, "retraction_amount": { "value": 4.5 }, "roofing_layer_count": { "value": 1 }, diff --git a/resources/definitions/ultimaker_s3.def.json b/resources/definitions/ultimaker_s3.def.json index 47a81035c9..7a0ab6f42f 100644 --- a/resources/definitions/ultimaker_s3.def.json +++ b/resources/definitions/ultimaker_s3.def.json @@ -103,7 +103,9 @@ "default_value": false, "enabled": true }, - "prime_tower_mode": { "value": "normal" }, + "prime_tower_mode": { + "value": "'normal'" + }, "retraction_amount": { "value": "6.5" }, "retraction_hop": { "value": "2" }, "retraction_hop_enabled": { "value": "extruders_enabled_count > 1" }, diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 30ad07dd2c..346693bf53 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -104,7 +104,9 @@ "default_value": false, "enabled": true }, - "prime_tower_mode": { "value": "normal" }, + "prime_tower_mode": { + "value": "'normal'" + }, "retraction_amount": { "value": "6.5" }, "retraction_combing": { "value": "'no_outer_surfaces'" }, "retraction_hop": { "value": "2" }, From 8fcdd09b7bbe7ac5557b4d1b1bb59645036e2c91 Mon Sep 17 00:00:00 2001 From: casperlamboo Date: Tue, 20 Feb 2024 15:49:37 +0000 Subject: [PATCH 41/98] Applied printer-linter format --- resources/definitions/atmat_signal_pro_base.def.json | 4 +--- resources/definitions/deltacomb_dc20flux.def.json | 4 +--- resources/definitions/deltacomb_dc21flux.def.json | 4 +--- resources/definitions/deltacomb_dc30flux.def.json | 4 +--- resources/definitions/lotmaxx_sc60.def.json | 4 +--- resources/definitions/ultimaker_s3.def.json | 4 +--- resources/definitions/ultimaker_s5.def.json | 4 +--- 7 files changed, 7 insertions(+), 21 deletions(-) diff --git a/resources/definitions/atmat_signal_pro_base.def.json b/resources/definitions/atmat_signal_pro_base.def.json index f6cf00b644..0b8761a62c 100644 --- a/resources/definitions/atmat_signal_pro_base.def.json +++ b/resources/definitions/atmat_signal_pro_base.def.json @@ -110,9 +110,7 @@ "min_infill_area": { "value": "5.0" }, "minimum_polygon_circumference": { "value": "0.2" }, "optimize_wall_printing_order": { "value": "True" }, - "prime_tower_mode": { - "value": "'normal'" - }, + "prime_tower_mode": { "value": "'normal'" }, "retraction_amount": { "value": "1" }, "retraction_combing": { "value": "'noskin'" }, "retraction_combing_max_distance": { "value": "10" }, diff --git a/resources/definitions/deltacomb_dc20flux.def.json b/resources/definitions/deltacomb_dc20flux.def.json index fd67f9da72..f76ba3e4cd 100644 --- a/resources/definitions/deltacomb_dc20flux.def.json +++ b/resources/definitions/deltacomb_dc20flux.def.json @@ -32,9 +32,7 @@ "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, "prime_tower_min_volume": { "value": "50" }, - "prime_tower_mode": { - "value": "'normal'" - }, + "prime_tower_mode": { "value": "'normal'" }, "switch_extruder_retraction_amount": { "value": "0" } } } \ No newline at end of file diff --git a/resources/definitions/deltacomb_dc21flux.def.json b/resources/definitions/deltacomb_dc21flux.def.json index c218f085b9..3c2080a87b 100644 --- a/resources/definitions/deltacomb_dc21flux.def.json +++ b/resources/definitions/deltacomb_dc21flux.def.json @@ -32,9 +32,7 @@ "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, "prime_tower_min_volume": { "value": "50" }, - "prime_tower_mode": { - "value": "'normal'" - }, + "prime_tower_mode": { "value": "'normal'" }, "switch_extruder_retraction_amount": { "value": "0" } } } \ No newline at end of file diff --git a/resources/definitions/deltacomb_dc30flux.def.json b/resources/definitions/deltacomb_dc30flux.def.json index b877e4979d..69249e42fd 100644 --- a/resources/definitions/deltacomb_dc30flux.def.json +++ b/resources/definitions/deltacomb_dc30flux.def.json @@ -32,9 +32,7 @@ "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, "prime_tower_min_volume": { "value": "50" }, - "prime_tower_mode": { - "value": "'normal'" - }, + "prime_tower_mode": { "value": "'normal'" }, "switch_extruder_retraction_amount": { "value": "0" } } } \ No newline at end of file diff --git a/resources/definitions/lotmaxx_sc60.def.json b/resources/definitions/lotmaxx_sc60.def.json index 39513ebc3b..64220c372e 100644 --- a/resources/definitions/lotmaxx_sc60.def.json +++ b/resources/definitions/lotmaxx_sc60.def.json @@ -45,9 +45,7 @@ "meshfix_maximum_resolution": { "value": 0.25 }, "optimize_wall_printing_order": { "value": true }, "prime_tower_min_volume": { "value": 30 }, - "prime_tower_mode": { - "value": "'normal'" - }, + "prime_tower_mode": { "value": "'normal'" }, "retract_at_layer_change": { "value": false }, "retraction_amount": { "value": 4.5 }, "roofing_layer_count": { "value": 1 }, diff --git a/resources/definitions/ultimaker_s3.def.json b/resources/definitions/ultimaker_s3.def.json index 7a0ab6f42f..ca40788581 100644 --- a/resources/definitions/ultimaker_s3.def.json +++ b/resources/definitions/ultimaker_s3.def.json @@ -103,9 +103,7 @@ "default_value": false, "enabled": true }, - "prime_tower_mode": { - "value": "'normal'" - }, + "prime_tower_mode": { "value": "'normal'" }, "retraction_amount": { "value": "6.5" }, "retraction_hop": { "value": "2" }, "retraction_hop_enabled": { "value": "extruders_enabled_count > 1" }, diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 346693bf53..73854f2890 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -104,9 +104,7 @@ "default_value": false, "enabled": true }, - "prime_tower_mode": { - "value": "'normal'" - }, + "prime_tower_mode": { "value": "'normal'" }, "retraction_amount": { "value": "6.5" }, "retraction_combing": { "value": "'no_outer_surfaces'" }, "retraction_hop": { "value": "2" }, From ce3baa15e2b196fdaeb223a434c6fa6fc395d8cb Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Tue, 20 Feb 2024 16:56:05 +0100 Subject: [PATCH 42/98] file name is coming from CuraApplication Instance CURA-11403 --- plugins/3MFWriter/UCPDialog.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFWriter/UCPDialog.py b/plugins/3MFWriter/UCPDialog.py index 355c70602c..20b3a37909 100644 --- a/plugins/3MFWriter/UCPDialog.py +++ b/plugins/3MFWriter/UCPDialog.py @@ -64,7 +64,7 @@ class UCPDialog(QObject): device.writeSuccess.connect(lambda: self._onSuccess()) device.writeFinished.connect(lambda: self._onFinished()) - file_name = application.getPrintInformation().jobName + file_name = CuraApplication.getInstance().getPrintInformation().jobName try: device.requestWrite(nodes, file_name, ["application/x-ucp"], workspace_handler, From d2566d72ff3d4db3270246c9a2c04c6dd383ce73 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Tue, 20 Feb 2024 16:56:34 +0100 Subject: [PATCH 43/98] for preference to open dialo while saving ucp CURA-11403 --- plugins/3MFWriter/UCPDialog.qml | 12 +++++++++--- resources/qml/Dialogs/WorkspaceSummaryDialog.qml | 2 +- resources/qml/Menus/FileMenu.qml | 13 ++++++++++++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/plugins/3MFWriter/UCPDialog.qml b/plugins/3MFWriter/UCPDialog.qml index 7eaf57c96b..3a0e6bf842 100644 --- a/plugins/3MFWriter/UCPDialog.qml +++ b/plugins/3MFWriter/UCPDialog.qml @@ -19,12 +19,12 @@ UM.Dialog minimumHeight: UM.Theme.getSize("modal_window_minimum").height backgroundColor: UM.Theme.getColor("detail_background") - property bool dontShowAgain: true + property bool dontShowAgain: false function storeDontShowAgain() { UM.Preferences.setValue("cura/dialog_on_ucp_project_save", !dontShowAgainCheckbox.checked) - UM.Preferences.setValue("asked_dialog_on_ucp_project_save", true) + UM.Preferences.setValue("cura/asked_dialog_on_ucp_project_save", false) } onVisibleChanged: @@ -115,5 +115,11 @@ UM.Dialog buttonSpacing: UM.Theme.getSize("wide_margin").width - onClosing: manager.notifyClosed() + onClosing: + { + storeDontShowAgain() + manager.notifyClosed() + } + onRejected: storeDontShowAgain() + onAccepted: storeDontShowAgain() } diff --git a/resources/qml/Dialogs/WorkspaceSummaryDialog.qml b/resources/qml/Dialogs/WorkspaceSummaryDialog.qml index a174959807..1eca2f395c 100644 --- a/resources/qml/Dialogs/WorkspaceSummaryDialog.qml +++ b/resources/qml/Dialogs/WorkspaceSummaryDialog.qml @@ -25,7 +25,7 @@ UM.Dialog function storeDontShowAgain() { UM.Preferences.setValue("cura/dialog_on_project_save", !dontShowAgainCheckbox.checked) - UM.Preferences.setValue("asked_dialog_on_project_save", true) + UM.Preferences.setValue("cura/asked_dialog_on_project_save", true) } onClosing: storeDontShowAgain() diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index bc0d1e6aef..3f8c0daac0 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -77,7 +77,18 @@ Cura.Menu enabled: UM.WorkspaceFileHandler.enabled && CuraApplication.getPackageManager().allEnabledPackages.includes("3MFWriter") onTriggered: { - CuraApplication.exportUcp() + if(UM.Preferences.getValue("cura/dialog_on_ucp_project_save")) + { + CuraApplication.exportUcp() + } + else + { + var args = { "filter_by_machine": false, + "file_type": "workspace", + "preferred_mimetypes": "application/x-ucp", + "limit_mimetypes": ["application/x-ucp"]}; + UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args) + } } } From 942589d3a21ee7677ef9062b26ea9500bf73a798 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Tue, 20 Feb 2024 17:05:23 +0100 Subject: [PATCH 44/98] filename is basename without the printer info CURA-11403 --- plugins/3MFWriter/UCPDialog.py | 2 +- resources/qml/Menus/FileMenu.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/3MFWriter/UCPDialog.py b/plugins/3MFWriter/UCPDialog.py index 20b3a37909..8e62666818 100644 --- a/plugins/3MFWriter/UCPDialog.py +++ b/plugins/3MFWriter/UCPDialog.py @@ -64,7 +64,7 @@ class UCPDialog(QObject): device.writeSuccess.connect(lambda: self._onSuccess()) device.writeFinished.connect(lambda: self._onFinished()) - file_name = CuraApplication.getInstance().getPrintInformation().jobName + file_name = CuraApplication.getInstance().getPrintInformation().baseName try: device.requestWrite(nodes, file_name, ["application/x-ucp"], workspace_handler, diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index 3f8c0daac0..7af21182cd 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -87,7 +87,7 @@ Cura.Menu "file_type": "workspace", "preferred_mimetypes": "application/x-ucp", "limit_mimetypes": ["application/x-ucp"]}; - UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args) + UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.baseName, args) } } } From f6c9936d1e4575749f1dcaa5913587baf37fe0d0 Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Tue, 20 Feb 2024 19:49:49 +0100 Subject: [PATCH 45/98] Remove SR-30 from exclude list PP-393 --- resources/definitions/ultimaker_method_base.def.json | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/definitions/ultimaker_method_base.def.json b/resources/definitions/ultimaker_method_base.def.json index 6e40f0bbf1..983af7ea27 100644 --- a/resources/definitions/ultimaker_method_base.def.json +++ b/resources/definitions/ultimaker_method_base.def.json @@ -28,7 +28,6 @@ "generic_hips_175", "generic_pc_175", "ultimaker_rapidrinse_175", - "ultimaker_sr30_175", "generic_tpu_175", "goofoo_", "ideagen3D_", From 59a23231ccb518b0c12aed273a27e9871d0548ef Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Tue, 20 Feb 2024 20:13:27 +0100 Subject: [PATCH 46/98] Include prime tower mode PP-393 --- resources/definitions/fdmprinter.def.json | 77 ++++++++++++++++------- 1 file changed, 56 insertions(+), 21 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 20a8a698a2..1d453456a8 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -76,6 +76,22 @@ "type": "str", "enabled": false }, + "material_type": + { + "label": "Material Type", + "description": "The type of material used.", + "default_value": "", + "type": "str", + "enabled": false + }, + "material_brand": + { + "label": "Material Brand", + "description": "The brand of material used.", + "default_value": "", + "type": "str", + "enabled": false + }, "material_diameter": { "label": "Diameter", @@ -963,7 +979,7 @@ "description": "Width of a single prime tower line.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_enable')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none'", "default_value": 0.4, "value": "line_width", "minimum_value": "0.001", @@ -3347,7 +3363,7 @@ "description": "The speed at which the prime tower is printed. Printing the prime tower slower can make it more stable when the adhesion between the different filaments is suboptimal.", "type": "float", "unit": "mm/s", - "enabled": "resolveOrValue('prime_tower_enable')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none'", "default_value": 60, "value": "speed_print", "minimum_value": "0.1", @@ -3725,7 +3741,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "value": "acceleration_print", - "enabled": "resolveOrValue('prime_tower_enable') and resolveOrValue('acceleration_enabled')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('acceleration_enabled')", "settable_per_mesh": false } } @@ -4044,7 +4060,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", - "enabled": "resolveOrValue('prime_tower_enable') and resolveOrValue('jerk_enabled')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('jerk_enabled')", "settable_per_mesh": false } } @@ -5135,7 +5151,7 @@ "unit": "mm", "type": "float", "minimum_value": "0", - "maximum_value_warning": "machine_nozzle_size", + "maximum_value_warning": "5*layer_height", "default_value": 0.1, "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "enabled": "support_enable or support_meshes_present", @@ -6778,14 +6794,20 @@ "description": "Settings used for printing with multiple extruders.", "children": { - "prime_tower_enable": + "prime_tower_mode": { - "label": "Enable Prime Tower", - "description": "Print a tower next to the print which serves to prime the material after each nozzle switch.", - "type": "bool", + "label": "Prime Tower", + "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • None: do not generate a prime tower
  • Normal: generate a bucket in which secondary materials are primed
  • Interleaved: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", + "type": "enum", + "value": "'none' if (extruders_enabled_count < 2) else ('interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal')", + "options": + { + "none": "None", + "normal": "Normal", + "interleaved": "Interleaved" + }, + "default_value": "none", "enabled": "extruders_enabled_count > 1", - "default_value": false, - "resolve": "(extruders_enabled_count > 1) and any(extruderValues('prime_tower_enable'))", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -6795,7 +6817,7 @@ "description": "The width of the prime tower.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_enable')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none'", "default_value": 20, "resolve": "max(extruderValues('prime_tower_size'))", "minimum_value": "0", @@ -6814,7 +6836,20 @@ "default_value": 6, "minimum_value": "0", "maximum_value_warning": "(resolveOrValue('prime_tower_size') * 0.5) ** 2 * 3.14159 * resolveOrValue('layer_height') - sum(extruderValues('prime_tower_min_volume')) + prime_tower_min_volume", - "enabled": "resolveOrValue('prime_tower_enable')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none'", + "settable_per_mesh": false, + "settable_per_extruder": true + }, + "prime_tower_max_bridging_distance": + { + "label": "Prime Tower Maximum Bridging Distance", + "description": "The maximum length of the branches which may be printed over the air.", + "unit": "mm", + "type": "float", + "default_value": 5, + "minimum_value": "line_width", + "maximum_value_warning": "10.0", + "enabled": "resolveOrValue('prime_tower_mode') != 'none'", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -6824,7 +6859,7 @@ "description": "The x coordinate of the position of the prime tower.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_enable')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none'", "default_value": 200, "value": "(resolveOrValue('machine_width') / 2 + resolveOrValue('prime_tower_size') / 2) if resolveOrValue('machine_shape') == 'elliptic' else (resolveOrValue('machine_width') - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_x')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_x'))), 1)) - (resolveOrValue('machine_width') / 2 if resolveOrValue('machine_center_is_zero') else 0)", "maximum_value": "(machine_width / 2 if machine_center_is_zero else machine_width) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", @@ -6838,7 +6873,7 @@ "description": "The y coordinate of the position of the prime tower.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_enable')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none'", "default_value": 200, "value": "machine_depth - prime_tower_size - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_y')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_y'))), 1) - (resolveOrValue('machine_depth') / 2 if resolveOrValue('machine_center_is_zero') else 0)", "maximum_value": "(machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", @@ -6851,7 +6886,7 @@ "label": "Wipe Inactive Nozzle on Prime Tower", "description": "After printing the prime tower with one nozzle, wipe the oozed material from the other nozzle off on the prime tower.", "type": "bool", - "enabled": "resolveOrValue('prime_tower_enable')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none'", "default_value": true, "settable_per_mesh": false, "settable_per_extruder": true @@ -6862,7 +6897,7 @@ "label": "Prime Tower Base", "description": "By enabling this setting, your prime-tower will get a brim, even if the model doesn't. If you want a sturdier base for a high tower, you can increase the base height.", "type": "bool", - "enabled": "resolveOrValue('prime_tower_enable') and resolveOrValue('adhesion_type') != 'raft'", + "enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('adhesion_type') != 'raft'", "default_value": false, "settable_per_mesh": false, "settable_per_extruder": false @@ -6874,7 +6909,7 @@ "description": "The width of the prime tower brim/base. A larger base enhances adhesion to the build plate, but also reduces the effective print area.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_enable') and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "default_value": 1.2, "minimum_value": "0", "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)", @@ -6888,7 +6923,7 @@ "description": "The height of the prime tower base. Increasing this value will result in a more sturdy prime tower because the base will be wider. If this setting is too low, the prime tower will not have a sturdy base.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_enable') and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "default_value": 0, "minimum_value": "0", "maximum_value": "machine_height", @@ -6900,7 +6935,7 @@ "label": "Prime Tower Base Slope", "description": "The magnitude factor used for the slope of the prime tower base. If you increase this value, the base will become slimmer. If you decrease it, the base will become thicker.", "type": "float", - "enabled": "resolveOrValue('prime_tower_enable') and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "enabled": "resolveOrValue('prime_tower_mode') != 'none' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "default_value": 4, "minimum_value": "0", "maximum_value": "10", @@ -6918,7 +6953,7 @@ "minimum_value": "0", "minimum_value_warning": "raft_base_line_width", "maximum_value_warning": "100", - "enabled": "resolveOrValue('prime_tower_enable') and resolveOrValue('adhesion_type') == 'raft'", + "enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, "settable_per_extruder": true, "limit_to_extruder": "raft_base_extruder_nr" From 08b70252a4ad3fb8af11d9d70d037fc2a990b5a2 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Wed, 21 Feb 2024 11:23:05 +0100 Subject: [PATCH 47/98] Remove duplicated mime type CURA-11403 --- plugins/3MFReader/ThreeMFReader.py | 9 +------- plugins/3MFWriter/UCPDialog.py | 35 ++++++++++++++++++++---------- plugins/3MFWriter/__init__.py | 12 ---------- 3 files changed, 25 insertions(+), 31 deletions(-) diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index c7a15e043e..ac94282136 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -41,18 +41,11 @@ class ThreeMFReader(MeshReader): MimeTypeDatabase.addMimeType( MimeType( - name = "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", + name="application/vnd.ms-package.3dmanufacturing-3dmodel+xml", comment="3MF", suffixes=["3mf"] ) ) - MimeTypeDatabase.addMimeType( - MimeType( - name="application/x-ucp", - comment="UCP", - suffixes=["3mf"] - ) - ) self._supported_extensions = [".3mf"] self._root = None diff --git a/plugins/3MFWriter/UCPDialog.py b/plugins/3MFWriter/UCPDialog.py index 8e62666818..b2ad5834eb 100644 --- a/plugins/3MFWriter/UCPDialog.py +++ b/plugins/3MFWriter/UCPDialog.py @@ -29,15 +29,21 @@ class UCPDialog(QObject): plugin_path = os.path.dirname(__file__) dialog_path = os.path.join(plugin_path, 'UCPDialog.qml') self._model = SettingsExportModel() - self._view = CuraApplication.getInstance().createQmlComponent(dialog_path, - {"manager": self, - "settingsExportModel": self._model}) + self._view = CuraApplication.getInstance().createQmlComponent( + dialog_path, + { + "manager": self, + "settingsExportModel": self._model + } + ) self._view.accepted.connect(self._onAccepted) self._view.rejected.connect(self._onRejected) self._finished = False self._accepted = False def show(self) -> None: + self._finished = False + self._accepted = False self._view.show() def getModel(self) -> SettingsExportModel: @@ -67,8 +73,13 @@ class UCPDialog(QObject): file_name = CuraApplication.getInstance().getPrintInformation().baseName try: - device.requestWrite(nodes, file_name, ["application/x-ucp"], workspace_handler, - preferred_mimetype_list="application/x-ucp") + device.requestWrite( + nodes, + file_name, + ["application/vnd.ms-package.3dmanufacturing-3dmodel+xml"], + workspace_handler, + preferred_mimetype_list="application/vnd.ms-package.3dmanufacturing-3dmodel+xml" + ) except OutputDeviceError.UserCanceledError: self._onRejected() except Exception as e: @@ -90,11 +101,13 @@ class UCPDialog(QObject): self._onFinished() def _onFinished(self): - if not self._finished: # Make sure we don't send the finished signal twice, whatever happens - self._finished = True + # Make sure we don't send the finished signal twice, whatever happens + if self._finished: + return + self._finished = True - # Reset the model to the workspace writer - mesh_writer = CuraApplication.getInstance().getInstance().getWorkspaceFileHandler().getWriter("3MFWriter") - mesh_writer.setExportModel(None) + # Reset the model to the workspace writer + mesh_writer = CuraApplication.getInstance().getInstance().getWorkspaceFileHandler().getWriter("3MFWriter") + mesh_writer.setExportModel(None) - self.finished.emit(self._accepted) + self.finished.emit(self._accepted) diff --git a/plugins/3MFWriter/__init__.py b/plugins/3MFWriter/__init__.py index 1cecf4c3f8..0b2976c386 100644 --- a/plugins/3MFWriter/__init__.py +++ b/plugins/3MFWriter/__init__.py @@ -32,12 +32,6 @@ def getMetaData(): "description": i18n_catalog.i18nc("@item:inlistbox", "3MF file"), "mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode - }, - { - "extension": "3mf", - "description": i18n_catalog.i18nc("@item:inlistbox", "Universal Cura Project"), - "mime_type": "application/x-ucp", - "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode } ] } @@ -48,12 +42,6 @@ def getMetaData(): "description": i18n_catalog.i18nc("@item:inlistbox", "Cura Project 3MF file"), "mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode - }, - { - "extension": "3mf", - "description": i18n_catalog.i18nc("@item:inlistbox", "Universal Cura Project"), - "mime_type": "application/x-ucp", - "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode } ] } From 62aff0be12396b934c0ca74b6f712d814c90cac4 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Wed, 21 Feb 2024 11:40:51 +0100 Subject: [PATCH 48/98] Determine `ucp` based on included file CURA-11403 --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 04885a961b..25e2afa8bd 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -58,6 +58,7 @@ _ignored_machine_network_metadata: Set[str] = { "is_abstract_machine" } +USER_SETTINGS_PATH = "Cura/user-settings.json" class ContainerInfo: def __init__(self, file_name: Optional[str], serialized: Optional[str], parser: Optional[ConfigParser]) -> None: @@ -235,9 +236,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): containers_found_dict = {k: False for k in resolve_strategy_keys} # Check whether the file is a UCP, which changes some import options - #FIXME Instead of this, we should just check for the presence of the user-settings file, whatever the extension - if file_name.endswith('.3mf'): - is_ucp = True + is_ucp = USER_SETTINGS_PATH in cura_file_names + # # Read definition containers # From 909a4156f3ccc64b86a3b0c4864b8c20fd5105e8 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Wed, 21 Feb 2024 15:13:27 +0100 Subject: [PATCH 49/98] Updating _ucp_model to None everytime a write is done CURA-11403 --- plugins/3MFWriter/ThreeMFWorkspaceWriter.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index cff938788b..2536f5dacb 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -33,7 +33,7 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): if self._ucp_model != model: self._ucp_model = model - def write(self, stream, nodes, mode=WorkspaceWriter.OutputMode.BinaryMode): + def _write(self, stream, nodes, mode=WorkspaceWriter.OutputMode.BinaryMode): application = Application.getInstance() machine_manager = application.getMachineManager() @@ -125,6 +125,11 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): return True + def write(self, stream, nodes, mode=WorkspaceWriter.OutputMode.BinaryMode): + success = self._write(stream, nodes, mode=WorkspaceWriter.OutputMode.BinaryMode) + self._ucp_model = None + return success + @staticmethod def _writePluginMetadataToArchive(archive: zipfile.ZipFile) -> None: file_name_template = "%s/plugin_metadata.json" From 2681932fec55545c4ae4c9b07d52bf30568b29a6 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Wed, 21 Feb 2024 15:20:38 +0100 Subject: [PATCH 50/98] Adding cura share icon to thumbnail CURA-11624 --- plugins/3MFWriter/ThreeMFWriter.py | 24 +++++++++++++++++++++++- resources/images/cura-share.png | Bin 0 -> 8108 bytes 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 resources/images/cura-share.png diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 6e3dc86890..9e519e255d 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -10,6 +10,7 @@ from UM.Math.Vector import Vector from UM.Logger import Logger from UM.Math.Matrix import Matrix from UM.Application import Application +from UM.Resources import Resources from UM.Scene.SceneNode import SceneNode from UM.Settings.ContainerRegistry import ContainerRegistry @@ -20,7 +21,8 @@ from cura.Utils.Threading import call_on_qt_thread from cura.Scene.CuraSceneNode import CuraSceneNode from cura.Snapshot import Snapshot -from PyQt6.QtCore import QBuffer +from PyQt6.QtCore import Qt, QBuffer +from PyQt6.QtGui import QImage, QPainter import pySavitar as Savitar from .UCPDialog import UCPDialog @@ -170,6 +172,24 @@ class ThreeMFWriter(MeshWriter): def getArchive(self): return self._archive + def _addShareLogoToThumbnail(self, primary_image): + # Load the icon png image + icon_image = QImage(Resources.getPath(Resources.Images, "cura-share.png")) + + # Resize icon_image to be 1/3 of primary_image size + new_width = int(primary_image.width() / 4) + new_height = int(primary_image.height() / 4) + icon_image = icon_image.scaled(new_width, new_height, Qt.AspectRatioMode.KeepAspectRatio) + # Create a QPainter to draw on the image + painter = QPainter(primary_image) + + # Draw the icon in the top-left corner (adjust coordinates as needed) + icon_position = (10, 10) + painter.drawImage(icon_position[0], icon_position[1], icon_image) + + painter.end() + primary_image.save("test.png", "PNG") + def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode, export_settings_model = None) -> bool: self._archive = None # Reset archive archive = zipfile.ZipFile(stream, "w", compression = zipfile.ZIP_DEFLATED) @@ -194,6 +214,8 @@ class ThreeMFWriter(MeshWriter): # Attempt to add a thumbnail snapshot = self._createSnapshot() if snapshot: + if export_settings_model != None: + self._addShareLogoToThumbnail(snapshot) thumbnail_buffer = QBuffer() thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite) snapshot.save(thumbnail_buffer, "PNG") diff --git a/resources/images/cura-share.png b/resources/images/cura-share.png new file mode 100644 index 0000000000000000000000000000000000000000..60de85194c7a9c71f93ddd90f2f885d18d49c11e GIT binary patch literal 8108 zcmV;dA5-9oP)fwN*)&Y5%AKPG@R68dS6o4Q-iL zD^N$P!e$tF}W>hG{zx>P$r~2?|tWZt#&8keJuK_dBcmvDVsa@3YT$zVF_f zna(r|zMS_t`>fwy&%O4!2F?(jJb7|;uh)CTuC9i&G&C7F19TRQ+0(oOau$ra(Yyk3 z7L2*mya6%@jHAbA;Kh@D7@ADiK^(B3FUIVc-q*IBUk5Gs%V@x%#z{#3Ai~5&iyLRn z3m}8Qm^^qI-t|}i?U!IG`!n``_t>x=nqa6UCN|5=YZDc<0XiGP$Y5eJFVU@IpSElN zL$^)q?$|d!^Q$niVo`F(F_EIvp7d!^_&Px^-hWYv4}j{zK@iXEkX~fD8oVkOO0n2g8^iNk=LbhS!s&CX*~0 z`#p6qQ3Rr-t_Ix4Ux)Dqu5Ef-ZiRvQez%nZ4~pw#b?9Io6yw1G#;k^{Es=gGRn<@`OYa}7?e#f{1u>&p2Dv`#516z`sVl?MQrXqoZwm+_8R{J>d%T`U z3F!vo`yLFZrWg#bj7$Lx6B`}hUiVZZ?;m@rI+a)Q&Z|)|foCN_GP&)i^9(@4FEF|t ze7;jy2&(Icn?w+dx;5Jv*FJ=j8Xg&tE--HV#M7|b8H@Rw+4K!yT?Btwk2k_?kcNCOn!m2}Iji#EgpG)7GW)27O3r)NK!q#wxP z{J9O4j|v<gV2O?ofCj&4ieG{#wVZkU<4p~p#`)QSJwm7lnj$_!YB?v z%Fu+X`ZP8W=^-@wa#RKxQ~hT0E5S=Knq*HCX)>Iv@{4T zEdZ&t)PNX;L*|)en_dzSBh&PW!bBw70jcycugR*D$ExgsZks|Cd%&CzO(jV|ibH&> zg5)?pg&?vHJS$KuAj5;vBabQolBlRW_Q=##Cm8vz>^$$!Gb31)GjPJN@biqSQTAzB z3YU-ybq8GM67T~UNa7OktLX0hP^T3fC{+qdB8D|}N*6qiC?TVPQKevz%3=vIEGZCG zR^)}z+?EA0pQ0Wsd^kZSUNAOvn&xnYok;QbL}Yf@b<;x?fjrmB>6 zpe0FxEdBk0-Sq0qGoBP459ZHPAHiFCAqkn8F6h}Pej8Ryv3*?t5tfI*P;nII+F z@X|elA+JKGav<6`D#j>4(xbdHl|2x-a&`V$x zBJxtBVt<6FvJ4aqHD>F?XqDOyK+KS&xb;3PvBMA7U%d=gUN{aD%NNkQO~J13ANM~* zl6r4PSRI2`Grm2B{Vk)UG`2Us4@&?6M79Z~17to&4#-fsDGB;G;L`>?2P2mbfW+Me zNWd@&IAo|<8ienvXD2GEj$;oFn7U6OSc$OfPBKdw0;=%>V^Q*xl zeS2)yb_&?=iR&tHM%-`m@eVpJxvPAH(7lMt^s~gs35-S=088h^JPKTg?Q10a>Tk8ESdPuCy-1Oe@tuu#vX=!>hXc;e(8F?-wsU2T7fWg zTJ~?+une}m{pBzlascl5&?~H}t2`iv+rd&uj75m)%xD`?uxQ!|)AeX*go{T{%!D!U z!>1Do;ACMQ_?d!KL^YM_O=TrWB9w7PCEEVi7v={briuB?cn0B=0^^k5UilJ$Ex&aM z%!M2%_q_WO-v<9vpu~1Z)v5!{vLK|MT^lwHKwh+fINM=LOc#T$4Yrb&hOvs0zycdR zM)g86_|G8N-^^41!82Z~qVNmbr;>eq?)q1sXT7L}FjsQ-S-)m+lwQfD(^8CifxkxY zjlN^tE>j^=H;@=+VQQsRO%?4!o&piqHueHZ)BypZr9vWVtrq%XKaB64(Qq$WWMJLI zIdGlzm{wVRf7Pl*u*~-6rHh9j+BtfB8Xnty5SE@h4jb047Xt47xaBP?;FjN5F_Nb= zh~E9l$1E7+Ia-=LZ~{K}wP)djo3AXM?*mAwtE#1o#b2TKvm@V#QKCJCu1Gz-C+Bgh z%t&WhTcafgKPaR|eTb@}9Fqb8 ztQWQ99Dw`Y_X=-N&jc;As>ykhx}l|#&V)oW$G76$em`bjmfMkJ*RgrS7OhpaHUQdt zeF9i|kr;d52mEtsL`@lH@ucdh=+as*Y3(KB@X*KCoG~yQ{l&YlR!ufm0vEvtH?>R0 z?#Yu7rJddnKvcGAQ9bkkwXRhbj;OM-VOP_LzV$Or^U=D(&kIFf+sf$!3iNE0z47XE z;hy(gI&Ze3jW+-KrLbY$3fTV0UT?^6dh_a5gYIbezEhC6|5`(s@UBK{BfxZ>Pt3P* zXq9DJ*7bI-o($w|^23^3X(1{q8t)Ko2X(dawdcXTR!xmUPVMae(Q$Zk-*MPuf0G9- z<0yA@{p***tv5`xUh7oU2RC0e%wu53V@J}oP*F3q*@_$pXxWa`>h>mS4=5OJy>3*D zL_G#2`G?V+bzt;ol--!NQFR6P+`I~grCr}U3U_^JzgHzkPxL{YeR8KA@Vh7X!{%SP z*!KLn)sj!z)X}b|Pua}T0&)M1_A2@P6aKcj#98NV(R2fhy1G##4WiFfDvQRd18-=k zl;a7p8!;*9az#6CUo%u(vFoW9;jS<5w+uP~k}>G@Aju(7CpdO$#-Dq~@2rNo(2X|h z>j$mu4@qUAi2<@$g+wT*gXDtKkfM=n2)16pH}vBbhJrr2BD%KjA3b76VDzU&I(#}2gD z{9(zd!L8eW0y`c*Cg8^*YvtIG*M)8Nf!yTC_mZt?(hy3v3=R)jif7KCNGd&MYc(Kl zd&xq}q~D$x_|(aRC*fUpe#Z_Q*FlF@V@g6)Z{<{ge_vN(6FfOn1f=DscCrUUw+Gu+F8c*7KYyGnKK@lM3pW9i%ss84OFG z`l1~|J>=9>0K;%m1*;DN1vvu^q_PY-5y%r~tP!p&0cp>VYuNqV^LG7+Z?iDW$5!^< zV?2doOcieQ;`1ea1TvJsWvWpj@fv2y#koj`+!#_%LiV9}8Nr~^v@Ra%BCFqjP(OcN{4fxmt48qmQN>X=7mosqNC0*qES zk;%S_qza(8Y7*II@Oldb%%qa05Ex@4JyPJ2$&I>6Hw)AO2$qFScJg2iD*Ms5-b~NN z7_;;LHEn#|OJKtl%hG34yJU~i07aX^HYb8IuAG9NI0^pO8xvKSls9>&frCH;jcIp^ zu&_2*ZI!80WwkpJNbyZjT}b&VCmlCmdjZTB-T1}}K#U}{29@Dtm6rJY1dP$rLK9F~ zQUXXlaS;D)*0IBX8}=+EwkgWBVgNf{*>fcjfxsc8uHIw=MhX((x

oB|iO;XyPeXxY;3*eD*I*QbjWE7>Z*1os6um6nL@b>@m^x&!-C&hlft^FH z4v_em&}%>cFV7CVX5xZzNa}nOjja-z4GJK!)UaBMRWQ*p0Nx&n;sIEsJJuwaW#hq7~c2*6`L~PUJ(wkAK;86&(CFD#gkeP+s+wh~+^He$@ zPOJ&N#h0HBpv}Lw3UUMBM(qYs7y~bv&GL5KkB$Bt<{{P+(1uc0>JljO24*O53IG?k z&4BAt8XNd5(|)0h3jv5X!ju1Z?>pIQM{fPi%l$P@b-j3e%7Zaz^v-2pUA8ymv?%TX zU2>F7e&dd>Jsd8OZs>c=UO9FyzFylJeI~@m=c_`|uC>^j0(Ba75$WVX5OYAtK6)kI z%g%2f9cb9!Ye8|pVd%jpg3*`xCG0U#hjFdp5qRahjJh zjH~BraP}Y$mLW~#fm#<(yY{Mej<3XN7{b=+)*+}7ivkl(nX$9VWnq2>XF+LZ)lr+M zb)d|Z?*ESic3fl{@*d1CEcbep^o<5VWuJKxPhSru$Ep|fV>R}i{!9c&%~j-S609ZD zBu-}3i{6#?g?U#Q-0ny{yN-oAEe)c`whE~SmyWpms|W3X&(C4D53`vuI*U6q>Zey zQ2q39rU!^q5q^+o9B%&meN<>R8oANJci#Dg9TPbXS_%;L6t*YtxrZv=4 z>0A;ug#l##$+Rl?R?-6D8B!b@|7mAk!zsefYq|j`JxB#oMy11zWLQHI@7SpxY`o)H zYX^QZ%I#tMzx^2YA2<;i4PoMcOkh&pOn%eCK-6_#T>F*GF(F`P)EpB63PgQPOQnoR zO3hU??6IY0Ah9pv>BXZ^SS?Y9mo>ocWrK>WzN*jymm6}%(Twxp8r=Q0Lva72hyCQs z^;azE9KwC?4VS{sZygTB4M-Cwjhk9VBY^VY9ybQK>I7(d1M2Av1mqjmEcVkH!jy(^ zt#dvev|iz^@1L+S)al@updF3u(V&}?3HnloLG6J-x-K8M!LszAFm50yoo;WNQRn+c zTY|C(L2poJZ2tB?KMh;%+vj_qtH*laqp$H}9wl-GZufoQHSn%GzZ*VO;Cj55#A)y1 z`uo@JlS?#8D1Nw}_!CDi9T2y@{iUrn!*05?qx&B{0{2+kxBti#u(uXUz{bhF2O6!! z$aiMQP##$KX(Jo;^sX@&j0Rq%vdNb4xC4*Y?LSh($N%w%Fo@i!;RAp2T06Efu8JjQ zL(ovJ0W5nJB693J@aD~BrJ-egn#J3sa+xbC%!gFTVCg{->Rafks1J2@#| zO1#2>XEAjSP_@M&sS~GXT2TtSVqnH-=ycqJ5$dZJ!poDQsH5L<+%!+Eej~X8_xh{3~5y zZ?Z%z?4Om}YdZHEqf+wh0#n6?8;Rr5I$r@;5hxCvv4!xS&pzuXm<}RWW_ri(UIzF6 z(Hg7j#)8qEAyB+wK1Dw^)ZynwEN5G_=xFQam%~~&S3LnE{Z>ly-O;ub2~pyi;cNgg z$)fck-i8t)u@G5H%vchi1W*=wfR3H+!OfrfpP{1q>tBB%{O4WQzylw7HEg_kNthm8 z)3j)k4!^H|$`^3ox^eijqY^nu*?QB(;z}noaiwk<$d;76sJ1|{v_Dcuaxqs;EhnN; zmze1F$WzCBle7;l4k7B@9FBuUP7TemcUw6Y$tmFWBYrFo~1m zm0PdBWKI)9}lKHo-e-hpL(ilh*c>3<`|h(YgNU^G!X5ebQa2ue9UCo zQBy_t*nh|cAb$2Jyud@>ISw~}_6H+P*l`SJa7Lvk_r3s+J$Vq8ox1=wtXpnv)w!+b z-nij>*!9d$DJTq*ks5K6nrp#Ab3p;an=R_Cqfic8M5HZQ78#9H{F)XY7*&dkqKVya zrv>G@t>1$kAAZ%mO!{x52fz7a_`Of;lI@9$&V_&a^Eb7E;=MD})ivzbhYHCg9+71x z8FEPPFFvl@sGGt13L0Ull1@G*pZPOvU-Gh?1^&1H`7kHL1(9cp{_MVQgU*9Z9yku4 z|62PHau||E-~?lXp-2H_((Bt)mim%WIxAGD)9pnVmRK+GI^RLkks!5F6@U1QYNMp0 zaNL)VZu!D1Q~|EtV=lUG^E=m$GXN5Ysi>ZKHH_O!5UGPoEUTCbSi5o&Y`Ee)Z*bi_kF~2hdbpx>mz@s}-*qiKy8EF2h(OoJ zXIyLWvD1Bc+{OiuKVup7m7f8snqnTRz3m+n_IFupQ{BAu8-8iHkDJ|V zM?Q@%Ed`VQVHc7F&~}2hQ4OS_+8=>x((psL2*VMUq)6XF*%CFSAR7FhRHW;v1R(0n zO&vHVMEg9YU~D0&xUl^ELkH5&XUvjZ_IJwN*o!jEoUqzC-XZj7-Q#zb-Q#anfGt| z0nCNm=VR~r$^i=i7im`wTf+GX|M~E2EFYmRN{Rz!V)-~c@W-zy&ZF;(1zVUAzitic+wV)y3ArgZroNJ@^!He|*2Nm(lN|=)EZl4c zE~F|;40@)Lpz!TTH=}IF?XT_x!)7!Qu-mQIX-8{kNiE(~x@eQ=`ciNx_?nz)kvHVi{yh+Kdu?qqwqh!mG0v{EZhc z86$wB3EVRGQaz>LFDuUst{cAwM`9~lfsttyL|YD^SUBRTxQ=)jT+BGcWk4>7#SjIfrb25%9x7XyVqQbw%&MY!AuHGC1R#Gu=-;h)QRiTyIn qWvu{Yyxl$m0<@dkS8ngj zyn*4U>}7f6Rh?B~oyO#B6<9q-FJ8w-+9~ zyT7o>?r_K@aqval5TmSsN>qjF%K3Q-qx60#U&H4lyw0!7?%hyZn1Q0eU`ffOWTnm8 z4x0`cg~~?V6@@t% zDoo+UP4cMXy6osUw{cCrzaU+qfvH3Y0050qKV?JQF*iM;D}_E=FdVh3ELtch3W7({ z15WCNq@oEYp(#Y}w9R@yS5N7m6-cE3O8bqn4=v}Y7$uE$@@sOBt0^5IV;V>{!woK7 zb;iJO)B;GXMn{&6npBgYDMi!DbUNI`&loj}9iY&gP1cj4pk5Sni`NwHk1f}=*pH~z zFi~A`6p(XM3+%A#x-$xfZ)rXr;>gW{m6wvvZlL>aL!S44hOk}jWi;ULT+JI8j*5Vs zrJ-qF!EiJWm5cvxY2LwbbQX}=(HQ~5(OE!7r!xkIqyGgV=nSNJP7uHV0000 Date: Wed, 21 Feb 2024 15:22:20 +0100 Subject: [PATCH 51/98] Removing debug statement CURA-11624 --- plugins/3MFWriter/ThreeMFWriter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 9e519e255d..ce9ea33fbd 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -188,7 +188,6 @@ class ThreeMFWriter(MeshWriter): painter.drawImage(icon_position[0], icon_position[1], icon_image) painter.end() - primary_image.save("test.png", "PNG") def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode, export_settings_model = None) -> bool: self._archive = None # Reset archive From 5f884c737b4d331627ee53b074419263b5a848e1 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 21 Feb 2024 16:39:50 +0100 Subject: [PATCH 52/98] Fix build, prevent protobuf version mismatch. --- conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/conanfile.py b/conanfile.py index 3b48442fa0..ca6b4eabd0 100644 --- a/conanfile.py +++ b/conanfile.py @@ -350,6 +350,7 @@ class CuraConan(ConanFile): self.requires("cpython/3.10.4@ultimaker/stable") self.requires("clipper/6.4.2@ultimaker/stable") self.requires("openssl/3.2.0") + self.requires("protobuf/3.21.12") self.requires("boost/1.82.0") self.requires("spdlog/1.12.0") self.requires("fmt/10.1.1") From 5f7a1c7b7bdcc8307b4969d1fc0d4d8c24782073 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Wed, 21 Feb 2024 16:50:46 +0100 Subject: [PATCH 53/98] Use correct mime-type CURA-11403m --- resources/qml/Menus/FileMenu.qml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index 7af21182cd..76d4997c3c 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -77,16 +77,18 @@ Cura.Menu enabled: UM.WorkspaceFileHandler.enabled && CuraApplication.getPackageManager().allEnabledPackages.includes("3MFWriter") onTriggered: { - if(UM.Preferences.getValue("cura/dialog_on_ucp_project_save")) + if (UM.Preferences.getValue("cura/dialog_on_ucp_project_save")) { CuraApplication.exportUcp() } else { - var args = { "filter_by_machine": false, - "file_type": "workspace", - "preferred_mimetypes": "application/x-ucp", - "limit_mimetypes": ["application/x-ucp"]}; + const args = { + "filter_by_machine": false, + "file_type": "workspace", + "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", + "limit_mimetypes": ["application/vnd.ms-package.3dmanufacturing-3dmodel+xml"], + }; UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.baseName, args) } } From 53b3eadb3c3ea71cd73c89a2f0ce15e2684a1439 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Wed, 21 Feb 2024 18:20:19 +0100 Subject: [PATCH 54/98] Adding printOrder to pasted elements CURA-11617 CURA-11624 --- cura/CuraActions.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cura/CuraActions.py b/cura/CuraActions.py index 36c69618dd..e33ce8123d 100644 --- a/cura/CuraActions.py +++ b/cura/CuraActions.py @@ -273,7 +273,11 @@ class CuraActions(QObject): # deselect currently selected nodes, and select the new nodes for node in Selection.getAllSelectedObjects(): Selection.remove(node) + + numberOfFixedNodes = len(fixed_nodes) for node in nodes: + numberOfFixedNodes += 1 + node.printOrder = numberOfFixedNodes Selection.add(node) def _openUrl(self, url: QUrl) -> None: From 3c305bb289658dab6a7c7121313c17ec6b6cd48c Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Wed, 21 Feb 2024 19:30:36 +0100 Subject: [PATCH 55/98] Fix `dialog_on_ucp_project_save` preference CURA-11403 --- plugins/3MFWriter/ThreeMFWriter.py | 41 ++++++++++++++++++++++++++++-- plugins/3MFWriter/UCPDialog.py | 7 ++--- resources/qml/Menus/FileMenu.qml | 41 ++++++++++++++---------------- 3 files changed, 62 insertions(+), 27 deletions(-) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index ce9ea33fbd..34ab4b5f58 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -10,6 +10,8 @@ from UM.Math.Vector import Vector from UM.Logger import Logger from UM.Math.Matrix import Matrix from UM.Application import Application +from UM.OutputDevice import OutputDeviceError +from UM.Message import Message from UM.Resources import Resources from UM.Scene.SceneNode import SceneNode from UM.Settings.ContainerRegistry import ContainerRegistry @@ -456,5 +458,40 @@ class ThreeMFWriter(MeshWriter): return extra_settings def exportUcp(self): - self._config_dialog = UCPDialog() - self._config_dialog.show() + preferences = CuraApplication.getInstance().getPreferences() + if preferences.getValue("cura/dialog_on_ucp_project_save"): + self._config_dialog = UCPDialog() + self._config_dialog.show() + else: + application = CuraApplication.getInstance() + workspace_handler = application.getInstance().getWorkspaceFileHandler() + + # Set the model to the workspace writer + mesh_writer = workspace_handler.getWriter("3MFWriter") + mesh_writer.setExportModel(SettingsExportModel()) + + # Open file dialog and write the file + device = application.getOutputDeviceManager().getOutputDevice("local_file") + nodes = [application.getController().getScene().getRoot()] + + file_name = CuraApplication.getInstance().getPrintInformation().baseName + + try: + device.requestWrite( + nodes, + file_name, + ["application/vnd.ms-package.3dmanufacturing-3dmodel+xml"], + workspace_handler, + preferred_mimetype_list="application/vnd.ms-package.3dmanufacturing-3dmodel+xml" + ) + except OutputDeviceError.UserCanceledError: + self._onRejected() + except Exception as e: + message = Message( + catalog.i18nc("@info:error", "Unable to write to file: {0}", file_name), + title=catalog.i18nc("@info:title", "Error"), + message_type=Message.MessageType.ERROR + ) + message.show() + Logger.logException("e", "Unable to write to file %s: %s", file_name, e) + self._onRejected() diff --git a/plugins/3MFWriter/UCPDialog.py b/plugins/3MFWriter/UCPDialog.py index b2ad5834eb..bedfb4d0da 100644 --- a/plugins/3MFWriter/UCPDialog.py +++ b/plugins/3MFWriter/UCPDialog.py @@ -53,8 +53,7 @@ class UCPDialog(QObject): def notifyClosed(self): self._onFinished() - @pyqtSlot() - def _onAccepted(self): + def save3mf(self): application = CuraApplication.getInstance() workspace_handler = application.getInstance().getWorkspaceFileHandler() @@ -92,7 +91,9 @@ class UCPDialog(QObject): Logger.logException("e", "Unable to write to file %s: %s", file_name, e) self._onRejected() - @pyqtSlot() + def _onAccepted(self): + self.save3mf() + def _onRejected(self): self._onFinished() diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index 76d4997c3c..4ca09cc9f1 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -47,14 +47,18 @@ Cura.Menu enabled: UM.WorkspaceFileHandler.enabled && saveProjectMenu.model.count == 1 onTriggered: { - var args = { "filter_by_machine": false, "file_type": "workspace", "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml" }; - if(UM.Preferences.getValue("cura/dialog_on_project_save")) + if (UM.Preferences.getValue("cura/dialog_on_project_save")) { saveWorkspaceDialog.args = args saveWorkspaceDialog.open() } else { + const args = { + "filter_by_machine": false, + "file_type": "workspace", + "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", + }; UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args) } } @@ -75,23 +79,7 @@ Cura.Menu id: saveUCPMenu text: catalog.i18nc("@title:menu menubar:file", "&Save Universal Cura Project...") enabled: UM.WorkspaceFileHandler.enabled && CuraApplication.getPackageManager().allEnabledPackages.includes("3MFWriter") - onTriggered: - { - if (UM.Preferences.getValue("cura/dialog_on_ucp_project_save")) - { - CuraApplication.exportUcp() - } - else - { - const args = { - "filter_by_machine": false, - "file_type": "workspace", - "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", - "limit_mimetypes": ["application/vnd.ms-package.3dmanufacturing-3dmodel+xml"], - }; - UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.baseName, args) - } - } + onTriggered: CuraApplication.exportUcp() } Cura.MenuSeparator { } @@ -102,8 +90,11 @@ Cura.Menu text: catalog.i18nc("@title:menu menubar:file", "&Export...") onTriggered: { - var localDeviceId = "local_file" - UM.OutputDeviceManager.requestWriteToDevice(localDeviceId, PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}) + const args = { + "filter_by_machine": false, + "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", + }; + UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args); } } @@ -113,7 +104,13 @@ Cura.Menu text: catalog.i18nc("@action:inmenu menubar:file", "Export Selection...") enabled: UM.Selection.hasSelection icon.name: "document-save-as" - onTriggered: UM.OutputDeviceManager.requestWriteSelectionToDevice("local_file", PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}) + onTriggered: { + const args = { + "filter_by_machine": false, + "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", + }; + UM.OutputDeviceManager.requestWriteSelectionToDevice("local_file", PrintInformation.jobName, args); + } } Cura.MenuSeparator { } From e99d5eb906c508b6cbfb4bf066c1843ffd0395a1 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Thu, 22 Feb 2024 09:59:31 +0100 Subject: [PATCH 56/98] fixing comment CURA-11617 CURA-11624 --- plugins/3MFWriter/ThreeMFWriter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 34ab4b5f58..6fda1742f8 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -178,7 +178,7 @@ class ThreeMFWriter(MeshWriter): # Load the icon png image icon_image = QImage(Resources.getPath(Resources.Images, "cura-share.png")) - # Resize icon_image to be 1/3 of primary_image size + # Resize icon_image to be 1/4 of primary_image size new_width = int(primary_image.width() / 4) new_height = int(primary_image.height() / 4) icon_image = icon_image.scaled(new_width, new_height, Qt.AspectRatioMode.KeepAspectRatio) From b99762776ee6ce3fe0e8bba8724eba9ca68ec4c7 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Thu, 22 Feb 2024 10:47:04 +0100 Subject: [PATCH 57/98] Revert "Enable prime tower mode according to materials types" This reverts commit 335a54c6d1c432e64784f95c69e77125bd0d57f1. --- .../XmlMaterialProfile/XmlMaterialProfile.py | 9 +++---- resources/definitions/fdmprinter.def.json | 26 ++++--------------- 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 98c0f95e10..41beb88419 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -579,9 +579,8 @@ class XmlMaterialProfile(InstanceContainer): meta_data[tag_name] = entry.text - for tag_name, value in meta_data.items(): - if tag_name in self.__material_metadata_setting_map: - common_setting_values[self.__material_metadata_setting_map[tag_name]] = value + if tag_name in self.__material_metadata_setting_map: + common_setting_values[self.__material_metadata_setting_map[tag_name]] = entry.text if "description" not in meta_data: meta_data["description"] = "" @@ -1223,9 +1222,7 @@ class XmlMaterialProfile(InstanceContainer): "diameter": "material_diameter" } __material_metadata_setting_map = { - "GUID": "material_guid", - "material": "material_type", - "brand": "material_brand", + "GUID": "material_guid" } # Map of recognised namespaces with a proper prefix. diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1d453456a8..b532402993 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -76,22 +76,6 @@ "type": "str", "enabled": false }, - "material_type": - { - "label": "Material Type", - "description": "The type of material used.", - "default_value": "", - "type": "str", - "enabled": false - }, - "material_brand": - { - "label": "Material Brand", - "description": "The brand of material used.", - "default_value": "", - "type": "str", - "enabled": false - }, "material_diameter": { "label": "Diameter", @@ -6797,14 +6781,14 @@ "prime_tower_mode": { "label": "Prime Tower", - "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.

  • None: do not generate a prime tower
  • Normal: generate a bucket in which secondary materials are primed
  • Interleaved: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", + "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • None: do not generate a prime tower
  • Bucket: generate a bucket in which secondary materials are primed
  • Sparse: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", "type": "enum", - "value": "'none' if (extruders_enabled_count < 2) else ('interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal')", + "value": "'optimized' if all(material_type == extruderValues('material_type')[0] for material_type in extruderValues('material_type')) else 'optimized_consistent'", "options": { "none": "None", - "normal": "Normal", - "interleaved": "Interleaved" + "bucket": "Bucket", + "sparse": "Sparse" }, "default_value": "none", "enabled": "extruders_enabled_count > 1", @@ -6849,7 +6833,7 @@ "default_value": 5, "minimum_value": "line_width", "maximum_value_warning": "10.0", - "enabled": "resolveOrValue('prime_tower_mode') != 'none'", + "enabled": "resolveOrValue('prime_tower_mode') == 'sparse' or resolveOrValue('prime_tower_mode') == 'bucket'", "settable_per_mesh": false, "settable_per_extruder": true }, From 60c3f6f2cbf4751960726eacfbc0d766ed4f16c7 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Thu, 22 Feb 2024 11:00:56 +0100 Subject: [PATCH 58/98] Restore prime tower options --- 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 b532402993..a176fe1004 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6781,14 +6781,14 @@ "prime_tower_mode": { "label": "Prime Tower", - "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • None: do not generate a prime tower
  • Bucket: generate a bucket in which secondary materials are primed
  • Sparse: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", + "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • None: do not generate a prime tower
  • Normal: generate a bucket in which secondary materials are primed
  • Interleaved: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", "type": "enum", - "value": "'optimized' if all(material_type == extruderValues('material_type')[0] for material_type in extruderValues('material_type')) else 'optimized_consistent'", + "value": "'none' if (extruders_enabled_count < 2) else 'normal'", "options": { "none": "None", - "bucket": "Bucket", - "sparse": "Sparse" + "normal": "Normal", + "interleaved": "Interleaved" }, "default_value": "none", "enabled": "extruders_enabled_count > 1", From d009839f9e96f697ead3cb76678c3d8ad7379a3a Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Thu, 22 Feb 2024 12:50:50 +0100 Subject: [PATCH 59/98] Revert "Restore prime tower options" This reverts commit 60c3f6f2cbf4751960726eacfbc0d766ed4f16c7. --- 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 a176fe1004..b532402993 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6781,14 +6781,14 @@ "prime_tower_mode": { "label": "Prime Tower", - "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • None: do not generate a prime tower
  • Normal: generate a bucket in which secondary materials are primed
  • Interleaved: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", + "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • None: do not generate a prime tower
  • Bucket: generate a bucket in which secondary materials are primed
  • Sparse: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", "type": "enum", - "value": "'none' if (extruders_enabled_count < 2) else 'normal'", + "value": "'optimized' if all(material_type == extruderValues('material_type')[0] for material_type in extruderValues('material_type')) else 'optimized_consistent'", "options": { "none": "None", - "normal": "Normal", - "interleaved": "Interleaved" + "bucket": "Bucket", + "sparse": "Sparse" }, "default_value": "none", "enabled": "extruders_enabled_count > 1", From c8f9f179d9809641ee48a36d5cd4b26bd006f84d Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Thu, 22 Feb 2024 12:50:53 +0100 Subject: [PATCH 60/98] Revert "Revert "Enable prime tower mode according to materials types"" This reverts commit b99762776ee6ce3fe0e8bba8724eba9ca68ec4c7. --- .../XmlMaterialProfile/XmlMaterialProfile.py | 9 ++++--- resources/definitions/fdmprinter.def.json | 26 +++++++++++++++---- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 41beb88419..98c0f95e10 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -579,8 +579,9 @@ class XmlMaterialProfile(InstanceContainer): meta_data[tag_name] = entry.text - if tag_name in self.__material_metadata_setting_map: - common_setting_values[self.__material_metadata_setting_map[tag_name]] = entry.text + for tag_name, value in meta_data.items(): + if tag_name in self.__material_metadata_setting_map: + common_setting_values[self.__material_metadata_setting_map[tag_name]] = value if "description" not in meta_data: meta_data["description"] = "" @@ -1222,7 +1223,9 @@ class XmlMaterialProfile(InstanceContainer): "diameter": "material_diameter" } __material_metadata_setting_map = { - "GUID": "material_guid" + "GUID": "material_guid", + "material": "material_type", + "brand": "material_brand", } # Map of recognised namespaces with a proper prefix. diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b532402993..1d453456a8 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -76,6 +76,22 @@ "type": "str", "enabled": false }, + "material_type": + { + "label": "Material Type", + "description": "The type of material used.", + "default_value": "", + "type": "str", + "enabled": false + }, + "material_brand": + { + "label": "Material Brand", + "description": "The brand of material used.", + "default_value": "", + "type": "str", + "enabled": false + }, "material_diameter": { "label": "Diameter", @@ -6781,14 +6797,14 @@ "prime_tower_mode": { "label": "Prime Tower", - "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • None: do not generate a prime tower
  • Bucket: generate a bucket in which secondary materials are primed
  • Sparse: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", + "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • None: do not generate a prime tower
  • Normal: generate a bucket in which secondary materials are primed
  • Interleaved: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", "type": "enum", - "value": "'optimized' if all(material_type == extruderValues('material_type')[0] for material_type in extruderValues('material_type')) else 'optimized_consistent'", + "value": "'none' if (extruders_enabled_count < 2) else ('interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal')", "options": { "none": "None", - "bucket": "Bucket", - "sparse": "Sparse" + "normal": "Normal", + "interleaved": "Interleaved" }, "default_value": "none", "enabled": "extruders_enabled_count > 1", @@ -6833,7 +6849,7 @@ "default_value": 5, "minimum_value": "line_width", "maximum_value_warning": "10.0", - "enabled": "resolveOrValue('prime_tower_mode') == 'sparse' or resolveOrValue('prime_tower_mode') == 'bucket'", + "enabled": "resolveOrValue('prime_tower_mode') != 'none'", "settable_per_mesh": false, "settable_per_extruder": true }, From 501b15753d1ef931fea1e79183844ccd6d326598 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Thu, 22 Feb 2024 16:20:39 +0100 Subject: [PATCH 61/98] Revert "Change prime_tower_enable to prime_tower_mode in all defs/profiles" This reverts commit 5a291f9ba9e83c85d1bdfe1c0e907e0df8154f6f. --- plugins/LegacyProfileReader/DictionaryOfDoom.json | 2 +- resources/definitions/atmat_signal_pro_base.def.json | 2 +- resources/definitions/deltacomb_dc20flux.def.json | 2 +- resources/definitions/deltacomb_dc21flux.def.json | 2 +- resources/definitions/deltacomb_dc30flux.def.json | 2 +- resources/definitions/dxu_dual.def.json | 3 ++- resources/definitions/elegoo_neptune_2D.def.json | 1 + resources/definitions/leapfrog_bolt_pro.def.json | 2 +- resources/definitions/lotmaxx_sc60.def.json | 2 +- resources/definitions/strateo3d_IDEX420.def.json | 1 + resources/definitions/ultimaker3.def.json | 1 + resources/definitions/ultimaker_method_base.def.json | 2 +- resources/definitions/ultimaker_s3.def.json | 2 +- resources/definitions/ultimaker_s5.def.json | 2 +- .../Leapfrog_Bolt_Pro_brass0.4_abs_natural_standard.inst.cfg | 2 +- .../Leapfrog_Bolt_Pro_nozzlex0.4_abs_natural_standard.inst.cfg | 2 +- .../Leapfrog_Bolt_Pro_brass0.4_epla_natural_standard.inst.cfg | 2 +- ...Leapfrog_Bolt_Pro_nozzlex0.4_epla_natural_standard.inst.cfg | 2 +- .../Leapfrog_Bolt_Pro_brass0.4_pva_natural_standard.inst.cfg | 2 +- .../Leapfrog_Bolt_Pro_nozzlex0.4_pva_natural_standard.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_A.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_B.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_C.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_D.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_E.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_C.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_D.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_E.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_F.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_A.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_B.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_C.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_D.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_E.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_C.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_D.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_E.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_F.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_D.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_E.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_F.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_G.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_D.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_E.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_F.inst.cfg | 2 +- .../quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_G.inst.cfg | 2 +- .../pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.10.inst.cfg | 2 +- .../pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.15.inst.cfg | 2 +- .../pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.20.inst.cfg | 2 +- .../pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.30.inst.cfg | 2 +- .../pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.30.inst.cfg | 2 +- .../pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.40.inst.cfg | 2 +- .../pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.60.inst.cfg | 2 +- .../nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.10.inst.cfg | 2 +- .../nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.15.inst.cfg | 2 +- .../nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.20.inst.cfg | 2 +- .../nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.30.inst.cfg | 2 +- .../quality/gmax15plus/gmax15plus_global_dual_normal.inst.cfg | 2 +- .../quality/gmax15plus/gmax15plus_global_dual_thick.inst.cfg | 2 +- .../quality/gmax15plus/gmax15plus_global_dual_thin.inst.cfg | 2 +- .../gmax15plus/gmax15plus_global_dual_very_thick.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.4_ABS_Draft_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.4_ABS_Fast_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.4_ABS_High_Quality.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.4_ABS_Normal_Quality.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.4_PC_Draft_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.4_PC_Fast_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.4_PC_High_Quality.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.4_PC_Normal_Quality.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.4_PETG_Draft_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.4_PETG_Fast_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.4_PETG_High_Quality.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.4_PETG_Normal_Quality.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.4_PLA_Draft_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.4_PLA_Fast_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.4_PLA_High_Quality.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.4_PLA_Normal_Quality.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.4_PP_Draft_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.4_PP_Fast_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.4_PP_Normal_Quality.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.6_PETG_Draft_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.6_PETG_Fast_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.6_PLA_Draft_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.6_PLA_Fast_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.8_CPE_Draft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_CPE_Superdraft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_CPE_Verydraft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_Nylon_Draft_Print.inst.cfg | 2 +- .../liquid/liquid_vo0.8_Nylon_Superdraft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_Nylon_Verydraft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_PETG_Draft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_PETG_Superdraft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_PETG_Verydraft_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.8_PLA_Draft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_PLA_Superdraft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_PLA_Verydraft_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.8_PP_Draft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_PP_Superdraft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_PP_Verydraft_Print.inst.cfg | 2 +- resources/quality/liquid/liquid_vo0.8_TPU_Draft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_TPU_Superdraft_Print.inst.cfg | 2 +- .../quality/liquid/liquid_vo0.8_TPU_Verydraft_Print.inst.cfg | 2 +- resources/quality/nps/nps_ABS_B.inst.cfg | 2 +- resources/quality/nps/nps_ABS_C.inst.cfg | 2 +- resources/quality/nps/nps_PC_A.inst.cfg | 2 +- resources/quality/nps/nps_PC_B.inst.cfg | 2 +- resources/quality/nps/nps_PC_C.inst.cfg | 2 +- resources/quality/nps/nps_PETG_A.inst.cfg | 2 +- resources/quality/nps/nps_PETG_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_C.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_C.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_C.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_C.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_C.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_C.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_C.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PEKK_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_C.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_C.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_C.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_A.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_B.inst.cfg | 2 +- resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_C.inst.cfg | 2 +- .../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 +- .../strateo3d/Standard_0_4/s3d_std0.4_ACETATE_A.inst.cfg | 2 +- .../strateo3d/Standard_0_4/s3d_std0.4_ACETATE_B.inst.cfg | 2 +- .../strateo3d/Standard_0_4/s3d_std0.4_ACETATE_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_PC_A.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_PC_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_4/s3d_std0.4_PC_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 +- .../strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_A.inst.cfg | 2 +- .../strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_B.inst.cfg | 2 +- .../strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_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 +- .../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 +- .../strateo3d/Standard_0_4/s3d_std0.4_TPU98A_A.inst.cfg | 2 +- .../strateo3d/Standard_0_4/s3d_std0.4_TPU98A_B.inst.cfg | 2 +- .../strateo3d/Standard_0_4/s3d_std0.4_TPU98A_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_D.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 +- .../strateo3d/Standard_0_6/s3d_std0.6_ACETATE_B.inst.cfg | 2 +- .../strateo3d/Standard_0_6/s3d_std0.6_ACETATE_C.inst.cfg | 2 +- .../strateo3d/Standard_0_6/s3d_std0.6_ACETATE_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 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_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_PA6CF_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_PC_B.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_PC_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_6/s3d_std0.6_PC_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 +- .../strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_B.inst.cfg | 2 +- .../strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_C.inst.cfg | 2 +- .../strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_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 +- .../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 +- .../strateo3d/Standard_0_6/s3d_std0.6_TPU98A_B.inst.cfg | 2 +- .../strateo3d/Standard_0_6/s3d_std0.6_TPU98A_C.inst.cfg | 2 +- .../strateo3d/Standard_0_6/s3d_std0.6_TPU98A_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_E.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_ASA-X_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PC_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PC_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PC_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_PLA_HT_C.inst.cfg | 2 +- .../strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_D.inst.cfg | 2 +- .../strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_E.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_C.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_D.inst.cfg | 2 +- .../quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_E.inst.cfg | 2 +- .../strateo3d/Standard_0_8/s3d_std0.8_TPU98A_C.inst.cfg | 2 +- .../strateo3d/Standard_0_8/s3d_std0.8_TPU98A_D.inst.cfg | 2 +- .../strateo3d/Standard_0_8/s3d_std0.8_TPU98A_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 +- .../Standard_1_0_Experimental/s3d_std1.0_ABS_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_ABS_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_ABS_F.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_ASA-X_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_ASA-X_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_ASA-X_F.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_BVOH_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_BVOH_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_BVOH_F.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_HIPS_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_HIPS_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_HIPS_F.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PA6CF_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PA6CF_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PA6CF_F.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PA6GF_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PA6GF_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PA6GF_F.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PETG_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PETG_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PETG_F.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PLA_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PLA_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PLA_F.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PVA-M_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PVA-M_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PVA-M_F.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PVA-S_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PVA-S_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_PVA-S_F.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_TPU98A_D.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_TPU98A_E.inst.cfg | 2 +- .../Standard_1_0_Experimental/s3d_std1.0_TPU98A_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_ABS_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_ABS_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_ABS_H.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_ASA-X_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_ASA-X_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_ASA-X_H.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_BVOH_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_BVOH_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_BVOH_H.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_HIPS_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_HIPS_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_HIPS_H.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PA6CF_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PA6CF_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PA6CF_H.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PA6GF_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PA6GF_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PA6GF_H.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PETG_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PETG_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PETG_H.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PLA_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PLA_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PLA_H.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PVA-M_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PVA-M_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PVA-M_H.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PVA-S_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PVA-S_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_PVA-S_H.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_TPU98A_F.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_TPU98A_G.inst.cfg | 2 +- .../Standard_1_2_Experimental/s3d_std1.2_TPU98A_H.inst.cfg | 2 +- .../tizyx_evy_dual_global_Flex_Only_Quality.inst.cfg | 2 +- .../tizyx_evy_dual/tizyx_evy_dual_global_Flex_Quality.inst.cfg | 2 +- .../tizyx_evy_dual/tizyx_evy_dual_global_High_Quality.inst.cfg | 2 +- .../tizyx_evy_dual_global_Normal_Quality.inst.cfg | 2 +- .../tizyx_evy_dual/tizyx_evy_dual_global_PVA_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPLA_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPLA_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PETG_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_PETG_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PETG_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_TPLA_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_TPLA_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_TPLA_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.06mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.06mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.1mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.06mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.06mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.1mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.3mm.inst.cfg | 2 +- .../ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm.inst.cfg | 2 +- .../ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.15mm.inst.cfg | 2 +- .../ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm.inst.cfg | 2 +- .../ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.2mm.inst.cfg | 2 +- .../ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.4mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_nylon_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_nylon_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_nylon_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.4mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.4mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.4mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.4mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.4mm.inst.cfg | 2 +- .../ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.2mm.inst.cfg | 2 +- .../ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.3mm.inst.cfg | 2 +- .../ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.06mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_cc0.4_pla_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_cc0.4_pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_cc0.4_um-pla_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_cc0.4_um-pla_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_cc0.6_pla_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s3/um_s3_cc0.6_pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_cc0.6_um-pla_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s3/um_s3_cc0.6_um-pla_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.06mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.06mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.1mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.06mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.06mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.1mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.3mm.inst.cfg | 2 +- .../ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm.inst.cfg | 2 +- .../ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.15mm.inst.cfg | 2 +- .../ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm.inst.cfg | 2 +- .../ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.2mm.inst.cfg | 2 +- .../ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.4mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_nylon_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_nylon_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_nylon_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.4mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.4mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.4mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.4mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.3mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.4mm.inst.cfg | 2 +- .../ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.2mm.inst.cfg | 2 +- .../ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.3mm.inst.cfg | 2 +- .../ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.4mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.06mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.1mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.3mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_cc0.4_pla_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_cc0.4_pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_cc0.4_um-pla_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_cc0.4_um-pla_0.2mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_cc0.6_pla_0.15mm.inst.cfg | 2 +- resources/quality/ultimaker_s5/um_s5_cc0.6_pla_0.2mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_cc0.6_um-pla_0.15mm.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_cc0.6_um-pla_0.2mm.inst.cfg | 2 +- resources/variants/liquid/liquid_vo08.inst.cfg | 2 +- resources/variants/strateo3d/strateo3d_high_temp_04.inst.cfg | 2 +- resources/variants/strateo3d/strateo3d_standard_04.inst.cfg | 2 +- resources/variants/strateo3d/strateo3d_standard_06.inst.cfg | 2 +- resources/variants/strateo3d/strateo3d_standard_08.inst.cfg | 2 +- resources/variants/strateo3d/strateo3d_standard_10.inst.cfg | 2 +- resources/variants/strateo3d/strateo3d_standard_12.inst.cfg | 2 +- resources/variants/ultimaker3_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker3_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker_s3_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker_s3_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker_s5_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker_s5_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker_s7_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker_s7_bb0.8.inst.cfg | 2 +- 627 files changed, 628 insertions(+), 624 deletions(-) diff --git a/plugins/LegacyProfileReader/DictionaryOfDoom.json b/plugins/LegacyProfileReader/DictionaryOfDoom.json index 90e973b779..f65cc271d1 100644 --- a/plugins/LegacyProfileReader/DictionaryOfDoom.json +++ b/plugins/LegacyProfileReader/DictionaryOfDoom.json @@ -68,7 +68,7 @@ "meshfix_keep_open_polygons": "fix_horrible_use_open_bits", "magic_mesh_surface_mode": "\"surface\" if simple_mode else \"normal\"", "magic_spiralize": "spiralize", - "prime_tower_mode": "\"normal\" if wipe_tower else \"none\"", + "prime_tower_enable": "wipe_tower", "prime_tower_size": "math.sqrt(float(wipe_tower_volume) / float(layer_height))", "ooze_shield_enabled": "ooze_shield", "skin_overlap": "fill_overlap" diff --git a/resources/definitions/atmat_signal_pro_base.def.json b/resources/definitions/atmat_signal_pro_base.def.json index 0b8761a62c..cd59e1c169 100644 --- a/resources/definitions/atmat_signal_pro_base.def.json +++ b/resources/definitions/atmat_signal_pro_base.def.json @@ -110,7 +110,7 @@ "min_infill_area": { "value": "5.0" }, "minimum_polygon_circumference": { "value": "0.2" }, "optimize_wall_printing_order": { "value": "True" }, - "prime_tower_mode": { "value": "'normal'" }, + "prime_tower_enable": { "value": "True" }, "retraction_amount": { "value": "1" }, "retraction_combing": { "value": "'noskin'" }, "retraction_combing_max_distance": { "value": "10" }, diff --git a/resources/definitions/deltacomb_dc20flux.def.json b/resources/definitions/deltacomb_dc20flux.def.json index f76ba3e4cd..f81909dae5 100644 --- a/resources/definitions/deltacomb_dc20flux.def.json +++ b/resources/definitions/deltacomb_dc20flux.def.json @@ -31,8 +31,8 @@ "material_final_print_temperature": { "value": "material_print_temperature" }, "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, + "prime_tower_enable": { "value": true }, "prime_tower_min_volume": { "value": "50" }, - "prime_tower_mode": { "value": "'normal'" }, "switch_extruder_retraction_amount": { "value": "0" } } } \ No newline at end of file diff --git a/resources/definitions/deltacomb_dc21flux.def.json b/resources/definitions/deltacomb_dc21flux.def.json index 3c2080a87b..dbcdf3ad37 100644 --- a/resources/definitions/deltacomb_dc21flux.def.json +++ b/resources/definitions/deltacomb_dc21flux.def.json @@ -31,8 +31,8 @@ "material_final_print_temperature": { "value": "material_print_temperature" }, "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, + "prime_tower_enable": { "value": true }, "prime_tower_min_volume": { "value": "50" }, - "prime_tower_mode": { "value": "'normal'" }, "switch_extruder_retraction_amount": { "value": "0" } } } \ No newline at end of file diff --git a/resources/definitions/deltacomb_dc30flux.def.json b/resources/definitions/deltacomb_dc30flux.def.json index 69249e42fd..7ba4f4252d 100644 --- a/resources/definitions/deltacomb_dc30flux.def.json +++ b/resources/definitions/deltacomb_dc30flux.def.json @@ -31,8 +31,8 @@ "material_final_print_temperature": { "value": "material_print_temperature" }, "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, + "prime_tower_enable": { "value": "True" }, "prime_tower_min_volume": { "value": "50" }, - "prime_tower_mode": { "value": "'normal'" }, "switch_extruder_retraction_amount": { "value": "0" } } } \ No newline at end of file diff --git a/resources/definitions/dxu_dual.def.json b/resources/definitions/dxu_dual.def.json index b81d148f80..6d30af005f 100644 --- a/resources/definitions/dxu_dual.def.json +++ b/resources/definitions/dxu_dual.def.json @@ -5,6 +5,7 @@ "overrides": { "machine_end_gcode": { "value": "\"\" if machine_gcode_flavor == \"UltiGCode\" else \"G90 ;absolute positioning\\nM104 S0 T0 ;extruder heater off\\nM104 S0 T1\\nM140 S0 ;turn off bed\\nT0 ; move to the first head\\nM107 ;fan off\"" }, - "machine_start_gcode": { "value": "\"\" if machine_gcode_flavor == \"UltiGCode\" else \";material_bed_temperature={material_bed_temperature} material_print_temperature={material_print_temperature} material_print_temperature_layer_0={material_print_temperature_layer_0}\\nM190 S{material_bed_temperature_layer_0}\\nM104 T0 S{material_standby_temperature, 0}\\nM104 T0 S{material_print_temperature_layer_0, 0}\\nG21 ;metric values\\nG90 ;absolute positioning\\nM82 ;set extruder to absolute mode\\nM107 ;start with the fan off\\nM200 D0 T0 ;reset filament diameter\\nM200 D0 T1\\nG28 ;home all\\nT1 ; move to the nozzle 2\\nG0 Z20 F2400 ;move the platform to 30mm\\nM109 T1 S{material_print_temperature_layer_0, 1}\\nG0 X210 Y20 F7200\\nG92 E0\\nG92 E-7.0 ;prime distance\\nG1 E0 F45 ;purge nozzle\\nG1 E-6.5 F1500 ; retract\\nT0 ; move to the nozzle 1\\nM104 T1 S{material_standby_temperature, 1}\\nG0 Z20 F2400\\nM109 T0 S{material_print_temperature_layer_0, 0}\\nG0 X210 Y20 F7200\\nG92 E0\\nG92 E-7.0\\nG1 E0 F45 ;purge nozzle\\nG1 E-6.5 F1500\\nM104 T0 S{material_standby_temperature, 0}\\nT{initial_extruder_nr} ;switch to the first nozzle used for print\\nM109 T{initial_extruder_nr} S{material_print_temperature_layer_0, initial_extruder_nr}\\nM400 ;finish all moves\\nG1 E0 F1500\\nG92 E0\\n;end of startup sequence\\n\"" } + "machine_start_gcode": { "value": "\"\" if machine_gcode_flavor == \"UltiGCode\" else \";material_bed_temperature={material_bed_temperature} material_print_temperature={material_print_temperature} material_print_temperature_layer_0={material_print_temperature_layer_0}\\nM190 S{material_bed_temperature_layer_0}\\nM104 T0 S{material_standby_temperature, 0}\\nM104 T0 S{material_print_temperature_layer_0, 0}\\nG21 ;metric values\\nG90 ;absolute positioning\\nM82 ;set extruder to absolute mode\\nM107 ;start with the fan off\\nM200 D0 T0 ;reset filament diameter\\nM200 D0 T1\\nG28 ;home all\\nT1 ; move to the nozzle 2\\nG0 Z20 F2400 ;move the platform to 30mm\\nM109 T1 S{material_print_temperature_layer_0, 1}\\nG0 X210 Y20 F7200\\nG92 E0\\nG92 E-7.0 ;prime distance\\nG1 E0 F45 ;purge nozzle\\nG1 E-6.5 F1500 ; retract\\nT0 ; move to the nozzle 1\\nM104 T1 S{material_standby_temperature, 1}\\nG0 Z20 F2400\\nM109 T0 S{material_print_temperature_layer_0, 0}\\nG0 X210 Y20 F7200\\nG92 E0\\nG92 E-7.0\\nG1 E0 F45 ;purge nozzle\\nG1 E-6.5 F1500\\nM104 T0 S{material_standby_temperature, 0}\\nT{initial_extruder_nr} ;switch to the first nozzle used for print\\nM109 T{initial_extruder_nr} S{material_print_temperature_layer_0, initial_extruder_nr}\\nM400 ;finish all moves\\nG1 E0 F1500\\nG92 E0\\n;end of startup sequence\\n\"" }, + "prime_tower_enable": { "default_value": true } } } \ No newline at end of file diff --git a/resources/definitions/elegoo_neptune_2D.def.json b/resources/definitions/elegoo_neptune_2D.def.json index dbdf066b21..c9aa5a0184 100644 --- a/resources/definitions/elegoo_neptune_2D.def.json +++ b/resources/definitions/elegoo_neptune_2D.def.json @@ -55,6 +55,7 @@ "settable_per_extruder": false }, "prime_blob_enable": { "default_value": false }, + "prime_tower_enable": { "default_value": true }, "prime_tower_min_volume": { "default_value": 90 }, "prime_tower_size": { "default_value": 30 }, "raft_airgap": { "default_value": 0.25 }, diff --git a/resources/definitions/leapfrog_bolt_pro.def.json b/resources/definitions/leapfrog_bolt_pro.def.json index 449967072f..e4a13217e5 100644 --- a/resources/definitions/leapfrog_bolt_pro.def.json +++ b/resources/definitions/leapfrog_bolt_pro.def.json @@ -80,7 +80,7 @@ "material_final_print_temperature": { "value": "default_material_print_temperature" }, "material_initial_print_temperature": { "value": "default_material_print_temperature" }, "material_standby_temperature": { "enabled": false }, - "prime_tower_mode": { "resolve": "'normal' if extruders_enabled_count > 1 else 'none'" }, + "prime_tower_enable": { "resolve": "extruders_enabled_count > 1" }, "retraction_amount": { "default_value": 2 }, "retraction_combing": { "value": "'all'" }, "skirt_line_count": { "default_value": 3 }, diff --git a/resources/definitions/lotmaxx_sc60.def.json b/resources/definitions/lotmaxx_sc60.def.json index 64220c372e..f4ce358be1 100644 --- a/resources/definitions/lotmaxx_sc60.def.json +++ b/resources/definitions/lotmaxx_sc60.def.json @@ -44,8 +44,8 @@ "machine_width": { "default_value": 235 }, "meshfix_maximum_resolution": { "value": 0.25 }, "optimize_wall_printing_order": { "value": true }, + "prime_tower_enable": { "value": true }, "prime_tower_min_volume": { "value": 30 }, - "prime_tower_mode": { "value": "'normal'" }, "retract_at_layer_change": { "value": false }, "retraction_amount": { "value": 4.5 }, "roofing_layer_count": { "value": 1 }, diff --git a/resources/definitions/strateo3d_IDEX420.def.json b/resources/definitions/strateo3d_IDEX420.def.json index 47a3af714b..d4236c126e 100644 --- a/resources/definitions/strateo3d_IDEX420.def.json +++ b/resources/definitions/strateo3d_IDEX420.def.json @@ -112,6 +112,7 @@ "machine_use_extruder_offset_to_offset_coords": { "default_value": false }, "machine_width": { "default_value": 420 }, "material_diameter": { "default_value": 1.75 }, + "prime_tower_enable": { "default_value": true }, "prime_tower_min_volume": { "default_value": 35.6 }, "raft_acceleration": { "value": "machine_acceleration" }, "raft_base_acceleration": { "value": "machine_acceleration" }, diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index 43f718e2db..17a4b6045e 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -149,6 +149,7 @@ "enabled": true, "value": "resolveOrValue('print_sequence') != 'one_at_a_time'" }, + "prime_tower_enable": { "default_value": true }, "prime_tower_position_x": { "value": "185" }, "prime_tower_wipe_enabled": { "default_value": false }, "retraction_amount": { "value": "6.5" }, diff --git a/resources/definitions/ultimaker_method_base.def.json b/resources/definitions/ultimaker_method_base.def.json index 2c417913d5..983af7ea27 100644 --- a/resources/definitions/ultimaker_method_base.def.json +++ b/resources/definitions/ultimaker_method_base.def.json @@ -345,9 +345,9 @@ "prime_tower_base_curve_magnitude": { "value": 2 }, "prime_tower_base_height": { "value": 6 }, "prime_tower_base_size": { "value": 10 }, + "prime_tower_enable": { "value": false }, "prime_tower_flow": { "value": "material_flow" }, "prime_tower_line_width": { "value": 1 }, - "prime_tower_mode": { "value": "none" }, "prime_tower_raft_base_line_spacing": { "value": "raft_base_line_width" }, "prime_tower_wipe_enabled": { "value": true }, "print_sequence": { "enabled": false }, diff --git a/resources/definitions/ultimaker_s3.def.json b/resources/definitions/ultimaker_s3.def.json index ca40788581..483825df5a 100644 --- a/resources/definitions/ultimaker_s3.def.json +++ b/resources/definitions/ultimaker_s3.def.json @@ -103,7 +103,7 @@ "default_value": false, "enabled": true }, - "prime_tower_mode": { "value": "'normal'" }, + "prime_tower_enable": { "value": "True" }, "retraction_amount": { "value": "6.5" }, "retraction_hop": { "value": "2" }, "retraction_hop_enabled": { "value": "extruders_enabled_count > 1" }, diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 73854f2890..cd48c4fd38 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -104,7 +104,7 @@ "default_value": false, "enabled": true }, - "prime_tower_mode": { "value": "'normal'" }, + "prime_tower_enable": { "value": "True" }, "retraction_amount": { "value": "6.5" }, "retraction_combing": { "value": "'no_outer_surfaces'" }, "retraction_hop": { "value": "2" }, diff --git a/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_brass0.4_abs_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_brass0.4_abs_natural_standard.inst.cfg index 54807c88b3..f4da80ded9 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_brass0.4_abs_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_brass0.4_abs_natural_standard.inst.cfg @@ -38,8 +38,8 @@ line_width = 0.4 min_infill_area = 0 optimize_wall_printing_order = True prime_tower_brim_enable = True +prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_mode = normal prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_nozzlex0.4_abs_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_nozzlex0.4_abs_natural_standard.inst.cfg index 312313c9c5..a052562cd3 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_nozzlex0.4_abs_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_nozzlex0.4_abs_natural_standard.inst.cfg @@ -38,8 +38,8 @@ line_width = 0.4 min_infill_area = 0 optimize_wall_printing_order = True prime_tower_brim_enable = True +prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_mode = normal prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_brass0.4_epla_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_brass0.4_epla_natural_standard.inst.cfg index 485e82345a..145cd34ead 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_brass0.4_epla_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_brass0.4_epla_natural_standard.inst.cfg @@ -36,8 +36,8 @@ line_width = 0.4 min_infill_area = 0 optimize_wall_printing_order = True prime_tower_brim_enable = True +prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_mode = normal prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_nozzlex0.4_epla_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_nozzlex0.4_epla_natural_standard.inst.cfg index 7fb90fd093..e6e2cb78a0 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_nozzlex0.4_epla_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_nozzlex0.4_epla_natural_standard.inst.cfg @@ -36,8 +36,8 @@ line_width = 0.4 min_infill_area = 0 optimize_wall_printing_order = True prime_tower_brim_enable = True +prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_mode = normal prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_brass0.4_pva_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_brass0.4_pva_natural_standard.inst.cfg index ce3fe8c60b..56587fe883 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_brass0.4_pva_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_brass0.4_pva_natural_standard.inst.cfg @@ -35,8 +35,8 @@ line_width = 0.4 min_infill_area = 0 optimize_wall_printing_order = True prime_tower_brim_enable = True +prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_mode = normal prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_nozzlex0.4_pva_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_nozzlex0.4_pva_natural_standard.inst.cfg index a95c6ce5d3..10353f6110 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_nozzlex0.4_pva_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_nozzlex0.4_pva_natural_standard.inst.cfg @@ -35,8 +35,8 @@ line_width = 0.4 min_infill_area = 0 optimize_wall_printing_order = True prime_tower_brim_enable = True +prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_mode = normal prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_A.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_A.inst.cfg index 2e0d11b6eb..33b5c2c111 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_A.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_A.inst.cfg @@ -13,7 +13,7 @@ variant = DBE 0.40mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_B.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_B.inst.cfg index fc487f97e4..5be0dc9527 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_B.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_B.inst.cfg @@ -13,7 +13,7 @@ variant = DBE 0.40mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_C.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_C.inst.cfg index 3eef71ef41..76aa867f8f 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_C.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_C.inst.cfg @@ -13,7 +13,7 @@ variant = DBE 0.40mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_D.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_D.inst.cfg index 35534c090e..20bb125cd9 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_D.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_D.inst.cfg @@ -13,7 +13,7 @@ variant = DBE 0.40mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_E.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_E.inst.cfg index d61061ff55..cc0224cf23 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_E.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_DBE0.40_PVA_E.inst.cfg @@ -13,7 +13,7 @@ variant = DBE 0.40mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_C.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_C.inst.cfg index df09da8d68..ec2ebdc647 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_C.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_C.inst.cfg @@ -13,7 +13,7 @@ variant = DBE 0.60mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_D.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_D.inst.cfg index be38167856..136ec93d16 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_D.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_D.inst.cfg @@ -13,7 +13,7 @@ variant = DBE 0.60mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_E.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_E.inst.cfg index 24299680ad..3a0a94782c 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_E.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_E.inst.cfg @@ -13,7 +13,7 @@ variant = DBE 0.60mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_F.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_F.inst.cfg index 2c89d60680..719a4bdcbd 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_F.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_DBE0.60_PVA_F.inst.cfg @@ -13,7 +13,7 @@ variant = DBE 0.60mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_A.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_A.inst.cfg index c3cbb96ae7..4486a1d3bc 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_A.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_A.inst.cfg @@ -13,7 +13,7 @@ variant = FBE 0.40mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_B.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_B.inst.cfg index 5e062678c3..b938502e85 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_B.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_B.inst.cfg @@ -13,7 +13,7 @@ variant = FBE 0.40mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_C.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_C.inst.cfg index b9651ddf53..3b88ca6b67 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_C.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_C.inst.cfg @@ -13,7 +13,7 @@ variant = FBE 0.40mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_D.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_D.inst.cfg index 3e36641037..4134717770 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_D.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_D.inst.cfg @@ -13,7 +13,7 @@ variant = FBE 0.40mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_E.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_E.inst.cfg index bdb9ca3ce5..e267e7c6eb 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_E.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_FBE0.40_PVA_E.inst.cfg @@ -13,7 +13,7 @@ variant = FBE 0.40mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_C.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_C.inst.cfg index 741e6c613a..35e2e07b41 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_C.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_C.inst.cfg @@ -13,7 +13,7 @@ variant = FBE 0.60mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_D.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_D.inst.cfg index c8421e34a5..dd944cbfd1 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_D.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_D.inst.cfg @@ -13,7 +13,7 @@ variant = FBE 0.60mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_E.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_E.inst.cfg index 39bafd45c6..8aa462e206 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_E.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_E.inst.cfg @@ -13,7 +13,7 @@ variant = FBE 0.60mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_F.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_F.inst.cfg index c73c5baecd..0691a01deb 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_F.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_FBE0.60_PVA_F.inst.cfg @@ -13,7 +13,7 @@ variant = FBE 0.60mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_D.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_D.inst.cfg index b9f63dff35..a4d0582c3a 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_D.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_D.inst.cfg @@ -13,7 +13,7 @@ variant = V-DBE 0.80mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_E.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_E.inst.cfg index 86e03b328c..831e17c018 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_E.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_E.inst.cfg @@ -13,7 +13,7 @@ variant = V-DBE 0.80mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_F.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_F.inst.cfg index b51b54cb62..d9a57d6012 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_F.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_F.inst.cfg @@ -13,7 +13,7 @@ variant = V-DBE 0.80mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_G.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_G.inst.cfg index 82ad7d5d49..8408fbc014 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_G.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_VDBE0.80_PVA_G.inst.cfg @@ -13,7 +13,7 @@ variant = V-DBE 0.80mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_D.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_D.inst.cfg index dcc7dfcd48..18c813a79a 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_D.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_D.inst.cfg @@ -13,7 +13,7 @@ variant = V-FBE 0.80mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_E.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_E.inst.cfg index d0fb6ec6e2..660c536a5e 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_E.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_E.inst.cfg @@ -13,7 +13,7 @@ variant = V-FBE 0.60mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_F.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_F.inst.cfg index 1817111e2a..5dbea58c49 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_F.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_F.inst.cfg @@ -13,7 +13,7 @@ variant = V-FBE 0.80mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_G.inst.cfg b/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_G.inst.cfg index 8ba8f905d6..9bfd649e99 100644 --- a/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_G.inst.cfg +++ b/resources/quality/deltacomb/PVA/deltacomb_VFBE0.80_PVA_G.inst.cfg @@ -13,7 +13,7 @@ variant = V-FBE 0.80mm [values] brim_replaces_support = False material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False support_bottom_distance = =support_z_distance support_bottom_stair_step_height = 0 support_bottom_stair_step_width = 0 diff --git a/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.10.inst.cfg b/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.10.inst.cfg index 82cfb879dd..d5a2f73729 100644 --- a/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.10.inst.cfg +++ b/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.10.inst.cfg @@ -13,7 +13,7 @@ variant = 0.40mm_Elegoo_Nozzle [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed skin_overlap = 10 diff --git a/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.15.inst.cfg b/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.15.inst.cfg index 3b8cc5bb5f..e86f454664 100644 --- a/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.15.inst.cfg +++ b/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.15.inst.cfg @@ -13,7 +13,7 @@ variant = 0.40mm_Elegoo_Nozzle [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 70 diff --git a/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.20.inst.cfg b/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.20.inst.cfg index 23e6730f11..db7e5a43c7 100644 --- a/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.20.inst.cfg +++ b/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.20.inst.cfg @@ -17,7 +17,7 @@ infill_sparse_density = 15 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed skin_overlap = 20 diff --git a/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.30.inst.cfg b/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.30.inst.cfg index f305930448..d84cc9e656 100644 --- a/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.30.inst.cfg +++ b/resources/quality/elegoo/base/pla/nozzle_0_40/elegoo_pla_nozzle_0.40_layer_0.30.inst.cfg @@ -20,7 +20,7 @@ infill_sparse_density = 15 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed skin_overlap = 20 diff --git a/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.30.inst.cfg b/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.30.inst.cfg index cfc8fb9b32..b6c63fad0f 100644 --- a/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.30.inst.cfg +++ b/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.30.inst.cfg @@ -15,7 +15,7 @@ gradual_infill_step_height = =3 * layer_height machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.40.inst.cfg b/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.40.inst.cfg index 52ebc5566b..1e3eec080a 100644 --- a/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.40.inst.cfg +++ b/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.40.inst.cfg @@ -15,7 +15,7 @@ gradual_infill_step_height = =3 * layer_height machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True speed_infill = =math.ceil(speed_print * 35 / 45) speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.60.inst.cfg b/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.60.inst.cfg index 683bfe317a..09bc57ffea 100644 --- a/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.60.inst.cfg +++ b/resources/quality/elegoo/base/pla/nozzle_0_80/elegoo_pla_nozzle_0.80_layer_0.60.inst.cfg @@ -15,7 +15,7 @@ gradual_infill_step_height = =3 * layer_height machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True speed_infill = =math.ceil(speed_print * 35 / 45) speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.10.inst.cfg b/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.10.inst.cfg index 40cc88859a..66eb9f49c0 100644 --- a/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.10.inst.cfg +++ b/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.10.inst.cfg @@ -11,7 +11,7 @@ type = quality variant = 0.40mm_Elegoo_Nozzle [values] -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 skin_overlap = 10 speed_topbottom = =math.ceil(speed_print * 35 / 70) diff --git a/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.15.inst.cfg b/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.15.inst.cfg index 6043a569d0..209ce52fa2 100644 --- a/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.15.inst.cfg +++ b/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.15.inst.cfg @@ -11,7 +11,7 @@ type = quality variant = 0.40mm_Elegoo_Nozzle [values] -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_wall = =math.ceil(speed_print * 45 / 70) diff --git a/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.20.inst.cfg b/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.20.inst.cfg index 3076011555..9805a1ae5a 100644 --- a/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.20.inst.cfg +++ b/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.20.inst.cfg @@ -12,7 +12,7 @@ variant = 0.40mm_Elegoo_Nozzle [values] infill_sparse_density = 15 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 skin_overlap = 20 top_bottom_thickness = 0.8 diff --git a/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.30.inst.cfg b/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.30.inst.cfg index 562b84bf02..cb6ca323e6 100644 --- a/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.30.inst.cfg +++ b/resources/quality/elegoo/neptune_4/pla/nozzle_0_40/elegoo_n4_pla_nozzle_0.40_layer_0.30.inst.cfg @@ -14,7 +14,7 @@ variant = 0.40mm_Elegoo_Nozzle infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_sparse_density = 15 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 skin_overlap = 20 top_bottom_thickness = 0.9 diff --git a/resources/quality/gmax15plus/gmax15plus_global_dual_normal.inst.cfg b/resources/quality/gmax15plus/gmax15plus_global_dual_normal.inst.cfg index 7178468de7..d9f0a0aaea 100644 --- a/resources/quality/gmax15plus/gmax15plus_global_dual_normal.inst.cfg +++ b/resources/quality/gmax15plus/gmax15plus_global_dual_normal.inst.cfg @@ -30,7 +30,7 @@ material_standby_temperature = =material_print_temperature - 10 ooze_shield_angle = 20 ooze_shield_dist = 4 ooze_shield_enabled = True -prime_tower_mode = none +prime_tower_enable = False retraction_amount = 0.75 retraction_combing = off retraction_speed = 70 diff --git a/resources/quality/gmax15plus/gmax15plus_global_dual_thick.inst.cfg b/resources/quality/gmax15plus/gmax15plus_global_dual_thick.inst.cfg index cb966418ec..620622e555 100644 --- a/resources/quality/gmax15plus/gmax15plus_global_dual_thick.inst.cfg +++ b/resources/quality/gmax15plus/gmax15plus_global_dual_thick.inst.cfg @@ -30,7 +30,7 @@ material_standby_temperature = =material_print_temperature - 10 ooze_shield_angle = 20 ooze_shield_dist = 4 ooze_shield_enabled = True -prime_tower_mode = none +prime_tower_enable = False retraction_amount = 0.75 retraction_combing = off retraction_speed = 70 diff --git a/resources/quality/gmax15plus/gmax15plus_global_dual_thin.inst.cfg b/resources/quality/gmax15plus/gmax15plus_global_dual_thin.inst.cfg index 23733ea85e..05eeb68305 100644 --- a/resources/quality/gmax15plus/gmax15plus_global_dual_thin.inst.cfg +++ b/resources/quality/gmax15plus/gmax15plus_global_dual_thin.inst.cfg @@ -30,7 +30,7 @@ material_standby_temperature = =material_print_temperature - 10 ooze_shield_angle = 20 ooze_shield_dist = 4 ooze_shield_enabled = True -prime_tower_mode = none +prime_tower_enable = False retraction_amount = 0.75 retraction_combing = off retraction_speed = 70 diff --git a/resources/quality/gmax15plus/gmax15plus_global_dual_very_thick.inst.cfg b/resources/quality/gmax15plus/gmax15plus_global_dual_very_thick.inst.cfg index 01577a46d0..b63ef09a6b 100644 --- a/resources/quality/gmax15plus/gmax15plus_global_dual_very_thick.inst.cfg +++ b/resources/quality/gmax15plus/gmax15plus_global_dual_very_thick.inst.cfg @@ -29,7 +29,7 @@ material_standby_temperature = =material_print_temperature - 10 ooze_shield_angle = 20 ooze_shield_dist = 4 ooze_shield_enabled = True -prime_tower_mode = none +prime_tower_enable = False retraction_amount = 0.75 retraction_combing = off retraction_speed = 70 diff --git a/resources/quality/liquid/liquid_vo0.4_ABS_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.4_ABS_Draft_Print.inst.cfg index dc279c6232..038affd56f 100644 --- a/resources/quality/liquid/liquid_vo0.4_ABS_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_ABS_Draft_Print.inst.cfg @@ -18,7 +18,7 @@ machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_initial_print_temperature = =material_print_temperature - 15 material_print_temperature = =default_material_print_temperature + 20 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 20 speed_infill = =math.ceil(speed_print * 50 / 60) speed_layer_0 = =math.ceil(speed_print * 20 / 60) diff --git a/resources/quality/liquid/liquid_vo0.4_ABS_Fast_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.4_ABS_Fast_Print.inst.cfg index d5684e3ccb..5091d36813 100644 --- a/resources/quality/liquid/liquid_vo0.4_ABS_Fast_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_ABS_Fast_Print.inst.cfg @@ -19,7 +19,7 @@ machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_initial_print_temperature = =material_print_temperature - 15 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = none +prime_tower_enable = False speed_infill = =math.ceil(speed_print * 45 / 60) speed_layer_0 = =math.ceil(speed_print * 20 / 60) speed_print = 60 diff --git a/resources/quality/liquid/liquid_vo0.4_ABS_High_Quality.inst.cfg b/resources/quality/liquid/liquid_vo0.4_ABS_High_Quality.inst.cfg index bd43496eb4..0420284fa8 100644 --- a/resources/quality/liquid/liquid_vo0.4_ABS_High_Quality.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_ABS_High_Quality.inst.cfg @@ -19,7 +19,7 @@ machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_initial_print_temperature = =material_print_temperature - 15 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False speed_infill = =math.ceil(speed_print * 40 / 50) speed_layer_0 = =math.ceil(speed_print * 20 / 50) speed_print = 50 diff --git a/resources/quality/liquid/liquid_vo0.4_ABS_Normal_Quality.inst.cfg b/resources/quality/liquid/liquid_vo0.4_ABS_Normal_Quality.inst.cfg index 420b8a9d9c..927bdbe7b9 100644 --- a/resources/quality/liquid/liquid_vo0.4_ABS_Normal_Quality.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_ABS_Normal_Quality.inst.cfg @@ -18,7 +18,7 @@ machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_initial_print_temperature = =material_print_temperature - 15 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = none +prime_tower_enable = False speed_infill = =math.ceil(speed_print * 40 / 55) speed_layer_0 = =math.ceil(speed_print * 20 / 55) speed_print = 55 diff --git a/resources/quality/liquid/liquid_vo0.4_PC_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PC_Draft_Print.inst.cfg index ec682feabd..02d1292c17 100644 --- a/resources/quality/liquid/liquid_vo0.4_PC_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PC_Draft_Print.inst.cfg @@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) diff --git a/resources/quality/liquid/liquid_vo0.4_PC_Fast_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PC_Fast_Print.inst.cfg index 591e6e2964..b1c540d01e 100644 --- a/resources/quality/liquid/liquid_vo0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PC_Fast_Print.inst.cfg @@ -35,7 +35,7 @@ material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) diff --git a/resources/quality/liquid/liquid_vo0.4_PC_High_Quality.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PC_High_Quality.inst.cfg index 604e491db3..6aac1f4972 100644 --- a/resources/quality/liquid/liquid_vo0.4_PC_High_Quality.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PC_High_Quality.inst.cfg @@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature - 10 material_standby_temperature = 100 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) diff --git a/resources/quality/liquid/liquid_vo0.4_PC_Normal_Quality.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PC_Normal_Quality.inst.cfg index e610dcf495..e831dfb254 100644 --- a/resources/quality/liquid/liquid_vo0.4_PC_Normal_Quality.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PC_Normal_Quality.inst.cfg @@ -34,7 +34,7 @@ material_initial_print_temperature = =material_print_temperature - 5 material_standby_temperature = 100 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) diff --git a/resources/quality/liquid/liquid_vo0.4_PETG_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PETG_Draft_Print.inst.cfg index 37d77be67c..6e0ac10718 100644 --- a/resources/quality/liquid/liquid_vo0.4_PETG_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PETG_Draft_Print.inst.cfg @@ -24,7 +24,7 @@ machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 20 speed_layer_0 = =math.ceil(speed_print * 20 / 70) speed_print = 70 diff --git a/resources/quality/liquid/liquid_vo0.4_PETG_Fast_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PETG_Fast_Print.inst.cfg index f27381d0e3..5e84c3e1a1 100644 --- a/resources/quality/liquid/liquid_vo0.4_PETG_Fast_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PETG_Fast_Print.inst.cfg @@ -20,7 +20,7 @@ layer_height_0 = 0.2 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False speed_layer_0 = =math.ceil(speed_print * 20 / 60) speed_print = 60 speed_topbottom = =math.ceil(speed_print * 35 / 60) diff --git a/resources/quality/liquid/liquid_vo0.4_PETG_High_Quality.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PETG_High_Quality.inst.cfg index 1c49689b2a..8974dcbb03 100644 --- a/resources/quality/liquid/liquid_vo0.4_PETG_High_Quality.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PETG_High_Quality.inst.cfg @@ -22,7 +22,7 @@ machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature - 5 material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 10 speed_layer_0 = =math.ceil(speed_print * 20 / 50) speed_print = 50 diff --git a/resources/quality/liquid/liquid_vo0.4_PETG_Normal_Quality.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PETG_Normal_Quality.inst.cfg index 82b3f109f4..cbada0be18 100644 --- a/resources/quality/liquid/liquid_vo0.4_PETG_Normal_Quality.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PETG_Normal_Quality.inst.cfg @@ -21,7 +21,7 @@ layer_height_0 = 0.2 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 10 speed_layer_0 = =math.ceil(speed_print * 20 / 70) top_bottom_thickness = 1 diff --git a/resources/quality/liquid/liquid_vo0.4_PLA_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PLA_Draft_Print.inst.cfg index e6e18da492..70817b06e3 100644 --- a/resources/quality/liquid/liquid_vo0.4_PLA_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PLA_Draft_Print.inst.cfg @@ -24,7 +24,7 @@ machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 20 speed_layer_0 = =math.ceil(speed_print * 20 / 70) speed_print = 70 diff --git a/resources/quality/liquid/liquid_vo0.4_PLA_Fast_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PLA_Fast_Print.inst.cfg index 50b8662604..b6991202b2 100644 --- a/resources/quality/liquid/liquid_vo0.4_PLA_Fast_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PLA_Fast_Print.inst.cfg @@ -20,7 +20,7 @@ layer_height_0 = 0.2 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False speed_layer_0 = =math.ceil(speed_print * 20 / 60) speed_print = 60 speed_topbottom = =math.ceil(speed_print * 35 / 60) diff --git a/resources/quality/liquid/liquid_vo0.4_PLA_High_Quality.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PLA_High_Quality.inst.cfg index baf7af3fdc..930f5cf3fd 100644 --- a/resources/quality/liquid/liquid_vo0.4_PLA_High_Quality.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PLA_High_Quality.inst.cfg @@ -22,7 +22,7 @@ machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature - 5 material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 10 speed_layer_0 = =math.ceil(speed_print * 20 / 50) speed_print = 50 diff --git a/resources/quality/liquid/liquid_vo0.4_PLA_Normal_Quality.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PLA_Normal_Quality.inst.cfg index bf5fb6b1c9..6595446fee 100644 --- a/resources/quality/liquid/liquid_vo0.4_PLA_Normal_Quality.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PLA_Normal_Quality.inst.cfg @@ -21,7 +21,7 @@ layer_height_0 = 0.2 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_standby_temperature = 100 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 10 speed_layer_0 = =math.ceil(speed_print * 20 / 70) top_bottom_thickness = 1 diff --git a/resources/quality/liquid/liquid_vo0.4_PP_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PP_Draft_Print.inst.cfg index 86216145d9..1904758532 100644 --- a/resources/quality/liquid/liquid_vo0.4_PP_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PP_Draft_Print.inst.cfg @@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature - 5 material_print_temperature_layer_0 = =material_print_temperature + 5 material_standby_temperature = 100 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 12 diff --git a/resources/quality/liquid/liquid_vo0.4_PP_Fast_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PP_Fast_Print.inst.cfg index 7d4abe2d3f..2a0a5729ec 100644 --- a/resources/quality/liquid/liquid_vo0.4_PP_Fast_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PP_Fast_Print.inst.cfg @@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature - 13 material_print_temperature_layer_0 = =material_print_temperature + 3 material_standby_temperature = 100 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 12 diff --git a/resources/quality/liquid/liquid_vo0.4_PP_Normal_Quality.inst.cfg b/resources/quality/liquid/liquid_vo0.4_PP_Normal_Quality.inst.cfg index 3aace2ea38..304c4f17f0 100644 --- a/resources/quality/liquid/liquid_vo0.4_PP_Normal_Quality.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.4_PP_Normal_Quality.inst.cfg @@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature - 15 material_print_temperature_layer_0 = =material_print_temperature + 3 material_standby_temperature = 100 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 12 diff --git a/resources/quality/liquid/liquid_vo0.6_PETG_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.6_PETG_Draft_Print.inst.cfg index 04b769ec81..bc712bf999 100644 --- a/resources/quality/liquid/liquid_vo0.6_PETG_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.6_PETG_Draft_Print.inst.cfg @@ -26,7 +26,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15 material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/liquid/liquid_vo0.6_PETG_Fast_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.6_PETG_Fast_Print.inst.cfg index 5f7216e9b8..c51c068ae2 100644 --- a/resources/quality/liquid/liquid_vo0.6_PETG_Fast_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.6_PETG_Fast_Print.inst.cfg @@ -26,7 +26,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15 material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/liquid/liquid_vo0.6_PLA_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.6_PLA_Draft_Print.inst.cfg index 0f4b43d1ad..3b6749dfb9 100644 --- a/resources/quality/liquid/liquid_vo0.6_PLA_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.6_PLA_Draft_Print.inst.cfg @@ -26,7 +26,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15 material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/liquid/liquid_vo0.6_PLA_Fast_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.6_PLA_Fast_Print.inst.cfg index bf262d9b0d..45418e5994 100644 --- a/resources/quality/liquid/liquid_vo0.6_PLA_Fast_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.6_PLA_Fast_Print.inst.cfg @@ -26,7 +26,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15 material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/liquid/liquid_vo0.8_CPE_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_CPE_Draft_Print.inst.cfg index 6f15ddf686..90424ee65e 100644 --- a/resources/quality/liquid/liquid_vo0.8_CPE_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_CPE_Draft_Print.inst.cfg @@ -17,7 +17,7 @@ jerk_travel = 20 line_width = =machine_nozzle_size * 0.875 material_print_temperature = =default_material_print_temperature + 15 material_standby_temperature = 100 -prime_tower_mode = normal +prime_tower_enable = True retraction_combing_max_distance = 50 speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) diff --git a/resources/quality/liquid/liquid_vo0.8_CPE_Superdraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_CPE_Superdraft_Print.inst.cfg index e56ee10a98..7857ed00e7 100644 --- a/resources/quality/liquid/liquid_vo0.8_CPE_Superdraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_CPE_Superdraft_Print.inst.cfg @@ -17,7 +17,7 @@ jerk_travel = 20 line_width = =machine_nozzle_size * 0.875 material_print_temperature = =default_material_print_temperature + 20 material_standby_temperature = 100 -prime_tower_mode = normal +prime_tower_enable = True retraction_combing_max_distance = 50 speed_print = 45 speed_topbottom = =math.ceil(speed_print * 30 / 45) diff --git a/resources/quality/liquid/liquid_vo0.8_CPE_Verydraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_CPE_Verydraft_Print.inst.cfg index c8c93a744f..4194c6f3b7 100644 --- a/resources/quality/liquid/liquid_vo0.8_CPE_Verydraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_CPE_Verydraft_Print.inst.cfg @@ -17,7 +17,7 @@ jerk_travel = 20 line_width = =machine_nozzle_size * 0.875 material_print_temperature = =default_material_print_temperature + 17 material_standby_temperature = 100 -prime_tower_mode = normal +prime_tower_enable = True retraction_combing_max_distance = 50 speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) diff --git a/resources/quality/liquid/liquid_vo0.8_Nylon_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_Nylon_Draft_Print.inst.cfg index 70db87df10..87dd876588 100644 --- a/resources/quality/liquid/liquid_vo0.8_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_Nylon_Draft_Print.inst.cfg @@ -21,7 +21,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_standby_temperature = 100 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_acceleration = =acceleration_layer_0 raft_airgap = =round(layer_height_0 * 0.85, 2) raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 2) diff --git a/resources/quality/liquid/liquid_vo0.8_Nylon_Superdraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_Nylon_Superdraft_Print.inst.cfg index a134533c46..891a20540d 100644 --- a/resources/quality/liquid/liquid_vo0.8_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_Nylon_Superdraft_Print.inst.cfg @@ -21,7 +21,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_standby_temperature = 100 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_acceleration = =acceleration_layer_0 raft_airgap = =round(layer_height_0 * 0.85, 2) raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 2) diff --git a/resources/quality/liquid/liquid_vo0.8_Nylon_Verydraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_Nylon_Verydraft_Print.inst.cfg index d8c5450478..e009094760 100644 --- a/resources/quality/liquid/liquid_vo0.8_Nylon_Verydraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_Nylon_Verydraft_Print.inst.cfg @@ -21,7 +21,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_standby_temperature = 100 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_acceleration = =acceleration_layer_0 raft_airgap = =round(layer_height_0 * 0.85, 2) raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 2) diff --git a/resources/quality/liquid/liquid_vo0.8_PETG_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_PETG_Draft_Print.inst.cfg index f941d5a55d..947c042b8c 100644 --- a/resources/quality/liquid/liquid_vo0.8_PETG_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_PETG_Draft_Print.inst.cfg @@ -25,7 +25,7 @@ machine_nozzle_heat_up_speed = 1.6 material_final_print_temperature = =max(-273.15, material_print_temperature - 15) material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/liquid/liquid_vo0.8_PETG_Superdraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_PETG_Superdraft_Print.inst.cfg index d96bf8d17e..08cb14cb26 100644 --- a/resources/quality/liquid/liquid_vo0.8_PETG_Superdraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_PETG_Superdraft_Print.inst.cfg @@ -25,7 +25,7 @@ machine_nozzle_heat_up_speed = 1.6 material_final_print_temperature = =max(-273.15, material_print_temperature - 15) material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True raft_margin = 10 retract_at_layer_change = False speed_print = 45 diff --git a/resources/quality/liquid/liquid_vo0.8_PETG_Verydraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_PETG_Verydraft_Print.inst.cfg index 53142e5348..187ed1f212 100644 --- a/resources/quality/liquid/liquid_vo0.8_PETG_Verydraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_PETG_Verydraft_Print.inst.cfg @@ -25,7 +25,7 @@ machine_nozzle_heat_up_speed = 1.6 material_final_print_temperature = =max(-273.15, material_print_temperature - 15) material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/liquid/liquid_vo0.8_PLA_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_PLA_Draft_Print.inst.cfg index 5a4cb62ee2..10b6e8185a 100644 --- a/resources/quality/liquid/liquid_vo0.8_PLA_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_PLA_Draft_Print.inst.cfg @@ -25,7 +25,7 @@ machine_nozzle_heat_up_speed = 1.6 material_final_print_temperature = =max(-273.15, material_print_temperature - 15) material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/liquid/liquid_vo0.8_PLA_Superdraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_PLA_Superdraft_Print.inst.cfg index 4168b05c61..ed0fc7fd8a 100644 --- a/resources/quality/liquid/liquid_vo0.8_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_PLA_Superdraft_Print.inst.cfg @@ -25,7 +25,7 @@ machine_nozzle_heat_up_speed = 1.6 material_final_print_temperature = =max(-273.15, material_print_temperature - 15) material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True raft_margin = 10 retract_at_layer_change = False speed_print = 45 diff --git a/resources/quality/liquid/liquid_vo0.8_PLA_Verydraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_PLA_Verydraft_Print.inst.cfg index af930c749a..9def9ecb97 100644 --- a/resources/quality/liquid/liquid_vo0.8_PLA_Verydraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_PLA_Verydraft_Print.inst.cfg @@ -25,7 +25,7 @@ machine_nozzle_heat_up_speed = 1.6 material_final_print_temperature = =max(-273.15, material_print_temperature - 15) material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/liquid/liquid_vo0.8_PP_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_PP_Draft_Print.inst.cfg index dab7612a6c..4c3f60a240 100644 --- a/resources/quality/liquid/liquid_vo0.8_PP_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_PP_Draft_Print.inst.cfg @@ -26,9 +26,9 @@ material_print_temperature = =default_material_print_temperature - 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 10 -prime_tower_mode = normal retract_at_layer_change = False retraction_count_max = 12 retraction_extra_prime_amount = 0.5 diff --git a/resources/quality/liquid/liquid_vo0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_PP_Superdraft_Print.inst.cfg index 7ec446e803..1b7c05ac3c 100644 --- a/resources/quality/liquid/liquid_vo0.8_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_PP_Superdraft_Print.inst.cfg @@ -26,9 +26,9 @@ material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 20 -prime_tower_mode = normal retract_at_layer_change = False retraction_count_max = 12 retraction_extra_prime_amount = 0.5 diff --git a/resources/quality/liquid/liquid_vo0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_PP_Verydraft_Print.inst.cfg index 9913ea3779..7cbb60c3aa 100644 --- a/resources/quality/liquid/liquid_vo0.8_PP_Verydraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_PP_Verydraft_Print.inst.cfg @@ -25,9 +25,9 @@ material_bed_temperature_layer_0 = =material_bed_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 2 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 15 -prime_tower_mode = normal retract_at_layer_change = False retraction_count_max = 12 retraction_extra_prime_amount = 0.5 diff --git a/resources/quality/liquid/liquid_vo0.8_TPU_Draft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_TPU_Draft_Print.inst.cfg index 54d9c23b98..4994e3f9f4 100644 --- a/resources/quality/liquid/liquid_vo0.8_TPU_Draft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_TPU_Draft_Print.inst.cfg @@ -30,8 +30,8 @@ material_print_temperature = =default_material_print_temperature - 2 material_print_temperature_layer_0 = =material_print_temperature + 19 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retract_at_layer_change = False retraction_count_max = 12 retraction_extra_prime_amount = 0.5 diff --git a/resources/quality/liquid/liquid_vo0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_TPU_Superdraft_Print.inst.cfg index 289e9d48b7..fd15d041b8 100644 --- a/resources/quality/liquid/liquid_vo0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_TPU_Superdraft_Print.inst.cfg @@ -31,8 +31,8 @@ material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retract_at_layer_change = False retraction_count_max = 12 retraction_extra_prime_amount = 0.5 diff --git a/resources/quality/liquid/liquid_vo0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/liquid/liquid_vo0.8_TPU_Verydraft_Print.inst.cfg index c8cad9bb3f..5c88fb165f 100644 --- a/resources/quality/liquid/liquid_vo0.8_TPU_Verydraft_Print.inst.cfg +++ b/resources/quality/liquid/liquid_vo0.8_TPU_Verydraft_Print.inst.cfg @@ -30,8 +30,8 @@ material_initial_print_temperature = =material_print_temperature material_print_temperature_layer_0 = =material_print_temperature + 17 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retract_at_layer_change = False retraction_count_max = 12 retraction_extra_prime_amount = 0.5 diff --git a/resources/quality/nps/nps_ABS_B.inst.cfg b/resources/quality/nps/nps_ABS_B.inst.cfg index 520bda4b05..3f700405bd 100644 --- a/resources/quality/nps/nps_ABS_B.inst.cfg +++ b/resources/quality/nps/nps_ABS_B.inst.cfg @@ -22,7 +22,7 @@ material_bed_temperature = 100 material_flow = 96 material_print_temperature = =default_material_print_temperature + 13 material_print_temperature_layer_0 = =243 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/nps/nps_ABS_C.inst.cfg b/resources/quality/nps/nps_ABS_C.inst.cfg index 1131f61d36..6138e4004c 100644 --- a/resources/quality/nps/nps_ABS_C.inst.cfg +++ b/resources/quality/nps/nps_ABS_C.inst.cfg @@ -22,7 +22,7 @@ material_bed_temperature = 100 material_flow = 91 material_print_temperature = =default_material_print_temperature + 15 material_print_temperature_layer_0 = =245 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/nps/nps_PC_A.inst.cfg b/resources/quality/nps/nps_PC_A.inst.cfg index 90cc71d951..8665f8ceae 100644 --- a/resources/quality/nps/nps_PC_A.inst.cfg +++ b/resources/quality/nps/nps_PC_A.inst.cfg @@ -32,7 +32,7 @@ material_bed_temperature = 110 material_flow = 100 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =280 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/nps/nps_PC_B.inst.cfg b/resources/quality/nps/nps_PC_B.inst.cfg index 3761d802d7..9ccb5cea53 100644 --- a/resources/quality/nps/nps_PC_B.inst.cfg +++ b/resources/quality/nps/nps_PC_B.inst.cfg @@ -32,7 +32,7 @@ material_bed_temperature = 110 material_flow = 88 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = 275 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/nps/nps_PC_C.inst.cfg b/resources/quality/nps/nps_PC_C.inst.cfg index 85752e78c2..30267d4237 100644 --- a/resources/quality/nps/nps_PC_C.inst.cfg +++ b/resources/quality/nps/nps_PC_C.inst.cfg @@ -32,7 +32,7 @@ material_bed_temperature = 110 material_flow = 88 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = 275 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/nps/nps_PETG_A.inst.cfg b/resources/quality/nps/nps_PETG_A.inst.cfg index 0985dd1b3a..3cae430f1c 100644 --- a/resources/quality/nps/nps_PETG_A.inst.cfg +++ b/resources/quality/nps/nps_PETG_A.inst.cfg @@ -22,7 +22,7 @@ material_bed_temperature = 80 material_flow = 98 material_print_temperature = =default_material_print_temperature + 20 material_print_temperature_layer_0 = =230 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/nps/nps_PETG_B.inst.cfg b/resources/quality/nps/nps_PETG_B.inst.cfg index e3a5f165ad..5860f65414 100644 --- a/resources/quality/nps/nps_PETG_B.inst.cfg +++ b/resources/quality/nps/nps_PETG_B.inst.cfg @@ -22,7 +22,7 @@ material_bed_temperature = 80 material_flow = 95 material_print_temperature = =default_material_print_temperature + 20 material_print_temperature_layer_0 = =230 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_A.inst.cfg index 0569a356f3..39ba32a332 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 100 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_B.inst.cfg index e906508f7f..dd0d167e6b 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 96 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_C.inst.cfg index a883aba2ec..f894a7dc13 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS-X_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 91 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_A.inst.cfg index dc595e8c5d..7642489c2a 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 100 material_print_temperature = =default_material_print_temperature + 1 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_B.inst.cfg index a84b12135f..bf5c18405b 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 96 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature + 1 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_C.inst.cfg index ef6358a6a0..6756384e4a 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ABS_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 91 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature +3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_A.inst.cfg index 7a0cd7ee8d..978484d813 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 98 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_B.inst.cfg index 4fa5d070aa..bcec4fe68f 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 95 material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature + 0 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_C.inst.cfg index 7944c44371..85f79ebe7a 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ACETATE_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 93 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_A.inst.cfg index fb2ee81c9f..9b29e49624 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 100 material_print_temperature = =default_material_print_temperature + 1 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_B.inst.cfg index 4e63f1513d..07a46f0d05 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 96 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_C.inst.cfg index 5e158007ab..60410d8d34 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_ASA-X_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 91 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 7 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_A.inst.cfg index f73adbfa51..9304630630 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_A.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_B.inst.cfg index da2aa05237..d39d91c91a 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_B.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_C.inst.cfg index e636a5ebee..e716824cf0 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_COPA_C.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_A.inst.cfg index a997ac74dd..bd964bed2a 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_B.inst.cfg index 7055e3dadd..cd27f77737 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_C.inst.cfg index 6c66ffd76c..78191af7be 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_HIPS_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_A.inst.cfg index f451618a28..f37a3b4d6d 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_A.inst.cfg @@ -34,7 +34,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 88 material_print_temperature = 260 material_print_temperature_layer_0 = 265 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_B.inst.cfg index 5866dad50b..75fed99b1e 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_B.inst.cfg @@ -34,7 +34,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 88 material_print_temperature = 270 material_print_temperature_layer_0 = 275 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_C.inst.cfg index 502dd8be07..51911c3811 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PC_C.inst.cfg @@ -34,7 +34,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 88 material_print_temperature = 270 material_print_temperature_layer_0 = 275 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PEKK_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PEKK_B.inst.cfg index 5279228105..e4596d9def 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PEKK_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PEKK_B.inst.cfg @@ -33,7 +33,7 @@ material_flow = 105 material_flow_layer_0 = 120 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_A.inst.cfg index 92c62d2b43..d0faf6eb66 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 98 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_B.inst.cfg index 92811521ac..3a64a52254 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_C.inst.cfg index 234d33c2eb..debf74ed0d 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PETG_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 91 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature +5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_A.inst.cfg index 76ea2997ba..990d5cf645 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 98 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_B.inst.cfg index fc3d8e47ec..82f26cd66d 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_C.inst.cfg index f4bfb4c698..a91b035e38 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 91 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_A.inst.cfg index 82715060a6..c7194e18d2 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_A.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 10 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 2 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_B.inst.cfg index ca19b0ee14..078e213a26 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_B.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 2 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_C.inst.cfg index f61b83ab7b..bfb4c46c46 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_PLA_HT_C.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 2 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_A.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_A.inst.cfg index 85097b4506..8dd1c17ea6 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_A.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.38 material_flow = 107 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature - 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = False retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_B.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_B.inst.cfg index 967f7c21a5..cca98aa599 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_B.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.38 material_flow = 103 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = False retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_C.inst.cfg b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_C.inst.cfg index 9110650629..5a343d6893 100644 --- a/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_C.inst.cfg +++ b/resources/quality/strateo3d/HT0_4/s3d_ht0.4_TPU98A_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.38 material_flow = 101 material_print_temperature = =default_material_print_temperature + 7 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = False retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_A.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_A.inst.cfg index de6356694f..e6be881341 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 100 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_B.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_B.inst.cfg index ec119cba9f..c4342c149a 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 96 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_C.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_C.inst.cfg index 0b4df9f3a3..e3581e0823 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ABS-X_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 91 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 ad5d8c8586..4c451894bd 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 100 material_print_temperature = =default_material_print_temperature + 1 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 e0600e72d8..65c2c9e81f 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 96 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature + 1 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 5827b15cf9..2f5cf9cfa3 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 91 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature +3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_A.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_A.inst.cfg index 3ee7204b92..36d6697edb 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 98 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_B.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_B.inst.cfg index 4834ca9eef..e92561350a 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 95 material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature + 0 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_C.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_C.inst.cfg index 4850f68dc0..e61775fde0 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ACETATE_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 93 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_A.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_A.inst.cfg index ec7cbcc0fd..020b95dad2 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 100 material_print_temperature = =default_material_print_temperature + 1 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_B.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_B.inst.cfg index 6f086f0605..6688d82ec8 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 96 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_C.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_C.inst.cfg index ff5016d543..2c8d6a82d3 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_ASA-X_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 91 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 7 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_A.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_A.inst.cfg index e324931269..fe012ff873 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_B.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_B.inst.cfg index 5aea3605f5..c0adce0f84 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_C.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_C.inst.cfg index 24a1faed48..5b58c2f37b 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_BVOH_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_A.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_A.inst.cfg index d73b6ac796..f986831fd5 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_A.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_B.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_B.inst.cfg index 14d3867950..5d360b244b 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_B.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_C.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_C.inst.cfg index 26e6ebc4df..3875e668f4 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_COPA_C.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_A.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_A.inst.cfg index 54954ff567..d4d0e1c17e 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_A.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_B.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_B.inst.cfg index 057fb1b8cc..f2bb237ea2 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_C.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_C.inst.cfg index 63f71cff82..f6780fbded 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_HIPS_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_A.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_A.inst.cfg index afef00df11..6e726932a6 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_A.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_B.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_B.inst.cfg index 7b81803b0c..7ef50ff5b1 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_B.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_C.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_C.inst.cfg index c0ac99423d..4d4af1e0f7 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6CF_C.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_A.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_A.inst.cfg index bd0f177b1b..0d88c99c85 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_A.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_B.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_B.inst.cfg index 586d49b7db..de476e6e46 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_B.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_C.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_C.inst.cfg index 16c8c5e6aa..3fe7ff347c 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PA6GF_C.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_A.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_A.inst.cfg index 71a70f0849..9dd3039b65 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_A.inst.cfg @@ -34,7 +34,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 88 material_print_temperature = 260 material_print_temperature_layer_0 = 265 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_B.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_B.inst.cfg index ad26bba4cb..346f33bafb 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_B.inst.cfg @@ -34,7 +34,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 88 material_print_temperature = 270 material_print_temperature_layer_0 = 275 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_C.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_C.inst.cfg index e4da72d39a..8571e8c4b0 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PC_C.inst.cfg @@ -34,7 +34,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 88 material_print_temperature = 270 material_print_temperature_layer_0 = 275 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 b7bebe13b7..4231e1b3a1 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 98 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 f3bc48c8c9..c141a0ab07 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 70c2d3044c..9cd4262c55 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 91 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature +5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 d52ceb51ea..6f49ec9e3b 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 98 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 6124b1dfed..415379417c 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 b4a8bc21f4..c4ce86563f 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 91 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_A.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_A.inst.cfg index a764026ca7..dc4505591f 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_A.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_A.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 10 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 2 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_B.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_B.inst.cfg index 11b9d689c8..224fa18cd6 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_B.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 2 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True diff --git a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_C.inst.cfg b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_C.inst.cfg index 7521ef5d62..44737981b0 100644 --- a/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_4/s3d_std0.4_PLA_HT_C.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 2 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True 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 6de69d4eba..8bf71b5cf5 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 e2b282ab2a..3102afdc2c 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 60d02fac6d..ad6e361582 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 4969aad456..b7445aee86 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 7bf8dc30d4..cc849df9ba 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 27cef2d7c9..10cbd3a4cf 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.4 material_flow = 97 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 24e3a1f238..055bbb7623 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.38 material_flow = 107 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature - 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = False retraction_min_travel = =3*line_width 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 4211634c6d..028586beb4 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.38 material_flow = 103 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = False retraction_min_travel = =3*line_width 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 bd2c12c3f1..8bc0b97bc5 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.38 material_flow = 101 material_print_temperature = =default_material_print_temperature + 7 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = False retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_B.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_B.inst.cfg index 589f27a221..ec355cec15 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 100 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_C.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_C.inst.cfg index bca586491d..3ab4df020c 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 98 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_D.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_D.inst.cfg index 2e90b6fd6f..455cb44a7b 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ABS-X_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 96 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 e2f63845ee..3475c621c3 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 100 material_print_temperature = =default_material_print_temperature + 1 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 bc9df5fa14..d7d937fdef 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 98 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature + 1 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 7216eb093c..e83067bdc8 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 96 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_B.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_B.inst.cfg index a90e755a49..188cddf0d6 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_C.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_C.inst.cfg index 1d54fd6b3c..6127c2ec43 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 93 material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature + 0 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_D.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_D.inst.cfg index 90d3d00507..ca38be0476 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_ACETATE_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 91 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 ca2b4a9c9e..caa9003cb3 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 101 material_print_temperature = =default_material_print_temperature + 1 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 b297719ba1..a10cbdac7d 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 99 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 34882ab1af..85fe174e95 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 97 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 7 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_B.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_B.inst.cfg index 07969b958a..9b48be1b8b 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_C.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_C.inst.cfg index ecd3384a5b..0440a0a34a 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_D.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_D.inst.cfg index a4a87bc3f3..7f124ae4ec 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_BVOH_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_B.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_B.inst.cfg index c0f93168da..f662c41048 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_B.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 3 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_C.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_C.inst.cfg index 4116205747..dae0dda098 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_C.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 3 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_D.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_D.inst.cfg index df1fb6e2e7..1079c746ec 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_COPA_D.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 3 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_B.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_B.inst.cfg index aa5bfa30f2..04991249e9 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_B.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_C.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_C.inst.cfg index 887a35f80e..685778f3f1 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_D.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_D.inst.cfg index a9a4bcb18f..ab5eca1d47 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_HIPS_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 d73114c313..a5a2addbc6 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 93 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_B.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_B.inst.cfg index e3f0657f1f..6ecc9a3265 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_B.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_C.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_C.inst.cfg index 542f9405b1..9e060959dd 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_C.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_D.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_D.inst.cfg index 43ff676c46..322d30a975 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6CF_D.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_B.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_B.inst.cfg index 2cca8a5c45..5ae6c32cb8 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_B.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_C.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_C.inst.cfg index 951e26d841..3fbe1f6370 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_C.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_D.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_D.inst.cfg index f408c5a293..46aacdf22c 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PA6GF_D.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_B.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_B.inst.cfg index 8b72022a0d..6997dae536 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_B.inst.cfg @@ -33,7 +33,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 87 material_print_temperature = 270 material_print_temperature_layer_0 = 275 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 2 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_C.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_C.inst.cfg index 2540f2bea9..70bb7206af 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_C.inst.cfg @@ -33,7 +33,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 87 material_print_temperature = 270 material_print_temperature_layer_0 = 275 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 2 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_D.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_D.inst.cfg index c6bd8cc70e..eb89937ded 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PC_D.inst.cfg @@ -33,7 +33,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 87 material_print_temperature = 270 material_print_temperature_layer_0 = 275 -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 2 retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True 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 02b8e45e22..4bc567a2d9 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 93 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 26e2eb5029..f08c2e68b7 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 92 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 f97462d99c..4a9a1472b8 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 91 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature +5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 540e14ba23..41edbc8e32 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 93 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 af851371a1..10356ad344 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 92 material_print_temperature = =default_material_print_temperature + 8 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 e2470b9ecf..9f04791ac2 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 91 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_B.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_B.inst.cfg index 21c4f9eccc..56e09ac385 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_B.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_B.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_C.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_C.inst.cfg index b210d0fd30..6c8a5462aa 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_C.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_D.inst.cfg b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_D.inst.cfg index 6b6a5923ce..be4a045e0d 100644 --- a/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_6/s3d_std0.6_PLA_HT_D.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 f677ac9e32..6b107e9c9b 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 9ed4c381c9..ca169572b9 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 3f928f436d..7e7a3ed9d1 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 d8e702dc7a..a08e251fe0 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 53516d4617..2bcf4d4b1d 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 e7298a71d3..1352a75a8a 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.6 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width 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 cd9de526ec..ad699959aa 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.55 material_flow = 105 material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature - 2 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = False retraction_min_travel = =3*line_width 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 4de06235da..6fdabc1a83 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.55 material_flow = 103 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = False retraction_min_travel = =3*line_width 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 431623b7c6..1954931cc7 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.55 material_flow = 101 material_print_temperature = =default_material_print_temperature + 7 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.2 retraction_hop_only_when_collides = False retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_C.inst.cfg index e0c29062d7..913af1994b 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature + 1 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_D.inst.cfg index 9230df64e3..573834fc79 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 96 material_print_temperature = =default_material_print_temperature + 7 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_E.inst.cfg index 7117a889ed..3d5d1781ae 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ABS-X_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 95 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width 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 97d2209bda..4910a69272 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width 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 111504ad7b..28d395019a 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 96 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 2 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width 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 d5322c039a..b91ceb1f85 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 95 material_print_temperature = =default_material_print_temperature + 7 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_C.inst.cfg index 74d0fa3869..4a32ddceaf 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature + 1 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_D.inst.cfg index 80dfbe8dbc..e45a8970f7 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 96 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_E.inst.cfg index 26decee7ba..c0a9632b95 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_ASA-X_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 7 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_C.inst.cfg index 850458ed36..bce7e2891f 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_D.inst.cfg index 06f9ed6686..0a053f123e 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_E.inst.cfg index 36398c0cfc..4f167ecacc 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_BVOH_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_C.inst.cfg index 8dd9bc10fb..8efea7e264 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_C.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop = 2 retraction_hop_enabled = True diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_D.inst.cfg index fb149908d1..d2f6973da7 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_D.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop = 2 retraction_hop_enabled = True diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_E.inst.cfg index 47d9a50940..57e9fc27a4 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_COPA_E.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop = 2 retraction_hop_enabled = True diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_C.inst.cfg index e57fefc2b9..2ef4a5b479 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_D.inst.cfg index 0cbddce4c9..a7549a851c 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_E.inst.cfg index 965c08e8f9..322f31e986 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_HIPS_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_C.inst.cfg index 4062997ba0..6f3fa578bf 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_C.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_D.inst.cfg index e6acfe27b8..ee3166e7da 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_D.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_E.inst.cfg index 602837f410..05eabcc6a3 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6CF_E.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_C.inst.cfg index d5bb0ac8ba..d10b2df53b 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_C.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_D.inst.cfg index 022a6f36bf..181d89f957 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_D.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_E.inst.cfg index 35421e68d6..38bd72884b 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PA6GF_E.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_C.inst.cfg index 65217b7ff9..d8b2e660fc 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_C.inst.cfg @@ -35,7 +35,7 @@ material_print_temperature = 280 material_print_temperature_layer_0 = 285 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_min_travel = =2*line_width retraction_speed = 35 diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_D.inst.cfg index 118acb433f..c39338eeca 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_D.inst.cfg @@ -35,7 +35,7 @@ material_print_temperature = 280 material_print_temperature_layer_0 = 285 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_min_travel = =2*line_width retraction_speed = 35 diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_E.inst.cfg index c8102ecdf9..f88eff1615 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PC_E.inst.cfg @@ -35,7 +35,7 @@ material_print_temperature = 280 material_print_temperature_layer_0 = 285 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_min_travel = =2*line_width retraction_speed = 35 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 df178b1807..59a6db473d 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.4 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width 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 95973a4428..9a94498b12 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.4 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width 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 32073574ea..2611e1deba 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 93 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature +5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.4 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width 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 4b306434b9..35644e47a8 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 99 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width 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 99a245dfb4..a820dd8467 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 98 material_print_temperature = =default_material_print_temperature + 7 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width 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 d7ecb95748..a4f135a4fa 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_C.inst.cfg index 9a973d225d..ee58caf9e6 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_C.inst.cfg @@ -27,7 +27,7 @@ material_flow = 93 material_initial_print_temperature = =default_material_print_temperature material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_D.inst.cfg index 6ff6a8dd0e..6399e7fd1f 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_D.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_E.inst.cfg index 5f19e2ab77..e034d49e6e 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PLA_HT_E.inst.cfg @@ -29,7 +29,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_C.inst.cfg index 5ea81eab76..632c45a51f 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_D.inst.cfg index cc5ecebffe..e882d42015 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_E.inst.cfg index d133a60b41..7b52c7bb2d 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-M_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_C.inst.cfg index 1e243bbea4..a0fcdc4a52 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_D.inst.cfg index 54889f9923..496e5fe215 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_E.inst.cfg index 8f484b0616..9c676c934b 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_PVA-S_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.8 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_C.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_C.inst.cfg index f328b88645..0b4c3c0281 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_C.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_C.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.7 material_flow = 105 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_D.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_D.inst.cfg index 9d11111b78..ffbb925a22 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.7 material_flow = 103 material_print_temperature = =default_material_print_temperature + 6 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_E.inst.cfg b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_E.inst.cfg index ed25c0fb46..60af5617e3 100644 --- a/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_0_8/s3d_std0.8_TPU98A_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.7 material_flow = 101 material_print_temperature = =default_material_print_temperature + 9 material_print_temperature_layer_0 = =default_material_print_temperature +5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width 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 0b70ff0384..71581b46ad 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.7 material_flow = 100 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width 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 f519ec66d5..bcbb45062a 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.7 material_flow = 100 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width 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 83c109070a..827ae4a7ba 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 @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.7 material_flow = 100 material_print_temperature = =default_material_print_temperature + 7 material_print_temperature_layer_0 = =default_material_print_temperature +3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_D.inst.cfg index 09ffbaed98..29f88f6e15 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_E.inst.cfg index ff50fd3deb..316e5d4447 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_F.inst.cfg index fbbc7a0187..44203ad144 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ABS_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature +5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_D.inst.cfg index 95a6d4e732..e322951476 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 100 material_print_temperature = =default_material_print_temperature + 1 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.4 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_E.inst.cfg index 2c0caa6a06..b4ee9ea985 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 100 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.4 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_F.inst.cfg index c896adef1b..708896fdb7 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_ASA-X_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 100 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 7 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.4 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_D.inst.cfg index 0dcc4405d7..63ca3d88ff 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_E.inst.cfg index 73dce76c2e..62ed1914db 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_F.inst.cfg index 36902a619f..ac9ec6324e 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_BVOH_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_D.inst.cfg index b0bc012110..b225d8a911 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_E.inst.cfg index baf4211645..6e859c8dd0 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_F.inst.cfg index 754d20c802..6b8ebd9d20 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_HIPS_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_D.inst.cfg index 717aed8e49..f168d4cf46 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_D.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_E.inst.cfg index d41dea9d7b..652876d6b2 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_E.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_F.inst.cfg index b708481aeb..482b99c2f6 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6CF_F.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_D.inst.cfg index 5e604e6f65..551e79a8e4 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_D.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_E.inst.cfg index 31f7a30f3f..5709736147 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_E.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_F.inst.cfg index f35389424c..38f3b2b2ef 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PA6GF_F.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_D.inst.cfg index 902e42aef1..54a6d54cc0 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 95 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_E.inst.cfg index f1fc4dd877..abdd37d98d 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 95 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_F.inst.cfg index 03c73269f8..50f3b04e16 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PETG_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 95 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_D.inst.cfg index ddf8abc4c1..35e9d19957 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_E.inst.cfg index 77eb559e6e..6e59384a4d 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 100 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_F.inst.cfg index 5053e91cbb..9df5f69d75 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PLA_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 100 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature +5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_D.inst.cfg index 0e658a7bd2..45b5a9e415 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_E.inst.cfg index f30a55729c..70ec1234ff 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_F.inst.cfg index eca2362651..6327502027 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-M_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_D.inst.cfg index ec460ac49e..d7056a3f11 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_E.inst.cfg index 1e85473f67..a5ec67621f 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_F.inst.cfg index 9650dac1c0..4ddc98ddd2 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_PVA-S_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.0 material_flow = 97 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_D.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_D.inst.cfg index 38cf5927f0..1b3a77ab8b 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_D.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_D.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.9 material_flow = 107 material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_E.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_E.inst.cfg index 60baaa1038..be45c084a5 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_E.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_E.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.9 material_flow = 107 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_F.inst.cfg b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_F.inst.cfg index 385d21e44d..c02401c4d5 100644 --- a/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_0_Experimental/s3d_std1.0_TPU98A_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*0.9 material_flow = 107 material_print_temperature = =default_material_print_temperature + 8 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_F.inst.cfg index ef7573779d..ba91c749d5 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 103 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_G.inst.cfg index 86e4022a27..b1d4c72a34 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_G.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 102 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_H.inst.cfg index aa2af46845..4fac7e687d 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ABS_H.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 101 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature +5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_F.inst.cfg index 915523eadf..91b4699598 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature + 1 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_G.inst.cfg index d258496552..8d84bc4fd5 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_G.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_H.inst.cfg index 93420a5103..eafe3eef80 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_ASA-X_H.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 7 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_F.inst.cfg index 41764726df..3286e7fb08 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_G.inst.cfg index 2e4bb516b0..bb164bcd99 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_G.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_H.inst.cfg index 700c0102c2..82ad174a95 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_BVOH_H.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_F.inst.cfg index 941f0a6c81..f33abf1ec3 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 103 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_G.inst.cfg index 4cd7728a69..2edb0e32f8 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_G.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 102 material_print_temperature = =default_material_print_temperature + 3 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_H.inst.cfg index 01b584afcd..30d7139eb9 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_HIPS_H.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 101 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_F.inst.cfg index a4c6fd4046..1bf36453d1 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_F.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_G.inst.cfg index 376c9b1d51..f413dd3e17 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_G.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_H.inst.cfg index 5e27fec150..9b228f7b05 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6CF_H.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_F.inst.cfg index 5ca32bd655..68c8604a95 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_F.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_G.inst.cfg index bdebb9a0ac..66fc7c2f92 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_G.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_H.inst.cfg index 01c65f4586..aceba867c2 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PA6GF_H.inst.cfg @@ -37,7 +37,7 @@ material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 5 meshfix_maximum_deviation = 0.04 meshfix_maximum_resolution = 0.5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.1 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_F.inst.cfg index 9a8aaeb18e..a34c3a4d45 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_G.inst.cfg index ba4d2b22ec..bd41a808d0 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_G.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_H.inst.cfg index 2b1b5fb2f9..6036150353 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PETG_H.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 95 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_F.inst.cfg index 6e05ba15a6..c150380c74 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 107 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_G.inst.cfg index 56765cb156..74ce8559d2 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_G.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 105 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_H.inst.cfg index 36d6248682..f59b68f675 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PLA_H.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 103 material_print_temperature = =default_material_print_temperature + 10 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.5 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_F.inst.cfg index d88ff841d0..689c1fe076 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_G.inst.cfg index 9bb1258fc8..514cdcbfde 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_G.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_H.inst.cfg index 7a662ec6d1..123dc9a953 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-M_H.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_F.inst.cfg index 767b72a566..9c3f620a2d 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_G.inst.cfg index da088dc345..0b841dfb09 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_G.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_H.inst.cfg index 1ae6c25ebb..adfe816125 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_PVA-S_H.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.2 material_flow = 100 material_print_temperature = =default_material_print_temperature material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = True retraction_min_travel = =3*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_F.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_F.inst.cfg index a9eb8331c8..4b6108e51d 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_F.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_F.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.1 material_flow = 111 material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_G.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_G.inst.cfg index 03cb145944..99af35534f 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_G.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_G.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.1 material_flow = 111 material_print_temperature = =default_material_print_temperature + 5 material_print_temperature_layer_0 = =default_material_print_temperature + 3 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width diff --git a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_H.inst.cfg b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_H.inst.cfg index ac77c87265..21043cae58 100644 --- a/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_H.inst.cfg +++ b/resources/quality/strateo3d/Standard_1_2_Experimental/s3d_std1.2_TPU98A_H.inst.cfg @@ -24,7 +24,7 @@ line_width = =machine_nozzle_size/machine_nozzle_size*1.1 material_flow = 111 material_print_temperature = =default_material_print_temperature + 8 material_print_temperature_layer_0 = =default_material_print_temperature + 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_extra_prime_amount = 0.3 retraction_hop_only_when_collides = False retraction_min_travel = =2*line_width diff --git a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Only_Quality.inst.cfg b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Only_Quality.inst.cfg index 538bcfedb9..ac5f3e5bee 100644 --- a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Only_Quality.inst.cfg +++ b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Only_Quality.inst.cfg @@ -22,8 +22,8 @@ material_final_print_temperature = =material_print_temperature material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature optimize_wall_printing_order = True +prime_tower_enable = True prime_tower_flow = 110 -prime_tower_mode = normal prime_tower_size = 35 retraction_min_travel = 2 skirt_gap = 2 diff --git a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Quality.inst.cfg b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Quality.inst.cfg index 86c4cd1894..eca85becc6 100644 --- a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Quality.inst.cfg +++ b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Quality.inst.cfg @@ -19,8 +19,8 @@ material_final_print_temperature = =material_print_temperature material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature optimize_wall_printing_order = True +prime_tower_enable = True prime_tower_flow = 110 -prime_tower_mode = normal prime_tower_size = 35 retraction_hop_enabled = False support_enable = True diff --git a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_High_Quality.inst.cfg b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_High_Quality.inst.cfg index 83ec574663..8071d7193e 100644 --- a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_High_Quality.inst.cfg +++ b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_High_Quality.inst.cfg @@ -30,8 +30,8 @@ material_flow_layer_0 = 93 material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature optimize_wall_printing_order = True +prime_tower_enable = True prime_tower_flow = 110 -prime_tower_mode = normal prime_tower_size = 35 retraction_amount = 5 retraction_hop_enabled = False diff --git a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Normal_Quality.inst.cfg b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Normal_Quality.inst.cfg index 2269a480a5..8354fba5e0 100644 --- a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Normal_Quality.inst.cfg +++ b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Normal_Quality.inst.cfg @@ -30,8 +30,8 @@ material_flow_layer_0 = 93 material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature optimize_wall_printing_order = True +prime_tower_enable = True prime_tower_flow = 110 -prime_tower_mode = normal prime_tower_size = 35 retraction_amount = 5 retraction_hop_enabled = False diff --git a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_PVA_Quality.inst.cfg b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_PVA_Quality.inst.cfg index 4fed169568..074632abda 100644 --- a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_PVA_Quality.inst.cfg +++ b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_PVA_Quality.inst.cfg @@ -19,8 +19,8 @@ material_final_print_temperature = =material_print_temperature material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature optimize_wall_printing_order = True +prime_tower_enable = True prime_tower_flow = 110 -prime_tower_mode = normal prime_tower_size = 35 retraction_hop_enabled = False support_enable = True diff --git a/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg index 632a1fb46d..eeb924906f 100644 --- a/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg @@ -21,7 +21,7 @@ machine_min_cool_heat_time_window = 15 material_print_temperature = =default_material_print_temperature - 10 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg index 0667ef961d..a64c8298a2 100644 --- a/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg @@ -21,7 +21,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 2 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg index d93ba61d9d..16be0db845 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg @@ -15,7 +15,7 @@ weight = -2 machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 20 speed_print = 60 speed_topbottom = =math.ceil(speed_print * 35 / 60) diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg index b92a826f5a..916b283c9c 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg @@ -15,7 +15,7 @@ weight = -1 machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 10 -prime_tower_mode = none +prime_tower_enable = False speed_print = 60 speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 40 / 60) diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg index 2fe35f1a2e..5dcbe80bbb 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg @@ -15,7 +15,7 @@ weight = 1 machine_nozzle_cool_down_speed = 0.8 machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 20 -prime_tower_mode = none +prime_tower_enable = False speed_print = 50 speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 50) diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg index fcecc2701b..1420880995 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg @@ -15,7 +15,7 @@ weight = 0 machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 15 -prime_tower_mode = none +prime_tower_enable = False speed_print = 55 speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55) diff --git a/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg index cf417a84b6..e0dd43cc28 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg @@ -16,7 +16,7 @@ brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 skin_overlap = 20 speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_wall = =math.ceil(speed_print * 50 / 70) diff --git a/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg index 363a43975e..16ece7c2dd 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg @@ -15,7 +15,7 @@ weight = -1 brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 speed_print = 80 speed_topbottom = =math.ceil(speed_print * 30 / 80) speed_wall = =math.ceil(speed_print * 40 / 80) diff --git a/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg index 92dae4a19f..ca7fd8cbf3 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg @@ -15,7 +15,7 @@ weight = 0 brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 skin_overlap = 10 support_angle = 45 support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg index 2540a78b21..5de59e58c9 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg @@ -18,7 +18,7 @@ infill_wipe_dist = 0 layer_height = 0.2 machine_min_cool_heat_time_window = 15 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg index 37e8df992d..b2020831d7 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg @@ -18,7 +18,7 @@ infill_wipe_dist = 0 layer_height = 0.15 machine_min_cool_heat_time_window = 15 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg index 5ba84b0564..4be3a9c13a 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg @@ -21,7 +21,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 8 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg index 0fb115b548..2e24f485d0 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg @@ -20,7 +20,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 5 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg index d0d447acdf..28e8ccbf75 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg @@ -24,7 +24,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg index e55a49baba..5113277ab2 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg @@ -23,7 +23,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg index ee55427cf7..636ce41e71 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg @@ -25,7 +25,7 @@ machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 20 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg index 15410514cd..a7c533bfea 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg @@ -23,7 +23,7 @@ machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 10 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg index a79b715ee0..1d44e48193 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg @@ -15,7 +15,7 @@ weight = -2 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 20 speed_topbottom = =math.ceil(speed_print * 40 / 70) speed_wall = =math.ceil(speed_print * 55 / 70) diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg index a838352f48..6b99ed5a70 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg @@ -14,7 +14,7 @@ weight = -1 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False speed_print = 80 speed_topbottom = =math.ceil(speed_print * 30 / 80) speed_wall = =math.ceil(speed_print * 40 / 80) diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg index e5a10d9222..97be45babc 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg @@ -15,7 +15,7 @@ weight = 1 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 10 speed_print = 60 speed_topbottom = =math.ceil(speed_print * 30 / 60) diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg index 486b74c1b2..f305caa82d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg @@ -14,7 +14,7 @@ weight = 0 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 10 top_bottom_thickness = 1 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg index 4293ca81f1..c82043d3af 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg @@ -24,7 +24,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature + 8 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_amount = 6.5 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg index 1b396f5417..74a628f7cb 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg @@ -23,7 +23,7 @@ machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg index 6c4ee71b82..fa9b4c54ea 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg @@ -23,7 +23,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 2 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg index d8fca155d3..cffd1e6075 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg @@ -14,7 +14,7 @@ weight = -2 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 20 speed_print = 50 speed_roofing = =math.ceil(speed_wall * 20 / 24) diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Fast_Print.inst.cfg index 5ea9fe9336..94fe824f5e 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Fast_Print.inst.cfg @@ -14,7 +14,7 @@ weight = -1 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Normal_Quality.inst.cfg index 4e03569ca6..05a6896646 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Normal_Quality.inst.cfg @@ -15,7 +15,7 @@ weight = 0 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False skin_overlap = 10 speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg index 0443afa3f6..dcca81f3ef 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg @@ -17,7 +17,7 @@ brim_width = 14 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 20 -prime_tower_mode = normal +prime_tower_enable = True retraction_hop = 0.1 retraction_hop_enabled = False skin_overlap = 0 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg index ccae2cc5d8..585ae8eefe 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg @@ -18,7 +18,7 @@ layer_height = 0.4 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 15 -prime_tower_mode = normal +prime_tower_enable = True retraction_hop = 0.1 retraction_hop_enabled = False skin_overlap = 0 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg index 9596b00d33..2280a837ae 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg @@ -18,7 +18,7 @@ layer_height = 0.3 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 17 -prime_tower_mode = normal +prime_tower_enable = True retraction_hop = 0.1 retraction_hop_enabled = False skin_overlap = 0 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg index 4a7e29ec36..b1f867807b 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg @@ -14,7 +14,7 @@ weight = -2 [values] brim_width = 15 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg index 5c5b732990..a75ae74ada 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg @@ -15,7 +15,7 @@ weight = -4 brim_width = 15 layer_height = 0.4 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True speed_infill = =math.ceil(speed_print * 33 / 45) speed_print = 45 speed_topbottom = =math.ceil(speed_print * 30 / 45) diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg index 9a48e11a7b..c1544a00e2 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg @@ -15,7 +15,7 @@ weight = -3 brim_width = 15 layer_height = 0.3 material_print_temperature = =default_material_print_temperature + 12 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg index 747730c0a7..a0fc036566 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg @@ -17,7 +17,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 5 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.45 support_angle = 70 switch_extruder_prime_speed = 30 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg index 40f0779369..547ab013fb 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg @@ -18,7 +18,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 5 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.45 support_angle = 70 switch_extruder_prime_speed = 30 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg index 03116ec10d..b17789ad0f 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg @@ -18,7 +18,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 5 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.45 support_angle = 70 switch_extruder_prime_speed = 30 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PETG_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PETG_Draft_Print.inst.cfg index aab2e25ac2..3eafff9a07 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PETG_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PETG_Draft_Print.inst.cfg @@ -14,7 +14,7 @@ weight = -2 [values] brim_width = 7 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_combing = all speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) diff --git a/resources/quality/ultimaker3/um3_aa0.8_PETG_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PETG_Superdraft_Print.inst.cfg index 45ec96e089..fe36a86948 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PETG_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PETG_Superdraft_Print.inst.cfg @@ -15,7 +15,7 @@ weight = -4 brim_width = 7 layer_height = 0.4 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_combing = all speed_infill = =math.ceil(speed_print * 33 / 45) speed_print = 45 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PETG_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PETG_Verydraft_Print.inst.cfg index ee92c6add7..2bba762e2d 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PETG_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PETG_Verydraft_Print.inst.cfg @@ -15,7 +15,7 @@ weight = -3 brim_width = 7 layer_height = 0.3 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = normal +prime_tower_enable = True retraction_combing = all speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg index 84a9b9a5fb..57a830402a 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg @@ -17,7 +17,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg index ae59471ff3..40f710327f 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg @@ -18,7 +18,7 @@ layer_height = 0.4 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True speed_infill = =math.ceil(speed_print * 35 / 45) speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg index 2a4c093dca..702c64bb78 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg @@ -18,7 +18,7 @@ layer_height = 0.3 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg index c9e31486c0..145389fbe4 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg @@ -16,9 +16,9 @@ brim_width = 25 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' material_print_temperature = =default_material_print_temperature + 11 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 10 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg index e821581360..68d54bd406 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg @@ -16,9 +16,9 @@ brim_width = 25 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' material_print_temperature = =default_material_print_temperature + 15 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 20 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg index a5817651d8..2aa79cad79 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg @@ -17,9 +17,9 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' layer_height = 0.3 material_print_temperature = =default_material_print_temperature + 13 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 15 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Draft_Print.inst.cfg index 5e0816ef9a..a9b7a92918 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Draft_Print.inst.cfg @@ -17,7 +17,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = none +prime_tower_enable = False speed_print = 45 support_angle = 70 top_bottom_thickness = =layer_height * 6 diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Superdraft_Print.inst.cfg index 36e25d258a..16e17c500e 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Superdraft_Print.inst.cfg @@ -17,7 +17,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = none +prime_tower_enable = False speed_infill = =math.ceil(speed_print * 30 / 30) speed_print = 30 speed_topbottom = =math.ceil(speed_print * 20 / 30) diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Verydraft_Print.inst.cfg index ffbc413b6e..96dec4f1c5 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Verydraft_Print.inst.cfg @@ -17,7 +17,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = none +prime_tower_enable = False speed_infill = =math.ceil(speed_print * 30 / 35) speed_topbottom = =math.ceil(speed_print * 20 / 35) speed_wall = =math.ceil(speed_print * 25/ 35) diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg index d8f7812d75..859eb3b33a 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg @@ -23,8 +23,8 @@ material_flow = 105 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 4 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg index a689035132..61ace7da80 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg @@ -23,8 +23,8 @@ material_final_print_temperature = =material_print_temperature - 10 material_flow = 105 material_initial_print_temperature = =material_print_temperature - 10 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg index f4b61cac5d..e45b8f2d1d 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg @@ -24,8 +24,8 @@ material_flow = 105 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 2 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg index 64ad8ff7f3..eab1a39931 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg @@ -15,7 +15,7 @@ weight = -2 brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skin_overlap = 20 skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width)) diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg index 2cdc81a5d9..ad1e26c7da 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg @@ -14,7 +14,7 @@ weight = -1 [values] brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skin_overlap = 15 skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width)) diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg index fa2b7026a1..e5ae49b17d 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg @@ -15,7 +15,7 @@ weight = 1 brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width)) support_infill_sparse_thickness = =3*layer_height diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg index d16740c8ef..38334b4358 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg @@ -15,7 +15,7 @@ weight = 0 brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175/(layer_height*line_width)) support_infill_sparse_thickness = =2*layer_height diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg index acad5a484b..369cbcd563 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg @@ -20,7 +20,7 @@ machine_min_cool_heat_time_window = 15 material_print_temperature = =default_material_print_temperature - 10 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg index 262e4f4b54..6485844da8 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg @@ -21,7 +21,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 2 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.06mm.inst.cfg index ad25724904..6877d9b6a2 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.06mm.inst.cfg @@ -16,7 +16,7 @@ machine_nozzle_cool_down_speed = 0.8 machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_print_temperature = =default_material_print_temperature - 10 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 speed_infill = =math.ceil(speed_print * 40 / 50) speed_print = 50 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.15mm.inst.cfg index c0890c9740..de1905e410 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.15mm.inst.cfg @@ -15,7 +15,7 @@ weight = -1 machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 speed_infill = =math.ceil(speed_print * 45 / 60) speed_print = 60 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.1mm.inst.cfg index fbe263ab43..ae5c9bcbc1 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.1mm.inst.cfg @@ -16,7 +16,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 speed_infill = =math.ceil(speed_print * 40 / 55) speed_print = 55 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.2mm.inst.cfg index 059d39f6c1..701a2db84d 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.2mm.inst.cfg @@ -16,7 +16,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 speed_infill = =math.ceil(speed_print * 50 / 60) speed_print = 60 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.3mm.inst.cfg index cb741764d6..684336d1eb 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.3mm.inst.cfg @@ -16,7 +16,7 @@ weight = -3 machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_print_temperature = =default_material_print_temperature + 7 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 support_bottom_distance = =support_z_distance support_interface_enable = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.15mm.inst.cfg index 3af6b9a69d..a7a17e5f69 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.15mm.inst.cfg @@ -15,7 +15,7 @@ weight = -1 brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 speed_print = 80 speed_topbottom = =math.ceil(speed_print * 30 / 80) speed_wall = =math.ceil(speed_print * 40 / 80) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.1mm.inst.cfg index 1526b46ba5..a3b8129ed7 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.1mm.inst.cfg @@ -15,7 +15,7 @@ weight = 0 brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 support_angle = 45 support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height support_infill_sparse_thickness = =2 * layer_height diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.2mm.inst.cfg index 999e2ce9c9..5c051039d0 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.2mm.inst.cfg @@ -16,7 +16,7 @@ brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_wall = =math.ceil(speed_print * 50 / 70) speed_wall_0 = =math.ceil(speed_wall * 35 / 50) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.3mm.inst.cfg index 42b98f5be7..61073067fc 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_bam_0.3mm.inst.cfg @@ -17,7 +17,7 @@ brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_wall = =math.ceil(speed_print * 50 / 70) speed_wall_0 = =math.ceil(speed_wall * 35 / 50) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.06mm.inst.cfg index 864421ed78..880461bccf 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.06mm.inst.cfg @@ -18,7 +18,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 8 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.15mm.inst.cfg index 2591f15abb..5dd5e61f82 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.15mm.inst.cfg @@ -15,7 +15,7 @@ weight = -1 infill_wipe_dist = 0 machine_min_cool_heat_time_window = 15 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.1mm.inst.cfg index ab0354f9ea..7617b35b3b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.1mm.inst.cfg @@ -18,7 +18,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 5 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.2mm.inst.cfg index 7ac2d06998..7ed1fcd298 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.2mm.inst.cfg @@ -15,7 +15,7 @@ weight = -2 infill_wipe_dist = 0 machine_min_cool_heat_time_window = 15 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg index 9968edc74c..c9eebee8a0 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg @@ -21,7 +21,7 @@ machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 20 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg index 0138115976..bcd04f4b24 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg @@ -20,7 +20,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg index f2a006ce6c..278e502231 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg @@ -21,7 +21,7 @@ machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 10 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg index 0e72f56e02..1baf43933c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg @@ -20,7 +20,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.06mm.inst.cfg index d313f08887..4b8f9f433b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.06mm.inst.cfg @@ -15,7 +15,7 @@ weight = 1 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 50 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.15mm.inst.cfg index 73105ed512..5581284de4 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.15mm.inst.cfg @@ -14,7 +14,7 @@ weight = -1 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 70 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.1mm.inst.cfg index b6eac28eb9..30af138465 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.1mm.inst.cfg @@ -14,7 +14,7 @@ weight = 0 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed support_bottom_distance = =support_z_distance diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.2mm.inst.cfg index 7ee4df3cac..e5dc960d98 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.2mm.inst.cfg @@ -18,7 +18,7 @@ infill_sparse_density = 15 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_topbottom = =math.ceil(speed_print * 40 / 70) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.3mm.inst.cfg index 80a564e05a..719adc820b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.3mm.inst.cfg @@ -22,7 +22,7 @@ infill_sparse_density = 15 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 50 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg index 775e8420df..3b106196f2 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg @@ -21,7 +21,7 @@ machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg index f8448e868b..455338a901 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg @@ -22,7 +22,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 2 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg index e561a64075..b1f5e1f19a 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg @@ -22,7 +22,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature + 8 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.06mm.inst.cfg index 26cce4fcad..b5253cb077 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.06mm.inst.cfg @@ -15,7 +15,7 @@ weight = 1 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_prime_speed = =retraction_speed speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.15mm.inst.cfg index 86d98cfd6c..69cf85f349 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.15mm.inst.cfg @@ -14,7 +14,7 @@ weight = -1 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False retraction_prime_speed = =retraction_speed speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.1mm.inst.cfg index 2715630b07..397992c551 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.1mm.inst.cfg @@ -15,7 +15,7 @@ weight = 0 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_prime_speed = =retraction_speed speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.2mm.inst.cfg index 8446a7957f..773da6d3ac 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.2mm.inst.cfg @@ -14,7 +14,7 @@ weight = -2 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False retraction_prime_speed = =retraction_speed speed_print = 50 speed_roofing = =math.ceil(speed_wall * 20 / 24) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.3mm.inst.cfg index 8e4d4596af..10e43b5699 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.3mm.inst.cfg @@ -22,7 +22,7 @@ infill_sparse_density = 15 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 50 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm.inst.cfg index 95f9c84609..de5e0faf2e 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.8 material_max_flowrate = 20 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.15mm.inst.cfg index 447b6dfee5..c39c6d42c8 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.15mm.inst.cfg @@ -43,7 +43,7 @@ material_extrusion_cool_down_speed = 0.8 material_max_flowrate = 20 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm.inst.cfg index 49a6120c8f..08bb2befdf 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.8 material_max_flowrate = 20 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.2mm.inst.cfg index 2f595d38d0..89b8386d2f 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.2mm.inst.cfg @@ -45,7 +45,7 @@ material_max_flowrate = 20 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.3mm.inst.cfg index 5aa2ff791b..cc0da1a253 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_max_flowrate = 20 material_print_temperature = =default_material_print_temperature + 7 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.15mm.inst.cfg index 170e2199be..d4431382dd 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.15mm.inst.cfg @@ -43,7 +43,7 @@ material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 20 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False retraction_amount = 8 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.2mm.inst.cfg index aae7ff42a2..c304f13e34 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.2mm.inst.cfg @@ -45,7 +45,7 @@ material_max_flowrate = 20 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False retraction_amount = 8 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.3mm.inst.cfg index 96c3513a97..854b868259 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_max_flowrate = 20 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False retraction_amount = 8 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm.inst.cfg index 3a87267e37..9678ba9523 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 12 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.15mm.inst.cfg index 17dd161346..c53596bc9f 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.15mm.inst.cfg @@ -43,7 +43,7 @@ material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 12 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm.inst.cfg index 70b9a95dd4..58a8a1ebb0 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 12 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.2mm.inst.cfg index 564b251c4b..2870c09199 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.2mm.inst.cfg @@ -45,7 +45,7 @@ material_max_flowrate = 12 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.3mm.inst.cfg index 5d27f8e05e..6f450463b9 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_max_flowrate = 12 material_print_temperature = =default_material_print_temperature + 10 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm.inst.cfg index b1ac45f1b0..e193aa51c3 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 14 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.15mm.inst.cfg index 6201f53938..622f2030e4 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.15mm.inst.cfg @@ -43,7 +43,7 @@ material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 14 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm.inst.cfg index 4c9e939ccc..09f02aa375 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 14 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.2mm.inst.cfg index dc07130b6c..3b82ebfac7 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.2mm.inst.cfg @@ -44,7 +44,7 @@ material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 14 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.3mm.inst.cfg index cbaf3cd89a..2fd9e5ef2c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_max_flowrate = 14 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.2mm.inst.cfg index ff96a0df68..c2d04c9bad 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.2mm.inst.cfg @@ -17,7 +17,7 @@ brim_width = 14 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 20 -prime_tower_mode = normal +prime_tower_enable = True retraction_hop = 0.1 retraction_hop_enabled = False speed_print = 50 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.3mm.inst.cfg index a3d9b394b9..caf16e5f94 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.3mm.inst.cfg @@ -17,7 +17,7 @@ brim_width = 14 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 17 -prime_tower_mode = normal +prime_tower_enable = True retraction_hop = 0.1 retraction_hop_enabled = False speed_print = 50 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.4mm.inst.cfg index dc46682c39..1cd46fab48 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe-plus_0.4mm.inst.cfg @@ -17,7 +17,7 @@ brim_width = 14 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 15 -prime_tower_mode = normal +prime_tower_enable = True retraction_hop = 0.1 retraction_hop_enabled = False speed_infill = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.2mm.inst.cfg index f2ea43800e..f9ee324f33 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.2mm.inst.cfg @@ -14,7 +14,7 @@ weight = -2 [values] brim_width = 15 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.3mm.inst.cfg index 58193faaaf..f883fe1998 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.3mm.inst.cfg @@ -14,7 +14,7 @@ weight = -3 [values] brim_width = 15 material_print_temperature = =default_material_print_temperature + 12 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.4mm.inst.cfg index 7e58326c02..a5c059c5e6 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_cpe_0.4mm.inst.cfg @@ -14,7 +14,7 @@ weight = -4 [values] brim_width = 15 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True speed_infill = =math.ceil(speed_print * 33 / 45) speed_print = 45 speed_topbottom = =math.ceil(speed_print * 30 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.2mm.inst.cfg index 5b33c9854f..e7d656dcc4 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.2mm.inst.cfg @@ -17,7 +17,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 5 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.45 support_angle = 70 switch_extruder_prime_speed = 30 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.3mm.inst.cfg index 6ac1edf4e9..08c1f4933b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.3mm.inst.cfg @@ -17,7 +17,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 5 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.45 support_angle = 70 switch_extruder_prime_speed = 30 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.4mm.inst.cfg index 536a00cc00..c4d2894885 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_nylon_0.4mm.inst.cfg @@ -17,7 +17,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 5 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.45 support_angle = 70 switch_extruder_prime_speed = 30 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.2mm.inst.cfg index 539a8c5a7c..d901c6c0dd 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.2mm.inst.cfg @@ -15,7 +15,7 @@ weight = -2 brim_width = 7 cool_fan_speed = 20 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.3mm.inst.cfg index bf92354310..0279882346 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.3mm.inst.cfg @@ -15,7 +15,7 @@ weight = -3 brim_width = 7 cool_fan_speed = 20 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.4mm.inst.cfg index 138369ef63..373d6a0b78 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_petg_0.4mm.inst.cfg @@ -15,7 +15,7 @@ weight = -4 brim_width = 7 cool_fan_speed = 20 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = normal +prime_tower_enable = True speed_infill = =math.ceil(speed_print * 33 / 45) speed_print = 45 speed_topbottom = =math.ceil(speed_print * 30 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.2mm.inst.cfg index a3935c55f7..1feae070fc 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.2mm.inst.cfg @@ -16,7 +16,7 @@ gradual_infill_step_height = =3 * layer_height machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.3mm.inst.cfg index 9f7162abe0..f93f0848db 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.3mm.inst.cfg @@ -16,7 +16,7 @@ gradual_infill_step_height = =3 * layer_height machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.4mm.inst.cfg index 997095fcbf..67f9cdfcf0 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_pla_0.4mm.inst.cfg @@ -16,7 +16,7 @@ gradual_infill_step_height = =3 * layer_height machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True speed_infill = =math.ceil(speed_print * 35 / 45) speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.2mm.inst.cfg index 2ec19359cf..7619fcf43d 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.2mm.inst.cfg @@ -18,9 +18,9 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature + 11 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 10 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.3mm.inst.cfg index 6726d34585..b157ed198c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.3mm.inst.cfg @@ -18,9 +18,9 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature + 13 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 15 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.4mm.inst.cfg index 0bf76412b2..550a26c7f8 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.4mm.inst.cfg @@ -18,9 +18,9 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature + 15 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 20 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.2mm.inst.cfg index a59a80d04a..1f706632ce 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.2mm.inst.cfg @@ -17,7 +17,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = none +prime_tower_enable = False speed_print = 45 speed_topbottom = =round(speed_print * 35 / 45) speed_wall = =round(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.3mm.inst.cfg index c840722681..b1437e9160 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.3mm.inst.cfg @@ -17,7 +17,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = none +prime_tower_enable = False speed_infill = =math.ceil(speed_print * 30 / 35) speed_print = 35 speed_topbottom = =math.ceil(speed_print * 20 / 35) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.4mm.inst.cfg index 1865589991..7c3c4ff6e9 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_tough-pla_0.4mm.inst.cfg @@ -17,7 +17,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = none +prime_tower_enable = False speed_infill = =math.ceil(speed_print * 30 / 30) speed_print = 30 speed_topbottom = =math.ceil(speed_print * 20 / 30) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.2mm.inst.cfg index 437fc03997..5d6ce58f7c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.2mm.inst.cfg @@ -21,8 +21,8 @@ material_flow = 105 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 4 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.3mm.inst.cfg index 05401c0d34..1b69ada75d 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.3mm.inst.cfg @@ -22,8 +22,8 @@ material_flow = 105 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 2 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.4mm.inst.cfg index a77cde65e6..d678d7e178 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.4mm.inst.cfg @@ -21,8 +21,8 @@ material_final_print_temperature = =material_print_temperature - 10 material_flow = 105 material_initial_print_temperature = =material_print_temperature - 10 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.2mm.inst.cfg index 79f23f9c2c..9d7b4455d6 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.2mm.inst.cfg @@ -47,7 +47,7 @@ material_max_flowrate = 22 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.15 retraction_amount = 4 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.3mm.inst.cfg index a187dc3179..e2a5c54c66 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 22 material_print_temperature = =default_material_print_temperature + 7 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.15 retraction_amount = 4 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.4mm.inst.cfg index cc2c57bcff..26d3dc7fb8 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-abs_0.4mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 22 material_print_temperature = =default_material_print_temperature + 10 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.15 retraction_amount = 4 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.2mm.inst.cfg index 9649f71775..b1dae1cb7a 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.2mm.inst.cfg @@ -47,7 +47,7 @@ material_max_flowrate = 23 material_print_temperature = =default_material_print_temperature - 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 3.5 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.3mm.inst.cfg index a0d9dbdee7..4d4ffa0059 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.3mm.inst.cfg @@ -46,7 +46,7 @@ material_flow = 93 material_max_flowrate = 23 material_print_temperature = =default_material_print_temperature - 5 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 3.5 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.4mm.inst.cfg index 840008f60d..5cc6a43e13 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-petg_0.4mm.inst.cfg @@ -46,7 +46,7 @@ material_flow = 93 material_max_flowrate = 23 material_print_temperature = =default_material_print_temperature - 5 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 3.5 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.2mm.inst.cfg index c0719e38b3..59f8409483 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.2mm.inst.cfg @@ -47,7 +47,7 @@ material_max_flowrate = 15 material_print_temperature = =default_material_print_temperature + 10 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.3mm.inst.cfg index 8f045a1238..a4cdd898f1 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 15 material_print_temperature = =default_material_print_temperature + 10 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.4mm.inst.cfg index b1e8b913fd..79dc105f86 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-pla_0.4mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 15 material_print_temperature = =default_material_print_temperature + 15 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.2mm.inst.cfg index 176cfb2cb2..a76864a1a3 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.2mm.inst.cfg @@ -47,7 +47,7 @@ material_max_flowrate = 17 material_print_temperature = =default_material_print_temperature + 10 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.3mm.inst.cfg index 404435e21b..d364232726 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 17 material_print_temperature = =default_material_print_temperature + 15 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.4mm.inst.cfg index 76724ad958..02a71fa9b7 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_um-tough-pla_0.4mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 17 material_print_temperature = =default_material_print_temperature + 15 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.06mm.inst.cfg index b69ddd1011..12b815d5ab 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.06mm.inst.cfg @@ -15,7 +15,7 @@ weight = 1 brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) support_infill_sparse_thickness = =3 * layer_height diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.15mm.inst.cfg index 67a101d2bc..5390b3ecb7 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.15mm.inst.cfg @@ -14,7 +14,7 @@ weight = -1 [values] brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) support_infill_sparse_thickness = =2 * layer_height diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.1mm.inst.cfg index 66c0486b0f..b15b5958a7 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.1mm.inst.cfg @@ -15,7 +15,7 @@ weight = 0 brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) support_infill_sparse_thickness = =2 * layer_height diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.2mm.inst.cfg index 6e36d9578f..e273e85eb5 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.4_pva_0.2mm.inst.cfg @@ -15,7 +15,7 @@ weight = -2 brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) support_interface_enable = True diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.4_pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.4_pla_0.15mm.inst.cfg index 9b81b09599..ea2902cd6c 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.4_pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.4_pla_0.15mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.4_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.4_pla_0.2mm.inst.cfg index e596c6fcd0..bbbad9be1f 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.4_pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.4_pla_0.2mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.4_um-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.4_um-pla_0.15mm.inst.cfg index 5c9671c99e..300e2ebaed 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.4_um-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.4_um-pla_0.15mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.4_um-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.4_um-pla_0.2mm.inst.cfg index 872368142c..84040ede4e 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.4_um-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.4_um-pla_0.2mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.6_pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.6_pla_0.15mm.inst.cfg index 2b76474e5f..402ae15eba 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.6_pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.6_pla_0.15mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.6_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.6_pla_0.2mm.inst.cfg index dc84108298..0c9154a233 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.6_pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.6_pla_0.2mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.6_um-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.6_um-pla_0.15mm.inst.cfg index 3706d83424..e7b72d6cd0 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.6_um-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.6_um-pla_0.15mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.6_um-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.6_um-pla_0.2mm.inst.cfg index 6e03ebd7e5..38c857de5e 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.6_um-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.6_um-pla_0.2mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg index dc6dc3906d..eef6e66a5e 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg @@ -20,7 +20,7 @@ machine_min_cool_heat_time_window = 15 material_print_temperature = =default_material_print_temperature - 10 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg index 69a5af3102..56689c4bfa 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg @@ -21,7 +21,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 2 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.06mm.inst.cfg index f96f28e71f..573b758705 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.06mm.inst.cfg @@ -16,7 +16,7 @@ machine_nozzle_cool_down_speed = 0.8 machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_print_temperature = =default_material_print_temperature - 10 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 speed_infill = =math.ceil(speed_print * 40 / 50) speed_print = 50 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.15mm.inst.cfg index 9cc0a12b5a..926ef49922 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.15mm.inst.cfg @@ -15,7 +15,7 @@ weight = -1 machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 speed_infill = =math.ceil(speed_print * 45 / 60) speed_print = 60 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.1mm.inst.cfg index 651c780d32..598e83d922 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.1mm.inst.cfg @@ -16,7 +16,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 speed_infill = =math.ceil(speed_print * 40 / 55) speed_print = 55 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.2mm.inst.cfg index 28bd4cddff..5f5e9e2fd3 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.2mm.inst.cfg @@ -16,7 +16,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 speed_infill = =math.ceil(speed_print * 50 / 60) speed_print = 60 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.3mm.inst.cfg index 49e70ecb1c..8656a28067 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.3mm.inst.cfg @@ -16,7 +16,7 @@ weight = -3 machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 20 material_print_temperature = =default_material_print_temperature + 7 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 support_bottom_distance = =support_z_distance support_interface_enable = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.15mm.inst.cfg index b2dd10f321..a4381e0e3b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.15mm.inst.cfg @@ -15,7 +15,7 @@ weight = -1 brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 speed_print = 80 speed_topbottom = =math.ceil(speed_print * 30 / 80) speed_wall = =math.ceil(speed_print * 40 / 80) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.1mm.inst.cfg index ba704aa34b..5f4c480fa4 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.1mm.inst.cfg @@ -15,7 +15,7 @@ weight = 0 brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 support_angle = 45 support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height support_infill_sparse_thickness = =2 * layer_height diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.2mm.inst.cfg index ccccb2d3e8..9e3c0153b1 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.2mm.inst.cfg @@ -16,7 +16,7 @@ brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_wall = =math.ceil(speed_print * 50 / 70) speed_wall_0 = =math.ceil(speed_wall * 35 / 50) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.3mm.inst.cfg index cc6e8f9453..bd4e13ebaf 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_bam_0.3mm.inst.cfg @@ -17,7 +17,7 @@ brim_replaces_support = False machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = ='normal' if (min(extruderValues('material_surface_energy')) < 100) else 'none' +prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_wall = =math.ceil(speed_print * 50 / 70) speed_wall_0 = =math.ceil(speed_wall * 35 / 50) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.06mm.inst.cfg index 0b11bc463b..a77d1b4233 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.06mm.inst.cfg @@ -18,7 +18,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 8 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.15mm.inst.cfg index 476cdad5ce..805fb08ead 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.15mm.inst.cfg @@ -15,7 +15,7 @@ weight = -1 infill_wipe_dist = 0 machine_min_cool_heat_time_window = 15 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.1mm.inst.cfg index 6a18d6a859..77f775d672 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.1mm.inst.cfg @@ -18,7 +18,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 5 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.2mm.inst.cfg index dcd01b1084..877c48c42d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.2mm.inst.cfg @@ -15,7 +15,7 @@ weight = -2 infill_wipe_dist = 0 machine_min_cool_heat_time_window = 15 multiple_mesh_overlap = 0 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True retraction_hop = 0.2 retraction_hop_enabled = False diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg index c2d943bb77..c58107dcf9 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg @@ -21,7 +21,7 @@ machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 20 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg index 30b1896528..b210b894e5 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg @@ -20,7 +20,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg index aa58bd07b3..aa17d35a97 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg @@ -21,7 +21,7 @@ machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature - 10 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg index e74d6a6532..616443b129 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg @@ -20,7 +20,7 @@ machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 multiple_mesh_overlap = 0 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.06mm.inst.cfg index e724f809d5..f34549bc78 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.06mm.inst.cfg @@ -15,7 +15,7 @@ weight = 1 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 50 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.15mm.inst.cfg index 2cce79480c..4a9e914b99 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.15mm.inst.cfg @@ -14,7 +14,7 @@ weight = -1 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 70 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.1mm.inst.cfg index 5a730aba3a..dc73f13bb5 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.1mm.inst.cfg @@ -14,7 +14,7 @@ weight = 0 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed support_bottom_distance = =support_z_distance diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.2mm.inst.cfg index a1bde9d68d..ead512bb50 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.2mm.inst.cfg @@ -18,7 +18,7 @@ infill_sparse_density = 15 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_topbottom = =math.ceil(speed_print * 40 / 70) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.3mm.inst.cfg index e0070ff73b..c6641e7a08 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.3mm.inst.cfg @@ -22,7 +22,7 @@ infill_sparse_density = 15 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 50 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg index 0f06f432d4..8eb0d257d6 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg @@ -21,7 +21,7 @@ machine_nozzle_heat_up_speed = 1.5 material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg index 68aeea4c25..bd4dd317bb 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg @@ -22,7 +22,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 2 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg index 2f7a70bfa0..1e5ea9efb6 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg @@ -22,7 +22,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature + 8 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.06mm.inst.cfg index 2bf08e3489..cf7a8335b8 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.06mm.inst.cfg @@ -15,7 +15,7 @@ weight = 1 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_prime_speed = =retraction_speed speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.15mm.inst.cfg index 3b44a9eb37..a7dcb61128 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.15mm.inst.cfg @@ -14,7 +14,7 @@ weight = -1 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False retraction_prime_speed = =retraction_speed speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.1mm.inst.cfg index 3167f39563..f053b33478 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.1mm.inst.cfg @@ -15,7 +15,7 @@ weight = 0 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_prime_speed = =retraction_speed speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.2mm.inst.cfg index 238468f784..4e98b6005a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.2mm.inst.cfg @@ -14,7 +14,7 @@ weight = -2 [values] machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +prime_tower_enable = False retraction_prime_speed = =retraction_speed speed_print = 50 speed_roofing = =math.ceil(speed_wall * 20 / 24) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.3mm.inst.cfg index 208277dc9b..5c6ed28548 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.3mm.inst.cfg @@ -22,7 +22,7 @@ infill_sparse_density = 15 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 50 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm.inst.cfg index e7d58a1001..c0b4799ca9 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.8 material_max_flowrate = 20 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.15mm.inst.cfg index 20e10b3e78..d430f867d8 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.15mm.inst.cfg @@ -43,7 +43,7 @@ material_extrusion_cool_down_speed = 0.8 material_max_flowrate = 20 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm.inst.cfg index fe37499b76..b2c25e26c7 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.8 material_max_flowrate = 20 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.2mm.inst.cfg index 5f85f0b6d1..15b87d8229 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.2mm.inst.cfg @@ -45,7 +45,7 @@ material_max_flowrate = 20 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.3mm.inst.cfg index 7d9bd13d07..9a10024813 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_max_flowrate = 20 material_print_temperature = =default_material_print_temperature + 7 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.15mm.inst.cfg index 4673f7dddc..5d14f014b9 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.15mm.inst.cfg @@ -43,7 +43,7 @@ material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 20 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False retraction_amount = 8 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.2mm.inst.cfg index 7ffa9aa60a..4e1b0f535f 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.2mm.inst.cfg @@ -45,7 +45,7 @@ material_max_flowrate = 20 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False retraction_amount = 8 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.3mm.inst.cfg index 5cf1740ad1..ab66eed0ab 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_max_flowrate = 20 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False retraction_amount = 8 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm.inst.cfg index cc05029e74..2b192e8c1c 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 12 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.15mm.inst.cfg index a7bebed472..11301a2990 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.15mm.inst.cfg @@ -43,7 +43,7 @@ material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 12 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.2mm.inst.cfg index 4ca8ccaa86..28cf131812 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.2mm.inst.cfg @@ -45,7 +45,7 @@ material_max_flowrate = 12 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.3mm.inst.cfg index c1ea2d98dd..a01b433eb2 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_max_flowrate = 12 material_print_temperature = =default_material_print_temperature + 10 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm.inst.cfg index 597bf3b302..f368ac13d8 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 14 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.15mm.inst.cfg index 81f4e207be..b699ebc9f3 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.15mm.inst.cfg @@ -43,7 +43,7 @@ material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 14 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm.inst.cfg index a38a73679d..d0ee391c65 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm.inst.cfg @@ -42,7 +42,7 @@ machine_nozzle_heat_up_speed = 1.9 material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 14 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.2mm.inst.cfg index f045d5425d..9869a18bb3 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.2mm.inst.cfg @@ -44,7 +44,7 @@ material_extrusion_cool_down_speed = 0.7 material_max_flowrate = 14 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.3mm.inst.cfg index 79e8161047..fc8507c42b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_max_flowrate = 14 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = none +prime_tower_enable = False raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.2mm.inst.cfg index a7877d90e1..0dd369e4dd 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.2mm.inst.cfg @@ -17,7 +17,7 @@ brim_width = 14 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 20 -prime_tower_mode = normal +prime_tower_enable = True retraction_hop = 0.1 retraction_hop_enabled = False speed_print = 50 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.3mm.inst.cfg index 2b5b521f02..e6ce183f4a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.3mm.inst.cfg @@ -17,7 +17,7 @@ brim_width = 14 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 17 -prime_tower_mode = normal +prime_tower_enable = True retraction_hop = 0.1 retraction_hop_enabled = False speed_print = 50 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.4mm.inst.cfg index ff9a049f7e..0c3abc6e3f 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe-plus_0.4mm.inst.cfg @@ -17,7 +17,7 @@ brim_width = 14 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 15 -prime_tower_mode = normal +prime_tower_enable = True retraction_hop = 0.1 retraction_hop_enabled = False speed_infill = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.2mm.inst.cfg index a3340f81a8..eb6e07e080 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.2mm.inst.cfg @@ -14,7 +14,7 @@ weight = -2 [values] brim_width = 15 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.3mm.inst.cfg index 7c80d16f24..e7958d9841 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.3mm.inst.cfg @@ -14,7 +14,7 @@ weight = -3 [values] brim_width = 15 material_print_temperature = =default_material_print_temperature + 12 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.4mm.inst.cfg index 18ec3e9dbe..0683b2959b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_cpe_0.4mm.inst.cfg @@ -14,7 +14,7 @@ weight = -4 [values] brim_width = 15 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True speed_infill = =math.ceil(speed_print * 33 / 45) speed_print = 45 speed_topbottom = =math.ceil(speed_print * 30 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.2mm.inst.cfg index 798db0dfc8..5a774e0750 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.2mm.inst.cfg @@ -17,7 +17,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 5 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.45 support_angle = 70 switch_extruder_prime_speed = 30 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.3mm.inst.cfg index 86d6130a70..bed4ac46d7 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.3mm.inst.cfg @@ -17,7 +17,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 5 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.45 support_angle = 70 switch_extruder_prime_speed = 30 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.4mm.inst.cfg index 2d9c3ebabe..a0d58757da 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_nylon_0.4mm.inst.cfg @@ -17,7 +17,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 5 ooze_shield_angle = 40 -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.45 support_angle = 70 switch_extruder_prime_speed = 30 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.2mm.inst.cfg index 7f51af7154..6208ad9bec 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.2mm.inst.cfg @@ -15,7 +15,7 @@ weight = -2 brim_width = 7 cool_fan_speed = 20 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.3mm.inst.cfg index 81d08397f3..98b0d3f5f8 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.3mm.inst.cfg @@ -15,7 +15,7 @@ weight = -3 brim_width = 7 cool_fan_speed = 20 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.4mm.inst.cfg index 689455183f..156113b809 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_petg_0.4mm.inst.cfg @@ -15,7 +15,7 @@ weight = -4 brim_width = 7 cool_fan_speed = 20 material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = normal +prime_tower_enable = True speed_infill = =math.ceil(speed_print * 33 / 45) speed_print = 45 speed_topbottom = =math.ceil(speed_print * 30 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.2mm.inst.cfg index d00e5235ba..10bf06fbb5 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.2mm.inst.cfg @@ -16,7 +16,7 @@ gradual_infill_step_height = =3 * layer_height machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.3mm.inst.cfg index a22439011e..1a63005ced 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.3mm.inst.cfg @@ -16,7 +16,7 @@ gradual_infill_step_height = =3 * layer_height machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.4mm.inst.cfg index 7a97620cb4..5e22cee246 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_pla_0.4mm.inst.cfg @@ -16,7 +16,7 @@ gradual_infill_step_height = =3 * layer_height machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = normal +prime_tower_enable = True speed_infill = =math.ceil(speed_print * 35 / 45) speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.2mm.inst.cfg index 355e3afa78..c338c4b7ff 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.2mm.inst.cfg @@ -18,9 +18,9 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature + 11 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 10 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.3mm.inst.cfg index e89b5d717b..62d9eb235d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.3mm.inst.cfg @@ -18,9 +18,9 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature + 13 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 15 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.4mm.inst.cfg index 542ba0bb5b..b2792b6fee 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.4mm.inst.cfg @@ -18,9 +18,9 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature + 15 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 20 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.2mm.inst.cfg index 1c5161a635..26c20268ea 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.2mm.inst.cfg @@ -17,7 +17,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = none +prime_tower_enable = False speed_print = 45 speed_topbottom = =round(speed_print * 35 / 45) speed_wall = =round(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.3mm.inst.cfg index 0a4c4ad2c7..cc28dc5150 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.3mm.inst.cfg @@ -17,7 +17,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = none +prime_tower_enable = False speed_infill = =math.ceil(speed_print * 30 / 35) speed_print = 35 speed_topbottom = =math.ceil(speed_print * 20 / 35) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.4mm.inst.cfg index 2fc8aaf746..eb338d1e1d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_tough-pla_0.4mm.inst.cfg @@ -17,7 +17,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 15 -prime_tower_mode = none +prime_tower_enable = False speed_infill = =math.ceil(speed_print * 30 / 30) speed_print = 30 speed_topbottom = =math.ceil(speed_print * 20 / 30) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.2mm.inst.cfg index 3deb8f57a0..2491d0ed88 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.2mm.inst.cfg @@ -21,8 +21,8 @@ material_flow = 105 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 4 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.3mm.inst.cfg index fd30dfc228..e975175ce0 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.3mm.inst.cfg @@ -22,8 +22,8 @@ material_flow = 105 material_initial_print_temperature = =material_print_temperature - 10 material_print_temperature = =default_material_print_temperature - 2 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.4mm.inst.cfg index 2f21317657..5334fac1f0 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.4mm.inst.cfg @@ -21,8 +21,8 @@ material_final_print_temperature = =material_print_temperature - 10 material_flow = 105 material_initial_print_temperature = =material_print_temperature - 10 multiple_mesh_overlap = 0.2 +prime_tower_enable = True prime_tower_flow = 100 -prime_tower_mode = normal retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.2mm.inst.cfg index e308015dd8..9ba4a38c6e 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.2mm.inst.cfg @@ -47,7 +47,7 @@ material_max_flowrate = 22 material_print_temperature = =default_material_print_temperature + 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.15 retraction_amount = 4 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.3mm.inst.cfg index 3d7cabe23d..4ab74980ef 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 22 material_print_temperature = =default_material_print_temperature + 7 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.15 retraction_amount = 4 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.4mm.inst.cfg index f7ab03fac0..269d51dd4b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-abs_0.4mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 22 material_print_temperature = =default_material_print_temperature + 10 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.15 retraction_amount = 4 retraction_prime_speed = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.2mm.inst.cfg index 692f4f8aa7..4f56167ffd 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.2mm.inst.cfg @@ -47,7 +47,7 @@ material_max_flowrate = 23 material_print_temperature = =default_material_print_temperature - 5 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 3.5 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.3mm.inst.cfg index 93e4e071f5..9fdf9a665b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.3mm.inst.cfg @@ -46,7 +46,7 @@ material_flow = 93 material_max_flowrate = 23 material_print_temperature = =default_material_print_temperature - 5 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 3.5 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.4mm.inst.cfg index 592c835689..3368ae6e2d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-petg_0.4mm.inst.cfg @@ -46,7 +46,7 @@ material_flow = 93 material_max_flowrate = 23 material_print_temperature = =default_material_print_temperature - 5 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True retraction_amount = 3.5 retraction_prime_speed = 15 retraction_speed = 45 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.2mm.inst.cfg index fd0b6da130..ca93df9dc1 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.2mm.inst.cfg @@ -47,7 +47,7 @@ material_max_flowrate = 15 material_print_temperature = =default_material_print_temperature + 10 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.3mm.inst.cfg index a6b7ac0439..4461ae0772 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 15 material_print_temperature = =default_material_print_temperature + 10 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.4mm.inst.cfg index c873edfacb..1acdad53a0 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-pla_0.4mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 15 material_print_temperature = =default_material_print_temperature + 15 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.2mm.inst.cfg index 413903a8e8..4973ec35bb 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.2mm.inst.cfg @@ -47,7 +47,7 @@ material_max_flowrate = 17 material_print_temperature = =default_material_print_temperature + 10 meshfix_maximum_resolution = 0.7 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.3mm.inst.cfg index f0c5169389..2bcf3fa82d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.3mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 17 material_print_temperature = =default_material_print_temperature + 15 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.4mm.inst.cfg index cb12b8740c..3e4693c115 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_um-tough-pla_0.4mm.inst.cfg @@ -44,7 +44,7 @@ material_flow = 93 material_max_flowrate = 17 material_print_temperature = =default_material_print_temperature + 15 optimize_wall_printing_order = False -prime_tower_mode = normal +prime_tower_enable = True raft_airgap = 0.25 retraction_amount = 4 retraction_prime_speed = 22 diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.06mm.inst.cfg index 022e91ed9f..2bc28f4c1a 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.06mm.inst.cfg @@ -15,7 +15,7 @@ weight = 1 brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) support_infill_sparse_thickness = =3 * layer_height diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.15mm.inst.cfg index 40cf72eff4..f5b8c35298 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.15mm.inst.cfg @@ -14,7 +14,7 @@ weight = -1 [values] brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) support_infill_sparse_thickness = =2 * layer_height diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.1mm.inst.cfg index 8b5a3e9f67..6457f97c9c 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.1mm.inst.cfg @@ -15,7 +15,7 @@ weight = 0 brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) support_infill_sparse_thickness = =2 * layer_height diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.2mm.inst.cfg index 1ff95a0e3b..eef90f5f17 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.2mm.inst.cfg @@ -15,7 +15,7 @@ weight = -2 brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) material_print_temperature = =default_material_print_temperature + 5 -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) support_interface_enable = True diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.3mm.inst.cfg index 58796a07a4..e1862ce3c4 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_pva_0.3mm.inst.cfg @@ -16,7 +16,7 @@ weight = -3 brim_replaces_support = False cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr)) material_print_temperature = =default_material_print_temperature - 5 -prime_tower_mode = none +prime_tower_enable = False retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) support_infill_sparse_thickness = 0.3 diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.4_pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.4_pla_0.15mm.inst.cfg index b7d9b2a05f..8b807c1eb5 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.4_pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.4_pla_0.15mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.4_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.4_pla_0.2mm.inst.cfg index e3e8d486b0..ebc58413e2 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.4_pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.4_pla_0.2mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.4_um-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.4_um-pla_0.15mm.inst.cfg index f01921353b..1204be4c15 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.4_um-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.4_um-pla_0.15mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.4_um-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.4_um-pla_0.2mm.inst.cfg index 0a1cc1204d..6a7d52af4b 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.4_um-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.4_um-pla_0.2mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_pla_0.15mm.inst.cfg index 4437f2c531..40d414cbcb 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_pla_0.15mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_pla_0.2mm.inst.cfg index 3796177bc5..6144a2c3f0 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_pla_0.2mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_um-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_um-pla_0.15mm.inst.cfg index 1ec4911676..5bf5d910e8 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_um-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_um-pla_0.15mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_um-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_um-pla_0.2mm.inst.cfg index 36b56b6513..21407b6e66 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_um-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_um-pla_0.2mm.inst.cfg @@ -18,7 +18,7 @@ infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 material_print_temperature = =default_material_print_temperature + 10 -prime_tower_mode = normal +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/variants/liquid/liquid_vo08.inst.cfg b/resources/variants/liquid/liquid_vo08.inst.cfg index a69a0f806e..58cbea1b9d 100644 --- a/resources/variants/liquid/liquid_vo08.inst.cfg +++ b/resources/variants/liquid/liquid_vo08.inst.cfg @@ -37,7 +37,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_initial_print_temperature = =material_print_temperature - 5 material_standby_temperature = 100 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True retract_at_layer_change = =not magic_spiralize retraction_amount = 3 diff --git a/resources/variants/strateo3d/strateo3d_high_temp_04.inst.cfg b/resources/variants/strateo3d/strateo3d_high_temp_04.inst.cfg index b66b984346..4bf51a967a 100644 --- a/resources/variants/strateo3d/strateo3d_high_temp_04.inst.cfg +++ b/resources/variants/strateo3d/strateo3d_high_temp_04.inst.cfg @@ -14,7 +14,7 @@ layer_height_0 = 0.3 machine_nozzle_id = HT0.4 machine_nozzle_size = 0.4 machine_nozzle_tip_outer_diameter = 1.0 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False support_angle = 45 support_use_towers = True diff --git a/resources/variants/strateo3d/strateo3d_standard_04.inst.cfg b/resources/variants/strateo3d/strateo3d_standard_04.inst.cfg index 968c7c7262..3d705453d8 100644 --- a/resources/variants/strateo3d/strateo3d_standard_04.inst.cfg +++ b/resources/variants/strateo3d/strateo3d_standard_04.inst.cfg @@ -14,7 +14,7 @@ layer_height_0 = 0.3 machine_nozzle_id = Standard 0.4 machine_nozzle_size = 0.4 machine_nozzle_tip_outer_diameter = 1.0 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False support_angle = 60 support_use_towers = True diff --git a/resources/variants/strateo3d/strateo3d_standard_06.inst.cfg b/resources/variants/strateo3d/strateo3d_standard_06.inst.cfg index 9b6d921d70..3443f64531 100644 --- a/resources/variants/strateo3d/strateo3d_standard_06.inst.cfg +++ b/resources/variants/strateo3d/strateo3d_standard_06.inst.cfg @@ -14,7 +14,7 @@ layer_height_0 = 0.4 machine_nozzle_id = Standard 0.6 machine_nozzle_size = 0.6 machine_nozzle_tip_outer_diameter = 1.5 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = False support_angle = 55 support_use_towers = True diff --git a/resources/variants/strateo3d/strateo3d_standard_08.inst.cfg b/resources/variants/strateo3d/strateo3d_standard_08.inst.cfg index 11ff582ef1..f436ce1fe7 100644 --- a/resources/variants/strateo3d/strateo3d_standard_08.inst.cfg +++ b/resources/variants/strateo3d/strateo3d_standard_08.inst.cfg @@ -14,7 +14,7 @@ layer_height_0 = 0.5 machine_nozzle_id = Standard 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = True support_angle = 50 support_use_towers = True diff --git a/resources/variants/strateo3d/strateo3d_standard_10.inst.cfg b/resources/variants/strateo3d/strateo3d_standard_10.inst.cfg index c9d50d91c3..b957d58d9f 100644 --- a/resources/variants/strateo3d/strateo3d_standard_10.inst.cfg +++ b/resources/variants/strateo3d/strateo3d_standard_10.inst.cfg @@ -14,7 +14,7 @@ layer_height_0 = 0.6 machine_nozzle_id = Standard 1.0 Experimental machine_nozzle_size = 1.0 machine_nozzle_tip_outer_diameter = 2.5 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = True support_angle = 50 support_use_towers = True diff --git a/resources/variants/strateo3d/strateo3d_standard_12.inst.cfg b/resources/variants/strateo3d/strateo3d_standard_12.inst.cfg index f1f03bfcb4..3a35f9c4a2 100644 --- a/resources/variants/strateo3d/strateo3d_standard_12.inst.cfg +++ b/resources/variants/strateo3d/strateo3d_standard_12.inst.cfg @@ -14,7 +14,7 @@ layer_height_0 = 0.7 machine_nozzle_id = Standard 1.2 Experimental machine_nozzle_size = 1.2 machine_nozzle_tip_outer_diameter = 3.0 -prime_tower_mode = normal +prime_tower_enable = True retract_at_layer_change = True support_angle = 50 support_use_towers = True diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index baf5f4043a..4190aab0cd 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -23,7 +23,7 @@ machine_nozzle_id = AA 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_amount = 6.5 diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index 5250dff5e9..62227f50f6 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -26,7 +26,7 @@ machine_nozzle_id = BB 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_hop = 2 diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index 109cd55a9d..941634e3a6 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -23,7 +23,7 @@ machine_nozzle_id = AA 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_amount = 6.5 diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index c40c69ff62..2a88f165e6 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -26,7 +26,7 @@ machine_nozzle_id = BB 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_hop = 2 diff --git a/resources/variants/ultimaker_s3_aa0.8.inst.cfg b/resources/variants/ultimaker_s3_aa0.8.inst.cfg index 5385e5e540..e7d3487503 100644 --- a/resources/variants/ultimaker_s3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker_s3_aa0.8.inst.cfg @@ -23,7 +23,7 @@ machine_nozzle_id = AA 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_amount = 6.5 diff --git a/resources/variants/ultimaker_s3_bb0.8.inst.cfg b/resources/variants/ultimaker_s3_bb0.8.inst.cfg index 56b1ea9af7..d0f78ac3bd 100644 --- a/resources/variants/ultimaker_s3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker_s3_bb0.8.inst.cfg @@ -25,7 +25,7 @@ machine_nozzle_id = BB 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_hop = 2 diff --git a/resources/variants/ultimaker_s5_aa0.8.inst.cfg b/resources/variants/ultimaker_s5_aa0.8.inst.cfg index 4bb5eda5db..04a3a97d11 100644 --- a/resources/variants/ultimaker_s5_aa0.8.inst.cfg +++ b/resources/variants/ultimaker_s5_aa0.8.inst.cfg @@ -23,7 +23,7 @@ machine_nozzle_id = AA 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_amount = 6.5 diff --git a/resources/variants/ultimaker_s5_bb0.8.inst.cfg b/resources/variants/ultimaker_s5_bb0.8.inst.cfg index b833c4bcf3..07b556d206 100644 --- a/resources/variants/ultimaker_s5_bb0.8.inst.cfg +++ b/resources/variants/ultimaker_s5_bb0.8.inst.cfg @@ -25,7 +25,7 @@ machine_nozzle_id = BB 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_hop = 2 diff --git a/resources/variants/ultimaker_s7_aa0.8.inst.cfg b/resources/variants/ultimaker_s7_aa0.8.inst.cfg index 1feea8c676..b3253f7d25 100644 --- a/resources/variants/ultimaker_s7_aa0.8.inst.cfg +++ b/resources/variants/ultimaker_s7_aa0.8.inst.cfg @@ -23,7 +23,7 @@ machine_nozzle_id = AA 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_amount = 6.5 diff --git a/resources/variants/ultimaker_s7_bb0.8.inst.cfg b/resources/variants/ultimaker_s7_bb0.8.inst.cfg index 17a9971002..010d5c7cf1 100644 --- a/resources/variants/ultimaker_s7_bb0.8.inst.cfg +++ b/resources/variants/ultimaker_s7_bb0.8.inst.cfg @@ -25,7 +25,7 @@ machine_nozzle_id = BB 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 multiple_mesh_overlap = 0 -prime_tower_mode = none +prime_tower_enable = False prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_amount = 4.5 From bb439e586775089a500de32956ee9d56a2069d1e Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Thu, 22 Feb 2024 16:21:32 +0100 Subject: [PATCH 62/98] Introduce `primetower_enable` setting CURA-11645 --- resources/definitions/fdmprinter.def.json | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1d453456a8..9dbd7b19a0 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6794,20 +6794,29 @@ "description": "Settings used for printing with multiple extruders.", "children": { + "prime_tower_enable": { + "label": "Enable Prime Tower", + "description": "Print a tower next to the print which serves to prime the material after each nozzle switch.", + "type": "bool", + "enabled": "extruders_enabled_count > 1", + "default_value": false, + "resolve": "(extruders_enabled_count > 1) and any(extruderValues('prime_tower_enable'))", + "settable_per_mesh": false, + "settable_per_extruder": false + }, "prime_tower_mode": { "label": "Prime Tower", - "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • None: do not generate a prime tower
  • Normal: generate a bucket in which secondary materials are primed
  • Interleaved: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", + "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • Normal: generate a bucket in which secondary materials are primed
  • Interleaved: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", "type": "enum", - "value": "'none' if (extruders_enabled_count < 2) else ('interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal')", + "value": "'interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal'", "options": { - "none": "None", "normal": "Normal", "interleaved": "Interleaved" }, - "default_value": "none", - "enabled": "extruders_enabled_count > 1", + "default_value": "normal", + "enabled": "prime_tower_enabled", "settable_per_mesh": false, "settable_per_extruder": false }, From 0a09cee0c6bda29c15b76e3074b8b043c2c4ad94 Mon Sep 17 00:00:00 2001 From: casperlamboo Date: Thu, 22 Feb 2024 15:22:31 +0000 Subject: [PATCH 63/98] Applied printer-linter format --- resources/definitions/fdmprinter.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 9dbd7b19a0..a22a06c19f 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6794,7 +6794,8 @@ "description": "Settings used for printing with multiple extruders.", "children": { - "prime_tower_enable": { + "prime_tower_enable": + { "label": "Enable Prime Tower", "description": "Print a tower next to the print which serves to prime the material after each nozzle switch.", "type": "bool", From d4ba499d68fca86b6ccf2e3f9beb8b0824e59207 Mon Sep 17 00:00:00 2001 From: Casper Lamboo Date: Thu, 22 Feb 2024 17:13:01 +0100 Subject: [PATCH 64/98] Update resources/definitions/fdmprinter.def.json --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index a22a06c19f..8b5a1e5e92 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6817,7 +6817,7 @@ "interleaved": "Interleaved" }, "default_value": "normal", - "enabled": "prime_tower_enabled", + "enabled": "prime_tower_enable", "settable_per_mesh": false, "settable_per_extruder": false }, From 0b222d9be229374fb2a33827f4542b8a43f81e81 Mon Sep 17 00:00:00 2001 From: sheep007 <42427653+zanghao912@users.noreply.github.com> Date: Fri, 23 Feb 2024 10:34:10 +0800 Subject: [PATCH 65/98] Update creality_ender3v3se.def.json --- resources/definitions/creality_ender3v3se.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/creality_ender3v3se.def.json b/resources/definitions/creality_ender3v3se.def.json index 5769e3e493..12b863b506 100644 --- a/resources/definitions/creality_ender3v3se.def.json +++ b/resources/definitions/creality_ender3v3se.def.json @@ -45,7 +45,7 @@ "machine_max_feedrate_y": { "value": 500 }, "machine_max_feedrate_z": { "value": 30 }, "machine_name": { "default_value": "Creality Ender-3 V3 SE" }, - "machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nM420 S1; Enable mesh leveling\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S[material_print_temperature_layer_0]\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800 \n" }, + "machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nM420 S1; Enable mesh leveling\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S{material_print_temperature_layer_0}\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800 \n" }, "machine_width": { "default_value": 220 }, "retraction_amount": { "value": 0.8 }, "retraction_speed": { "default_value": 40 }, From 68d1fb4c6fca8dedb5e7ab57de2f7a4e0d8cae4d Mon Sep 17 00:00:00 2001 From: sheep007 <42427653+zanghao912@users.noreply.github.com> Date: Fri, 23 Feb 2024 15:42:58 +0800 Subject: [PATCH 66/98] fix Anycubic Kobra Go & Kobra 2 start Gcode BUG --- resources/definitions/anycubic_kobra2.def.json | 2 +- resources/definitions/anycubic_kobra_go.def.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/anycubic_kobra2.def.json b/resources/definitions/anycubic_kobra2.def.json index aea6b4d344..965504338b 100644 --- a/resources/definitions/anycubic_kobra2.def.json +++ b/resources/definitions/anycubic_kobra2.def.json @@ -42,7 +42,7 @@ "machine_max_jerk_xy": { "value": 10 }, "machine_max_jerk_z": { "value": 2 }, "machine_name": { "default_value": "Anycubic Kobra 2" }, - "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ; use absolute coordinates\nM82 ; use absolute distances for extrusion\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nM300 S1318 P266\nG1 Z5 F5000 ; lift nozzle\nG1 X5 Y0 F3000\nG1 Z0.3 ; set nozzle height\nG92 E0\nG1 X50 Y0 E20 F500 ; Extrude 20mm of filament in a 5cm line \nG92 E0 ; zero the extruded length again \nG1 E-4.5 F4800 ; Retract a little \nG92 E0\nG1 X120 F4000 ; Quickly wipe away from the filament line\nM117 ; Printing\u2026\nG5" }, + "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ; use absolute coordinates\nM82 ; use absolute distances for extrusion\nM104 S{material_print_temperature_layer_0} ; set extruder temp\nM140 S{material_bed_temperature_layer_0} ; set bed temp\nM190 S{material_bed_temperature_layer_0} ; wait for bed temp\nM109 S{material_print_temperature_layer_0} ; wait for extruder temp\nG28 ; home all axes\nM300 S1318 P266\nG1 Z5 F5000 ; lift nozzle\nG1 X5 Y0 F3000\nG1 Z0.3 ; set nozzle height\nG92 E0\nG1 X50 Y0 E20 F500 ; Extrude 20mm of filament in a 5cm line \nG92 E0 ; zero the extruded length again \nG1 E-4.5 F4800 ; Retract a little \nG92 E0\nG1 X120 F4000 ; Quickly wipe away from the filament line\nM117 ; Printing\u2026\nG5" }, "machine_width": { "default_value": 220 }, "material_bed_temperature": { "maximum_value_warning": 110 }, "material_bed_temperature_layer_0": { "maximum_value_warning": 110 }, diff --git a/resources/definitions/anycubic_kobra_go.def.json b/resources/definitions/anycubic_kobra_go.def.json index 8c546bdbb7..686734d962 100644 --- a/resources/definitions/anycubic_kobra_go.def.json +++ b/resources/definitions/anycubic_kobra_go.def.json @@ -23,7 +23,7 @@ "machine_heated_bed": { "default_value": true }, "machine_height": { "default_value": 250 }, "machine_name": { "default_value": "Anycubic Kobra Go" }, - "machine_start_gcode": { "default_value": "M140 S[first_layer_bed_temperature]; Heat bed\nM104 S[first_layer_temperature\n ]; Heat extruder\nG21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nG28 ; Home all axes\nG92 E0 ; Reset Extruder\nM420 S1 ; Enable Bed Levelling Mesh\nM190 S[first_layer_bed_temperature\n ]; Wait for bed to get up to temperature\nM109 S[first_layer_temperature\n ]; Wait for extruder to get up to temperature\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X2 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X2 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X2.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X2.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 F2400 E-1\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish" }, + "machine_start_gcode": { "default_value": "M140 S{material_bed_temperature_layer_0}; Heat bed\nM104 S{material_print_temperature_layer_0}; Heat extruder\nG21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nG28 ; Home all axes\nG92 E0 ; Reset Extruder\nM420 S1 ; Enable Bed Levelling Mesh\nM190 S{material_bed_temperature_layer_0}; Wait for bed to get up to temperature\nM109 S{material_print_temperature_layer_0}; Wait for extruder to get up to temperature\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X2 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X2 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X2.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X2.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 F2400 E-1\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish" }, "machine_width": { "default_value": 222 } } } \ No newline at end of file From d2ae315522d9c1a0b26e5ac814b862d7e1bc2692 Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Fri, 23 Feb 2024 09:02:26 +0100 Subject: [PATCH 67/98] Update resources/definitions/ultimaker_method_base.def.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- resources/definitions/ultimaker_method_base.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/ultimaker_method_base.def.json b/resources/definitions/ultimaker_method_base.def.json index 19fe80b2e2..ed7b6597e5 100644 --- a/resources/definitions/ultimaker_method_base.def.json +++ b/resources/definitions/ultimaker_method_base.def.json @@ -377,7 +377,7 @@ "retraction_prime_speed": { "value": "retraction_speed" }, "retraction_speed": { "value": 5 }, "roofing_layer_count": { "value": 2 }, - "roofing_material_flow": { "value": "material_flow" }, + "roofing_monotonic": { "value": true }, "skin_material_flow": { "value": "0.95*material_flow" }, "skin_outline_count": { "value": 0 }, From 21032311028a3e97ec175060bb2ca6bd5dca6859 Mon Sep 17 00:00:00 2001 From: pkuiper-ultimaker Date: Fri, 23 Feb 2024 08:03:17 +0000 Subject: [PATCH 68/98] Applied printer-linter format --- resources/definitions/ultimaker_method_base.def.json | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/definitions/ultimaker_method_base.def.json b/resources/definitions/ultimaker_method_base.def.json index ed7b6597e5..07a5a3d253 100644 --- a/resources/definitions/ultimaker_method_base.def.json +++ b/resources/definitions/ultimaker_method_base.def.json @@ -377,7 +377,6 @@ "retraction_prime_speed": { "value": "retraction_speed" }, "retraction_speed": { "value": 5 }, "roofing_layer_count": { "value": 2 }, - "roofing_monotonic": { "value": true }, "skin_material_flow": { "value": "0.95*material_flow" }, "skin_outline_count": { "value": 0 }, From de91761b8af6b1b350a36c09ec40133229a74652 Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Fri, 23 Feb 2024 09:24:05 +0100 Subject: [PATCH 69/98] Update ultimaker.def.json --- resources/definitions/ultimaker.def.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index 97eaf278e8..b8d6d33375 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -101,7 +101,6 @@ "relative_extrusion": { "enabled": false, - "value": false }, "retraction_combing": { "value": "'no_outer_surfaces'" }, "retraction_combing_max_distance": { "value": 15 }, @@ -140,4 +139,4 @@ "z_seam_corner": { "value": "'z_seam_corner_none'" }, "zig_zaggify_support": { "value": true } } -} \ No newline at end of file +} From 1b12617e01ff558ebc18bd2634b18020186c08bb Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Fri, 23 Feb 2024 09:27:31 +0100 Subject: [PATCH 70/98] Update ultimaker.def.json --- resources/definitions/ultimaker.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index b8d6d33375..7686bd1301 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -100,7 +100,7 @@ "raft_surface_speed": { "value": "speed_topbottom" }, "relative_extrusion": { - "enabled": false, + "enabled": false }, "retraction_combing": { "value": "'no_outer_surfaces'" }, "retraction_combing_max_distance": { "value": 15 }, From 3eee666d6ad35eb357efc3df46f48e2446effc97 Mon Sep 17 00:00:00 2001 From: pkuiper-ultimaker Date: Fri, 23 Feb 2024 08:28:25 +0000 Subject: [PATCH 71/98] Applied printer-linter format --- resources/definitions/ultimaker.def.json | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index 7686bd1301..f62e98f30f 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -98,10 +98,7 @@ "raft_surface_fan_speed": { "value": "cool_fan_speed_min" }, "raft_surface_monotonic": { "value": true }, "raft_surface_speed": { "value": "speed_topbottom" }, - "relative_extrusion": - { - "enabled": false - }, + "relative_extrusion": { "enabled": false }, "retraction_combing": { "value": "'no_outer_surfaces'" }, "retraction_combing_max_distance": { "value": 15 }, "retraction_count_max": { "value": 25 }, @@ -139,4 +136,4 @@ "z_seam_corner": { "value": "'z_seam_corner_none'" }, "zig_zaggify_support": { "value": true } } -} +} \ No newline at end of file From cd9ce966af097a755b2f82714d5214978fae64b9 Mon Sep 17 00:00:00 2001 From: Nikita Chernukhin Date: Fri, 2 Feb 2024 20:46:14 +0100 Subject: [PATCH 72/98] Fix bed mesh offsets for Ratrig V-Core3 200mm and V-Minion --- resources/definitions/ratrig_vcore3_200.def.json | 2 +- resources/definitions/ratrig_vminion.def.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/ratrig_vcore3_200.def.json b/resources/definitions/ratrig_vcore3_200.def.json index d16f15b476..143063b95f 100644 --- a/resources/definitions/ratrig_vcore3_200.def.json +++ b/resources/definitions/ratrig_vcore3_200.def.json @@ -8,7 +8,7 @@ "platform": "ratrig_vcore3_200.stl", "platform_offset": [ 0, - 5, + 0, 0 ], "weight": 16 diff --git a/resources/definitions/ratrig_vminion.def.json b/resources/definitions/ratrig_vminion.def.json index bdc8d0d8a1..daf0d4f302 100644 --- a/resources/definitions/ratrig_vminion.def.json +++ b/resources/definitions/ratrig_vminion.def.json @@ -11,7 +11,7 @@ "machine_extruder_trains": { "0": "ratrig_base_extruder_0" }, "platform_offset": [ 0, - 5, + 0, 0 ], "preferred_variant_name": "0.4mm Nozzle", From ec138516eb1f46d9bb1d7aaa01394d55542c67ba Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Mon, 26 Feb 2024 06:53:23 +0100 Subject: [PATCH 73/98] override Protobuf requirement deps Fix versions conflict --- conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/conanfile.py b/conanfile.py index ca6b4eabd0..2b45c288e9 100644 --- a/conanfile.py +++ b/conanfile.py @@ -355,6 +355,7 @@ class CuraConan(ConanFile): self.requires("spdlog/1.12.0") self.requires("fmt/10.1.1") self.requires("zlib/1.2.13") + self.requires("protobuf/3.21.12") def build_requirements(self): if self.options.get_safe("enable_i18n", False): From fca8d2a75185e19938b4029bc3f70146ae0fcc5e Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Mon, 26 Feb 2024 06:54:20 +0100 Subject: [PATCH 74/98] Revert "override Protobuf requirement deps" This reverts commit ec138516eb1f46d9bb1d7aaa01394d55542c67ba. --- conanfile.py | 1 - 1 file changed, 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index 2b45c288e9..ca6b4eabd0 100644 --- a/conanfile.py +++ b/conanfile.py @@ -355,7 +355,6 @@ class CuraConan(ConanFile): self.requires("spdlog/1.12.0") self.requires("fmt/10.1.1") self.requires("zlib/1.2.13") - self.requires("protobuf/3.21.12") def build_requirements(self): if self.options.get_safe("enable_i18n", False): From d5e8a0acb9d740296e5ee04f91b1b084afac58db Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 26 Feb 2024 11:12:31 +0100 Subject: [PATCH 75/98] Fix prime tower shadow visible when disabled CURA-11645 --- cura/BuildVolume.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 56abfc0fa1..0f906332eb 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -880,7 +880,7 @@ class BuildVolume(SceneNode): result[extruder.getId()] = [] # Currently, the only normally printed object is the prime tower. - if self._global_container_stack.getProperty("prime_tower_mode", "value") != 'none': + if self._global_container_stack.getProperty("prime_tower_enable", "value"): prime_tower_size = self._global_container_stack.getProperty("prime_tower_size", "value") machine_width = self._global_container_stack.getProperty("machine_width", "value") machine_depth = self._global_container_stack.getProperty("machine_depth", "value") From fb33dfe665778dbcf36480dd1f8f8041c42aea46 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 26 Feb 2024 11:15:34 +0100 Subject: [PATCH 76/98] Register notification on prime tower enable CURA-11645 --- cura/BuildVolume.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 0f906332eb..742d1872cb 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -1208,7 +1208,7 @@ class BuildVolume(SceneNode): _raft_settings = ["adhesion_type", "raft_base_thickness", "raft_interface_layers", "raft_interface_thickness", "raft_surface_layers", "raft_surface_thickness", "raft_airgap", "layer_0_z_overlap"] _extra_z_settings = ["retraction_hop_enabled", "retraction_hop"] _prime_settings = ["extruder_prime_pos_x", "extruder_prime_pos_y", "prime_blob_enable"] - _tower_settings = ["prime_tower_mode", "prime_tower_size", "prime_tower_position_x", "prime_tower_position_y", "prime_tower_brim_enable", "prime_tower_base_size", "prime_tower_base_height"] + _tower_settings = ["prime_tower_enable", "prime_tower_size", "prime_tower_position_x", "prime_tower_position_y", "prime_tower_brim_enable", "prime_tower_base_size", "prime_tower_base_height"] _ooze_shield_settings = ["ooze_shield_enabled", "ooze_shield_dist"] _distance_settings = ["infill_wipe_dist", "travel_avoid_distance", "support_offset", "support_enable", "travel_avoid_other_parts", "travel_avoid_supports", "wall_line_count", "wall_line_width_0", "wall_line_width_x"] _extruder_settings = ["support_enable", "support_bottom_enable", "support_roof_enable", "support_infill_extruder_nr", "support_extruder_nr_layer_0", "support_bottom_extruder_nr", "support_roof_extruder_nr", "brim_line_count", "skirt_brim_extruder_nr", "raft_base_extruder_nr", "raft_interface_extruder_nr", "raft_surface_extruder_nr", "adhesion_type"] #Settings that can affect which extruders are used. From af494883ccd8f20ce16efee27ca04dd5737f6bf8 Mon Sep 17 00:00:00 2001 From: Casper Lamboo Date: Mon, 26 Feb 2024 12:28:19 +0100 Subject: [PATCH 77/98] Update resources/definitions/fdmprinter.def.json Co-authored-by: Erwan MATHIEU --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 8b5a1e5e92..4fac6e1d6e 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6808,7 +6808,7 @@ "prime_tower_mode": { "label": "Prime Tower", - "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.
  • Normal: generate a bucket in which secondary materials are primed
  • Interleaved: generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", + "description": "How to generate the prime tower:
  • Normal: create a bucket in which secondary materials are primed
  • Interleaved: create a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", "type": "enum", "value": "'interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal'", "options": From 55e5cd8982e266a8b28b062fb113e150aaef815d Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Mon, 26 Feb 2024 14:58:53 +0100 Subject: [PATCH 78/98] adding dropto buildplate drop per model in 3mf CURA-10542 --- cura/PlatformPhysics.py | 19 ++++++++++++------- cura/Scene/CuraSceneNode.py | 6 ++++++ plugins/3MFReader/ThreeMFReader.py | 4 ++++ plugins/3MFReader/WorkspaceDialog.qml | 1 + plugins/3MFWriter/ThreeMFWriter.py | 1 + 5 files changed, 24 insertions(+), 7 deletions(-) diff --git a/cura/PlatformPhysics.py b/cura/PlatformPhysics.py index 6a26190a56..306f6a837a 100755 --- a/cura/PlatformPhysics.py +++ b/cura/PlatformPhysics.py @@ -39,7 +39,7 @@ class PlatformPhysics: Application.getInstance().getPreferences().addPreference("physics/automatic_push_free", False) Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", False) - self._app_per_model_drop = Application.getInstance().getPreferences().getValue("physics/automatic_drop_down") + self._app_per_model_drop = None def getAppPerModelDropDown(self): return self._app_per_model_drop @@ -78,6 +78,14 @@ class PlatformPhysics: # We try to shuffle all the nodes to prevent "locked" situations, where iteration B inverts iteration A. # By shuffling the order of the nodes, this might happen a few times, but at some point it will resolve. random.shuffle(nodes) + drop_down = False + # drop down in case nodes are asked to drop down from the user from workspaceDialog while opening 3mf + if self._app_per_model_drop and (self._app_per_model_drop != app_automatic_drop_down): + drop_down = True + # drop down in case the user has selected automated drop down preference for 3mf opening + if self._app_per_model_drop and app_automatic_drop_down: + drop_down= True + for node in nodes: if node is root or not isinstance(node, SceneNode) or node.getBoundingBox() is None: @@ -88,12 +96,9 @@ class PlatformPhysics: # Move it downwards if bottom is above platform move_vector = Vector() - # if per model drop is different then app_automatic_drop, in case of 3mf loading when user changes this setting for that model - if (self._app_per_model_drop != app_automatic_drop_down): - node.setSetting(SceneNodeSettings.AutoDropDown, self._app_per_model_drop) - if node.getSetting(SceneNodeSettings.AutoDropDown, self._app_per_model_drop) and not (node.getParent() and node.getParent().callDecoration("isGroup") or node.getParent() != root) and node.isEnabled(): #If an object is grouped, don't move it down + if (node.getSetting(SceneNodeSettings.AutoDropDown, app_automatic_drop_down) or drop_down) and not (node.getParent() and node.getParent().callDecoration("isGroup") or node.getParent() != root) and node.isEnabled(): z_offset = node.callDecoration("getZOffset") if node.getDecorator(ZOffsetDecorator.ZOffsetDecorator) else 0 - move_vector = move_vector.set(y = -bbox.bottom + z_offset) + move_vector = move_vector.set(y=-bbox.bottom + z_offset) # If there is no convex hull for the node, start calculating it and continue. if not node.getDecorator(ConvexHullDecorator) and not node.callDecoration("isNonPrintingMesh") and node.callDecoration("getLayerData") is None: @@ -180,7 +185,7 @@ class PlatformPhysics: op.push() # setting this drop to model same as app_automatic_drop_down - self._app_per_model_drop = app_automatic_drop_down + self._app_per_model_drop = None # After moving, we have to evaluate the boundary checks for nodes build_volume.updateNodeBoundaryCheck() diff --git a/cura/Scene/CuraSceneNode.py b/cura/Scene/CuraSceneNode.py index 9b412c7d4f..5a47fa0f0b 100644 --- a/cura/Scene/CuraSceneNode.py +++ b/cura/Scene/CuraSceneNode.py @@ -11,6 +11,7 @@ from UM.Scene.SceneNode import SceneNode from UM.Scene.SceneNodeDecorator import SceneNodeDecorator # To cast the deepcopy of every decorator back to SceneNodeDecorator. import cura.CuraApplication # To get the build plate. +from UM.Scene.SceneNodeSettings import SceneNodeSettings from cura.Settings.ExtruderStack import ExtruderStack # For typing. from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator # For per-object settings. @@ -26,6 +27,7 @@ class CuraSceneNode(SceneNode): self.addDecorator(SettingOverrideDecorator()) # Now we always have a getActiveExtruderPosition, unless explicitly disabled self._outside_buildarea = False self._print_order = 0 + self._drop_down = Application.getInstance().getPreferences().getValue("physics/automatic_drop_down") def setOutsideBuildArea(self, new_value: bool) -> None: self._outside_buildarea = new_value @@ -41,6 +43,10 @@ class CuraSceneNode(SceneNode): def isOutsideBuildArea(self) -> bool: return self._outside_buildarea or self.callDecoration("getBuildPlateNumber") < 0 + @property + def isDropDownEnabled(self) ->bool: + return self.getSetting(SceneNodeSettings.AutoDropDown, self._drop_down) + def isVisible(self) -> bool: return super().isVisible() and self.callDecoration("getBuildPlateNumber") == cura.CuraApplication.CuraApplication.getInstance().getMultiBuildPlateModel().activeBuildPlate diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index ac94282136..99852d84ce 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -16,6 +16,7 @@ from UM.Mesh.MeshReader import MeshReader from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType from UM.Scene.GroupDecorator import GroupDecorator from UM.Scene.SceneNode import SceneNode # For typing. +from UM.Scene.SceneNodeSettings import SceneNodeSettings from cura.CuraApplication import CuraApplication from cura.Machines.ContainerTree import ContainerTree from cura.Scene.BuildPlateDecorator import BuildPlateDecorator @@ -180,6 +181,9 @@ class ThreeMFReader(MeshReader): if key == "print_order": um_node.printOrder = int(setting_value) continue + if key =="drop_to_buildplate": + um_node.setSetting(SceneNodeSettings.AutoDropDown, eval(setting_value)) + continue if key in known_setting_keys: setting_container.setProperty(key, "value", setting_value) else: diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index 334317e0dc..0cef71fd42 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -366,6 +366,7 @@ UM.Dialog } function reloadValue() { + manager.manager.setDropToBuildPlateForModel(checkDropModels.checked) checkDropModels.checked = UM.Preferences.getValue("physics/automatic_drop_down") } } diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 6fda1742f8..c321505643 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -155,6 +155,7 @@ class ThreeMFWriter(MeshWriter): if isinstance(um_node, CuraSceneNode): savitar_node.setSetting("cura:print_order", str(um_node.printOrder)) + savitar_node.setSetting("cura:drop_to_buildplate", str(um_node.isDropDownEnabled)) # Store the metadata. for key, value in um_node.metadata.items(): From fb233d8b16460e3d5b38167a45d834e005dc0920 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Mon, 26 Feb 2024 14:59:48 +0100 Subject: [PATCH 79/98] preference setting of "drop+to_buildplate" preseve from previous versions CURA-10542 --- cura/PlatformPhysics.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/PlatformPhysics.py b/cura/PlatformPhysics.py index 306f6a837a..74fe05927d 100755 --- a/cura/PlatformPhysics.py +++ b/cura/PlatformPhysics.py @@ -38,7 +38,7 @@ class PlatformPhysics: self._minimum_gap = 2 # It is a minimum distance (in mm) between two models, applicable for small models Application.getInstance().getPreferences().addPreference("physics/automatic_push_free", False) - Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", False) + Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", True) self._app_per_model_drop = None def getAppPerModelDropDown(self): From 0d40d2b07f09d41255e75699682d350248214f00 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Mon, 26 Feb 2024 15:37:54 +0100 Subject: [PATCH 80/98] Fix crash when saving ucp project CURA-11403 --- plugins/3MFWriter/SettingsExportModel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFWriter/SettingsExportModel.py b/plugins/3MFWriter/SettingsExportModel.py index 0c34278067..3b034236c8 100644 --- a/plugins/3MFWriter/SettingsExportModel.py +++ b/plugins/3MFWriter/SettingsExportModel.py @@ -118,7 +118,7 @@ class SettingsExportModel(QObject): setting_type = settings_stack.getProperty(setting_to_export, "type") if setting_type is not None: # This is not very good looking, but will do for now - value = SettingDefinition.settingValueToString(setting_type, value) + " " + unit + value = f"{str(SettingDefinition.settingValueToString(setting_type, value))} {unit}" else: value = str(value) From b5b9dd0e572378e8b6376994cd60e3a8ee5e6089 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Mon, 26 Feb 2024 15:51:36 +0100 Subject: [PATCH 81/98] fixing unit-test CURA-10542 --- cura/Scene/CuraSceneNode.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cura/Scene/CuraSceneNode.py b/cura/Scene/CuraSceneNode.py index 5a47fa0f0b..65b7c1e593 100644 --- a/cura/Scene/CuraSceneNode.py +++ b/cura/Scene/CuraSceneNode.py @@ -27,7 +27,6 @@ class CuraSceneNode(SceneNode): self.addDecorator(SettingOverrideDecorator()) # Now we always have a getActiveExtruderPosition, unless explicitly disabled self._outside_buildarea = False self._print_order = 0 - self._drop_down = Application.getInstance().getPreferences().getValue("physics/automatic_drop_down") def setOutsideBuildArea(self, new_value: bool) -> None: self._outside_buildarea = new_value @@ -45,7 +44,7 @@ class CuraSceneNode(SceneNode): @property def isDropDownEnabled(self) ->bool: - return self.getSetting(SceneNodeSettings.AutoDropDown, self._drop_down) + return self.getSetting(SceneNodeSettings.AutoDropDown, Application.getInstance().getPreferences().getValue("physics/automatic_drop_down")) def isVisible(self) -> bool: return super().isVisible() and self.callDecoration("getBuildPlateNumber") == cura.CuraApplication.CuraApplication.getInstance().getMultiBuildPlateModel().activeBuildPlate From 6cd8196a9660a8d73d66c454398f0b6d8ec6f464 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Mon, 26 Feb 2024 15:53:15 +0100 Subject: [PATCH 82/98] Fix crash when saving ucp project CURA-11403 --- resources/qml/Menus/FileMenu.qml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index 4ca09cc9f1..67edcc5962 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -47,6 +47,11 @@ Cura.Menu enabled: UM.WorkspaceFileHandler.enabled && saveProjectMenu.model.count == 1 onTriggered: { + const args = { + "filter_by_machine": false, + "file_type": "workspace", + "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", + }; if (UM.Preferences.getValue("cura/dialog_on_project_save")) { saveWorkspaceDialog.args = args @@ -54,11 +59,6 @@ Cura.Menu } else { - const args = { - "filter_by_machine": false, - "file_type": "workspace", - "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", - }; UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args) } } From 2bdc70c76b0e6238155636528087b50296102bba Mon Sep 17 00:00:00 2001 From: HellAholic Date: Mon, 26 Feb 2024 19:06:35 +0000 Subject: [PATCH 83/98] Applied printer-linter format --- resources/definitions/creality_ender3v3se.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/creality_ender3v3se.def.json b/resources/definitions/creality_ender3v3se.def.json index 8e32a44eb9..86d6818166 100644 --- a/resources/definitions/creality_ender3v3se.def.json +++ b/resources/definitions/creality_ender3v3se.def.json @@ -52,4 +52,4 @@ "speed_layer_0": { "value": 30 }, "speed_print": { "value": 180 } } -} +} \ No newline at end of file From 853bd4cf929eb47f0a470e062b9079deae413b1a Mon Sep 17 00:00:00 2001 From: sheep007 <42427653+zanghao912@users.noreply.github.com> Date: Tue, 27 Feb 2024 10:48:29 +0800 Subject: [PATCH 84/98] Update creality_ender3v3se.def.json --- resources/definitions/creality_ender3v3se.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/creality_ender3v3se.def.json b/resources/definitions/creality_ender3v3se.def.json index 12b863b506..8e32a44eb9 100644 --- a/resources/definitions/creality_ender3v3se.def.json +++ b/resources/definitions/creality_ender3v3se.def.json @@ -45,11 +45,11 @@ "machine_max_feedrate_y": { "value": 500 }, "machine_max_feedrate_z": { "value": 30 }, "machine_name": { "default_value": "Creality Ender-3 V3 SE" }, - "machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nM420 S1; Enable mesh leveling\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S{material_print_temperature_layer_0}\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800 \n" }, + "machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nM420 S1; Use saved mesh leveling data\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S{material_bed_temperature_layer_0} ; Set bed temperature and wait\nM109 S{material_print_temperature_layer_0} ; Set hotend temperature and wait\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800 \n" }, "machine_width": { "default_value": 220 }, "retraction_amount": { "value": 0.8 }, "retraction_speed": { "default_value": 40 }, "speed_layer_0": { "value": 30 }, "speed_print": { "value": 180 } } -} \ No newline at end of file +} From 59d6593c176a8fcc252eb45b2eb82e4ed3e11dc0 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Tue, 27 Feb 2024 09:57:39 +0100 Subject: [PATCH 85/98] fixing reloadvalue manager CURA-10542 --- plugins/3MFReader/WorkspaceDialog.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index 0cef71fd42..dbd6356e94 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -366,7 +366,7 @@ UM.Dialog } function reloadValue() { - manager.manager.setDropToBuildPlateForModel(checkDropModels.checked) + manager.setDropToBuildPlateForModel(checkDropModels.checked) checkDropModels.checked = UM.Preferences.getValue("physics/automatic_drop_down") } } From caf710ff606a0fcfb1c27e6986fb0a64251d8adf Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 27 Feb 2024 12:46:58 +0100 Subject: [PATCH 86/98] Change some left over prime tower mode -> enable CURA-11645 --- plugins/SliceInfoPlugin/SliceInfo.py | 1 + resources/definitions/fdmprinter.def.json | 30 +++++++++++------------ resources/setting_visibility/advanced.cfg | 1 + resources/setting_visibility/basic.cfg | 2 +- resources/setting_visibility/expert.cfg | 1 + 5 files changed, 19 insertions(+), 16 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index f61f5cf295..411146d065 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -263,6 +263,7 @@ class SliceInfo(QObject, Extension): print_settings["retraction_enable"] = global_stack.getProperty("retraction_enable", "value") # Prime tower settings + print_settings["prime_tower_enable"] = global_stack.getProperty("prime_tower_enable", "value") print_settings["prime_tower_mode"] = global_stack.getProperty("prime_tower_mode", "value") # Infill settings diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 4fac6e1d6e..92856e9613 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -979,7 +979,7 @@ "description": "Width of a single prime tower line.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_mode') != 'none'", + "enabled": "'prime_tower_enable'", "default_value": 0.4, "value": "line_width", "minimum_value": "0.001", @@ -3363,7 +3363,7 @@ "description": "The speed at which the prime tower is printed. Printing the prime tower slower can make it more stable when the adhesion between the different filaments is suboptimal.", "type": "float", "unit": "mm/s", - "enabled": "resolveOrValue('prime_tower_mode') != 'none'", + "enabled": "'prime_tower_enable'", "default_value": 60, "value": "speed_print", "minimum_value": "0.1", @@ -3741,7 +3741,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "value": "acceleration_print", - "enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('acceleration_enabled')", + "enabled": "'prime_tower_enable' and resolveOrValue('acceleration_enabled')", "settable_per_mesh": false } } @@ -4060,7 +4060,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", - "enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('jerk_enabled')", + "enabled": "'prime_tower_enable' and resolveOrValue('jerk_enabled')", "settable_per_mesh": false } } @@ -6827,7 +6827,7 @@ "description": "The width of the prime tower.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_mode') != 'none'", + "enabled": "'prime_tower_enable'", "default_value": 20, "resolve": "max(extruderValues('prime_tower_size'))", "minimum_value": "0", @@ -6846,7 +6846,7 @@ "default_value": 6, "minimum_value": "0", "maximum_value_warning": "(resolveOrValue('prime_tower_size') * 0.5) ** 2 * 3.14159 * resolveOrValue('layer_height') - sum(extruderValues('prime_tower_min_volume')) + prime_tower_min_volume", - "enabled": "resolveOrValue('prime_tower_mode') != 'none'", + "enabled": "'prime_tower_enable'", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -6859,7 +6859,7 @@ "default_value": 5, "minimum_value": "line_width", "maximum_value_warning": "10.0", - "enabled": "resolveOrValue('prime_tower_mode') != 'none'", + "enabled": "'prime_tower_enable'", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -6869,7 +6869,7 @@ "description": "The x coordinate of the position of the prime tower.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_mode') != 'none'", + "enabled": "'prime_tower_enable'", "default_value": 200, "value": "(resolveOrValue('machine_width') / 2 + resolveOrValue('prime_tower_size') / 2) if resolveOrValue('machine_shape') == 'elliptic' else (resolveOrValue('machine_width') - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_x')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_x'))), 1)) - (resolveOrValue('machine_width') / 2 if resolveOrValue('machine_center_is_zero') else 0)", "maximum_value": "(machine_width / 2 if machine_center_is_zero else machine_width) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", @@ -6883,7 +6883,7 @@ "description": "The y coordinate of the position of the prime tower.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_mode') != 'none'", + "enabled": "'prime_tower_enable'", "default_value": 200, "value": "machine_depth - prime_tower_size - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_y')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_y'))), 1) - (resolveOrValue('machine_depth') / 2 if resolveOrValue('machine_center_is_zero') else 0)", "maximum_value": "(machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", @@ -6896,7 +6896,7 @@ "label": "Wipe Inactive Nozzle on Prime Tower", "description": "After printing the prime tower with one nozzle, wipe the oozed material from the other nozzle off on the prime tower.", "type": "bool", - "enabled": "resolveOrValue('prime_tower_mode') != 'none'", + "enabled": "'prime_tower_enable'", "default_value": true, "settable_per_mesh": false, "settable_per_extruder": true @@ -6907,7 +6907,7 @@ "label": "Prime Tower Base", "description": "By enabling this setting, your prime-tower will get a brim, even if the model doesn't. If you want a sturdier base for a high tower, you can increase the base height.", "type": "bool", - "enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('adhesion_type') != 'raft'", + "enabled": "'prime_tower_enable' and resolveOrValue('adhesion_type') != 'raft'", "default_value": false, "settable_per_mesh": false, "settable_per_extruder": false @@ -6919,7 +6919,7 @@ "description": "The width of the prime tower brim/base. A larger base enhances adhesion to the build plate, but also reduces the effective print area.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_mode') != 'none' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "enabled": "'prime_tower_enable' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "default_value": 1.2, "minimum_value": "0", "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)", @@ -6933,7 +6933,7 @@ "description": "The height of the prime tower base. Increasing this value will result in a more sturdy prime tower because the base will be wider. If this setting is too low, the prime tower will not have a sturdy base.", "type": "float", "unit": "mm", - "enabled": "resolveOrValue('prime_tower_mode') != 'none' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "enabled": "'prime_tower_enable' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "default_value": 0, "minimum_value": "0", "maximum_value": "machine_height", @@ -6945,7 +6945,7 @@ "label": "Prime Tower Base Slope", "description": "The magnitude factor used for the slope of the prime tower base. If you increase this value, the base will become slimmer. If you decrease it, the base will become thicker.", "type": "float", - "enabled": "resolveOrValue('prime_tower_mode') != 'none' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "enabled": "'prime_tower_enable' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "default_value": 4, "minimum_value": "0", "maximum_value": "10", @@ -6963,7 +6963,7 @@ "minimum_value": "0", "minimum_value_warning": "raft_base_line_width", "maximum_value_warning": "100", - "enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('adhesion_type') == 'raft'", + "enabled": "'prime_tower_enable' and resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, "settable_per_extruder": true, "limit_to_extruder": "raft_base_extruder_nr" diff --git a/resources/setting_visibility/advanced.cfg b/resources/setting_visibility/advanced.cfg index 57698bf252..55a36075be 100644 --- a/resources/setting_visibility/advanced.cfg +++ b/resources/setting_visibility/advanced.cfg @@ -127,6 +127,7 @@ brim_line_count brim_outside_only [dual] +prime_tower_enable prime_tower_mode prime_tower_position_x prime_tower_position_y diff --git a/resources/setting_visibility/basic.cfg b/resources/setting_visibility/basic.cfg index f5552f3cd8..0193eb26ba 100644 --- a/resources/setting_visibility/basic.cfg +++ b/resources/setting_visibility/basic.cfg @@ -53,7 +53,7 @@ adhesion_type adhesion_extruder_nr [dual] -prime_tower_mode +prime_tower_enable prime_tower_position_x prime_tower_position_y diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index 0a07fff449..130b2580a4 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -356,6 +356,7 @@ raft_fan_speed raft_is_shrink_plate [dual] +prime_tower_enable prime_tower_mode prime_tower_size prime_tower_min_volume From 85a82ea986c91ab4b88551dc2d15a497ffb6122d Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Tue, 27 Feb 2024 12:57:38 +0100 Subject: [PATCH 87/98] Fix prime_tower_enable setting use CURA-11645 --- resources/definitions/fdmprinter.def.json | 30 +++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 92856e9613..2cea608c33 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -979,7 +979,7 @@ "description": "Width of a single prime tower line.", "type": "float", "unit": "mm", - "enabled": "'prime_tower_enable'", + "enabled": "prime_tower_enable", "default_value": 0.4, "value": "line_width", "minimum_value": "0.001", @@ -3363,7 +3363,7 @@ "description": "The speed at which the prime tower is printed. Printing the prime tower slower can make it more stable when the adhesion between the different filaments is suboptimal.", "type": "float", "unit": "mm/s", - "enabled": "'prime_tower_enable'", + "enabled": "prime_tower_enable", "default_value": 60, "value": "speed_print", "minimum_value": "0.1", @@ -3741,7 +3741,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "value": "acceleration_print", - "enabled": "'prime_tower_enable' and resolveOrValue('acceleration_enabled')", + "enabled": "prime_tower_enable and resolveOrValue('acceleration_enabled')", "settable_per_mesh": false } } @@ -4060,7 +4060,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", - "enabled": "'prime_tower_enable' and resolveOrValue('jerk_enabled')", + "enabled": "prime_tower_enable and resolveOrValue('jerk_enabled')", "settable_per_mesh": false } } @@ -6827,7 +6827,7 @@ "description": "The width of the prime tower.", "type": "float", "unit": "mm", - "enabled": "'prime_tower_enable'", + "enabled": "prime_tower_enable", "default_value": 20, "resolve": "max(extruderValues('prime_tower_size'))", "minimum_value": "0", @@ -6846,7 +6846,7 @@ "default_value": 6, "minimum_value": "0", "maximum_value_warning": "(resolveOrValue('prime_tower_size') * 0.5) ** 2 * 3.14159 * resolveOrValue('layer_height') - sum(extruderValues('prime_tower_min_volume')) + prime_tower_min_volume", - "enabled": "'prime_tower_enable'", + "enabled": "prime_tower_enable", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -6859,7 +6859,7 @@ "default_value": 5, "minimum_value": "line_width", "maximum_value_warning": "10.0", - "enabled": "'prime_tower_enable'", + "enabled": "prime_tower_enable", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -6869,7 +6869,7 @@ "description": "The x coordinate of the position of the prime tower.", "type": "float", "unit": "mm", - "enabled": "'prime_tower_enable'", + "enabled": "prime_tower_enable", "default_value": 200, "value": "(resolveOrValue('machine_width') / 2 + resolveOrValue('prime_tower_size') / 2) if resolveOrValue('machine_shape') == 'elliptic' else (resolveOrValue('machine_width') - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_x')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_x'))), 1)) - (resolveOrValue('machine_width') / 2 if resolveOrValue('machine_center_is_zero') else 0)", "maximum_value": "(machine_width / 2 if machine_center_is_zero else machine_width) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", @@ -6883,7 +6883,7 @@ "description": "The y coordinate of the position of the prime tower.", "type": "float", "unit": "mm", - "enabled": "'prime_tower_enable'", + "enabled": "prime_tower_enable", "default_value": 200, "value": "machine_depth - prime_tower_size - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_y')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_y'))), 1) - (resolveOrValue('machine_depth') / 2 if resolveOrValue('machine_center_is_zero') else 0)", "maximum_value": "(machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", @@ -6896,7 +6896,7 @@ "label": "Wipe Inactive Nozzle on Prime Tower", "description": "After printing the prime tower with one nozzle, wipe the oozed material from the other nozzle off on the prime tower.", "type": "bool", - "enabled": "'prime_tower_enable'", + "enabled": "prime_tower_enable", "default_value": true, "settable_per_mesh": false, "settable_per_extruder": true @@ -6907,7 +6907,7 @@ "label": "Prime Tower Base", "description": "By enabling this setting, your prime-tower will get a brim, even if the model doesn't. If you want a sturdier base for a high tower, you can increase the base height.", "type": "bool", - "enabled": "'prime_tower_enable' and resolveOrValue('adhesion_type') != 'raft'", + "enabled": "prime_tower_enable and resolveOrValue('adhesion_type') != 'raft'", "default_value": false, "settable_per_mesh": false, "settable_per_extruder": false @@ -6919,7 +6919,7 @@ "description": "The width of the prime tower brim/base. A larger base enhances adhesion to the build plate, but also reduces the effective print area.", "type": "float", "unit": "mm", - "enabled": "'prime_tower_enable' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "enabled": "prime_tower_enable and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "default_value": 1.2, "minimum_value": "0", "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)", @@ -6933,7 +6933,7 @@ "description": "The height of the prime tower base. Increasing this value will result in a more sturdy prime tower because the base will be wider. If this setting is too low, the prime tower will not have a sturdy base.", "type": "float", "unit": "mm", - "enabled": "'prime_tower_enable' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "enabled": "prime_tower_enable and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "default_value": 0, "minimum_value": "0", "maximum_value": "machine_height", @@ -6945,7 +6945,7 @@ "label": "Prime Tower Base Slope", "description": "The magnitude factor used for the slope of the prime tower base. If you increase this value, the base will become slimmer. If you decrease it, the base will become thicker.", "type": "float", - "enabled": "'prime_tower_enable' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "enabled": "prime_tower_enable and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "default_value": 4, "minimum_value": "0", "maximum_value": "10", @@ -6963,7 +6963,7 @@ "minimum_value": "0", "minimum_value_warning": "raft_base_line_width", "maximum_value_warning": "100", - "enabled": "'prime_tower_enable' and resolveOrValue('adhesion_type') == 'raft'", + "enabled": "prime_tower_enable and resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, "settable_per_extruder": true, "limit_to_extruder": "raft_base_extruder_nr" From 98becc9f25c901565eef3250c108caa0152cf29c Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Tue, 27 Feb 2024 13:02:46 +0100 Subject: [PATCH 88/98] Minor prime tower setting wording CURA-11645 --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 2cea608c33..1db28b289c 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6807,7 +6807,7 @@ }, "prime_tower_mode": { - "label": "Prime Tower", + "label": "Prime Tower Type", "description": "How to generate the prime tower:
  • Normal: create a bucket in which secondary materials are primed
  • Interleaved: create a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", "type": "enum", "value": "'interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal'", From 1338a562efca7169a3dc38c5aec76180dbe3aa7a Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Tue, 27 Feb 2024 13:45:10 +0100 Subject: [PATCH 89/98] added drop models to buildplate as a right click option Also shortcut: ctrl+B CURA-10542 --- cura/CuraApplication.py | 6 +++--- cura/PlatformPhysics.py | 16 ++++------------ plugins/3MFReader/WorkspaceDialog.py | 5 ----- plugins/3MFReader/WorkspaceDialog.qml | 21 --------------------- resources/qml/Actions.qml | 10 +++++++++- resources/qml/Menus/ContextMenu.qml | 1 + resources/qml/Menus/EditMenu.qml | 1 + resources/qml/Preferences/GeneralPage.qml | 1 - 8 files changed, 18 insertions(+), 43 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 6132d8ab36..680baefdb3 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1085,9 +1085,9 @@ class CuraApplication(QtApplication): def getTextManager(self, *args) -> "TextManager": return self._text_manager - @pyqtSlot(bool) - def getWorkplaceDropToBuildplate(self, drop_to_build_plate: bool) ->None: - return self._physics.setAppPerModelDropDown(drop_to_build_plate) + @pyqtSlot() + def setWorkplaceDropToBuildplate(self): + return self._physics.setAppPerModelDropDown() def getCuraFormulaFunctions(self, *args) -> "CuraFormulaFunctions": if self._cura_formula_functions is None: diff --git a/cura/PlatformPhysics.py b/cura/PlatformPhysics.py index 74fe05927d..1f86258b42 100755 --- a/cura/PlatformPhysics.py +++ b/cura/PlatformPhysics.py @@ -41,11 +41,9 @@ class PlatformPhysics: Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", True) self._app_per_model_drop = None - def getAppPerModelDropDown(self): - return self._app_per_model_drop - - def setAppPerModelDropDown(self, drop_to_buildplate): - self._app_per_model_drop = drop_to_buildplate + def setAppPerModelDropDown(self): + self._app_per_model_drop = True + self._onChangeTimerFinished() def _onSceneChanged(self, source): if not source.callDecoration("isSliceable"): @@ -79,13 +77,7 @@ class PlatformPhysics: # By shuffling the order of the nodes, this might happen a few times, but at some point it will resolve. random.shuffle(nodes) drop_down = False - # drop down in case nodes are asked to drop down from the user from workspaceDialog while opening 3mf - if self._app_per_model_drop and (self._app_per_model_drop != app_automatic_drop_down): - drop_down = True - # drop down in case the user has selected automated drop down preference for 3mf opening - if self._app_per_model_drop and app_automatic_drop_down: - drop_down= True - + if self._app_per_model_drop == True: drop_down = True for node in nodes: if node is root or not isinstance(node, SceneNode) or node.getBoundingBox() is None: diff --git a/plugins/3MFReader/WorkspaceDialog.py b/plugins/3MFReader/WorkspaceDialog.py index c0ea950915..1fafcf59f5 100644 --- a/plugins/3MFReader/WorkspaceDialog.py +++ b/plugins/3MFReader/WorkspaceDialog.py @@ -353,11 +353,6 @@ class WorkspaceDialog(QObject): Application.getInstance().getBackend().close() - @pyqtSlot(bool) - def setDropToBuildPlateForModel(self, drop_to_buildplate: bool) -> None: - CuraApplication.getInstance().getWorkplaceDropToBuildplate(drop_to_buildplate) - - def setMaterialConflict(self, material_conflict: bool) -> None: if self._has_material_conflict != material_conflict: self._has_material_conflict = material_conflict diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index dbd6356e94..8d06b32e14 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -351,26 +351,6 @@ UM.Dialog } } - Row - { - id: dropToBuildPlate - width: parent.width - height: childrenRect.height - spacing: UM.Theme.getSize("default_margin").width - UM.CheckBox - { - id: checkDropModels - text: catalog.i18nc("@text:window", "Drop models to buildplate") - checked: UM.Preferences.getValue("physics/automatic_drop_down") - onCheckedChanged: manager.setDropToBuildPlateForModel(checked) - } - function reloadValue() - { - manager.setDropToBuildPlateForModel(checkDropModels.checked) - checkDropModels.checked = UM.Preferences.getValue("physics/automatic_drop_down") - } - } - Row { id: clearBuildPlateWarning @@ -493,7 +473,6 @@ UM.Dialog materialSection.reloadValues() profileSection.reloadValues() printerSection.reloadValues() - dropToBuildPlate.reloadValue() } } } diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 8fe4a11847..7acf39ecb2 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -39,7 +39,7 @@ Item property alias printObjectAfterNext: printObjectAfterNextAction property alias multiplyObject: multiplyObjectAction - + property alias dropAll: dropAllAction property alias selectAll: selectAllAction property alias deleteAll: deleteAllAction property alias reloadAll: reloadAllAction @@ -490,6 +490,14 @@ Item shortcut: "Shift+Ctrl+R" } + Action + { + id: dropAllAction + text: catalog.i18nc("@action:inmenu menubar:edit","Drop All Models to buildplate") + shortcut: "Ctrl+B" + onTriggered: CuraApplication.setWorkplaceDropToBuildplate() + } + Action { id: resetAllTranslationAction diff --git a/resources/qml/Menus/ContextMenu.qml b/resources/qml/Menus/ContextMenu.qml index 1b32c24254..1ab0a1332e 100644 --- a/resources/qml/Menus/ContextMenu.qml +++ b/resources/qml/Menus/ContextMenu.qml @@ -71,6 +71,7 @@ Cura.Menu Cura.MenuItem { action: Cura.Actions.reloadAll } Cura.MenuItem { action: Cura.Actions.resetAllTranslation } Cura.MenuItem { action: Cura.Actions.resetAll } + Cura.MenuItem { action: Cura.Actions.dropAll } // Group actions Cura.MenuSeparator {} diff --git a/resources/qml/Menus/EditMenu.qml b/resources/qml/Menus/EditMenu.qml index 728b3b212b..fdab70360e 100644 --- a/resources/qml/Menus/EditMenu.qml +++ b/resources/qml/Menus/EditMenu.qml @@ -21,6 +21,7 @@ Cura.Menu Cura.MenuItem { action: Cura.Actions.deleteAll } Cura.MenuItem { action: Cura.Actions.resetAllTranslation } Cura.MenuItem { action: Cura.Actions.resetAll } + Cura.MenuItem { action: Cura.Actions.dropAll } Cura.MenuSeparator { } Cura.MenuItem { action: Cura.Actions.groupObjects } Cura.MenuItem { action: Cura.Actions.mergeObjects } diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index d87ecac0b3..0f50f169ef 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -513,7 +513,6 @@ UM.PreferencesPage onCheckedChanged: { UM.Preferences.setValue("physics/automatic_drop_down", checked) - CuraApplication.getWorkplaceDropToBuildplate(checked) } } } From 586590605774c8bca7a08a71f62571e8fac80332 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Tue, 27 Feb 2024 13:52:59 +0100 Subject: [PATCH 90/98] function Name change CURA-10542 --- cura/CuraApplication.py | 2 +- cura/PlatformPhysics.py | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 680baefdb3..c32017371f 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1087,7 +1087,7 @@ class CuraApplication(QtApplication): @pyqtSlot() def setWorkplaceDropToBuildplate(self): - return self._physics.setAppPerModelDropDown() + return self._physics.setAppAllModelDropDown() def getCuraFormulaFunctions(self, *args) -> "CuraFormulaFunctions": if self._cura_formula_functions is None: diff --git a/cura/PlatformPhysics.py b/cura/PlatformPhysics.py index 1f86258b42..c61f78d86e 100755 --- a/cura/PlatformPhysics.py +++ b/cura/PlatformPhysics.py @@ -39,10 +39,10 @@ class PlatformPhysics: Application.getInstance().getPreferences().addPreference("physics/automatic_push_free", False) Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", True) - self._app_per_model_drop = None + self._app_all_model_drop = False - def setAppPerModelDropDown(self): - self._app_per_model_drop = True + def setAppAllModelDropDown(self): + self._app_all_model_drop = True self._onChangeTimerFinished() def _onSceneChanged(self, source): @@ -76,9 +76,6 @@ class PlatformPhysics: # We try to shuffle all the nodes to prevent "locked" situations, where iteration B inverts iteration A. # By shuffling the order of the nodes, this might happen a few times, but at some point it will resolve. random.shuffle(nodes) - drop_down = False - if self._app_per_model_drop == True: drop_down = True - for node in nodes: if node is root or not isinstance(node, SceneNode) or node.getBoundingBox() is None: continue @@ -88,7 +85,7 @@ class PlatformPhysics: # Move it downwards if bottom is above platform move_vector = Vector() - if (node.getSetting(SceneNodeSettings.AutoDropDown, app_automatic_drop_down) or drop_down) and not (node.getParent() and node.getParent().callDecoration("isGroup") or node.getParent() != root) and node.isEnabled(): + if (node.getSetting(SceneNodeSettings.AutoDropDown, app_automatic_drop_down) or self._app_all_model_drop) and not (node.getParent() and node.getParent().callDecoration("isGroup") or node.getParent() != root) and node.isEnabled(): z_offset = node.callDecoration("getZOffset") if node.getDecorator(ZOffsetDecorator.ZOffsetDecorator) else 0 move_vector = move_vector.set(y=-bbox.bottom + z_offset) @@ -177,7 +174,7 @@ class PlatformPhysics: op.push() # setting this drop to model same as app_automatic_drop_down - self._app_per_model_drop = None + self._app_all_model_drop = False # After moving, we have to evaluate the boundary checks for nodes build_volume.updateNodeBoundaryCheck() From 002af4eb81e07be1b44620700e7e343e4d191369 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Tue, 27 Feb 2024 16:48:44 +0100 Subject: [PATCH 91/98] saving extruder settings on model exported_model_settings were supposed to be None instead of {} for 3mf saving CURA-10542 --- plugins/3MFWriter/ThreeMFWriter.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index c321505643..f1f0e08741 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -272,7 +272,8 @@ class ThreeMFWriter(MeshWriter): transformation_matrix.preMultiply(translation_matrix) root_node = UM.Application.Application.getInstance().getController().getScene().getRoot() - exported_model_settings = ThreeMFWriter._extractModelExportedSettings(export_settings_model) + exported_model_settings = ThreeMFWriter._extractModelExportedSettings(export_settings_model) if export_settings_model != None else None + for node in nodes: if node == root_node: for root_child in node.getChildren(): From 72448eec5bb6a8b0905d053c96fdd8b1110e7e99 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Wed, 28 Feb 2024 10:22:35 +0100 Subject: [PATCH 92/98] commit to create package CURA-10542 --- plugins/3MFWriter/ThreeMFWriter.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index f1f0e08741..8759cd3cac 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -295,10 +295,12 @@ class ThreeMFWriter(MeshWriter): archive.writestr(model_file, scene_string) archive.writestr(content_types_file, b' \n' + ET.tostring(content_types)) archive.writestr(relations_file, b' \n' + ET.tostring(relations_element)) + except Exception as error: Logger.logException("e", "Error writing zip file") self.setInformation(str(error)) return False + finally: if not self._store_archive: archive.close() From bf73623711ab4200f5b6228be36f7a7cdfee7a63 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Wed, 28 Feb 2024 10:38:28 +0100 Subject: [PATCH 93/98] commit to create package CURA-11403 --- plugins/3MFWriter/ThreeMFWriter.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 8759cd3cac..f1f0e08741 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -295,12 +295,10 @@ class ThreeMFWriter(MeshWriter): archive.writestr(model_file, scene_string) archive.writestr(content_types_file, b' \n' + ET.tostring(content_types)) archive.writestr(relations_file, b' \n' + ET.tostring(relations_element)) - except Exception as error: Logger.logException("e", "Error writing zip file") self.setInformation(str(error)) return False - finally: if not self._store_archive: archive.close() From 8d2e72a10928426b8e8b903011714fb6e25bf5d1 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Wed, 28 Feb 2024 14:31:51 +0100 Subject: [PATCH 94/98] adding logo for cura project CURA-11403 --- plugins/3MFWriter/ThreeMFWriter.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index f1f0e08741..5583059a2f 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -175,9 +175,9 @@ class ThreeMFWriter(MeshWriter): def getArchive(self): return self._archive - def _addShareLogoToThumbnail(self, primary_image): + def _addLogoToThumbnail(self, primary_image, logo_name): # Load the icon png image - icon_image = QImage(Resources.getPath(Resources.Images, "cura-share.png")) + icon_image = QImage(Resources.getPath(Resources.Images, logo_name)) # Resize icon_image to be 1/4 of primary_image size new_width = int(primary_image.width() / 4) @@ -217,7 +217,9 @@ class ThreeMFWriter(MeshWriter): snapshot = self._createSnapshot() if snapshot: if export_settings_model != None: - self._addShareLogoToThumbnail(snapshot) + self._addLogoToThumbnail(snapshot, "cura-share.png") + elif export_settings_model == None and self._store_archive: + self._addLogoToThumbnail(snapshot, "cura-icon.png") thumbnail_buffer = QBuffer() thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite) snapshot.save(thumbnail_buffer, "PNG") From b342574c1991552b545b9c63a98bd902b94957df Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 1 Mar 2024 09:17:37 +0100 Subject: [PATCH 95/98] Change slicing crash error message CURA-11445 --- plugins/CuraEngineBackend/CuraEngineBackend.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 66949eeaf5..c73dee2fb0 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -181,7 +181,10 @@ class CuraEngineBackend(QObject, Backend): application.getPreferences().preferenceChanged.connect(self._onPreferencesChanged) self._slicing_error_message = Message( - text = catalog.i18nc("@message", "Slicing failed with an unexpected error. Please consider reporting a bug on our issue tracker."), + text = catalog.i18nc("@message", "Oops! We encountered an unexpected error during your slicing process. " + "Rest assured, we've automatically received the crash logs for analysis, " + "if you have not disabled data sharing in your preferences. To assist us " + "further, consider sharing your project details on our issue tracker."), title = catalog.i18nc("@message:title", "Slicing failed"), message_type = Message.MessageType.ERROR ) From f51d97494a48c47e1c03e3bb25d8c0069f69f6df Mon Sep 17 00:00:00 2001 From: saumyaj3 Date: Fri, 1 Mar 2024 09:33:17 +0000 Subject: [PATCH 96/98] Applied printer-linter format --- resources/definitions/creality_ender5plus.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/creality_ender5plus.def.json b/resources/definitions/creality_ender5plus.def.json index 24bf10cd0d..5ad71ee2df 100644 --- a/resources/definitions/creality_ender5plus.def.json +++ b/resources/definitions/creality_ender5plus.def.json @@ -27,4 +27,4 @@ "machine_width": { "default_value": 350 }, "speed_print": { "value": 80.0 } } -} +} \ No newline at end of file From af3308406091c27e92c929403273759856406043 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 1 Mar 2024 10:37:39 +0100 Subject: [PATCH 97/98] Fix prime tower positioning on elliptic build plates --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1db28b289c..2abdf0df01 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6871,7 +6871,7 @@ "unit": "mm", "enabled": "prime_tower_enable", "default_value": 200, - "value": "(resolveOrValue('machine_width') / 2 + resolveOrValue('prime_tower_size') / 2) if resolveOrValue('machine_shape') == 'elliptic' else (resolveOrValue('machine_width') - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_x')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_x'))), 1)) - (resolveOrValue('machine_width') / 2 if resolveOrValue('machine_center_is_zero') else 0)", + "value": "((resolveOrValue('machine_width') / 2 + resolveOrValue('prime_tower_size') / 2) if resolveOrValue('machine_shape') == 'elliptic' else (resolveOrValue('machine_width') - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_x')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_x'))), 1))) - (resolveOrValue('machine_width') / 2 if resolveOrValue('machine_center_is_zero') else 0)", "maximum_value": "(machine_width / 2 if machine_center_is_zero else machine_width) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", "minimum_value": "resolveOrValue('prime_tower_size') + (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - (machine_width / 2 if machine_center_is_zero else 0)", "settable_per_mesh": false, From ea42e52b8f645fac3e02f300f4d6e4b15c2983c1 Mon Sep 17 00:00:00 2001 From: saumyaj3 Date: Fri, 1 Mar 2024 09:52:07 +0000 Subject: [PATCH 98/98] Applied printer-linter format --- resources/definitions/creality_ender3v3se.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/creality_ender3v3se.def.json b/resources/definitions/creality_ender3v3se.def.json index 8e32a44eb9..86d6818166 100644 --- a/resources/definitions/creality_ender3v3se.def.json +++ b/resources/definitions/creality_ender3v3se.def.json @@ -52,4 +52,4 @@ "speed_layer_0": { "value": 30 }, "speed_print": { "value": 180 } } -} +} \ No newline at end of file