From fa15a5b5cebe2ae72dae3a4b9eabfcba01465cd0 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Tue, 20 Jun 2017 10:29:43 +0100 Subject: [PATCH 01/94] Added z_seam_relative setting to determine whether z seam is relative to part or not. --- resources/definitions/fdmprinter.def.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 46505b8152..c68381af5a 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1166,6 +1166,17 @@ "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, + "z_seam_relative": + { + "label": "Z Seam Relative", + "description": "Whether the coordinates of the position near where to start printing each part in a layer are relative to the part's centre. By default, the coordinates define an absolute position on the platform.", + "unit": "mm", + "type": "bool", + "default_value": false, + "enabled": "z_seam_type == 'back'", + "limit_to_extruder": "wall_0_extruder_nr", + "settable_per_mesh": true + }, "skin_no_small_gaps_heuristic": { "label": "Ignore Small Z Gaps", From 6dc55a035e6f179c6c31913343e791e0ff2bd799 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Wed, 21 Jun 2017 08:08:46 +0100 Subject: [PATCH 02/94] Tweak description of z_seam_relative. --- 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 c68381af5a..b7bc38764f 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1169,7 +1169,7 @@ "z_seam_relative": { "label": "Z Seam Relative", - "description": "Whether the coordinates of the position near where to start printing each part in a layer are relative to the part's centre. By default, the coordinates define an absolute position on the platform.", + "description": "When enabled, the z seam coordinates are relative to each part's centre. By default, the coordinates define an absolute position on the platform.", "unit": "mm", "type": "bool", "default_value": false, From d1211e395135bde93ca54fc330bf89e3fa33750e Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 26 Jun 2017 15:16:26 +0200 Subject: [PATCH 03/94] Add a setting for Horizontal Expansion for the first layer --- resources/definitions/fdmprinter.def.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 40f224a98a..88cbc6dd48 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1136,6 +1136,19 @@ "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, + "xy_offset_layer_0": + { + "label": "Initial Layer Horizontal Expansion", + "description": "Amount of offset applied to all polygons in the first layer. A negative value can compensate for elephants foot.", + "unit": "mm", + "type": "float", + "minimum_value_warning": "-1", + "maximum_value_warning": "1", + "default_value": 0, + "value": "xy_offset", + "limit_to_extruder": "wall_0_extruder_nr", + "settable_per_mesh": true + }, "z_seam_type": { "label": "Z Seam Alignment", From 4370e3a13cf66fc8ee8865b09f0f2a8aced49019 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 27 Jun 2017 15:41:17 +0200 Subject: [PATCH 04/94] Added zoom to mouse preference https://github.com/Ultimaker/Cura/issues/1572 --- resources/qml/Preferences/GeneralPage.qml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 59f546279b..92a768051e 100755 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -86,6 +86,8 @@ 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/zoom_to_mouse"); + zoomToMouseCheckbox.checked = boolCheck(UM.Preferences.getValue("view/zoom_to_mouse")) UM.Preferences.resetPreference("view/top_layer_count"); topLayerCountCheckbox.checked = boolCheck(UM.Preferences.getValue("view/top_layer_count")) @@ -354,6 +356,20 @@ UM.PreferencesPage } } + UM.TooltipArea { + width: childrenRect.width; + height: childrenRect.height; + text: catalog.i18nc("@info:tooltip", "Should zooming move in the direction of the mouse?") + + CheckBox + { + id: zoomToMouseCheckbox + text: catalog.i18nc("@action:button","Zoom toward mouse direction"); + checked: boolCheck(UM.Preferences.getValue("view/zoom_to_mouse")) + onClicked: UM.Preferences.setValue("view/zoom_to_mouse", checked) + } + } + UM.TooltipArea { width: childrenRect.width height: childrenRect.height From 39cb68bd303e4c55585a9f115f6a3804dc11a3eb Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 28 Jun 2017 11:41:51 +0200 Subject: [PATCH 05/94] Update convex hull to account for first layer horizontal expansion --- cura/ConvexHullDecorator.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cura/ConvexHullDecorator.py b/cura/ConvexHullDecorator.py index 51b22755dd..70f77d9712 100644 --- a/cura/ConvexHullDecorator.py +++ b/cura/ConvexHullDecorator.py @@ -257,7 +257,11 @@ class ConvexHullDecorator(SceneNodeDecorator): # \return New Polygon instance that is offset with everything that # influences the collision area. def _offsetHull(self, convex_hull): - horizontal_expansion = self._getSettingProperty("xy_offset", "value") + horizontal_expansion = max( + self._getSettingProperty("xy_offset", "value"), + self._getSettingProperty("xy_offset_layer_0", "value") + ) + mold_width = 0 if self._getSettingProperty("mold_enabled", "value"): mold_width = self._getSettingProperty("mold_width", "value") @@ -332,4 +336,4 @@ class ConvexHullDecorator(SceneNodeDecorator): ## Settings that change the convex hull. # # If these settings change, the convex hull should be recalculated. - _influencing_settings = {"xy_offset", "mold_enabled", "mold_width"} + _influencing_settings = {"xy_offset", "xy_offset_layer_0", "mold_enabled", "mold_width"} From 20b2a3dc81a0eef118e041e1689eeff3e838ee59 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 28 Jun 2017 11:48:16 +0200 Subject: [PATCH 06/94] Improve description for xy_offset_layer_0 --- 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 88cbc6dd48..04091194f6 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1139,7 +1139,7 @@ "xy_offset_layer_0": { "label": "Initial Layer Horizontal Expansion", - "description": "Amount of offset applied to all polygons in the first layer. A negative value can compensate for elephants foot.", + "description": "Amount of offset applied to all polygons in the first layer. A negative value can compensate for squishing of the first layer known as \"elephant's foot\".", "unit": "mm", "type": "float", "minimum_value_warning": "-1", From cd4bffb3800a7831953173b67fb64c0153432372 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 28 Jun 2017 13:50:37 +0200 Subject: [PATCH 07/94] Set author to Ultimaker B.V. instead of Ultimaker To be consistent with the rest of the plug-ins and with the material files. Contributes to issue CURA-3857. --- plugins/3MFReader/plugin.json | 2 +- plugins/3MFWriter/plugin.json | 2 +- plugins/AutoSave/plugin.json | 2 +- plugins/ChangeLogPlugin/plugin.json | 2 +- plugins/CuraEngineBackend/plugin.json | 2 +- plugins/CuraProfileReader/plugin.json | 2 +- plugins/CuraProfileWriter/plugin.json | 2 +- plugins/GCodeProfileReader/plugin.json | 2 +- plugins/GCodeWriter/plugin.json | 2 +- plugins/ImageReader/plugin.json | 2 +- plugins/LayerView/plugin.json | 2 +- plugins/LegacyProfileReader/plugin.json | 2 +- plugins/PerObjectSettingsTool/plugin.json | 2 +- plugins/PluginBrowser/plugin.json | 2 +- plugins/RemovableDriveOutputDevice/plugin.json | 2 +- plugins/SliceInfoPlugin/plugin.json | 2 +- plugins/SolidView/plugin.json | 2 +- plugins/UM3NetworkPrinting/plugin.json | 2 +- plugins/USBPrinting/plugin.json | 2 +- plugins/UltimakerMachineActions/plugin.json | 2 +- plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json | 2 +- plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json | 2 +- plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json | 2 +- plugins/XRayView/plugin.json | 2 +- plugins/XmlMaterialProfile/plugin.json | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/plugins/3MFReader/plugin.json b/plugins/3MFReader/plugin.json index 1d9dadfaab..5d15123017 100644 --- a/plugins/3MFReader/plugin.json +++ b/plugins/3MFReader/plugin.json @@ -1,6 +1,6 @@ { "name": "3MF Reader", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides support for reading 3MF files.", "api": 4, diff --git a/plugins/3MFWriter/plugin.json b/plugins/3MFWriter/plugin.json index cd782c270a..22d18b2cf1 100644 --- a/plugins/3MFWriter/plugin.json +++ b/plugins/3MFWriter/plugin.json @@ -1,6 +1,6 @@ { "name": "3MF Writer", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides support for writing 3MF files.", "api": 4, diff --git a/plugins/AutoSave/plugin.json b/plugins/AutoSave/plugin.json index 6b1c5af4be..32e07a1062 100644 --- a/plugins/AutoSave/plugin.json +++ b/plugins/AutoSave/plugin.json @@ -1,6 +1,6 @@ { "name": "Auto Save", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Automatically saves Preferences, Machines and Profiles after changes.", "api": 4, diff --git a/plugins/ChangeLogPlugin/plugin.json b/plugins/ChangeLogPlugin/plugin.json index d200394182..e9414b9b71 100644 --- a/plugins/ChangeLogPlugin/plugin.json +++ b/plugins/ChangeLogPlugin/plugin.json @@ -1,6 +1,6 @@ { "name": "Changelog", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Shows changes since latest checked version.", "api": 4, diff --git a/plugins/CuraEngineBackend/plugin.json b/plugins/CuraEngineBackend/plugin.json index ae9e664bdc..e5df06f228 100644 --- a/plugins/CuraEngineBackend/plugin.json +++ b/plugins/CuraEngineBackend/plugin.json @@ -1,6 +1,6 @@ { "name": "CuraEngine Backend", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "description": "Provides the link to the CuraEngine slicing backend.", "api": 4, "version": "1.0.0", diff --git a/plugins/CuraProfileReader/plugin.json b/plugins/CuraProfileReader/plugin.json index 3dd003715b..004a1ade4d 100644 --- a/plugins/CuraProfileReader/plugin.json +++ b/plugins/CuraProfileReader/plugin.json @@ -1,6 +1,6 @@ { "name": "Cura Profile Reader", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides support for importing Cura profiles.", "api": 4, diff --git a/plugins/CuraProfileWriter/plugin.json b/plugins/CuraProfileWriter/plugin.json index 23d4322556..d9accce770 100644 --- a/plugins/CuraProfileWriter/plugin.json +++ b/plugins/CuraProfileWriter/plugin.json @@ -1,6 +1,6 @@ { "name": "Cura Profile Writer", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides support for exporting Cura profiles.", "api": 4, diff --git a/plugins/GCodeProfileReader/plugin.json b/plugins/GCodeProfileReader/plugin.json index dbbf4ee931..8111bc687c 100644 --- a/plugins/GCodeProfileReader/plugin.json +++ b/plugins/GCodeProfileReader/plugin.json @@ -1,6 +1,6 @@ { "name": "GCode Profile Reader", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides support for importing profiles from g-code files.", "api": 4, diff --git a/plugins/GCodeWriter/plugin.json b/plugins/GCodeWriter/plugin.json index d98d9426f2..5788b01375 100644 --- a/plugins/GCodeWriter/plugin.json +++ b/plugins/GCodeWriter/plugin.json @@ -1,6 +1,6 @@ { "name": "GCode Writer", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Writes GCode to a file.", "api": 4, diff --git a/plugins/ImageReader/plugin.json b/plugins/ImageReader/plugin.json index f8dcb8e91c..2752c6e8f4 100644 --- a/plugins/ImageReader/plugin.json +++ b/plugins/ImageReader/plugin.json @@ -1,6 +1,6 @@ { "name": "Image Reader", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Enables ability to generate printable geometry from 2D image files.", "api": 4, diff --git a/plugins/LayerView/plugin.json b/plugins/LayerView/plugin.json index 979359a002..232fe9c361 100644 --- a/plugins/LayerView/plugin.json +++ b/plugins/LayerView/plugin.json @@ -1,6 +1,6 @@ { "name": "Layer View", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides the Layer view.", "api": 4, diff --git a/plugins/LegacyProfileReader/plugin.json b/plugins/LegacyProfileReader/plugin.json index 6f08bb2ab0..2dc71511a9 100644 --- a/plugins/LegacyProfileReader/plugin.json +++ b/plugins/LegacyProfileReader/plugin.json @@ -1,6 +1,6 @@ { "name": "Legacy Cura Profile Reader", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides support for importing profiles from legacy Cura versions.", "api": 4, diff --git a/plugins/PerObjectSettingsTool/plugin.json b/plugins/PerObjectSettingsTool/plugin.json index 1eba8aff65..3254662d33 100644 --- a/plugins/PerObjectSettingsTool/plugin.json +++ b/plugins/PerObjectSettingsTool/plugin.json @@ -1,6 +1,6 @@ { "name": "Per Model Settings Tool", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides the Per Model Settings.", "api": 4, diff --git a/plugins/PluginBrowser/plugin.json b/plugins/PluginBrowser/plugin.json index 1447445e95..491e21f506 100644 --- a/plugins/PluginBrowser/plugin.json +++ b/plugins/PluginBrowser/plugin.json @@ -1,6 +1,6 @@ { "name": "Plugin Browser", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "api": 4, "description": "Find, manage and install new plugins." diff --git a/plugins/RemovableDriveOutputDevice/plugin.json b/plugins/RemovableDriveOutputDevice/plugin.json index bdae36d6cb..df11644256 100644 --- a/plugins/RemovableDriveOutputDevice/plugin.json +++ b/plugins/RemovableDriveOutputDevice/plugin.json @@ -1,6 +1,6 @@ { "name": "Removable Drive Output Device Plugin", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "description": "Provides removable drive hotplugging and writing support.", "version": "1.0.0", "api": 4, diff --git a/plugins/SliceInfoPlugin/plugin.json b/plugins/SliceInfoPlugin/plugin.json index 7c9538b679..d1c643266b 100644 --- a/plugins/SliceInfoPlugin/plugin.json +++ b/plugins/SliceInfoPlugin/plugin.json @@ -1,6 +1,6 @@ { "name": "Slice info", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Submits anonymous slice info. Can be disabled through preferences.", "api": 4, diff --git a/plugins/SolidView/plugin.json b/plugins/SolidView/plugin.json index 22cd202489..6d6bda96f0 100644 --- a/plugins/SolidView/plugin.json +++ b/plugins/SolidView/plugin.json @@ -1,6 +1,6 @@ { "name": "Solid View", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides a normal solid mesh view.", "api": 4, diff --git a/plugins/UM3NetworkPrinting/plugin.json b/plugins/UM3NetworkPrinting/plugin.json index 30b6c153e6..5a845a0516 100644 --- a/plugins/UM3NetworkPrinting/plugin.json +++ b/plugins/UM3NetworkPrinting/plugin.json @@ -1,6 +1,6 @@ { "name": "UM3 Network Connection", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "description": "Manages network connections to Ultimaker 3 printers", "version": "1.0.0", "api": 4, diff --git a/plugins/USBPrinting/plugin.json b/plugins/USBPrinting/plugin.json index 600551a6dc..27e07c45b2 100644 --- a/plugins/USBPrinting/plugin.json +++ b/plugins/USBPrinting/plugin.json @@ -1,6 +1,6 @@ { "name": "USB printing", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "api": 4, "description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.", diff --git a/plugins/UltimakerMachineActions/plugin.json b/plugins/UltimakerMachineActions/plugin.json index 2c95d8e6fd..c9bb1a89e4 100644 --- a/plugins/UltimakerMachineActions/plugin.json +++ b/plugins/UltimakerMachineActions/plugin.json @@ -1,6 +1,6 @@ { "name": "Ultimaker machine actions", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)", "api": 4, diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json b/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json index 03c0e72f5c..79115f931e 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json @@ -1,6 +1,6 @@ { "name": "Version Upgrade 2.1 to 2.2", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 2.1 to Cura 2.2.", "api": 4, diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json b/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json index 204851f4e8..d213042ad2 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json @@ -1,6 +1,6 @@ { "name": "Version Upgrade 2.2 to 2.4", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 2.2 to Cura 2.4.", "api": 4, diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json b/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json index 3e5eb75eee..759b6368fd 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json @@ -1,6 +1,6 @@ { "name": "Version Upgrade 2.5 to 2.6", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 2.5 to Cura 2.6.", "api": 4, diff --git a/plugins/XRayView/plugin.json b/plugins/XRayView/plugin.json index 67f0d808f1..4e89690c13 100644 --- a/plugins/XRayView/plugin.json +++ b/plugins/XRayView/plugin.json @@ -1,6 +1,6 @@ { "name": "X-Ray View", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides the X-Ray view.", "api": 4, diff --git a/plugins/XmlMaterialProfile/plugin.json b/plugins/XmlMaterialProfile/plugin.json index 47897b7ad4..17056dcb3e 100644 --- a/plugins/XmlMaterialProfile/plugin.json +++ b/plugins/XmlMaterialProfile/plugin.json @@ -1,6 +1,6 @@ { "name": "Material Profiles", - "author": "Ultimaker", + "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides capabilities to read and write XML-based material profiles.", "api": 4, From 45eb301f9b3e32f36b4fcfe2777bc3f9f177949d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 28 Jun 2017 13:55:45 +0200 Subject: [PATCH 08/94] Added the no-nozzle offset for all polygons CURA-3663 --- cura/BuildVolume.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 33927c4a98..353ef00040 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -731,9 +731,9 @@ class BuildVolume(SceneNode): if offset_y is None: offset_y = 0 result[extruder_id] = [] - - for polygon in machine_disallowed_polygons: - result[extruder_id].append(polygon.translate(offset_x, offset_y)) #Compensate for the nozzle offset of this extruder. + if not no_nozzle_offsetting_for_disallowed_areas: + for polygon in machine_disallowed_polygons: + result[extruder_id].append(polygon.translate(offset_x, offset_y)) #Compensate for the nozzle offset of this extruder. #Add the border around the edge of the build volume. left_unreachable_border = 0 From f79101709124490a6c8aff2ebe1cb31b4db4cba3 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 28 Jun 2017 14:20:12 +0200 Subject: [PATCH 09/94] Revert "Added the no-nozzle offset for all polygons" This reverts commit 45eb301f9b3e32f36b4fcfe2777bc3f9f177949d. --- cura/BuildVolume.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 353ef00040..33927c4a98 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -731,9 +731,9 @@ class BuildVolume(SceneNode): if offset_y is None: offset_y = 0 result[extruder_id] = [] - if not no_nozzle_offsetting_for_disallowed_areas: - for polygon in machine_disallowed_polygons: - result[extruder_id].append(polygon.translate(offset_x, offset_y)) #Compensate for the nozzle offset of this extruder. + + for polygon in machine_disallowed_polygons: + result[extruder_id].append(polygon.translate(offset_x, offset_y)) #Compensate for the nozzle offset of this extruder. #Add the border around the edge of the build volume. left_unreachable_border = 0 From e9d2434c419ff3f546802f24bb4e1317bfde945e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 28 Jun 2017 15:35:13 +0200 Subject: [PATCH 10/94] Simplify text generaton for download button CURA-3856 --- plugins/PluginBrowser/PluginBrowser.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index be44ab854a..841a1828a2 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -88,7 +88,7 @@ UM.Dialog Button { id: downloadButton - text: !model.already_installed ? catalog.i18nc("@action:button", "Download") : model.can_upgrade ? catalog.i18nc("@action:button", "Upgrade") : catalog.i18nc("@action:button", "Download") + text: (model.already_installed && model.can_upgrade) ? catalog.i18nc("@action:button", "Upgrade") : catalog.i18nc("@action:button", "Download") onClicked: manager.downloadAndInstallPlugin(model.file_location) anchors.right: parent.right anchors.rightMargin: UM.Theme.getSize("default_margin").width From ab384ba8ec7b1e1ed7afd4e510f89d8eade6c94c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 28 Jun 2017 17:16:27 +0200 Subject: [PATCH 11/94] Rename and invert moving disallowed areas metadata property It's more easy semantically to invert this, to prevent the double negatives. Contributes to issue CURA-3663. --- cura/BuildVolume.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 33927c4a98..2ad3f4dda1 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -718,8 +718,8 @@ class BuildVolume(SceneNode): # For certain machines we don't need to compute disallowed areas for each nozzle. # So we check here and only do the nozzle offsetting if needed. - no_nozzle_offsetting_for_disallowed_areas = self._global_container_stack.getMetaDataEntry( - "no_nozzle_offsetting_for_disallowed_areas", False) + nozzle_offsetting_for_disallowed_areas = self._global_container_stack.getMetaDataEntry( + "nozzle_offsetting_for_disallowed_areas", True) result = {} for extruder in used_extruders: @@ -742,7 +742,7 @@ class BuildVolume(SceneNode): bottom_unreachable_border = 0 # Only do nozzle offsetting if needed - if not no_nozzle_offsetting_for_disallowed_areas: + if nozzle_offsetting_for_disallowed_areas: #The build volume is defined as the union of the area that all extruders can reach, so we need to know the relative offset to all extruders. for other_extruder in ExtruderManager.getInstance().getActiveExtruderStacks(): other_offset_x = other_extruder.getProperty("machine_nozzle_offset_x", "value") From 13f3477288828b714dbddec8ab261ba7b4ebbab4 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 29 Jun 2017 10:15:29 +0200 Subject: [PATCH 12/94] Fixed crash when adding a single extrusion printer CURA-3980 --- cura/BuildVolume.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 33927c4a98..84f62f932a 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -727,9 +727,11 @@ class BuildVolume(SceneNode): offset_x = extruder.getProperty("machine_nozzle_offset_x", "value") if offset_x is None: offset_x = 0 - offset_y = -extruder.getProperty("machine_nozzle_offset_y", "value") + offset_y = extruder.getProperty("machine_nozzle_offset_y", "value") if offset_y is None: offset_y = 0 + else: + offset_y = -offset_y result[extruder_id] = [] for polygon in machine_disallowed_polygons: From c7120dddda799cdb54f4624387edbfc04c3b6384 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 29 Jun 2017 14:16:02 +0200 Subject: [PATCH 13/94] Don't allow changing the default printing temperature per mesh The printing temperature is not settable per mesh. The default printing temperature shouldn't be either. --- resources/definitions/fdmprinter.def.json | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index a3642cf897..0760533f33 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1537,6 +1537,7 @@ "maximum_value_warning": "285", "enabled": "machine_nozzle_temp_enabled", "settable_per_extruder": true, + "settable_per_mesh": false, "minimum_value": "-273.15" }, "material_print_temperature": From abae2cc28c05ca5abc59249ad8c7e8fe51695300 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 29 Jun 2017 14:52:10 +0200 Subject: [PATCH 14/94] Moved SliceInfoJob to it's own file CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 41 ++------------------- plugins/SliceInfoPlugin/SliceInfoJob.py | 47 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 38 deletions(-) create mode 100644 plugins/SliceInfoPlugin/SliceInfoJob.py diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 50ca1dbd06..7abb218dab 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -1,6 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. -from typing import Any from cura.CuraApplication import CuraApplication @@ -8,56 +7,22 @@ from UM.Extension import Extension from UM.Application import Application from UM.Preferences import Preferences from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator -from UM.Scene.SceneNode import SceneNode from UM.Message import Message from UM.i18n import i18nCatalog from UM.Logger import Logger -from UM.Platform import Platform + from UM.Qt.Duration import DurationFormat -from UM.Job import Job + +from .SliceInfoJob import SliceInfoJob import platform import math import urllib.request import urllib.parse -import ssl -import hashlib import json catalog = i18nCatalog("cura") -class SliceInfoJob(Job): - data = None # type: Any - url = None # type: str - - def __init__(self, url, data): - super().__init__() - self.url = url - self.data = data - - def run(self): - if not self.url or not self.data: - Logger.log("e", "URL or DATA for sending slice info was not set!") - return - - # Submit data - kwoptions = {"data" : self.data, - "timeout" : 5 - } - - if Platform.isOSX(): - kwoptions["context"] = ssl._create_unverified_context() - - Logger.log("d", "Sending anonymous slice info to [%s]...", self.url) - - try: - f = urllib.request.urlopen(self.url, **kwoptions) - Logger.log("i", "Sent anonymous slice info.") - f.close() - except urllib.error.HTTPError as http_exception: - Logger.log("e", "An HTTP error occurred while trying to send slice information: %s" % http_exception) - except Exception as e: # We don't want any exception to cause problems - Logger.log("e", "An exception occurred while trying to send slice information: %s" % e) ## This Extension runs in the background and sends several bits of information to the Ultimaker servers. # The data is only sent when the user in question gave permission to do so. All data is anonymous and diff --git a/plugins/SliceInfoPlugin/SliceInfoJob.py b/plugins/SliceInfoPlugin/SliceInfoJob.py new file mode 100644 index 0000000000..9944bc9e50 --- /dev/null +++ b/plugins/SliceInfoPlugin/SliceInfoJob.py @@ -0,0 +1,47 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + + +from UM.Job import Job +from UM.Logger import Logger +from UM.Platform import Platform + +import ssl +import urllib.request +import urllib.error + +from typing import Any + + +class SliceInfoJob(Job): + data = None # type: Any + url = None # type: str + + def __init__(self, url, data): + super().__init__() + self.url = url + self.data = data + + def run(self): + if not self.url or not self.data: + Logger.log("e", "URL or DATA for sending slice info was not set!") + return + + # Submit data + kwoptions = {"data" : self.data, + "timeout" : 5 + } + + if Platform.isOSX(): + kwoptions["context"] = ssl._create_unverified_context() + + Logger.log("d", "Sending anonymous slice info to [%s]...", self.url) + + try: + f = urllib.request.urlopen(self.url, **kwoptions) + Logger.log("i", "Sent anonymous slice info.") + f.close() + except urllib.error.HTTPError as http_exception: + Logger.log("e", "An HTTP error occurred while trying to send slice information: %s" % http_exception) + except Exception as e: # We don't want any exception to cause problems + Logger.log("e", "An exception occurred while trying to send slice information: %s" % e) \ No newline at end of file From 0f00895a97430d7db89440f186ad0d14609ed8a9 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 29 Jun 2017 14:57:19 +0200 Subject: [PATCH 15/94] Code cleanup CURA-3858 --- plugins/SliceInfoPlugin/SliceInfoJob.py | 29 +++++++++---------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfoJob.py b/plugins/SliceInfoPlugin/SliceInfoJob.py index 9944bc9e50..0ef390d058 100644 --- a/plugins/SliceInfoPlugin/SliceInfoJob.py +++ b/plugins/SliceInfoPlugin/SliceInfoJob.py @@ -1,7 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. - - from UM.Job import Job from UM.Logger import Logger from UM.Platform import Platform @@ -10,38 +8,31 @@ import ssl import urllib.request import urllib.error -from typing import Any - class SliceInfoJob(Job): - data = None # type: Any - url = None # type: str - def __init__(self, url, data): super().__init__() - self.url = url - self.data = data + self._url = url + self._data = data def run(self): - if not self.url or not self.data: + if not self._url or not self._data: Logger.log("e", "URL or DATA for sending slice info was not set!") return # Submit data - kwoptions = {"data" : self.data, - "timeout" : 5 - } + kwoptions = {"data" : self._data, "timeout" : 5} if Platform.isOSX(): kwoptions["context"] = ssl._create_unverified_context() - Logger.log("d", "Sending anonymous slice info to [%s]...", self.url) + Logger.log("i", "Sending anonymous slice info to [%s]...", self._url) try: - f = urllib.request.urlopen(self.url, **kwoptions) + f = urllib.request.urlopen(self._url, **kwoptions) Logger.log("i", "Sent anonymous slice info.") f.close() - except urllib.error.HTTPError as http_exception: - Logger.log("e", "An HTTP error occurred while trying to send slice information: %s" % http_exception) - except Exception as e: # We don't want any exception to cause problems - Logger.log("e", "An exception occurred while trying to send slice information: %s" % e) \ No newline at end of file + except urllib.error.HTTPError: + Logger.logException("e", "An HTTP error occurred while trying to send slice information") + except Exception: # We don't want any exception to cause problems + Logger.logException("e", "An exception occurred while trying to send slice information") \ No newline at end of file From 8ae49c317cbd317cf96a0f90c7a7f37e23a4904d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 29 Jun 2017 15:03:49 +0200 Subject: [PATCH 16/94] Emit metaDataChanged when changing properties Properties is a dictionary inside the metadata dictionary. If you change one of the properties, it'll check afterwards if the dictionary is different from what it was before, but since the dictionary is passed by reference all the time, it'll think that the dictionary didn't change: The reference is still the same, so the thing it checks against is updated along. This solution is a bit ugly but it does notice when the metadata changed inside the properties and then emits a change signal. Contributes to issue CURA-2822. --- cura/Settings/ContainerManager.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index 9a2282c8c0..aee9eccdd7 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -218,6 +218,7 @@ class ContainerManager(QObject): entries = entry_name.split("/") entry_name = entries.pop() + sub_item_changed = False if entries: root_name = entries.pop(0) root = container.getMetaDataEntry(root_name) @@ -226,12 +227,16 @@ class ContainerManager(QObject): for entry in entries: item = item.get(entries.pop(0), { }) + if item[entry_name] != entry_value: + sub_item_changed = True item[entry_name] = entry_value entry_name = root_name entry_value = root container.setMetaDataEntry(entry_name, entry_value) + if sub_item_changed: #If it was only a sub-item that has changed then the setMetaDataEntry won't correctly notice that something changed, and we must manually signal that the metadata changed. + container.metaDataChanged.emit(container) return True From 034686e9facc7fb64fff45657ea50028e6b709d8 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 29 Jun 2017 15:09:50 +0200 Subject: [PATCH 17/94] Don't modify list you're iterating over It doesn't give a problem right now since we're only iterating over lists of length 1 here, but in the future this could cause weird bugs. Contributes to issue CURA-2822. --- cura/Settings/ContainerManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index aee9eccdd7..0d776aec20 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -224,7 +224,7 @@ class ContainerManager(QObject): root = container.getMetaDataEntry(root_name) item = root - for entry in entries: + for _ in range(len(entries)): item = item.get(entries.pop(0), { }) if item[entry_name] != entry_value: From b3e49f0c12f5c0153acfecb0224705f3fa611efe Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 29 Jun 2017 16:28:01 +0200 Subject: [PATCH 18/94] Fix getting the old approximate diameter The properties.approximate_diameter gets updated later via signals, so at this point it's not correct yet. Contributes to issue CURA-2822. --- resources/qml/Preferences/MaterialView.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Preferences/MaterialView.qml b/resources/qml/Preferences/MaterialView.qml index 39f2db0695..23e81067ed 100644 --- a/resources/qml/Preferences/MaterialView.qml +++ b/resources/qml/Preferences/MaterialView.qml @@ -169,7 +169,7 @@ TabView // This does not use a SettingPropertyProvider, because we need to make the change to all containers // which derive from the same base_file var old_diameter = Cura.ContainerManager.getContainerProperty(base.containerId, "material_diameter", "value").toString(); - base.setMetaDataEntry("approximate_diameter", properties.approximate_diameter, Math.round(value).toString()); + base.setMetaDataEntry("approximate_diameter", Cura.ContainerManager.getContainerMetaDataEntry(base.containerId, "approximate_diameter"), Math.round(value).toString()); base.setMetaDataEntry("properties/diameter", properties.diameter, value); if (Cura.MachineManager.filterMaterialsByMachine && properties.approximate_diameter != Cura.MachineManager.activeMachine.approximateMaterialDiameter) { From 27bcb11dc92a4d4a7ffb55c8ac6261769604e573 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 29 Jun 2017 16:41:24 +0200 Subject: [PATCH 19/94] Store old approximate diameter in variable Shorter line, easier to read. Contributes to issue CURA-2822. --- resources/qml/Preferences/MaterialView.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/qml/Preferences/MaterialView.qml b/resources/qml/Preferences/MaterialView.qml index 23e81067ed..7183a3d926 100644 --- a/resources/qml/Preferences/MaterialView.qml +++ b/resources/qml/Preferences/MaterialView.qml @@ -169,7 +169,8 @@ TabView // This does not use a SettingPropertyProvider, because we need to make the change to all containers // which derive from the same base_file var old_diameter = Cura.ContainerManager.getContainerProperty(base.containerId, "material_diameter", "value").toString(); - base.setMetaDataEntry("approximate_diameter", Cura.ContainerManager.getContainerMetaDataEntry(base.containerId, "approximate_diameter"), Math.round(value).toString()); + var old_approximate_diameter = Cura.ContainerManager.getContainerMetaDataEntry(base.containerId, "approximate_diameter"); + base.setMetaDataEntry("approximate_diameter", old_approximate_diameter, Math.round(value).toString()); base.setMetaDataEntry("properties/diameter", properties.diameter, value); if (Cura.MachineManager.filterMaterialsByMachine && properties.approximate_diameter != Cura.MachineManager.activeMachine.approximateMaterialDiameter) { From b8b23055ba60211f5890c955b3b4490a1319aa17 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 29 Jun 2017 16:50:15 +0200 Subject: [PATCH 20/94] Fix getting new material diameter Same problem, it's not been updated yet at this point. Contributes to issue CURA-2822. --- resources/qml/Preferences/MaterialView.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/qml/Preferences/MaterialView.qml b/resources/qml/Preferences/MaterialView.qml index 7183a3d926..39692a9f84 100644 --- a/resources/qml/Preferences/MaterialView.qml +++ b/resources/qml/Preferences/MaterialView.qml @@ -172,7 +172,8 @@ TabView var old_approximate_diameter = Cura.ContainerManager.getContainerMetaDataEntry(base.containerId, "approximate_diameter"); base.setMetaDataEntry("approximate_diameter", old_approximate_diameter, Math.round(value).toString()); base.setMetaDataEntry("properties/diameter", properties.diameter, value); - if (Cura.MachineManager.filterMaterialsByMachine && properties.approximate_diameter != Cura.MachineManager.activeMachine.approximateMaterialDiameter) + var new_approximate_diameter = Cura.ContainerManager.getContainerMetaDataEntry(base.containerId, "approximate_diameter"); + if (Cura.MachineManager.filterMaterialsByMachine && new_approximate_diameter != Cura.MachineManager.activeMachine.approximateMaterialDiameter) { Cura.MaterialManager.showMaterialWarningMessage(base.containerId, old_diameter); } From c77ff8ea8ba5b17d955662cf275bb14b286335b2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 29 Jun 2017 16:54:12 +0200 Subject: [PATCH 21/94] Initial set of changed setup for sliceinfo CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 93 ++++++++++++++++------------ 1 file changed, 52 insertions(+), 41 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 7abb218dab..3acd16c322 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -11,6 +11,8 @@ from UM.Message import Message from UM.i18n import i18nCatalog from UM.Logger import Logger +import time + from UM.Qt.Duration import DurationFormat from .SliceInfoJob import SliceInfoJob @@ -50,52 +52,61 @@ class SliceInfo(Extension): try: if not Preferences.getInstance().getValue("info/send_slice_info"): Logger.log("d", "'info/send_slice_info' is turned off.") - return # Do nothing, user does not want to send data - - # Listing all files placed on the buildplate - modelhashes = [] - for node in DepthFirstIterator(CuraApplication.getInstance().getController().getScene().getRoot()): - if node.callDecoration("isSliceable"): - modelhashes.append(node.getMeshData().getHash()) - - # Creating md5sums and formatting them as discussed on JIRA - modelhash_formatted = ",".join(modelhashes) + return # Do nothing, user does not want to send data global_container_stack = Application.getInstance().getGlobalContainerStack() - # Get total material used (in mm^3) + data = dict() # The data that we're going to submit. + data["time_stamp"] = time.time() + data["schema_version"] = 0 + data["cura_version"] = Application.getInstance().getVersion() + data["active_mode"] = "" # TODO + data["language"] = Preferences.getInstance().getValue("general/language") + data["os"] = {"type": platform.system(), "version": platform.version()} + + data["active_machine_type"] = {"definition_id": global_container_stack.definition.getId()} + + data["extruders"] = [] # TODO + + data["quality_profile"] = global_container_stack.quality.getMetaData().get("quality_type") + + data["models"] = [] + # Listing all files placed on the build plate + for node in DepthFirstIterator(CuraApplication.getInstance().getController().getScene().getRoot()): + if node.callDecoration("isSliceable"): + model = dict() + model["hash"] = node.getMeshData().getHash() + bounding_box = node.getBoundingBox() + model["bounding_box"] = {"minimum": {"x": bounding_box.minimum.x, + "y": bounding_box.minimum.y, + "z": bounding_box.minimum.z}, + "maximum": {"x": bounding_box.maximum.x, + "y": bounding_box.maximum.y, + "z": bounding_box.maximum.z}} + model["transformation"] = {"data": str(node.getWorldTransformation().getData())} + print_information = Application.getInstance().getPrintInformation() - material_radius = 0.5 * global_container_stack.getProperty("material_diameter", "value") + print_times= print_information.printTimesPerFeature + data["print_times"] = {"travel": print_times["travel"].getDisplayString(DurationFormat.Format.Seconds), + "support": print_times["support"].getDisplayString(DurationFormat.Format.Seconds), + "infill": print_times["infill"].getDisplayString(DurationFormat.Format.Seconds), + "total": print_information.currentPrintTime.getDisplayString(DurationFormat.Format.Seconds)} - # Send material per extruder - material_used = [str(math.pi * material_radius * material_radius * material_length) for material_length in print_information.materialLengths] - material_used = ",".join(material_used) + print_settings = dict() + print_settings["layer_height"] = global_container_stack.getProperty("layer_height", "value") + print_settings["support_enabled"] = global_container_stack.getProperty("support_enable", "value") + print_settings["infill_density"] = None # TODO: This can be different per extruder & model + print_settings["infill_type"] = None # TODO: This can be different per extruder & model + print_settings["print_sequence"] = global_container_stack.getProperty("print_sequence", "value") + print_settings["platform_adhesion"] = global_container_stack.getProperty("platform_adhesion", "value") + print_settings["retraction_enable"] = None #TODO; Can be different per extruder. + print_settings["travel_speed"] = None # TODO; Can be different per extruder + print_settings["cool_fan_enabled"] = None # TODO; Can be different per extruder + print_settings["bottom_thickness"] = None # TODO; Can be different per extruder & per mesh + print_settings["bottom_thickness"] = None # TODO; Can be different per extruder & per mesh + data["print_settings"] = print_settings - containers = { "": global_container_stack.serialize() } - for container in global_container_stack.getContainers(): - container_id = container.getId() - try: - container_serialized = container.serialize() - except NotImplementedError: - Logger.log("w", "Container %s could not be serialized!", container_id) - continue - if container_serialized: - containers[container_id] = container_serialized - else: - Logger.log("i", "No data found in %s to be serialized!", container_id) - - # Bundle the collected data - submitted_data = { - "processor": platform.processor(), - "machine": platform.machine(), - "platform": platform.platform(), - "settings": json.dumps(containers), # bundle of containers with their serialized contents - "version": Application.getInstance().getVersion(), - "modelhash": modelhash_formatted, - "printtime": print_information.currentPrintTime.getDisplayString(DurationFormat.Format.ISO8601), - "filament": material_used, - "language": Preferences.getInstance().getValue("general/language"), - } + ''' # Convert data to bytes submitted_data = urllib.parse.urlencode(submitted_data) @@ -103,7 +114,7 @@ class SliceInfo(Extension): # Sending slice info non-blocking reportJob = SliceInfoJob(self.info_url, binary_data) - reportJob.start() + reportJob.start()''' except Exception as e: # We really can't afford to have a mistake here, as this would break the sending of g-code to a device # (Either saving or directly to a printer). The functionality of the slice data is not *that* important. From bb79e33ad55a4736f193ba8baf2d142c9f136720 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 29 Jun 2017 16:55:47 +0200 Subject: [PATCH 22/94] Don't forget to update approximate diameter after resetting actual diameter The approximate diameter needs to be in a static field because the list model filters on that field. The filter function is not clever enough to be able to filter on values being in some kind of range or rounded, so instead the decision was made that the rounded value needs to be set in a separate field so that the static filter can filter on it. Contributes to issue CURA-2822. --- cura/Settings/MaterialManager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cura/Settings/MaterialManager.py b/cura/Settings/MaterialManager.py index abfafc5f9f..8bb7b525f8 100644 --- a/cura/Settings/MaterialManager.py +++ b/cura/Settings/MaterialManager.py @@ -49,6 +49,8 @@ class MaterialManager(QObject): if button == "Undo": container_manager = ContainerManager.getInstance() container_manager.setContainerMetaDataEntry(self._material_diameter_warning_message.material_id, "properties/diameter", self._material_diameter_warning_message.previous_diameter) + approximate_previous_diameter = str(round(float(self._material_diameter_warning_message.previous_diameter))) + container_manager.setContainerMetaDataEntry(self._material_diameter_warning_message.material_id, "approximate_diameter", approximate_previous_diameter) message.hide() else: Logger.log("w", "Unknown button action for material diameter warning message: {action}".format(action = button)) \ No newline at end of file From f8b99b2bff3298e58eec5a5a6a9fb6c71dd39d9d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 29 Jun 2017 18:02:07 +0200 Subject: [PATCH 23/94] Update README.md Removed old plugin (it's no longer needed, cura can do it on it's own) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a3e7f9c0d5..c1ebb0993b 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,6 @@ Please checkout [cura-build](https://github.com/Ultimaker/cura-build) Third party plugins ------------- -* [Print Cost Calculator](https://github.com/nallath/PrintCostCalculator): Calculates weight and monetary cost of your print. * [Post Processing Plugin](https://github.com/nallath/PostProcessingPlugin): Allows for post-processing scripts to run on g-code. * [Barbarian Plugin](https://github.com/nallath/BarbarianPlugin): Simple scale tool for imperial to metric. * [X3G Writer](https://github.com/Ghostkeeper/X3GWriter): Adds support for exporting X3G files. From adb93507c81ab55eca102a8dc6bce11dd2ddd5f3 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 30 Jun 2017 08:42:39 +0200 Subject: [PATCH 24/94] Set material_diameter setting in approximate material diameter test Instead of the metadata entry, which was a previous implementation of the function. This is essentially just an update of the test. Contributes to issue CURA-2822. --- tests/Settings/TestGlobalStack.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/Settings/TestGlobalStack.py b/tests/Settings/TestGlobalStack.py index 3cac17fa3a..df9f31dc64 100755 --- a/tests/Settings/TestGlobalStack.py +++ b/tests/Settings/TestGlobalStack.py @@ -12,6 +12,7 @@ from UM.Settings.InstanceContainer import InstanceContainer #To test against the from UM.Settings.SettingInstance import InstanceState import UM.Settings.ContainerRegistry import UM.Settings.ContainerStack +import UM.Settings.SettingDefinition #To add settings to the definition. ## Fake container registry that always provides all containers you ask of. @pytest.yield_fixture() @@ -100,7 +101,9 @@ def test_addExtruder(global_stack): ]) def test_approximateMaterialDiameter(diameter, approximate_diameter, global_stack): global_stack.definition = DefinitionContainer(container_id = "TestDefinition") - global_stack.definition._metadata["material_diameter"] = str(diameter) + material_diameter = UM.Settings.SettingDefinition.SettingDefinition(key = "material_diameter", container = global_stack.definition) + material_diameter.addSupportedProperty("value", UM.Settings.SettingDefinition.DefinitionPropertyType.Any, default = diameter) + global_stack.definition.definitions.append(material_diameter) assert float(global_stack.approximateMaterialDiameter) == approximate_diameter ## Tests getting the material diameter when there is no material diameter. From 3e278cbd0a7a62898f339396490c4e67e7549126 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 30 Jun 2017 08:47:49 +0200 Subject: [PATCH 25/94] Add test for very large material diameters Shouldn't matter with Python, but you never know. Contributes to issue CURA-2822. --- tests/Settings/TestGlobalStack.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/Settings/TestGlobalStack.py b/tests/Settings/TestGlobalStack.py index df9f31dc64..c6491d574c 100755 --- a/tests/Settings/TestGlobalStack.py +++ b/tests/Settings/TestGlobalStack.py @@ -97,7 +97,8 @@ def test_addExtruder(global_stack): #Exceptional cases. (0, 0), (-10.1, -10), - (-1, -1) + (-1, -1), + (9000.1, 9000) ]) def test_approximateMaterialDiameter(diameter, approximate_diameter, global_stack): global_stack.definition = DefinitionContainer(container_id = "TestDefinition") From 5c9e3c1e4da7acd68fb6f2a54613160ae6f59d92 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 30 Jun 2017 10:30:33 +0200 Subject: [PATCH 26/94] Extruders are now correctly filled in slicdeInfo CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 3acd16c322..efcb3f7c8a 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -2,6 +2,7 @@ # Cura is released under the terms of the AGPLv3 or higher. from cura.CuraApplication import CuraApplication +from cura.Settings.ExtruderManager import ExtruderManager from UM.Extension import Extension from UM.Application import Application @@ -55,6 +56,7 @@ class SliceInfo(Extension): return # Do nothing, user does not want to send data global_container_stack = Application.getInstance().getGlobalContainerStack() + print_information = Application.getInstance().getPrintInformation() data = dict() # The data that we're going to submit. data["time_stamp"] = time.time() @@ -66,7 +68,21 @@ class SliceInfo(Extension): data["active_machine_type"] = {"definition_id": global_container_stack.definition.getId()} - data["extruders"] = [] # TODO + data["extruders"] = [] + extruders = list(ExtruderManager.getInstance().getMachineExtruders(global_container_stack.getId())) + extruders = sorted(extruders, key = lambda extruder: extruder.getMetaDataEntry("position")) + + if not extruders: + extruders = [global_container_stack] + + for extruder in extruders: + extruder_dict = dict() + extruder_dict["active"] = ExtruderManager.getInstance().getActiveExtruderStack() == extruder + extruder_dict["material"] = extruder.material.getMetaData().get("GUID", "") + extruder_dict["material_used"] = print_information.materialLengths[int(extruder.getMetaDataEntry("position", "0"))] + extruder_dict["variant"] = extruder.variant.getName() + extruder_dict["nozzle_size"] = extruder.getProperty("machine_nozzle_size", "value") + data["extruders"].append(extruder_dict) data["quality_profile"] = global_container_stack.quality.getMetaData().get("quality_type") @@ -84,8 +100,10 @@ class SliceInfo(Extension): "y": bounding_box.maximum.y, "z": bounding_box.maximum.z}} model["transformation"] = {"data": str(node.getWorldTransformation().getData())} + extruder_position = node.callDecoration("getActiveExtruderPosition") + model["extruder"] = 0 if extruder_position is None else extruder_position + - print_information = Application.getInstance().getPrintInformation() print_times= print_information.printTimesPerFeature data["print_times"] = {"travel": print_times["travel"].getDisplayString(DurationFormat.Format.Seconds), "support": print_times["support"].getDisplayString(DurationFormat.Format.Seconds), @@ -105,7 +123,7 @@ class SliceInfo(Extension): print_settings["bottom_thickness"] = None # TODO; Can be different per extruder & per mesh print_settings["bottom_thickness"] = None # TODO; Can be different per extruder & per mesh data["print_settings"] = print_settings - + #print(data) ''' # Convert data to bytes From d38eb7f4e4881865cf0aafc0393ba6634df3583c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 30 Jun 2017 10:35:16 +0200 Subject: [PATCH 27/94] Model data is now actually appended to data that's being sent CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index efcb3f7c8a..091cdcb5af 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -102,6 +102,7 @@ class SliceInfo(Extension): model["transformation"] = {"data": str(node.getWorldTransformation().getData())} extruder_position = node.callDecoration("getActiveExtruderPosition") model["extruder"] = 0 if extruder_position is None else extruder_position + data["models"].append(model) print_times= print_information.printTimesPerFeature From 9db00fa9c0d05daec6beff9a57629d928bd06031 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 30 Jun 2017 10:39:22 +0200 Subject: [PATCH 28/94] Also send if the user changed the machine definition CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 091cdcb5af..11890650fb 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -63,6 +63,7 @@ class SliceInfo(Extension): data["schema_version"] = 0 data["cura_version"] = Application.getInstance().getVersion() data["active_mode"] = "" # TODO + data["machine_settings_changed_by_user"] = global_container_stack.definitionChanges.getId() != "empty" data["language"] = Preferences.getInstance().getValue("general/language") data["os"] = {"type": platform.system(), "version": platform.version()} From 71c146f4379c24af2e05ffadd690c3b24e5ed4eb Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 30 Jun 2017 13:04:09 +0200 Subject: [PATCH 29/94] Always send not-printed objects to slicer regardless of build volume Objects that aren't printed, such as infill meshes, can simply be sent to the slicer regardless of whether they are inside or outside the build volume, because they don't generate g-code in their own volume. This way you can have a model that is partially outside the build volume that still does its anti-overhang task or whatever. Contributes to issue CURA-3951. --- plugins/CuraEngineBackend/StartSliceJob.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index c83ffb655d..f2e9cb7db2 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -44,6 +44,14 @@ class GcodeStartEndFormatter(Formatter): ## Job class that builds up the message of scene data to send to CuraEngine. class StartSliceJob(Job): + ## Meshes that are sent to the engine regardless of being outside of the + # build volume. + # + # If these settings are True for any mesh, the build volume is ignored. + # Note that Support Mesh is not in here because it actually generates + # g-code in the volume of the mesh. + _not_printed_mesh_settings = {"anti_overhang_mesh", "infill_mesh", "cutting_mesh"} + def __init__(self, slice_message): super().__init__() @@ -132,7 +140,8 @@ class StartSliceJob(Job): temp_list = [] for node in DepthFirstIterator(self._scene.getRoot()): if type(node) is SceneNode and node.getMeshData() and node.getMeshData().getVertices() is not None: - if not getattr(node, "_outside_buildarea", False): + if not getattr(node, "_outside_buildarea", False)\ + or (node.callDecoration("getStack") and any(node.callDecoration("getStack").getProperty(setting, "value") for setting in self._not_printed_mesh_settings)): temp_list.append(node) Job.yieldThread() From a8492b3a6fede8de8bd8c63970a20c4b075f7511 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 30 Jun 2017 13:33:39 +0200 Subject: [PATCH 30/94] Added few more fields (brand & manufacturer) to brand & machine CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 11890650fb..8c969ffeec 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -67,7 +67,7 @@ class SliceInfo(Extension): data["language"] = Preferences.getInstance().getValue("general/language") data["os"] = {"type": platform.system(), "version": platform.version()} - data["active_machine_type"] = {"definition_id": global_container_stack.definition.getId()} + data["active_machine"] = {"definition_id": global_container_stack.definition.getId(), "manufacturer": global_container_stack.definition.getMetaData().get("manufacturer","")} data["extruders"] = [] extruders = list(ExtruderManager.getInstance().getMachineExtruders(global_container_stack.getId())) @@ -79,7 +79,10 @@ class SliceInfo(Extension): for extruder in extruders: extruder_dict = dict() extruder_dict["active"] = ExtruderManager.getInstance().getActiveExtruderStack() == extruder - extruder_dict["material"] = extruder.material.getMetaData().get("GUID", "") + extruder_dict["material"] = {"GUID": extruder.material.getMetaData().get("GUID", ""), + "type": extruder.material.getMetaData().get("material", ""), + "brand": extruder.material.getMetaData().get("brand", "") + } extruder_dict["material_used"] = print_information.materialLengths[int(extruder.getMetaDataEntry("position", "0"))] extruder_dict["variant"] = extruder.variant.getName() extruder_dict["nozzle_size"] = extruder.getProperty("machine_nozzle_size", "value") From 5d0908e8ced209d539a9a3caaae216027e4f6efa Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 30 Jun 2017 15:19:53 +0200 Subject: [PATCH 31/94] Added handling for timeout & network connection broken CURA-3856 --- plugins/PluginBrowser/PluginBrowser.py | 38 ++++++++++++++++++++------ 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.py b/plugins/PluginBrowser/PluginBrowser.py index 02f50e7a02..5ef3e6e335 100644 --- a/plugins/PluginBrowser/PluginBrowser.py +++ b/plugins/PluginBrowser/PluginBrowser.py @@ -8,7 +8,7 @@ from UM.PluginRegistry import PluginRegistry from UM.Application import Application from UM.Version import Version -from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest +from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply from PyQt5.QtCore import QUrl, QObject, Qt, pyqtProperty, pyqtSignal, pyqtSlot from PyQt5.QtQml import QQmlComponent, QQmlContext @@ -94,10 +94,7 @@ class PluginBrowser(QObject, Extension): def _onDownloadPluginProgress(self, bytes_sent, bytes_total): if bytes_total > 0: new_progress = bytes_sent / bytes_total * 100 - if new_progress > self._download_progress: - self._download_progress = new_progress - self.onDownloadProgressChanged.emit() - self._download_progress = new_progress + self.setDownloadProgress(new_progress) if new_progress == 100.0: self.setIsDownloading(False) self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) @@ -117,6 +114,11 @@ class PluginBrowser(QObject, Extension): def downloadProgress(self): return self._download_progress + def setDownloadProgress(self, progress): + if progress != self._download_progress: + self._download_progress = progress + self.onDownloadProgressChanged.emit() + @pyqtSlot(str) def downloadAndInstallPlugin(self, url): Logger.log("i", "Attempting to download & install plugin from %s", url) @@ -124,9 +126,8 @@ class PluginBrowser(QObject, Extension): self._download_plugin_request = QNetworkRequest(url) self._download_plugin_request.setRawHeader(*self._request_header) self._download_plugin_reply = self._network_manager.get(self._download_plugin_request) - self._download_progress = 0 + self.setDownloadProgress(0) self.setIsDownloading(True) - self.onDownloadProgressChanged.emit() self._download_plugin_reply.downloadProgress.connect(self._onDownloadPluginProgress) @pyqtProperty(QObject, notify=pluginsMetadataChanged) @@ -180,6 +181,16 @@ class PluginBrowser(QObject, Extension): def _onRequestFinished(self, reply): reply_url = reply.url().toString() + + if reply.error() == QNetworkReply.TimeoutError: + Logger.log("w", "Got a timeout.") + # Reset everything. + self.setDownloadProgress(0) + self.setIsDownloading(False) + if self._download_plugin_reply: + self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) + self._download_plugin_reply.abort() + self._download_plugin_reply = None if reply.operation() == QNetworkAccessManager.GetOperation: if reply_url == self._api_url + "plugins": try: @@ -193,9 +204,20 @@ class PluginBrowser(QObject, Extension): # Ignore any operation that is not a get operation pass + def _onNetworkAccesibleChanged(self, accessible): + if accessible == 0: + self.setDownloadProgress(0) + self.setIsDownloading(False) + if self._download_plugin_reply: + self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) + self._download_plugin_reply.abort() + self._download_plugin_reply = None + def _createNetworkManager(self): if self._network_manager: self._network_manager.finished.disconnect(self._onRequestFinished) + self._network_manager.networkAccessibleChanged.disconnect(self._onNetworkAccesibleChanged) self._network_manager = QNetworkAccessManager() - self._network_manager.finished.connect(self._onRequestFinished) \ No newline at end of file + self._network_manager.finished.connect(self._onRequestFinished) + self._network_manager.networkAccessibleChanged.connect(self._onNetworkAccesibleChanged) \ No newline at end of file From 52954460a3f1a6601d725829e19e60d4508aaf1b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 30 Jun 2017 15:30:22 +0200 Subject: [PATCH 32/94] Added refresh option for plugin list. This fixes the issue that if you don't have internet connection on first start of the browser, you'd need a reboot of cura to get the list. CURA-3856 --- plugins/PluginBrowser/PluginBrowser.py | 8 +++++++- plugins/PluginBrowser/PluginBrowser.qml | 24 +++++++++++++++++++----- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.py b/plugins/PluginBrowser/PluginBrowser.py index 5ef3e6e335..3957fcb9a4 100644 --- a/plugins/PluginBrowser/PluginBrowser.py +++ b/plugins/PluginBrowser/PluginBrowser.py @@ -66,7 +66,9 @@ class PluginBrowser(QObject, Extension): self._createDialog() self._dialog.show() + @pyqtSlot() def requestPluginList(self): + Logger.log("i", "Requesting plugin list") url = QUrl(self._api_url + "plugins") self._plugin_list_request = QNetworkRequest(url) self._plugin_list_request.setRawHeader(*self._request_header) @@ -181,7 +183,6 @@ class PluginBrowser(QObject, Extension): def _onRequestFinished(self, reply): reply_url = reply.url().toString() - if reply.error() == QNetworkReply.TimeoutError: Logger.log("w", "Got a timeout.") # Reset everything. @@ -191,6 +192,11 @@ class PluginBrowser(QObject, Extension): self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) self._download_plugin_reply.abort() self._download_plugin_reply = None + return + elif reply.error() == QNetworkReply.HostNotFoundError: + Logger.log("w", "Unable to reach server.") + return + if reply.operation() == QNetworkAccessManager.GetOperation: if reply_url == self._api_url + "plugins": try: diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index 841a1828a2..a9596b0abd 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -14,17 +14,31 @@ UM.Dialog Item { anchors.fill: parent - Label + Item { - id: introText - text: catalog.i18nc("@label", "Here you can find a list of Third Party plugins.") + id: topBar + height: childrenRect.height; width: parent.width - height: 30 + Label + { + id: introText + text: catalog.i18nc("@label", "Here you can find a list of Third Party plugins.") + width: parent.width + height: 30 + } + + Button + { + id: refresh + text: catalog.i18nc("@action:button", "Refresh") + onClicked: manager.requestPluginList() + anchors.right: parent.right + } } ScrollView { width: parent.width - anchors.top: introText.bottom + anchors.top: topBar.bottom anchors.bottom: progressbar.top anchors.bottomMargin: UM.Theme.getSize("default_margin").height frameVisible: true From e98a6d76ba31a260e79fde2bc5abfe0e647f3bf2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 30 Jun 2017 15:40:51 +0200 Subject: [PATCH 33/94] Added close button CURA-3856 --- plugins/PluginBrowser/PluginBrowser.qml | 38 +++++++++++++++++++------ 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index a9596b0abd..fc9612a798 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -39,7 +39,7 @@ UM.Dialog { width: parent.width anchors.top: topBar.bottom - anchors.bottom: progressbar.top + anchors.bottom: bottomBar.top anchors.bottomMargin: UM.Theme.getSize("default_margin").height frameVisible: true ListView @@ -51,16 +51,36 @@ UM.Dialog delegate: pluginDelegate } } - ProgressBar + Item { - id: progressbar - anchors.bottom: parent.bottom - style: UM.Theme.styles.progressbar - minimumValue: 0; - maximumValue: 100 + id: bottomBar width: parent.width - height: 10 - value: manager.downloadProgress + height: childrenRect.height + anchors.bottom:parent.bottom + anchors.left: parent.left + ProgressBar + { + id: progressbar + anchors.bottom: parent.bottom + style: UM.Theme.styles.progressbar + minimumValue: 0; + maximumValue: 100 + anchors.left:parent.left + anchors.right: closeButton.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + height: 10 + value: manager.downloadProgress + } + + Button + { + id: closeButton + text: catalog.i18nc("@action:button", "Close") + iconName: "dialog-close" + onClicked: base.close() + anchors.bottom: parent.bottom + anchors.right: parent.right + } } Item From 60379d395d46d9867028874d596409c32c74edfe Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 30 Jun 2017 17:59:47 +0200 Subject: [PATCH 34/94] feat: spaghetti infill stepping vs all volume at once (CURA-3861) --- resources/definitions/fdmprinter.def.json | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 0760533f33..329daa5fa6 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4911,6 +4911,16 @@ "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, + "spaghetti_infill_stepped": + { + "label": "Spaghetti Infill Stepping", + "description": "Whether to print spaghetti infill in steps or extrude all the infill filament at the end of the print.", + "type": "bool", + "default_value": true, + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, "spaghetti_max_infill_angle": { "label": "Spaghetti Maximum Infill Angle", @@ -4921,7 +4931,7 @@ "minimum_value": "0", "maximum_value": "90", "maximum_value_warning": "45", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled and not spaghetti_infill_stepped", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -4934,7 +4944,7 @@ "default_value": 2.0, "minimum_value": "layer_height", "maximum_value_warning": "10.0", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled and not spaghetti_infill_stepped", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, From 319559740dd8c8c2f9ffad637bee43cef9345073 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 3 Jul 2017 10:53:50 +0200 Subject: [PATCH 35/94] Also invert nozzle offset when offsetting machine-specified disallowed areas We inverted it properly with the borders, but not here yet. --- cura/BuildVolume.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 53e1471f7b..de36b80123 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. from cura.Settings.ExtruderManager import ExtruderManager @@ -727,7 +727,7 @@ class BuildVolume(SceneNode): offset_x = extruder.getProperty("machine_nozzle_offset_x", "value") if offset_x is None: offset_x = 0 - offset_y = extruder.getProperty("machine_nozzle_offset_y", "value") + offset_y = -extruder.getProperty("machine_nozzle_offset_y", "value") if offset_y is None: offset_y = 0 else: From 3abde17466c4997cf44a8f056584ffac3aea6fbe Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Jul 2017 12:57:50 +0200 Subject: [PATCH 36/94] Updated list of settings to be sent. CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 68 +++++++++++++++++++++++----- 1 file changed, 57 insertions(+), 11 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 8c969ffeec..e00eae7523 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -86,6 +86,16 @@ class SliceInfo(Extension): extruder_dict["material_used"] = print_information.materialLengths[int(extruder.getMetaDataEntry("position", "0"))] extruder_dict["variant"] = extruder.variant.getName() extruder_dict["nozzle_size"] = extruder.getProperty("machine_nozzle_size", "value") + + extruder_settings = dict() + extruder_settings["wall_line_count"] = extruder.getProperty("wall_line_count", "value") + extruder_settings["retraction_enable"] = extruder.getProperty("retraction_enable", "value") + extruder_settings["infill_sparse_density"] = extruder.getProperty("infill_sparse_density", "value") + extruder_settings["infill_pattern"] = extruder.getProperty("infill_pattern", "value") + extruder_settings["gradual_infill_steps"] = extruder.getProperty("gradual_infill_steps", "value") + extruder_settings["default_material_print_temperature"] = extruder.getProperty("default_material_print_temperature", "value") + extruder_settings["material_print_temperature"] = extruder.getProperty("material_print_temperature", "value") + extruder_dict["extruder_settings"] = extruder_settings data["extruders"].append(extruder_dict) data["quality_profile"] = global_container_stack.quality.getMetaData().get("quality_type") @@ -106,10 +116,34 @@ class SliceInfo(Extension): model["transformation"] = {"data": str(node.getWorldTransformation().getData())} extruder_position = node.callDecoration("getActiveExtruderPosition") model["extruder"] = 0 if extruder_position is None else extruder_position + + + model_settings = dict() + model_stack = node.callDecoration("getStack") + if model_stack: + model_settings["support_enabled"] = model_stack.getProperty("support_enable", "value") + model_settings["support_extruder_nr"] = int(model_stack.getProperty("support_extruder_nr", "value")) + + # Mesh modifiers; + model_settings["infill_mesh"] = model_stack.getProperty("infill_mesh", "value") + model_settings["cutting_mesh"] = model_stack.getProperty("cutting_mesh", "value") + model_settings["support_mesh"] = model_stack.getProperty("support_mesh", "value") + model_settings["anti_overhang_mesh"] = model_stack.getProperty("anti_overhang_mesh", "value") + + model_settings["wall_line_count"] = model_stack.getProperty("wall_line_count", "value") + model_settings["retraction_enable"] = model_stack.getProperty("retraction_enable", "value") + + # Infill settings + model_settings["infill_sparse_density"] = model_stack.getProperty("infill_sparse_density", "value") + model_settings["infill_pattern"] = model_stack.getProperty("infill_pattern", "value") + model_settings["gradual_infill_steps"] = model_stack.getProperty("gradual_infill_steps", "value") + + + model["model_settings"] = model_settings + data["models"].append(model) - - print_times= print_information.printTimesPerFeature + print_times = print_information.printTimesPerFeature data["print_times"] = {"travel": print_times["travel"].getDisplayString(DurationFormat.Format.Seconds), "support": print_times["support"].getDisplayString(DurationFormat.Format.Seconds), "infill": print_times["infill"].getDisplayString(DurationFormat.Format.Seconds), @@ -117,18 +151,30 @@ class SliceInfo(Extension): print_settings = dict() print_settings["layer_height"] = global_container_stack.getProperty("layer_height", "value") + + # Support settings print_settings["support_enabled"] = global_container_stack.getProperty("support_enable", "value") - print_settings["infill_density"] = None # TODO: This can be different per extruder & model - print_settings["infill_type"] = None # TODO: This can be different per extruder & model - print_settings["print_sequence"] = global_container_stack.getProperty("print_sequence", "value") + print_settings["support_extruder_nr"] = int(global_container_stack.getProperty("support_extruder_nr", "value")) + + # Platform adhesion settings print_settings["platform_adhesion"] = global_container_stack.getProperty("platform_adhesion", "value") - print_settings["retraction_enable"] = None #TODO; Can be different per extruder. - print_settings["travel_speed"] = None # TODO; Can be different per extruder - print_settings["cool_fan_enabled"] = None # TODO; Can be different per extruder - print_settings["bottom_thickness"] = None # TODO; Can be different per extruder & per mesh - print_settings["bottom_thickness"] = None # TODO; Can be different per extruder & per mesh + + # Shell settings + print_settings["wall_line_count"] = global_container_stack.getProperty("wall_line_count", "value") + print_settings["retraction_enable"] = global_container_stack.getProperty("retraction_enable", "value") + + # Prime tower settings + print_settings["prime_tower_enable"] = global_container_stack.getProperty("prime_tower_enable", "value") + + # Infill settings + print_settings["infill_sparse_density"] = global_container_stack.getProperty("infill_sparse_density", "value") + print_settings["infill_pattern"] = global_container_stack.getProperty("infill_pattern", "value") + print_settings["gradual_infill_steps"] = global_container_stack.getProperty("gradual_infill_steps", "value") + + print_settings["print_sequence"] = global_container_stack.getProperty("print_sequence", "value") + data["print_settings"] = print_settings - #print(data) + #print(json.dumps(data)) ''' # Convert data to bytes From 1682348629d61691d509adc2d1ba7010be2c8f7c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Jul 2017 13:10:17 +0200 Subject: [PATCH 37/94] Send data to new server CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index e00eae7523..66fc507918 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -31,7 +31,7 @@ catalog = i18nCatalog("cura") # The data is only sent when the user in question gave permission to do so. All data is anonymous and # no model files are being sent (Just a SHA256 hash of the model). class SliceInfo(Extension): - info_url = "https://stats.youmagine.com/curastats/slice" + info_url = "http://stats.ultimaker.com/api/cura" def __init__(self): super().__init__() @@ -174,17 +174,14 @@ class SliceInfo(Extension): print_settings["print_sequence"] = global_container_stack.getProperty("print_sequence", "value") data["print_settings"] = print_settings - #print(json.dumps(data)) - ''' # Convert data to bytes - submitted_data = urllib.parse.urlencode(submitted_data) - binary_data = submitted_data.encode("utf-8") + binary_data = json.dumps(data).encode("utf-8") # Sending slice info non-blocking reportJob = SliceInfoJob(self.info_url, binary_data) - reportJob.start()''' - except Exception as e: + reportJob.start() + except Exception: # We really can't afford to have a mistake here, as this would break the sending of g-code to a device # (Either saving or directly to a printer). The functionality of the slice data is not *that* important. - Logger.log("e", "Exception raised while sending slice info: %s" %(repr(e))) # But we should be notified about these problems of course. + Logger.logException("e", "Exception raised while sending slice info.") # But we should be notified about these problems of course. From d69736ac34a3f0d3527bdecf0aa606fe10ed51c4 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Jul 2017 13:13:42 +0200 Subject: [PATCH 38/94] Filter \n from transformation string CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 66fc507918..0c6fa14b3b 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -113,7 +113,7 @@ class SliceInfo(Extension): "maximum": {"x": bounding_box.maximum.x, "y": bounding_box.maximum.y, "z": bounding_box.maximum.z}} - model["transformation"] = {"data": str(node.getWorldTransformation().getData())} + model["transformation"] = {"data": str(node.getWorldTransformation().getData()).replace("\n", "")} extruder_position = node.callDecoration("getActiveExtruderPosition") model["extruder"] = 0 if extruder_position is None else extruder_position From a1413e816238cf226dd0a621ee61306d9f1a6ca8 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Jul 2017 13:18:23 +0200 Subject: [PATCH 39/94] Added active mode to sliceinfo CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 0c6fa14b3b..bce98dd681 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -62,7 +62,13 @@ class SliceInfo(Extension): data["time_stamp"] = time.time() data["schema_version"] = 0 data["cura_version"] = Application.getInstance().getVersion() - data["active_mode"] = "" # TODO + + active_mode = Preferences.getInstance().getValue("cura/active_mode") + if active_mode == 0: + data["active_mode"] = "recommended" + else: + data["active_mode"] = "custom" + data["machine_settings_changed_by_user"] = global_container_stack.definitionChanges.getId() != "empty" data["language"] = Preferences.getInstance().getValue("general/language") data["os"] = {"type": platform.system(), "version": platform.version()} @@ -117,7 +123,6 @@ class SliceInfo(Extension): extruder_position = node.callDecoration("getActiveExtruderPosition") model["extruder"] = 0 if extruder_position is None else extruder_position - model_settings = dict() model_stack = node.callDecoration("getStack") if model_stack: @@ -138,7 +143,6 @@ class SliceInfo(Extension): model_settings["infill_pattern"] = model_stack.getProperty("infill_pattern", "value") model_settings["gradual_infill_steps"] = model_stack.getProperty("gradual_infill_steps", "value") - model["model_settings"] = model_settings data["models"].append(model) From 8776cedd278ab0830f4f621d013e7ef75efbb9d1 Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 3 Jul 2017 14:46:31 +0200 Subject: [PATCH 40/94] Add margins to buttons and progressBar so they align CURA-3856 --- plugins/PluginBrowser/PluginBrowser.qml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index fc9612a798..f992efa926 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -33,6 +33,7 @@ UM.Dialog text: catalog.i18nc("@action:button", "Refresh") onClicked: manager.requestPluginList() anchors.right: parent.right + anchors.rightMargin: -3 } } ScrollView @@ -68,7 +69,8 @@ UM.Dialog anchors.left:parent.left anchors.right: closeButton.left anchors.rightMargin: UM.Theme.getSize("default_margin").width - height: 10 + anchors.bottomMargin: 4 + height: UM.Theme.getSize("default_margin").height value: manager.downloadProgress } @@ -80,6 +82,7 @@ UM.Dialog onClicked: base.close() anchors.bottom: parent.bottom anchors.right: parent.right + anchors.rightMargin: -3 } } From 8a55469499117bc9a64ed047b70cc14801419cb6 Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 3 Jul 2017 14:49:26 +0200 Subject: [PATCH 41/94] Revert "Add margins to buttons and progressBar so they align" This reverts commit 8776cedd278ab0830f4f621d013e7ef75efbb9d1. --- plugins/PluginBrowser/PluginBrowser.qml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index f992efa926..fc9612a798 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -33,7 +33,6 @@ UM.Dialog text: catalog.i18nc("@action:button", "Refresh") onClicked: manager.requestPluginList() anchors.right: parent.right - anchors.rightMargin: -3 } } ScrollView @@ -69,8 +68,7 @@ UM.Dialog anchors.left:parent.left anchors.right: closeButton.left anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.bottomMargin: 4 - height: UM.Theme.getSize("default_margin").height + height: 10 value: manager.downloadProgress } @@ -82,7 +80,6 @@ UM.Dialog onClicked: base.close() anchors.bottom: parent.bottom anchors.right: parent.right - anchors.rightMargin: -3 } } From 7e07482dec3373bf20bfa64277feef106ffceffd Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Jul 2017 15:44:42 +0200 Subject: [PATCH 42/94] Added topbar to Cura CURA-3964 --- resources/qml/Cura.qml | 17 ++- resources/qml/Sidebar.qml | 215 ------------------------------- resources/qml/Topbar.qml | 208 ++++++++++++++++++++++++++++++ resources/themes/cura/styles.qml | 63 ++++++--- resources/themes/cura/theme.json | 2 + 5 files changed, 264 insertions(+), 241 deletions(-) create mode 100644 resources/qml/Topbar.qml diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 612ef6b41b..779bb7d001 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -329,7 +329,8 @@ UM.MainWindow tooltip: ''; anchors { - top: parent.top; + top: topbar.bottom; + topMargin: UM.Theme.getSize("default_margin").height; left: parent.left; } action: Cura.Actions.open; @@ -371,13 +372,21 @@ UM.MainWindow } } + Topbar + { + id: topbar + anchors.left:parent.left + anchors.right: parent.right + anchors.top: parent.top + } + Sidebar { id: sidebar; anchors { - top: parent.top; + top: topbar.bottom; bottom: parent.bottom; right: parent.right; } @@ -412,7 +421,7 @@ UM.MainWindow color: UM.Theme.getColor("viewport_overlay") anchors { - top: parent.top + top: topbar.bottom bottom: parent.bottom left:parent.left right: sidebar.left @@ -437,8 +446,6 @@ UM.MainWindow anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenterOffset: - UM.Theme.getSize("sidebar").width / 2 - - } UM.MessageStack diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index ec187cef91..e446fba653 100755 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -88,221 +88,6 @@ Rectangle } } - // Printer selection and mode selection buttons for changing between Setting & Monitor print mode - Rectangle - { - id: sidebarHeaderBar - anchors.left: parent.left - anchors.right: parent.right - height: childrenRect.height - color: UM.Theme.getColor("sidebar_header_bar") - - Row - { - anchors.left: parent.left - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - spacing: UM.Theme.getSize("default_margin").width - - ToolButton - { - id: machineSelection - text: Cura.MachineManager.activeMachineName - - width: parent.width - (showSettings.width + showMonitor.width + 2 * UM.Theme.getSize("default_margin").width) - height: UM.Theme.getSize("sidebar_header").height - tooltip: Cura.MachineManager.activeMachineName - - anchors.verticalCenter: parent.verticalCenter - style: ButtonStyle { - background: Rectangle { - color: { - if(control.pressed) { - return UM.Theme.getColor("sidebar_header_active"); - } else if(control.hovered) { - return UM.Theme.getColor("sidebar_header_hover"); - } else { - return UM.Theme.getColor("sidebar_header_bar"); - } - } - Behavior on color { ColorAnimation { duration: 50; } } - - Rectangle { - id: underline; - - anchors.left: parent.left - anchors.right: parent.right - anchors.bottom: parent.bottom - height: UM.Theme.getSize("sidebar_header_highlight").height - color: UM.Theme.getColor("sidebar_header_highlight_hover") - visible: control.hovered || control.pressed - } - - UM.RecolorImage { - id: downArrow - anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - width: UM.Theme.getSize("standard_arrow").width - height: UM.Theme.getSize("standard_arrow").height - sourceSize.width: width - sourceSize.height: width - color: UM.Theme.getColor("text_reversed") - source: UM.Theme.getIcon("arrow_bottom") - } - Label { - id: sidebarComboBoxLabel - color: UM.Theme.getColor("text_reversed") - text: control.text; - elide: Text.ElideRight; - anchors.left: parent.left; - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right: downArrow.left; - anchors.rightMargin: control.rightMargin; - anchors.verticalCenter: parent.verticalCenter; - font: UM.Theme.getFont("large") - } - } - label: Label{} - } - - menu: PrinterMenu { } - } - - Button - { - id: showSettings - width: height - height: UM.Theme.getSize("sidebar_header").height - onClicked: monitoringPrint = false - iconSource: UM.Theme.getIcon("tab_settings"); - property color overlayColor: "transparent" - property string overlayIconSource: "" - - checkable: true - checked: !monitoringPrint - exclusiveGroup: sidebarHeaderBarGroup - property string tooltipText: catalog.i18nc("@tooltip", "Print Setup

Edit or review the settings for the active print job.") - - onHoveredChanged: { - if (hovered) - { - tooltipDelayTimer.item = showSettings - tooltipDelayTimer.text = tooltipText - tooltipDelayTimer.start(); - } - else - { - tooltipDelayTimer.stop(); - base.hideTooltip(); - } - } - - style: UM.Theme.styles.sidebar_header_tab - } - - Button - { - id: showMonitor - width: height - height: UM.Theme.getSize("sidebar_header").height - onClicked: monitoringPrint = true - iconSource: printerConnected ? UM.Theme.getIcon("tab_monitor_with_status") : UM.Theme.getIcon("tab_monitor") - property color overlayColor: - { - if(!printerAcceptsCommands) - { - return UM.Theme.getColor("status_unknown"); - } - - if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") - { - return UM.Theme.getColor("status_busy"); - } - switch(Cura.MachineManager.printerOutputDevices[0].jobState) - { - case "printing": - case "pre_print": - case "wait_cleanup": - case "pausing": - case "resuming": - return UM.Theme.getColor("status_busy"); - case "ready": - case "": - return UM.Theme.getColor("status_ready"); - case "paused": - return UM.Theme.getColor("status_paused"); - case "error": - return UM.Theme.getColor("status_stopped"); - case "offline": - return UM.Theme.getColor("status_offline"); - default: - return UM.Theme.getColor("text_reversed"); - } - } - property string overlayIconSource: - { - if(!printerConnected) - { - return ""; - } - else if(!printerAcceptsCommands) - { - return UM.Theme.getIcon("tab_status_unknown"); - } - - if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") - { - return UM.Theme.getIcon("tab_status_busy"); - } - - switch(Cura.MachineManager.printerOutputDevices[0].jobState) - { - case "printing": - case "pre_print": - case "wait_cleanup": - case "pausing": - case "resuming": - return UM.Theme.getIcon("tab_status_busy"); - case "ready": - case "": - return UM.Theme.getIcon("tab_status_connected") - case "paused": - return UM.Theme.getIcon("tab_status_paused") - case "error": - return UM.Theme.getIcon("tab_status_stopped") - case "offline": - return UM.Theme.getIcon("tab_status_offline") - default: - return "" - } - } - - checkable: true - checked: monitoringPrint - exclusiveGroup: sidebarHeaderBarGroup - property string tooltipText: catalog.i18nc("@tooltip", "Print Monitor

Monitor the state of the connected printer and the print job in progress.") - - onHoveredChanged: { - if (hovered) - { - tooltipDelayTimer.item = showMonitor - tooltipDelayTimer.text = tooltipText - tooltipDelayTimer.start(); - } - else - { - tooltipDelayTimer.stop(); - base.hideTooltip(); - } - } - - style: UM.Theme.styles.sidebar_header_tab - } - ExclusiveGroup { id: sidebarHeaderBarGroup } - } - } - SidebarHeader { id: header width: parent.width diff --git a/resources/qml/Topbar.qml b/resources/qml/Topbar.qml new file mode 100644 index 0000000000..3c305b522a --- /dev/null +++ b/resources/qml/Topbar.qml @@ -0,0 +1,208 @@ +// Copyright (c) 2017 Ultimaker B.V. +// Cura is released under the terms of the AGPLv3 or higher. + +import QtQuick 2.2 +import QtQuick.Controls 1.1 +import QtQuick.Controls.Styles 1.1 +import QtQuick.Layouts 1.1 + +import UM 1.2 as UM +import Cura 1.0 as Cura +import "Menus" + +Rectangle +{ + id: base + anchors.left: parent.left + anchors.right: parent.right + height: UM.Theme.getSize("sidebar_header").height + color: UM.Theme.getColor("sidebar_header_bar") + + property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0 + property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands + + Row + { + anchors.left: parent.left + anchors.right: machineSelection.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + spacing: UM.Theme.getSize("default_margin").width + + Button + { + id: showSettings + height: UM.Theme.getSize("sidebar_header").height + onClicked: monitoringPrint = false + iconSource: UM.Theme.getIcon("tab_settings"); + property color overlayColor: "transparent" + property string overlayIconSource: "" + text: "Prepare" + checkable: true + checked: !monitoringPrint + exclusiveGroup: sidebarHeaderBarGroup + + style: UM.Theme.styles.topbar_header_tab + } + + Button + { + id: showMonitor + height: UM.Theme.getSize("sidebar_header").height + onClicked: monitoringPrint = true + text: "Print" + iconSource: printerConnected ? UM.Theme.getIcon("tab_monitor_with_status") : UM.Theme.getIcon("tab_monitor") + property color overlayColor: + { + if(!printerAcceptsCommands) + { + return UM.Theme.getColor("status_unknown"); + } + + if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") + { + return UM.Theme.getColor("status_busy"); + } + switch(Cura.MachineManager.printerOutputDevices[0].jobState) + { + case "printing": + case "pre_print": + case "wait_cleanup": + case "pausing": + case "resuming": + return UM.Theme.getColor("status_busy"); + case "ready": + case "": + return UM.Theme.getColor("status_ready"); + case "paused": + return UM.Theme.getColor("status_paused"); + case "error": + return UM.Theme.getColor("status_stopped"); + case "offline": + return UM.Theme.getColor("status_offline"); + default: + return UM.Theme.getColor("text_reversed"); + } + } + property string overlayIconSource: + { + if(!printerConnected) + { + return ""; + } + else if(!printerAcceptsCommands) + { + return UM.Theme.getIcon("tab_status_unknown"); + } + + if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") + { + return UM.Theme.getIcon("tab_status_busy"); + } + + switch(Cura.MachineManager.printerOutputDevices[0].jobState) + { + case "printing": + case "pre_print": + case "wait_cleanup": + case "pausing": + case "resuming": + return UM.Theme.getIcon("tab_status_busy"); + case "ready": + case "": + return UM.Theme.getIcon("tab_status_connected") + case "paused": + return UM.Theme.getIcon("tab_status_paused") + case "error": + return UM.Theme.getIcon("tab_status_stopped") + case "offline": + return UM.Theme.getIcon("tab_status_offline") + default: + return "" + } + } + + checkable: true + checked: monitoringPrint + exclusiveGroup: sidebarHeaderBarGroup + + style: UM.Theme.styles.topbar_header_tab + } + + ExclusiveGroup { id: sidebarHeaderBarGroup } + } + + ToolButton + { + id: machineSelection + text: Cura.MachineManager.activeMachineName + + width: UM.Theme.getSize("sidebar").width; + height: UM.Theme.getSize("sidebar_header").height + tooltip: Cura.MachineManager.activeMachineName + + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + style: ButtonStyle + { + background: Rectangle + { + color: + { + if(control.pressed) + { + return UM.Theme.getColor("sidebar_header_active"); + } else if(control.hovered) + { + return UM.Theme.getColor("sidebar_header_hover"); + } else + { + return UM.Theme.getColor("sidebar_header_bar"); + } + } + Behavior on color { ColorAnimation { duration: 50; } } + + Rectangle + { + id: underline; + + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + height: UM.Theme.getSize("sidebar_header_highlight").height + color: UM.Theme.getColor("sidebar_header_highlight_hover") + visible: control.hovered || control.pressed + } + + UM.RecolorImage + { + id: downArrow + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + width: UM.Theme.getSize("standard_arrow").width + height: UM.Theme.getSize("standard_arrow").height + sourceSize.width: width + sourceSize.height: width + color: UM.Theme.getColor("text_reversed") + source: UM.Theme.getIcon("arrow_bottom") + } + Label + { + id: sidebarComboBoxLabel + color: UM.Theme.getColor("text_reversed") + text: control.text; + elide: Text.ElideRight; + anchors.left: parent.left; + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: downArrow.left; + anchors.rightMargin: control.rightMargin; + anchors.verticalCenter: parent.verticalCenter; + font: UM.Theme.getFont("large") + } + } + label: Label {} + } + + menu: PrinterMenu { } + } +} \ No newline at end of file diff --git a/resources/themes/cura/styles.qml b/resources/themes/cura/styles.qml index c4c441da43..d161d33d56 100755 --- a/resources/themes/cura/styles.qml +++ b/resources/themes/cura/styles.qml @@ -138,11 +138,11 @@ QtObject { } } - property Component sidebar_header_tab: Component { + property Component topbar_header_tab: Component { ButtonStyle { background: Item { - implicitWidth: Theme.getSize("button").width; - implicitHeight: Theme.getSize("button").height; + implicitWidth: Theme.getSize("topbar_button").width; + implicitHeight: Theme.getSize("topbar_button").height; Rectangle { id: buttonFace; @@ -174,27 +174,48 @@ QtObject { } } - label: Item { - UM.RecolorImage { - color: UM.Theme.getColor("text_reversed") - anchors.centerIn: parent - opacity: !control.enabled ? 0.2 : 1.0 - source: control.iconSource - width: Theme.getSize("button_icon").width - height: Theme.getSize("button_icon").height + label: Item + { - sourceSize: Theme.getSize("button_icon") - } - UM.RecolorImage { - visible: control.overlayIconSource != "" - color: control.overlayColor - anchors.centerIn: parent - opacity: !control.enabled ? 0.2 : 1.0 - source: control.overlayIconSource - width: Theme.getSize("button_icon").width + implicitHeight: Theme.getSize("button_icon").height + implicitWidth: Theme.getSize("topbar_button").width; + Item + { + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter; + width: childrenRect.width height: Theme.getSize("button_icon").height + UM.RecolorImage + { + id: icon + color: UM.Theme.getColor("text_reversed") + opacity: !control.enabled ? 0.2 : 1.0 + source: control.iconSource + width: Theme.getSize("button_icon").width + height: Theme.getSize("button_icon").height - sourceSize: Theme.getSize("button_icon") + sourceSize: Theme.getSize("button_icon") + } + UM.RecolorImage + { + visible: control.overlayIconSource != "" + color: control.overlayColor + opacity: !control.enabled ? 0.2 : 1.0 + source: control.overlayIconSource + width: Theme.getSize("button_icon").width + height: Theme.getSize("button_icon").height + + sourceSize: Theme.getSize("button_icon") + } + Label + { + text: control.text; + anchors.left: icon.right + anchors.leftMargin: Theme.getSize("default_margin").width + anchors.verticalCenter: parent.verticalCenter; + font: UM.Theme.getFont("large"); + color: UM.Theme.getColor("text_reversed") + } } } } diff --git a/resources/themes/cura/theme.json b/resources/themes/cura/theme.json index a36f271fe8..60b542dbf4 100644 --- a/resources/themes/cura/theme.json +++ b/resources/themes/cura/theme.json @@ -291,6 +291,8 @@ "button_icon": [2.5, 2.5], "button_lining": [0, 0], + "topbar_button": [17, 4], + "button_tooltip": [1.0, 1.3], "button_tooltip_arrow": [0.25, 0.25], From 5fec3d4f6da8d52706742eb2cc93d19e0b66fd27 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 22 Jun 2017 16:52:11 +0200 Subject: [PATCH 43/94] Replace mock borders with true borders --- plugins/LayerView/LayerView.qml | 19 +++++++------------ resources/qml/Toolbar.qml | 17 ++++------------- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/plugins/LayerView/LayerView.qml b/plugins/LayerView/LayerView.qml index 46268a784d..d8b37df719 100755 --- a/plugins/LayerView/LayerView.qml +++ b/plugins/LayerView/LayerView.qml @@ -39,6 +39,8 @@ Item height: parent.height z: slider.z - 1 color: UM.Theme.getColor("tool_panel_background") + borderWidth: UM.Theme.getSize("default_lining").width + borderColor: UM.Theme.getColor("lining") target: parent.buttonTarget arrowSize: UM.Theme.getSize("default_arrow").width @@ -530,26 +532,19 @@ Item target: Qt.point(0, slider.activeHandle.y + slider.activeHandle.height / 2) arrowSize: UM.Theme.getSize("default_arrow").width - height: (Math.floor(UM.Theme.getSize("slider_handle").height + UM.Theme.getSize("default_margin").height) / 2) * 2 // Make sure height has an integer middle so drawing a pointy border is easier + height: UM.Theme.getSize("slider_handle").height + UM.Theme.getSize("default_margin").height width: valueLabel.width + UM.Theme.getSize("default_margin").width Behavior on height { NumberAnimation { duration: 50; } } - color: UM.Theme.getColor("lining"); + color: UM.Theme.getColor("tool_panel_background") + borderColor: UM.Theme.getColor("lining") + borderWidth: UM.Theme.getSize("default_lining").width visible: slider.layersVisible - UM.PointingRectangle + MouseArea //Catch all mouse events (so scene doesnt handle them) { - color: UM.Theme.getColor("tool_panel_background") - target: Qt.point(0, height / 2 + UM.Theme.getSize("default_lining").width) - arrowSize: UM.Theme.getSize("default_arrow").width anchors.fill: parent - anchors.margins: UM.Theme.getSize("default_lining").width - - MouseArea //Catch all mouse events (so scene doesnt handle them) - { - anchors.fill: parent - } } TextField diff --git a/resources/qml/Toolbar.qml b/resources/qml/Toolbar.qml index 5100a0dacb..1044bfbfcf 100644 --- a/resources/qml/Toolbar.qml +++ b/resources/qml/Toolbar.qml @@ -106,22 +106,13 @@ Item opacity: panel.item && panel.width > 0 ? 1 : 0 Behavior on opacity { NumberAnimation { duration: 100 } } - color: UM.Theme.getColor("lining"); + color: UM.Theme.getColor("tool_panel_background") + borderColor: UM.Theme.getColor("lining") + borderWidth: UM.Theme.getSize("default_lining").width - UM.PointingRectangle + MouseArea //Catch all mouse events (so scene doesnt handle them) { - id: panelBackground; - - color: UM.Theme.getColor("tool_panel_background"); anchors.fill: parent - anchors.margins: UM.Theme.getSize("default_lining").width - - target: Qt.point(-UM.Theme.getSize("default_margin").width, UM.Theme.getSize("button").height/2) - arrowSize: parent.arrowSize - MouseArea //Catch all mouse events (so scene doesnt handle them) - { - anchors.fill: parent - } } Loader From 680cceb6f50aa432b795f241cb520ddf60e6f41c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Jul 2017 16:12:19 +0200 Subject: [PATCH 44/94] Switching to monitor tab now shows the correct sidebar again CURA-3964 --- resources/qml/Cura.qml | 11 ++++++++++- resources/qml/Sidebar.qml | 11 ----------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 779bb7d001..9a630da2fa 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -19,6 +19,16 @@ UM.MainWindow title: catalog.i18nc("@title:window","Cura"); viewportRect: Qt.rect(0, 0, (base.width - sidebar.width) / base.width, 1.0) property bool monitoringPrint: false + + Connections + { + target: Printer + onShowPrintMonitor: + { + monitoringPrint = show; + } + } + Component.onCompleted: { CuraApplication.setMinimumWindowSize(UM.Theme.getSize("window_minimum_size")) @@ -391,7 +401,6 @@ UM.MainWindow right: parent.right; } z: 1 - onMonitoringPrintChanged: base.monitoringPrint = monitoringPrint width: UM.Theme.getSize("sidebar").width; } diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index e446fba653..64127d2163 100755 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -15,18 +15,7 @@ Rectangle id: base; property int currentModeIndex; - property bool monitoringPrint: false; // When adding more "tabs", one want to replace this bool with a ListModel property bool hideSettings: PrintInformation.preSliced - Connections - { - target: Printer - onShowPrintMonitor: - { - base.monitoringPrint = show; - showSettings.checked = !show; - showMonitor.checked = show; - } - } // Is there an output device for this printer? property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0 From 68cae135a9c4f5e1efdbfb7b6d0c0f3681549f2f Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 3 Jul 2017 16:19:08 +0200 Subject: [PATCH 45/94] Make outer wall line width to evaluate its value accroding to its extruder CURA-3891 This commit fixes the problem that limit to extruder for outer wall doesn't work. --- 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 0760533f33..992424db46 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -677,7 +677,7 @@ "minimum_value_warning": "(0.1 + 0.4 * machine_nozzle_size) if outer_inset_first else 0.1 * machine_nozzle_size", "maximum_value_warning": "2 * machine_nozzle_size", "default_value": 0.4, - "value": "wall_line_width", + "value": "extruderValue(wall_0_extruder_nr, 'wall_line_width')", "type": "float", "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true From 5895f277927dd26d781289631722e1d8e47f1845 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Jul 2017 17:10:59 +0200 Subject: [PATCH 46/94] Revert "Also invert nozzle offset when offsetting machine-specified disallowed areas" This reverts commit 319559740dd8c8c2f9ffad637bee43cef9345073. This was already fixed (line 734 inveted it). This code breaks it when there is no extruder --- cura/BuildVolume.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index de36b80123..53e1471f7b 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2016 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. from cura.Settings.ExtruderManager import ExtruderManager @@ -727,7 +727,7 @@ class BuildVolume(SceneNode): offset_x = extruder.getProperty("machine_nozzle_offset_x", "value") if offset_x is None: offset_x = 0 - offset_y = -extruder.getProperty("machine_nozzle_offset_y", "value") + offset_y = extruder.getProperty("machine_nozzle_offset_y", "value") if offset_y is None: offset_y = 0 else: From 1b6152b79333fe6df702c89e3b67689b294a29e9 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 4 Jul 2017 09:43:18 +0200 Subject: [PATCH 47/94] Send print times & extruders as string CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index bce98dd681..cab329b6f6 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -121,7 +121,7 @@ class SliceInfo(Extension): "z": bounding_box.maximum.z}} model["transformation"] = {"data": str(node.getWorldTransformation().getData()).replace("\n", "")} extruder_position = node.callDecoration("getActiveExtruderPosition") - model["extruder"] = 0 if extruder_position is None else extruder_position + model["extruder"] = 0 if extruder_position is None else int(extruder_position) model_settings = dict() model_stack = node.callDecoration("getStack") @@ -148,10 +148,10 @@ class SliceInfo(Extension): data["models"].append(model) print_times = print_information.printTimesPerFeature - data["print_times"] = {"travel": print_times["travel"].getDisplayString(DurationFormat.Format.Seconds), - "support": print_times["support"].getDisplayString(DurationFormat.Format.Seconds), - "infill": print_times["infill"].getDisplayString(DurationFormat.Format.Seconds), - "total": print_information.currentPrintTime.getDisplayString(DurationFormat.Format.Seconds)} + data["print_times"] = {"travel": int(print_times["travel"].getDisplayString(DurationFormat.Format.Seconds)), + "support": int(print_times["support"].getDisplayString(DurationFormat.Format.Seconds)), + "infill": int(print_times["infill"].getDisplayString(DurationFormat.Format.Seconds)), + "total": int(print_information.currentPrintTime.getDisplayString(DurationFormat.Format.Seconds))} print_settings = dict() print_settings["layer_height"] = global_container_stack.getProperty("layer_height", "value") From 3ee72a53933654e33a96455a9d3c43f461539d4c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 4 Jul 2017 10:19:11 +0200 Subject: [PATCH 48/94] Fixed sending wrong setting for bed adhesion CURA-3858 --- plugins/SliceInfoPlugin/SliceInfo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index cab329b6f6..83f17dcb27 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -161,7 +161,7 @@ class SliceInfo(Extension): print_settings["support_extruder_nr"] = int(global_container_stack.getProperty("support_extruder_nr", "value")) # Platform adhesion settings - print_settings["platform_adhesion"] = global_container_stack.getProperty("platform_adhesion", "value") + print_settings["adhesion_type"] = global_container_stack.getProperty("adhesion_type", "value") # Shell settings print_settings["wall_line_count"] = global_container_stack.getProperty("wall_line_count", "value") From ff4935011d5cc129ada83efe5312e5d2b04ab243 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Tue, 4 Jul 2017 10:36:45 +0100 Subject: [PATCH 49/94] Tweak description. --- 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 b7bc38764f..0155810acf 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1169,7 +1169,7 @@ "z_seam_relative": { "label": "Z Seam Relative", - "description": "When enabled, the z seam coordinates are relative to each part's centre. By default, the coordinates define an absolute position on the platform.", + "description": "When enabled, the z seam coordinates are relative to each part's centre. When disabled, the coordinates define an absolute position on the build plate.", "unit": "mm", "type": "bool", "default_value": false, From ec25164731084586878975f6eb3c0ec480f8a3d2 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Tue, 4 Jul 2017 11:37:04 +0200 Subject: [PATCH 50/94] Cleanup monitoringPrint stuff by properly passing things as properties Instead of relying on the property magically being propagated from the root object, which causes crashes. Contributes to CURA-3964 --- resources/qml/Cura.qml | 10 +++++++--- resources/qml/Sidebar.qml | 2 ++ resources/qml/Topbar.qml | 13 ++++++++----- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 9a630da2fa..4f1e0f34a3 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -18,14 +18,14 @@ UM.MainWindow //: Cura application window title title: catalog.i18nc("@title:window","Cura"); viewportRect: Qt.rect(0, 0, (base.width - sidebar.width) / base.width, 1.0) - property bool monitoringPrint: false + property bool showPrintMonitor: false Connections { target: Printer onShowPrintMonitor: { - monitoringPrint = show; + base.showPrintMonitor = show; } } @@ -388,6 +388,9 @@ UM.MainWindow anchors.left:parent.left anchors.right: parent.right anchors.top: parent.top + monitoringPrint: base.showPrintMonitor + onStartMonitoringPrint: base.showPrintMonitor = true + onStopMonitoringPrint: base.showPrintMonitor = false } Sidebar @@ -402,6 +405,7 @@ UM.MainWindow } z: 1 width: UM.Theme.getSize("sidebar").width; + monitoringPrint: base.showPrintMonitor } Button @@ -451,7 +455,7 @@ UM.MainWindow Loader { sourceComponent: Cura.MachineManager.printerOutputDevices.length > 0 ? Cura.MachineManager.printerOutputDevices[0].monitorItem: null - visible: base.monitoringPrint + visible: base.showPrintMonitor anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenterOffset: - UM.Theme.getSize("sidebar").width / 2 diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index 64127d2163..a1781fe1c5 100755 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -22,6 +22,8 @@ Rectangle property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands property int backendState: UM.Backend.state; + property bool monitoringPrint: false + color: UM.Theme.getColor("sidebar") UM.I18nCatalog { id: catalog; name:"cura"} diff --git a/resources/qml/Topbar.qml b/resources/qml/Topbar.qml index 3c305b522a..1d51c8eccc 100644 --- a/resources/qml/Topbar.qml +++ b/resources/qml/Topbar.qml @@ -20,6 +20,9 @@ Rectangle property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0 property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands + property bool monitoringPrint: false + signal startMonitoringPrint() + signal stopMonitoringPrint() Row { @@ -32,13 +35,13 @@ Rectangle { id: showSettings height: UM.Theme.getSize("sidebar_header").height - onClicked: monitoringPrint = false + onClicked: base.stopMonitoringPrint() iconSource: UM.Theme.getIcon("tab_settings"); property color overlayColor: "transparent" property string overlayIconSource: "" text: "Prepare" checkable: true - checked: !monitoringPrint + checked: !base.monitoringPrint exclusiveGroup: sidebarHeaderBarGroup style: UM.Theme.styles.topbar_header_tab @@ -48,7 +51,7 @@ Rectangle { id: showMonitor height: UM.Theme.getSize("sidebar_header").height - onClicked: monitoringPrint = true + onClicked: base.startMonitoringPrint() text: "Print" iconSource: printerConnected ? UM.Theme.getIcon("tab_monitor_with_status") : UM.Theme.getIcon("tab_monitor") property color overlayColor: @@ -122,7 +125,7 @@ Rectangle } checkable: true - checked: monitoringPrint + checked: base.monitoringPrint exclusiveGroup: sidebarHeaderBarGroup style: UM.Theme.styles.topbar_header_tab @@ -205,4 +208,4 @@ Rectangle menu: PrinterMenu { } } -} \ No newline at end of file +} From 5fa2ba60520911c254035d1a7420cfeb126baf66 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 4 Jul 2017 11:55:24 +0200 Subject: [PATCH 51/94] Undo for material diameter also changes the property. It used to only set the metadata. CURA-2822 --- cura/Settings/MaterialManager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cura/Settings/MaterialManager.py b/cura/Settings/MaterialManager.py index 8bb7b525f8..5640d7af38 100644 --- a/cura/Settings/MaterialManager.py +++ b/cura/Settings/MaterialManager.py @@ -51,6 +51,7 @@ class MaterialManager(QObject): container_manager.setContainerMetaDataEntry(self._material_diameter_warning_message.material_id, "properties/diameter", self._material_diameter_warning_message.previous_diameter) approximate_previous_diameter = str(round(float(self._material_diameter_warning_message.previous_diameter))) container_manager.setContainerMetaDataEntry(self._material_diameter_warning_message.material_id, "approximate_diameter", approximate_previous_diameter) + container_manager.setContainerProperty(self._material_diameter_warning_message.material_id, "material_diameter", "value", self._material_diameter_warning_message.previous_diameter); message.hide() else: Logger.log("w", "Unknown button action for material diameter warning message: {action}".format(action = button)) \ No newline at end of file From 1627a655132d566ff189b50a1e806f2e3567ba89 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 4 Jul 2017 11:58:04 +0200 Subject: [PATCH 52/94] Viewport overlay now shows correctly when switching between monitor & settings CURA-3964 --- resources/qml/Cura.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 4f1e0f34a3..b1e5c8f2f2 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -440,7 +440,7 @@ UM.MainWindow right: sidebar.left } visible: opacity > 0 - opacity: base.monitoringPrint ? 0.75 : 0 + opacity: base.showPrintMonitor ? 0.75 : 0 Behavior on opacity { NumberAnimation { duration: 100; } } From 88ee878423b2d47c0bf7a3df798fa04eab609ec6 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Jul 2017 12:33:19 +0200 Subject: [PATCH 53/94] Simplify inheritance formula for prime tower wall thickness Firstly, all the resolveOrValue calls are identity functions now so they can be phased out. Secondly, all the max(extruderValues(...)) should be done by the resolve property rather than the value property. The resolve property already makes sure that the prime tower is evenly thick for every extruder, so it doesn't need to ensure this in the value function as well. Contributes to issue CURA-3521. --- 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 992424db46..563ac957e4 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4371,7 +4371,7 @@ "unit": "mm", "type": "float", "default_value": 2, - "value": "round(max(2 * max(extruderValues('prime_tower_line_width')), 0.5 * (resolveOrValue('prime_tower_size') - math.sqrt(max(0, resolveOrValue('prime_tower_size') ** 2 - max(extruderValues('prime_tower_min_volume')) / resolveOrValue('layer_height'))))), 3)", + "value": "round(max(2 * prime_tower_line_width, 0.5 * (prime_tower_size - math.sqrt(max(0, prime_tower_size ** 2 - prime_tower_min_volume / layer_height)))), 3)", "resolve": "max(extruderValues('prime_tower_wall_thickness'))", "minimum_value": "0.001", "minimum_value_warning": "2 * min(extruderValues('prime_tower_line_width')) - 0.0001", From d3fc47fb42570cc23275bd75033c85ea5004a57d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Jul 2017 12:36:18 +0200 Subject: [PATCH 54/94] Remove nonsensical warning values for prime tower position I discovered this during work on CURA-3521. --- resources/definitions/fdmprinter.def.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 563ac957e4..131ce22a8c 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4390,8 +4390,6 @@ "unit": "mm", "enabled": "resolveOrValue('prime_tower_enable')", "default_value": 200, - "minimum_value_warning": "-1000", - "maximum_value_warning": "1000", "maximum_value": "machine_width / 2 if machine_center_is_zero else machine_width", "minimum_value": "resolveOrValue('prime_tower_size') - machine_width / 2 if machine_center_is_zero else resolveOrValue('prime_tower_size')", "settable_per_mesh": false, @@ -4405,8 +4403,6 @@ "unit": "mm", "enabled": "resolveOrValue('prime_tower_enable')", "default_value": 200, - "minimum_value_warning": "-1000", - "maximum_value_warning": "1000", "maximum_value": "machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')", "minimum_value": "machine_depth / -2 if machine_center_is_zero else 0", "settable_per_mesh": false, From d0ef97b02c41baf0970dcaba2181a554f5c3a531 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 4 Jul 2017 13:06:11 +0200 Subject: [PATCH 55/94] Remove invalid anchoring for SidebarHeader CURA-3964 sidebarHeaderBar has been removed and the anchor line is not needed. --- resources/qml/Sidebar.qml | 2 -- 1 file changed, 2 deletions(-) diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index a1781fe1c5..b57b56c292 100755 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -83,8 +83,6 @@ Rectangle id: header width: parent.width - anchors.top: sidebarHeaderBar.bottom - onShowTooltip: base.showTooltip(item, location, text) onHideTooltip: base.hideTooltip() } From 19495de7e82de32bccf5b79cad06a94d3d7b7d74 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 4 Jul 2017 13:24:12 +0200 Subject: [PATCH 56/94] Fix machine_nozzle_offset_y value CURA-3964 This is such an obvious bug... --- cura/BuildVolume.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index de36b80123..046fb505cc 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -727,7 +727,7 @@ class BuildVolume(SceneNode): offset_x = extruder.getProperty("machine_nozzle_offset_x", "value") if offset_x is None: offset_x = 0 - offset_y = -extruder.getProperty("machine_nozzle_offset_y", "value") + offset_y = extruder.getProperty("machine_nozzle_offset_y", "value") if offset_y is None: offset_y = 0 else: From b66f9a0da41bc4b755428aea910afbdcb36cee8c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Jul 2017 13:50:19 +0200 Subject: [PATCH 57/94] Invert enabled condition on spaghetti_infill_stepped These two settings are only relevant if the spaghetti infill is stepped, not when it's not stepped. Contributes to issue CURA-3861. --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 329daa5fa6..0456eb95b1 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4931,7 +4931,7 @@ "minimum_value": "0", "maximum_value": "90", "maximum_value_warning": "45", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled and not spaghetti_infill_stepped", + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled and spaghetti_infill_stepped", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -4944,7 +4944,7 @@ "default_value": 2.0, "minimum_value": "layer_height", "maximum_value_warning": "10.0", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled and not spaghetti_infill_stepped", + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled and spaghetti_infill_stepped", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, From 194d7bb3b81b99a4241b10abf43da9fa39a62ccc Mon Sep 17 00:00:00 2001 From: maukcc Date: Tue, 4 Jul 2017 14:58:01 +0200 Subject: [PATCH 58/94] Cartesio profiles update Cartesio disalowed areas Cartesio extruder offsets Cartesio high quality profiles --- resources/definitions/cartesio.def.json | 6 +++++- resources/extruders/cartesio_extruder_2.def.json | 2 +- resources/extruders/cartesio_extruder_3.def.json | 4 ++-- .../quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg | 2 +- .../quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg | 2 +- .../quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg | 2 +- .../cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg | 2 +- .../quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg | 2 +- .../quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg | 2 +- .../quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg | 2 +- .../cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg | 2 +- .../quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg | 2 +- .../quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg | 2 +- .../quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg | 2 +- resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg | 2 +- resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg | 2 +- .../quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg | 2 +- .../quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg | 2 +- .../quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg | 2 +- .../quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg | 2 +- .../quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg | 2 +- .../quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg | 2 +- .../quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg | 2 +- .../quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg | 2 +- .../quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg | 2 +- 25 files changed, 30 insertions(+), 26 deletions(-) diff --git a/resources/definitions/cartesio.def.json b/resources/definitions/cartesio.def.json index 52d32630ff..d065d6a7c6 100644 --- a/resources/definitions/cartesio.def.json +++ b/resources/definitions/cartesio.def.json @@ -50,11 +50,15 @@ "prime_tower_wall_thickness": { "resolve": 0.7 }, "prime_tower_position_x": { "default_value": 50 }, "prime_tower_position_y": { "default_value": 150 }, + "machine_max_feedrate_z": { "default_value": 20 }, + "machine_disallowed_areas": { "default_value": [ + [[215, 135], [-215, 135], [-215, 75], [215, 75]] + ]}, "machine_start_gcode": { "default_value": "\nM92 E159 ;2288 for V5 extruder\n\nM104 S120 T1\nM104 S120 T2\nM104 S120 T3\n\nG21\nG90\nM42 S255 P13 ;chamber lights\nM42 S255 P12 ;fume extraction\nM204 S300 ;default acceleration\nM205 X10 ;default jerk\n\nM117 Homing Y ......\nG28 Y\nM117 Homing X ......\nG28 X\nM117 Homing Z ......\nG28 Z F100\nG1 Z10 F600\nG1 X70 Y20 F9000;go to wipe point\n\nM190 S{material_bed_temperature_layer_0}\n\nM117 Heating for 50 sec.\nG4 S20\nM117 Heating for 30 sec.\nG4 S20\nM117 Heating for 10 sec.\nM300 S1200 P1000\nG4 S9\n\nM117 purging nozzle....\nT0\nG92 E0;set E\nG1 E10 F100\nG92 E0\nG1 E-1 F600\n\nM117 wiping nozzle....\nG1 X1 Y24 F3000\nG1 X70 F9000\nG1 Z10 F900\n\nM104 S21 T1\nM104 S21 T2\nM104 S21 T3\n\nM117 Printing .....\n" }, "machine_end_gcode": { - "default_value": "; -- END GCODE --\nM106 S255\nM140 S5\nM104 S5 T0\nM104 S5 T1\nM104 S5 T2\nM104 S5 T3\n\nG91\nG1 Z1 F900\nG90\n\nG1 X20.0 Y260.0 F6000\nG4 S7\nM84\nG4 S90\nM107\nM42 P12 S0\nM42 P13 S0\nM84\nT0\n; -- end of GCODE --" + "default_value": "; -- END GCODE --\nM117 cooling down....\nM106 S255\nM140 S5\nM104 S5 T0\nM104 S5 T1\nM104 S5 T2\nM104 S5 T3\n\nG91\nG1 Z1 F900\nG90\n\nG1 X20.0 Y260.0 F6000\nG4 S7\nM84\nG4 S90\nM107\nM42 P12 S0\nM42 P13 S0\nM84\nT0\nM117 Finished.\n; -- end of GCODE --" }, "layer_height": { "maximum_value": "(0.8 * min(extruderValues('machine_nozzle_size')))" }, "layer_height_0": { "maximum_value": "(0.8 * min(extruderValues('machine_nozzle_size')))" }, diff --git a/resources/extruders/cartesio_extruder_2.def.json b/resources/extruders/cartesio_extruder_2.def.json index ce07502943..c4ad94f635 100644 --- a/resources/extruders/cartesio_extruder_2.def.json +++ b/resources/extruders/cartesio_extruder_2.def.json @@ -14,7 +14,7 @@ "maximum_value": "3" }, "machine_nozzle_offset_x": { "default_value": 0.0 }, - "machine_nozzle_offset_y": { "default_value": 60.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, "machine_extruder_start_code": { "default_value": "\n;start extruder_2\n\nM117 printing\n" }, diff --git a/resources/extruders/cartesio_extruder_3.def.json b/resources/extruders/cartesio_extruder_3.def.json index dea3467daa..589942fc6d 100644 --- a/resources/extruders/cartesio_extruder_3.def.json +++ b/resources/extruders/cartesio_extruder_3.def.json @@ -13,8 +13,8 @@ "default_value": 3, "maximum_value": "3" }, - "machine_nozzle_offset_x": { "default_value": 24.0 }, - "machine_nozzle_offset_y": { "default_value": 60.0 }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, "machine_extruder_start_code": { "default_value": "\n;start extruder_3\n\nM117 printing\n" }, diff --git a/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg index 1c5a222dad..374856930f 100644 --- a/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg index 0a47ae7697..100ccbd3af 100644 --- a/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg index 4025bc2cb2..340628f3d2 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg index cf7774445b..3f22cb241f 100644 --- a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg +++ b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 25 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg index 184b097ee8..a9ef5cd73c 100644 --- a/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg index ee21935f5b..bfcfd35709 100644 --- a/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg index 90020ffa3e..341e973772 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg index babe2ef7e9..560a9dd2aa 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg index 6a99be39f8..0e63fd2475 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg index 8ac54aaca2..e87db87ff2 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg index 47db068af9..1c5f445056 100644 --- a/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg index 345ecea394..fc7c7dd28e 100644 --- a/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg index d942415e64..334d70b84f 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg index 037456bc72..ffe5a44a90 100644 --- a/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg index 4a4d8cf69f..c16885bbd4 100644 --- a/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg index 291cf071d7..30983af053 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg index c7d0432443..ce8503fe31 100644 --- a/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg index 816d0f0304..ad2faf285c 100644 --- a/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg index da9515d387..a847ed83a7 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg index ddd097875b..ac0b958e04 100644 --- a/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg index 0c6f6813ea..f8e44e4531 100644 --- a/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg index cfdfdbc708..dfabaa65d6 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg @@ -35,7 +35,7 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel From 289c9ed8ee2b57a3e762b292fce416196e51a6e3 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Jul 2017 11:00:00 +0200 Subject: [PATCH 59/94] Network printing now sees empty state as idle --- plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index 2a9dedc20c..b309691e81 100755 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -625,7 +625,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): # is ignored. # \param kwargs Keyword arguments. def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None, **kwargs): - if self._printer_state != "idle": + if self._printer_state not in ["idle", ""]: self._error_message = Message( i18n_catalog.i18nc("@info:status", "Unable to start a new print job, printer is busy. Current printer status is %s.") % self._printer_state) self._error_message.show() From ef51897b716ecb42aedef12932f9df2e965f3f5e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Jul 2017 14:48:02 +0200 Subject: [PATCH 60/94] Fixed removable drive error spam on Windows --- .../WindowsRemovableDrivePlugin.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py b/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py index 42f3935f65..1c15990bf1 100644 --- a/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py +++ b/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py @@ -1,19 +1,18 @@ # Copyright (c) 2015 Ultimaker B.V. # Copyright (c) 2013 David Braam # Uranium is released under the terms of the AGPLv3 or higher. - -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - from . import RemovableDrivePlugin import string -import ctypes # type: ignore -from ctypes import wintypes # Using ctypes.wintypes in the code below does not seem to work +import ctypes +from ctypes import wintypes # Using ctypes.wintypes in the code below does not seem to work from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") +# Ignore windows error popups. Fixes the whole "Can't open drive X" when user has an SD card reader. +ctypes.windll.kernel32.SetErrorMode(1) + # WinAPI Constants that we need # Hardcoded here due to stupid WinDLL stuff that does not give us access to these values. DRIVE_REMOVABLE = 2 # [CodeStyle: Windows Enum value] From f81be9e627a6aba56fc75cb8f469f1bc172276ba Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Wed, 5 Jul 2017 14:36:21 +0100 Subject: [PATCH 61/94] Added RepRap (RepRap) gcode flavor. --- resources/definitions/fdmprinter.def.json | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 5af9e4aec4..295add3c42 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -304,6 +304,7 @@ "options": { "RepRap (Marlin/Sprinter)": "RepRap (Marlin/Sprinter)", + "RepRap (RepRap)": "RepRap (RepRap)", "RepRap (Volumatric)": "RepRap (Volumetric)", "UltiGCode": "Ultimaker 2", "Griffin": "Griffin", From 9dd352750488cd700704511c90bc1f36b24be0cd Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Jul 2017 16:03:57 +0200 Subject: [PATCH 62/94] Blur setting text fields when clicking buttons Otherwise the setting is not applied yet by the time you duplicate or export a profile. Contributes to issue CURA-4011. --- resources/qml/Preferences/MaterialsPage.qml | 25 ++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/resources/qml/Preferences/MaterialsPage.qml b/resources/qml/Preferences/MaterialsPage.qml index e5051dd5d3..b4ee4d5c49 100644 --- a/resources/qml/Preferences/MaterialsPage.qml +++ b/resources/qml/Preferences/MaterialsPage.qml @@ -1,5 +1,5 @@ -// Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +//Copyright (c) 2017 Ultimaker B.V. +//Cura is released under the terms of the AGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -139,6 +139,7 @@ UM.ManagementPage enabled: base.currentItem != null && base.currentItem.id != Cura.MachineManager.activeMaterialId && Cura.MachineManager.hasMaterials onClicked: { + forceActiveFocus(); Cura.MachineManager.setActiveMaterial(base.currentItem.id) currentItem = base.model.getItem(base.objectList.currentIndex) // Refresh the current item. } @@ -149,6 +150,7 @@ UM.ManagementPage iconName: "list-add" onClicked: { + forceActiveFocus(); var material_id = Cura.ContainerManager.createMaterial() if(material_id == "") { @@ -168,6 +170,7 @@ UM.ManagementPage enabled: base.currentItem != null onClicked: { + forceActiveFocus(); var base_file = Cura.ContainerManager.getContainerMetaDataEntry(base.currentItem.id, "base_file") // We need to copy the base container instead of the specific variant. var material_id = base_file == "" ? Cura.ContainerManager.duplicateMaterial(base.currentItem.id): Cura.ContainerManager.duplicateMaterial(base_file) @@ -187,20 +190,32 @@ UM.ManagementPage text: catalog.i18nc("@action:button", "Remove"); iconName: "list-remove"; enabled: base.currentItem != null && !base.currentItem.readOnly && !Cura.ContainerManager.isContainerUsed(base.currentItem.id) - onClicked: confirmDialog.open() + onClicked: + { + forceActiveFocus(); + confirmDialog.open(); + } }, Button { text: catalog.i18nc("@action:button", "Import"); iconName: "document-import"; - onClicked: importDialog.open(); + onClicked: + { + forceActiveFocus(); + importDialog.open(); + } visible: true; }, Button { text: catalog.i18nc("@action:button", "Export") iconName: "document-export" - onClicked: exportDialog.open() + onClicked: + { + forceActiveFocus(); + exportDialog.open(); + } enabled: currentItem != null } ] From 271d4a30f06964f0bd85e6a46f712f95e7ed2400 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Jul 2017 16:22:24 +0200 Subject: [PATCH 63/94] Set Support Z Distance equal to what it's at for UM3 The old value was giving a warning and the new value was better tested for UM3. We knew that this was sorta wrong. Suggested by the materials team. --- resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg | 3 +-- resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg index ed526b705c..36a8c479a7 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg @@ -31,7 +31,7 @@ infill_sparse_density = 10 cool_fan_speed = 60 speed_travel = 150 speed_support = 40 -support_z_distance = 0.45 +support_z_distance = =layer_height * 2 cool_fan_speed_min = =cool_fan_speed * 35 / 60 brim_line_count = 8 retraction_hop_enabled = 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg index 76f09c0db9..00e4b59181 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg @@ -13,7 +13,7 @@ setting_version = 1 [values] support_xy_distance = 0.65 speed_travel = 150 -support_z_distance = 0.45 +support_z_distance = =layer_height * 2 speed_wall_x = 35 cool_min_speed = 15 cool_fan_speed = 60 @@ -37,4 +37,3 @@ speed_print = 40 support_angle = 45 cool_min_layer_time = 10 raft_base_line_width = 0.8 - diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg index 22fda17c62..ed15c13f94 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg @@ -33,7 +33,7 @@ support_angle = 45 infill_sparse_density = 10 cool_fan_speed = 60 speed_support = 40 -support_z_distance = 0.45 +support_z_distance = =layer_height * 2 cool_fan_speed_min = =cool_fan_speed * 35 / 60 brim_line_count = 8 retraction_hop_enabled = 0.2 From 8955249ea97d3ed1fd1ed4249db8bf13bc856800 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Thu, 6 Jul 2017 08:24:23 +0100 Subject: [PATCH 64/94] Change gcode flavor labels to make it obvious which firmwares they are targetting. Rename "RepRap (Marlin/Sprinter)" to "Marlin". Rename "RepRap (Volumetric)" to "Marlin (Volumetric)". Rename "RepRap (RepRap)" to "RepRap". --- resources/definitions/fdmprinter.def.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 295add3c42..370b171ebd 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -303,9 +303,9 @@ "type": "enum", "options": { - "RepRap (Marlin/Sprinter)": "RepRap (Marlin/Sprinter)", - "RepRap (RepRap)": "RepRap (RepRap)", - "RepRap (Volumatric)": "RepRap (Volumetric)", + "RepRap (Marlin/Sprinter)": "Marlin", + "RepRap (Volumatric)": "Marlin (Volumetric)", + "RepRap (RepRap)": "RepRap", "UltiGCode": "Ultimaker 2", "Griffin": "Griffin", "Makerbot": "Makerbot", From bb68f488dbf9af533b59b11ae3908e5c9b137e3a Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 6 Jul 2017 09:41:28 +0200 Subject: [PATCH 65/94] Make material finding more robust The .findContainer technique is obsolete since we now just have a field for this. Hopefully contributes to issue #2053. --- plugins/CuraEngineBackend/ProcessSlicedLayersJob.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py index ecaebb816d..58c75fff3f 100644 --- a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py +++ b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py @@ -173,19 +173,16 @@ class ProcessSlicedLayersJob(Job): if extruders: material_color_map = numpy.zeros((len(extruders), 4), dtype=numpy.float32) for extruder in extruders: - material = extruder.findContainer({"type": "material"}) position = int(extruder.getMetaDataEntry("position", default="0")) # Get the position - color_code = material.getMetaDataEntry("color_code", default="#e0e000") + color_code = extruder.material.getMetaDataEntry("color_code", default="#e0e000") color = colorCodeToRGBA(color_code) material_color_map[position, :] = color else: # Single extruder via global stack. material_color_map = numpy.zeros((1, 4), dtype=numpy.float32) - material = global_container_stack.findContainer({"type": "material"}) color_code = "#e0e000" - if material: - if material.getMetaDataEntry("color_code") is not None: - color_code = material.getMetaDataEntry("color_code") + if global_container_stack.material.getMetaDataEntry("color_code") is not None: + color_code = global_container_stack.material.getMetaDataEntry("color_code") color = colorCodeToRGBA(color_code) material_color_map[0, :] = color From 6cac15de7d9b9eaf98fd8bef291ba4b6f0470791 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 6 Jul 2017 09:48:36 +0200 Subject: [PATCH 66/94] Use default parameter to obtain default colour There is a built-in mechanism for this, so we don't need to do this ourselves. --- plugins/CuraEngineBackend/ProcessSlicedLayersJob.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py index 58c75fff3f..15cda75eb8 100644 --- a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py +++ b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py @@ -1,5 +1,5 @@ -# Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +#Copyright (c) 2017 Ultimaker B.V. +#Cura is released under the terms of the AGPLv3 or higher. import gc @@ -180,9 +180,7 @@ class ProcessSlicedLayersJob(Job): else: # Single extruder via global stack. material_color_map = numpy.zeros((1, 4), dtype=numpy.float32) - color_code = "#e0e000" - if global_container_stack.material.getMetaDataEntry("color_code") is not None: - color_code = global_container_stack.material.getMetaDataEntry("color_code") + color_code = global_container_stack.material.getMetaDataEntry("color_code", default="#e0e000") color = colorCodeToRGBA(color_code) material_color_map[0, :] = color From 2cab0977160a40862f885eb703664591749198bf Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 5 Jul 2017 15:28:08 +0200 Subject: [PATCH 67/94] Rename "Not Supported" quality files CURA-3975 Rename quality profiles with name "Not Supported" to have actual quality names. Note that the "Not Supported" only ones are renamed to "Fast_Print". --- ...pported_Quality.inst.cfg => um3_aa0.4_PVA_Fast_Print.inst.cfg} | 0 ...ported_Quality.inst.cfg => um3_aa0.8_CPEP_Fast_Print.inst.cfg} | 0 ..._Quality.inst.cfg => um3_aa0.8_CPEP_Superdraft_Print.inst.cfg} | 0 ...t_Quality.inst.cfg => um3_aa0.8_CPEP_Verydraft_Print.inst.cfg} | 0 ...upported_Quality.inst.cfg => um3_aa0.8_PC_Fast_Print.inst.cfg} | 0 ...ft_Quality.inst.cfg => um3_aa0.8_PC_Superdraft_Print.inst.cfg} | 0 ...aft_Quality.inst.cfg => um3_aa0.8_PC_Verydraft_Print.inst.cfg} | 0 ...pported_Quality.inst.cfg => um3_aa0.8_PVA_Fast_Print.inst.cfg} | 0 ...t_Quality.inst.cfg => um3_aa0.8_PVA_Superdraft_Print.inst.cfg} | 0 ...pported_Quality.inst.cfg => um3_bb0.4_ABS_Fast_Print.inst.cfg} | 0 ...t_Quality.inst.cfg => um3_bb0.4_ABS_Superdraft_Print.inst.cfg} | 0 ...ported_Quality.inst.cfg => um3_bb0.4_CPEP_Fast_Print.inst.cfg} | 0 ..._Quality.inst.cfg => um3_bb0.4_CPEP_Superdraft_Print.inst.cfg} | 0 ...pported_Quality.inst.cfg => um3_bb0.4_CPE_Fast_Print.inst.cfg} | 0 ...t_Quality.inst.cfg => um3_bb0.4_CPE_Superdraft_Print.inst.cfg} | 0 ...orted_Quality.inst.cfg => um3_bb0.4_Nylon_Fast_Print.inst.cfg} | 0 ...Quality.inst.cfg => um3_bb0.4_Nylon_Superdraft_Print.inst.cfg} | 0 ...upported_Quality.inst.cfg => um3_bb0.4_PC_Fast_Print.inst.cfg} | 0 ...pported_Quality.inst.cfg => um3_bb0.4_PLA_Fast_Print.inst.cfg} | 0 ...t_Quality.inst.cfg => um3_bb0.4_PLA_Superdraft_Print.inst.cfg} | 0 ...pported_Quality.inst.cfg => um3_bb0.4_TPU_Fast_Print.inst.cfg} | 0 ...t_Quality.inst.cfg => um3_bb0.4_TPU_Superdraft_Print.inst.cfg} | 0 ...pported_Quality.inst.cfg => um3_bb0.8_ABS_Fast_Print.inst.cfg} | 0 ...t_Quality.inst.cfg => um3_bb0.8_ABS_Superdraft_Print.inst.cfg} | 0 ...ported_Quality.inst.cfg => um3_bb0.8_CPEP_Fast_Print.inst.cfg} | 0 ..._Quality.inst.cfg => um3_bb0.8_CPEP_Superdraft_Print.inst.cfg} | 0 ...pported_Quality.inst.cfg => um3_bb0.8_CPE_Fast_Print.inst.cfg} | 0 ...t_Quality.inst.cfg => um3_bb0.8_CPE_Superdraft_Print.inst.cfg} | 0 ...orted_Quality.inst.cfg => um3_bb0.8_Nylon_Fast_Print.inst.cfg} | 0 ...Quality.inst.cfg => um3_bb0.8_Nylon_Superdraft_Print.inst.cfg} | 0 ...upported_Quality.inst.cfg => um3_bb0.8_PC_Fast_Print.inst.cfg} | 0 ...ft_Quality.inst.cfg => um3_bb0.8_PC_Superdraft_Print.inst.cfg} | 0 ...pported_Quality.inst.cfg => um3_bb0.8_PLA_Fast_Print.inst.cfg} | 0 ...t_Quality.inst.cfg => um3_bb0.8_PLA_Superdraft_Print.inst.cfg} | 0 ...pported_Quality.inst.cfg => um3_bb0.8_TPU_Fast_print.inst.cfg} | 0 ...t_Quality.inst.cfg => um3_bb0.8_TPU_Superdraft_Print.inst.cfg} | 0 36 files changed, 0 insertions(+), 0 deletions(-) rename resources/quality/ultimaker3/{um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg => um3_aa0.4_PVA_Fast_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg => um3_aa0.8_CPEP_Fast_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg => um3_aa0.8_CPEP_Superdraft_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_aa0.8_CPEP_Not_Supported_Verydraft_Quality.inst.cfg => um3_aa0.8_CPEP_Verydraft_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_aa0.8_PC_Not_Supported_Quality.inst.cfg => um3_aa0.8_PC_Fast_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg => um3_aa0.8_PC_Superdraft_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_aa0.8_PC_Not_Supported_Verydraft_Quality.inst.cfg => um3_aa0.8_PC_Verydraft_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg => um3_aa0.8_PVA_Fast_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg => um3_aa0.8_PVA_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg => um3_bb0.4_ABS_Fast_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.4_ABS_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg => um3_bb0.4_CPEP_Fast_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.4_CPEP_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg => um3_bb0.4_CPE_Fast_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.4_CPE_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg => um3_bb0.4_Nylon_Fast_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.4_Nylon_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.4_PC_Not_Supported_Quality.inst.cfg => um3_bb0.4_PC_Fast_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg => um3_bb0.4_PLA_Fast_Print.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.4_PLA_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg => um3_bb0.4_TPU_Fast_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.4_TPU_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg => um3_bb0.8_ABS_Fast_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.8_ABS_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg => um3_bb0.8_CPEP_Fast_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.8_CPEP_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg => um3_bb0.8_CPE_Fast_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.8_CPE_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg => um3_bb0.8_Nylon_Fast_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.8_Nylon_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_PC_Not_Supported_Quality.inst.cfg => um3_bb0.8_PC_Fast_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.8_PC_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg => um3_bb0.8_PLA_Fast_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.8_PLA_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg => um3_bb0.8_TPU_Fast_print.inst.cfg} (100%) mode change 100755 => 100644 rename resources/quality/ultimaker3/{um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg => um3_bb0.8_TPU_Superdraft_Print.inst.cfg} (100%) mode change 100755 => 100644 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Verydraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Verydraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Verydraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Verydraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 100% rename from resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg From afb923401e347b01f83d4e87a975515b528c2610 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 5 Jul 2017 16:27:48 +0200 Subject: [PATCH 68/94] Set versions correctly for container stacks and preferences CURA-3975 The upgrade for machine and extruder stacks and the preferences files don't work because the current version registering doesn't take into account the 1000000 multiplier and the settings_version. --- cura/CuraApplication.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index a1f5aaa6de..2683c48108 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -179,9 +179,9 @@ class CuraApplication(QtApplication): UM.VersionUpgradeManager.VersionUpgradeManager.getInstance().setCurrentVersions( { ("quality_changes", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.QualityInstanceContainer, "application/x-uranium-instancecontainer"), - ("machine_stack", ContainerStack.Version): (self.ResourceTypes.MachineStack, "application/x-uranium-containerstack"), - ("extruder_train", ContainerStack.Version): (self.ResourceTypes.ExtruderStack, "application/x-uranium-extruderstack"), - ("preferences", Preferences.Version): (Resources.Preferences, "application/x-uranium-preferences"), + ("machine_stack", ContainerStack.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.MachineStack, "application/x-uranium-containerstack"), + ("extruder_train", ContainerStack.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.ExtruderStack, "application/x-uranium-extruderstack"), + ("preferences", Preferences.Version * 1000000 + self.SettingVersion): (Resources.Preferences, "application/x-uranium-preferences"), ("user", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.UserInstanceContainer, "application/x-uranium-instancecontainer"), ("definition_changes", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.DefinitionChangesContainer, "application/x-uranium-instancecontainer"), } From 16a078b9a66b7cf77b1bfd5c2a134f0be058f15e Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 10:22:15 +0200 Subject: [PATCH 69/94] Update SettingVersion to 2 for renaming the quality profiles CURA-3975 Update SettingVersion to 2 so we can create an upgrade to rename the quality profiles. --- cura/CuraApplication.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 2683c48108..99fb4f8a05 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -105,7 +105,7 @@ class CuraApplication(QtApplication): # SettingVersion represents the set of settings available in the machine/extruder definitions. # You need to make sure that this version number needs to be increased if there is any non-backwards-compatible # changes of the settings. - SettingVersion = 1 + SettingVersion = 2 class ResourceTypes: QmlFiles = Resources.UserType + 1 From 42858b47152060557d9258744ff1538e2dd64697 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 10:22:31 +0200 Subject: [PATCH 70/94] Add upgrade script for 2.6 to 2.7 to rename quality profiles CURA-3975 --- .../VersionUpgrade26to27.py | 120 +++++++++++ .../VersionUpgrade26to27/__init__.py | 31 +++ .../VersionUpgrade26to27/plugin.json | 8 + .../tests/TestVersionUpgrade26to27.py | 191 ++++++++++++++++++ 4 files changed, 350 insertions(+) create mode 100644 plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py create mode 100644 plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py create mode 100644 plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json create mode 100644 plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py b/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py new file mode 100644 index 0000000000..c0e085bcfb --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py @@ -0,0 +1,120 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +import configparser #To parse the files we need to upgrade and write the new files. +import io #To serialise configparser output to a string. + +from UM.VersionUpgrade import VersionUpgrade +from cura.CuraApplication import CuraApplication + +# a dict of renamed quality profiles: : +_renamed_quality_profiles = { + "um3_aa0.4_PVA_Not_Supported_Quality": "um3_aa0.4_PVA_Fast_Print", + + "um3_aa0.8_CPEP_Not_Supported_Quality": "um3_aa0.8_CPEP_Fast_Print", + "um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality": "um3_aa0.8_CPEP_Superdraft_Print", + "um3_aa0.8_CPEP_Not_Supported_Verydraft_Quality": "um3_aa0.8_CPEP_Verydraft_Print", + + "um3_aa0.8_PC_Not_Supported_Quality": "um3_aa0.8_PC_Fast_Print", + "um3_aa0.8_PC_Not_Supported_Superdraft_Quality": "um3_aa0.8_PC_Superdraft_Print", + "um3_aa0.8_PC_Not_Supported_Verydraft_Quality": "um3_aa0.8_PC_Verydraft_Print", + + "um3_aa0.8_PVA_Not_Supported_Quality": "um3_aa0.8_PVA_Fast_Print", + "um3_aa0.8_PVA_Not_Supported_Superdraft_Quality": "um3_aa0.8_PVA_Superdraft_Print", + + "um3_bb0.4_ABS_Not_Supported_Quality": "um3_bb0.4_ABS_Fast_print", + "um3_bb0.4_ABS_Not_Supported_Superdraft_Quality": "um3_bb0.4_ABS_Superdraft_Print", + + "um3_bb0.4_CPE_Not_Supported_Quality": "um3_bb0.4_CPE_Fast_Print", + "um3_bb0.4_CPE_Not_Supported_Superdraft_Quality": "um3_bb0.4_CPE_Superdraft_Print", + + "um3_bb0.4_CPEP_Not_Supported_Quality": "um3_bb0.4_CPEP_Fast_Print", + "um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality": "um3_bb0.4_CPEP_Superdraft_Print", + + "um3_bb0.4_Nylon_Not_Supported_Quality": "um3_bb0.4_Nylon_Fast_Print", + "um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality": "um3_bb0.4_Nylon_Superdraft_Print", + + "um3_bb0.4_PC_Not_Supported_Quality": "um3_bb0.4_PC_Fast_Print", + + "um3_bb0.4_PLA_Not_Supported_Quality": "um3_bb0.4_PLA_Fast_Print", + "um3_bb0.4_PLA_Not_Supported_Superdraft_Quality": "um3_bb0.4_PLA_Superdraft_Print", + + "um3_bb0.4_TPU_Not_Supported_Quality": "um3_bb0.4_TPU_Fast_Print", + "um3_bb0.4_TPU_Not_Supported_Superdraft_Quality": "um3_bb0.4_TPU_Superdraft_Print", + + "um3_bb0.8_ABS_Not_Supported_Quality": "um3_bb0.8_ABS_Fast_Print", + "um3_bb0.8_ABS_Not_Supported_Superdraft_Quality": "um3_bb0.8_ABS_Superdraft_Print", + + "um3_bb0.8_CPE_Not_Supported_Quality": "um3_bb0.8_CPE_Fast_Print", + "um3_bb0.8_CPE_Not_Supported_Superdraft_Quality": "um3_bb0.8_CPE_Superdraft_Print", + + "um3_bb0.8_CPEP_Not_Supported_Quality": "um3_bb0.um3_bb0.8_CPEP_Fast_Print", + "um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality": "um3_bb0.8_CPEP_Superdraft_Print", + + "um3_bb0.8_Nylon_Not_Supported_Quality": "um3_bb0.8_Nylon_Fast_Print", + "um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality": "um3_bb0.8_Nylon_Superdraft_Print", + + "um3_bb0.8_PC_Not_Supported_Quality": "um3_bb0.8_PC_Fast_Print", + "um3_bb0.8_PC_Not_Supported_Superdraft_Quality": "um3_bb0.8_PC_Superdraft_Print", + + "um3_bb0.8_PLA_Not_Supported_Quality": "um3_bb0.8_PLA_Fast_Print", + "um3_bb0.8_PLA_Not_Supported_Superdraft_Quality": "um3_bb0.8_PLA_Superdraft_Print", + + "um3_bb0.8_TPU_Not_Supported_Quality": "um3_bb0.8_TPU_Fast_print", + "um3_bb0.8_TPU_Not_Supported_Superdraft_Quality": "um3_bb0.8_TPU_Superdraft_Print", +} + +## A collection of functions that convert the configuration of the user in Cura +# 2.6 to a configuration for Cura 2.7. +# +# All of these methods are essentially stateless. +class VersionUpgrade26to27(VersionUpgrade): + ## Gets the version number from a CFG file in Uranium's 2.6 format. + # + # Since the format may change, this is implemented for the 2.6 format only + # and needs to be included in the version upgrade system rather than + # globally in Uranium. + # + # \param serialised The serialised form of a CFG file. + # \return The version number stored in the CFG file. + # \raises ValueError The format of the version number in the file is + # incorrect. + # \raises KeyError The format of the file is incorrect. + def getCfgVersion(self, serialised): + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialised) + format_version = int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised. + setting_version = int(parser.get("metadata", "setting_version", fallback = 0)) + return format_version * 1000000 + setting_version + + ## Upgrades a container stack from version 2.6 to 2.7. + # + # \param serialised The serialised form of a container stack. + # \param filename The name of the file to upgrade. + def upgradeStack(self, serialised, filename): + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialised) + + # Update IDs of the renamed quality profiles + if parser.has_section("containers"): + key_list = [key for key in parser["containers"].keys()] + for key in key_list: + container_id = parser.get("containers", key) + new_id = _renamed_quality_profiles.get(container_id) + if new_id is not None: + parser.set("containers", key, new_id) + + for each_section in ("general", "metadata"): + if not parser.has_section(each_section): + parser.add_section(each_section) + + # Change the version number in the file. + parser["metadata"]["setting_version"] = str(CuraApplication.SettingVersion) + + # Update version + parser["general"]["version"] = "4" + + # Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py new file mode 100644 index 0000000000..8ddf4aa7ea --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py @@ -0,0 +1,31 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +from . import VersionUpgrade26to27 + +from UM.i18n import i18nCatalog +catalog = i18nCatalog("cura") + +upgrade = VersionUpgrade26to27.VersionUpgrade26to27() + +def getMetaData(): + return { + "version_upgrade": { + # From To Upgrade function + ("machine_stack", 3000000): ("machine_stack", 3000002, upgrade.upgradeStack), + ("extruder_train", 3000000): ("extruder_train", 3000002, upgrade.upgradeStack), + }, + "sources": { + "machine_stack": { + "get_version": upgrade.getCfgVersion, + "location": {"./machine_instances"} + }, + "extruder_train": { + "get_version": upgrade.getCfgVersion, + "location": {"./extruders"} + }, + } + } + +def register(app): + return { "version_upgrade": upgrade } diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json b/plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json new file mode 100644 index 0000000000..3c3d7fff8c --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json @@ -0,0 +1,8 @@ + { + "name": "Version Upgrade 2.6 to 2.7", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Upgrades configurations from Cura 2.6 to Cura 2.7.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py b/plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py new file mode 100644 index 0000000000..f8e3561b38 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py @@ -0,0 +1,191 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +import configparser #To check whether the appropriate exceptions are raised. +import pytest #To register tests with. + +import VersionUpgrade26to27 #The module we're testing. + +## Creates an instance of the upgrader to test with. +@pytest.fixture +def upgrader(): + return VersionUpgrade26to27.VersionUpgrade26to27() + +test_cfg_version_good_data = [ + { + "test_name": "Simple", + "file_data": """[general] +version = 1 +""", + "version": 1000000 + }, + { + "test_name": "Other Data Around", + "file_data": """[nonsense] +life = good + +[general] +version = 3 + +[values] +layer_height = 0.12 +infill_sparse_density = 42 +""", + "version": 3000000 + }, + { + "test_name": "Negative Version", #Why not? + "file_data": """[general] +version = -20 +""", + "version": -20000000 + }, + { + "test_name": "Setting Version", + "file_data": """[general] +version = 1 +[metadata] +setting_version = 1 +""", + "version": 1000001 + }, + { + "test_name": "Negative Setting Version", + "file_data": """[general] +version = 1 +[metadata] +setting_version = -3 +""", + "version": 999997 + } +] + +## Tests the technique that gets the version number from CFG files. +# +# \param data The parametrised data to test with. It contains a test name +# to debug with, the serialised contents of a CFG file and the correct +# version number in that CFG file. +# \param upgrader The instance of the upgrade class to test. +@pytest.mark.parametrize("data", test_cfg_version_good_data) +def test_cfgVersionGood(data, upgrader): + version = upgrader.getCfgVersion(data["file_data"]) + assert version == data["version"] + +test_cfg_version_bad_data = [ + { + "test_name": "Empty", + "file_data": "", + "exception": configparser.Error #Explicitly not specified further which specific error we're getting, because that depends on the implementation of configparser. + }, + { + "test_name": "No General", + "file_data": """[values] +layer_height = 0.1337 +""", + "exception": configparser.Error + }, + { + "test_name": "No Version", + "file_data": """[general] +true = false +""", + "exception": configparser.Error + }, + { + "test_name": "Not a Number", + "file_data": """[general] +version = not-a-text-version-number +""", + "exception": ValueError + }, + { + "test_name": "Setting Value NaN", + "file_data": """[general] +version = 4 +[metadata] +setting_version = latest_or_something +""", + "exception": ValueError + }, + { + "test_name": "Major-Minor", + "file_data": """[general] +version = 1.2 +""", + "exception": ValueError + } +] + +## Tests whether getting a version number from bad CFG files gives an +# exception. +# +# \param data The parametrised data to test with. It contains a test name +# to debug with, the serialised contents of a CFG file and the class of +# exception it needs to throw. +# \param upgrader The instance of the upgrader to test. +@pytest.mark.parametrize("data", test_cfg_version_bad_data) +def test_cfgVersionBad(data, upgrader): + with pytest.raises(data["exception"]): + upgrader.getCfgVersion(data["file_data"]) + +test_upgrade_stacks_with_not_supported_data = [ + { + "test_name": "Global stack with Not Supported quality profile", + "file_data": """[general] +version = 3 +name = Ultimaker 3 +id = Ultimaker 3 + +[metadata] +type = machine + +[containers] +0 = Ultimaker 3_user +1 = empty +2 = um3_global_Normal_Quality +3 = empty +4 = empty +5 = empty +6 = ultimaker3 +""" + }, + { + "test_name": "Extruder stack left with Not Supported quality profile", + "file_data": """[general] +version = 3 +name = Extruder 1 +id = ultimaker3_extruder_left #2 + +[metadata] +position = 0 +machine = Ultimaker 3 +type = extruder_train + +[containers] +0 = ultimaker3_extruder_left #2_user +1 = empty +2 = um3_aa0.4_PVA_Not_Supported_Quality +3 = generic_pva_ultimaker3_AA_0.4 +4 = ultimaker3_aa04 +5 = ultimaker3_extruder_left #2_settings +6 = ultimaker3_extruder_left +""" + } +] + +## Tests whether the "Not Supported" quality profiles in the global and extruder stacks are renamed for the 2.7 +# version of preferences. +@pytest.mark.parametrize("data", test_upgrade_stacks_with_not_supported_data) +def test_upgradeStacksWithNotSupportedQuality(data, upgrader): + # Read old file + original_parser = configparser.ConfigParser(interpolation = None) + original_parser.read_string(data["file_data"]) + + # Perform the upgrade. + _, upgraded_stacks = upgrader.upgradeStack(data["file_data"], "") + upgraded_stack = upgraded_stacks[0] + + # Find whether the not supported profile has been renamed + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(upgraded_stack) + assert("Not_Supported" not in parser.get("containers", "2")) From 3d48024a47479875fe2773d7466ee8e77961af1d Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 10:22:36 +0200 Subject: [PATCH 71/94] Override getConfigurationTypeFromSerialized for GlobalStack CURA-3975 GlobalStack has metadata type "machine", which is different from what is registered in the VersionUpgradeManager "machine_stack". This commit makes sure that Cura can find the correct upgrade route for the GlobalStack files. --- cura/Settings/GlobalStack.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cura/Settings/GlobalStack.py b/cura/Settings/GlobalStack.py index 4e7bcdf486..e49b1a25de 100755 --- a/cura/Settings/GlobalStack.py +++ b/cura/Settings/GlobalStack.py @@ -1,7 +1,7 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. -from typing import Any, Dict +from typing import Any, Dict, Optional from PyQt5.QtCore import pyqtProperty @@ -42,6 +42,17 @@ class GlobalStack(CuraContainerStack): def getLoadingPriority(cls) -> int: return 2 + def getConfigurationTypeFromSerialized(self, serialized: str) -> Optional[str]: + configuration_type = None + try: + parser = self._readAndValidateSerialized(serialized) + configuration_type = parser["metadata"].get("type") + if configuration_type == "machine": + configuration_type = "machine_stack" + except Exception as e: + Logger.log("e", "Could not get configuration type: %s", e) + return configuration_type + ## Add an extruder to the list of extruders of this stack. # # \param extruder The extruder to add. From c196a4bf00b53cd59232b71c92179f9a5e101f9d Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 10:42:24 +0200 Subject: [PATCH 72/94] Fix stack file version number in VersionUpgrade26to27 CURA-3975 --- .../VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py b/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py index c0e085bcfb..38031765d5 100644 --- a/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py @@ -112,7 +112,7 @@ class VersionUpgrade26to27(VersionUpgrade): parser["metadata"]["setting_version"] = str(CuraApplication.SettingVersion) # Update version - parser["general"]["version"] = "4" + parser["general"]["version"] = "3" # Re-serialise the file. output = io.StringIO() From 95cacb83001e9ff6f0522135bc1c83191af6e079 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 6 Jul 2017 10:46:29 +0200 Subject: [PATCH 73/94] Added missing translate to topbar --- resources/qml/Topbar.qml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/resources/qml/Topbar.qml b/resources/qml/Topbar.qml index 1d51c8eccc..1b5792124e 100644 --- a/resources/qml/Topbar.qml +++ b/resources/qml/Topbar.qml @@ -23,6 +23,11 @@ Rectangle property bool monitoringPrint: false signal startMonitoringPrint() signal stopMonitoringPrint() + UM.I18nCatalog + { + id: catalog + name:"cura" + } Row { @@ -39,7 +44,7 @@ Rectangle iconSource: UM.Theme.getIcon("tab_settings"); property color overlayColor: "transparent" property string overlayIconSource: "" - text: "Prepare" + text: catalog.i18nc("@title:tab","Prepare") checkable: true checked: !base.monitoringPrint exclusiveGroup: sidebarHeaderBarGroup @@ -52,7 +57,7 @@ Rectangle id: showMonitor height: UM.Theme.getSize("sidebar_header").height onClicked: base.startMonitoringPrint() - text: "Print" + text: catalog.i18nc("@title:tab", "Print") iconSource: printerConnected ? UM.Theme.getIcon("tab_monitor_with_status") : UM.Theme.getIcon("tab_monitor") property color overlayColor: { From ead94a84566153184c85521c9bfb842ab59fbd15 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 11:26:34 +0200 Subject: [PATCH 74/94] Cura should register actual stack MIME types instead of the generic Uranium stack type CURA-3975 When the ContainerRegister loads all container files, it decides which actual class to use based on the registered MIME type of that file. Because Cura registers the GlobalStack and ExtruderStack files as the generic Uranium MIME type, the register loads them as Uranium ContainerStacks. This commit solves this problem. --- cura/CuraApplication.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 99fb4f8a05..6321dbf670 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -179,8 +179,8 @@ class CuraApplication(QtApplication): UM.VersionUpgradeManager.VersionUpgradeManager.getInstance().setCurrentVersions( { ("quality_changes", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.QualityInstanceContainer, "application/x-uranium-instancecontainer"), - ("machine_stack", ContainerStack.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.MachineStack, "application/x-uranium-containerstack"), - ("extruder_train", ContainerStack.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.ExtruderStack, "application/x-uranium-extruderstack"), + ("machine_stack", ContainerStack.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.MachineStack, "application/x-cura-globalstack"), + ("extruder_train", ContainerStack.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.ExtruderStack, "application/x-cura-extruderstack"), ("preferences", Preferences.Version * 1000000 + self.SettingVersion): (Resources.Preferences, "application/x-uranium-preferences"), ("user", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.UserInstanceContainer, "application/x-uranium-instancecontainer"), ("definition_changes", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.DefinitionChangesContainer, "application/x-uranium-instancecontainer"), From 4e3ff1b770c99a5cda74b8e4974d31afe65da82d Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 12:06:02 +0200 Subject: [PATCH 75/94] Fix version upgrade for 2.5 to 2.6 CURA-3975 - Preferences version is not set correctly - The upgrade script should use a standalone version string because the CuraApplication.SettingVersion can change --- .../VersionUpgrade25to26/VersionUpgrade25to26.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py index 85f54dd654..699dd4d1bb 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py @@ -62,8 +62,8 @@ class VersionUpgrade25to26(VersionUpgrade): parser["general"]["visible_settings"] = ";".join(new_visible_settings) #Change the version number in the file. - if parser.has_section("general"): #It better have! - parser["general"]["version"] = "5" + parser.set("general", "version", "4") + parser.set("general", "setting_version", "1") #Re-serialise the file. output = io.StringIO() @@ -91,11 +91,9 @@ class VersionUpgrade25to26(VersionUpgrade): if not parser.has_section(each_section): parser.add_section(each_section) - # Change the version number in the file. - parser["metadata"]["setting_version"] = str(CuraApplication.SettingVersion) - - # Update version + # Update version numbers parser["general"]["version"] = "2" + parser["metadata"]["setting_version"] = "1" #Re-serialise the file. output = io.StringIO() From 4727e4aa9598977bbfc491e92bad8791e57258d3 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 12:13:29 +0200 Subject: [PATCH 76/94] Remove unused imports CURA-3975 --- .../VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py index 699dd4d1bb..d3e22ba5d2 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py @@ -5,7 +5,6 @@ import configparser #To parse the files we need to upgrade and write the new fil import io #To serialise configparser output to a string. from UM.VersionUpgrade import VersionUpgrade -from cura.CuraApplication import CuraApplication _removed_settings = { #Settings that were removed in 2.5. "start_layers_at_same_position", From eb88ad5a3d29b602cbc5ad01c2230f6df0111c80 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 13:38:18 +0200 Subject: [PATCH 77/94] Change mode to 0644 for all quality files CURA-3975 --- .../quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg | 0 .../quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg mode change 100755 => 100644 resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg diff --git a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg old mode 100755 new mode 100644 diff --git a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg old mode 100755 new mode 100644 From bd75102ee530e93d7c852efdcc1aa3611a4921cf Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 6 Jul 2017 13:50:53 +0200 Subject: [PATCH 78/94] Fix saving g-code if no quality profile is set If the quality profile was 'empty', then the container type wasn't properly set, so you can't find any quality profile. This gets the quality profile from the stacks, so you will find the empty profile (which has the wrong type but at least you can try to request metadata from it). --- plugins/GCodeWriter/GCodeWriter.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/GCodeWriter/GCodeWriter.py b/plugins/GCodeWriter/GCodeWriter.py index 47ccc21bcd..61bd682de0 100644 --- a/plugins/GCodeWriter/GCodeWriter.py +++ b/plugins/GCodeWriter/GCodeWriter.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. from UM.Mesh.MeshWriter import MeshWriter @@ -113,7 +113,7 @@ class GCodeWriter(MeshWriter): # Ensure that quality_type is set. (Can happen if we have empty quality changes). if flat_global_container.getMetaDataEntry("quality_type", None) is None: - flat_global_container.addMetaDataEntry("quality_type", stack.findContainer({"type": "quality"}).getMetaDataEntry("quality_type", "normal")) + flat_global_container.addMetaDataEntry("quality_type", stack.quality.getMetaDataEntry("quality_type", "normal")) serialized = flat_global_container.serialize() data = {"global_quality": serialized} @@ -134,7 +134,7 @@ class GCodeWriter(MeshWriter): # Ensure that quality_type is set. (Can happen if we have empty quality changes). if flat_extruder_quality.getMetaDataEntry("quality_type", None) is None: - flat_extruder_quality.addMetaDataEntry("quality_type", extruder.findContainer({"type": "quality"}).getMetaDataEntry("quality_type", "normal")) + flat_extruder_quality.addMetaDataEntry("quality_type", extruder.quality.getMetaDataEntry("quality_type", "normal")) extruder_serialized = flat_extruder_quality.serialize() data.setdefault("extruder_quality", []).append(extruder_serialized) From 72afefbfd48cd12fad11959b6dffd61c1ac2b0c1 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 13:17:57 +0200 Subject: [PATCH 79/94] Update setting_version to 2 for variants CURA-3975 --- resources/variants/cartesio_0.25.inst.cfg | 2 +- resources/variants/cartesio_0.4.inst.cfg | 2 +- resources/variants/cartesio_0.8.inst.cfg | 2 +- resources/variants/imade3d_jellybox_0.4.inst.cfg | 2 +- resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg | 2 +- resources/variants/ultimaker2_0.25.inst.cfg | 2 +- resources/variants/ultimaker2_0.4.inst.cfg | 2 +- resources/variants/ultimaker2_0.6.inst.cfg | 2 +- resources/variants/ultimaker2_0.8.inst.cfg | 2 +- resources/variants/ultimaker2_extended_0.25.inst.cfg | 2 +- resources/variants/ultimaker2_extended_0.4.inst.cfg | 2 +- resources/variants/ultimaker2_extended_0.6.inst.cfg | 2 +- resources/variants/ultimaker2_extended_0.8.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.25.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.4.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.6.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.8.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.25.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.4.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.6.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.8.inst.cfg | 2 +- resources/variants/ultimaker3_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker3_aa04.inst.cfg | 2 +- resources/variants/ultimaker3_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker3_bb04.inst.cfg | 2 +- resources/variants/ultimaker3_extended_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_aa04.inst.cfg | 2 +- resources/variants/ultimaker3_extended_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_bb04.inst.cfg | 2 +- 29 files changed, 29 insertions(+), 29 deletions(-) diff --git a/resources/variants/cartesio_0.25.inst.cfg b/resources/variants/cartesio_0.25.inst.cfg index b789eef732..23179b5c7e 100644 --- a/resources/variants/cartesio_0.25.inst.cfg +++ b/resources/variants/cartesio_0.25.inst.cfg @@ -6,7 +6,7 @@ definition = cartesio [metadata] author = Cartesio type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/cartesio_0.4.inst.cfg b/resources/variants/cartesio_0.4.inst.cfg index 46140ccc24..ad8d98519e 100644 --- a/resources/variants/cartesio_0.4.inst.cfg +++ b/resources/variants/cartesio_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = cartesio [metadata] author = Cartesio type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/cartesio_0.8.inst.cfg b/resources/variants/cartesio_0.8.inst.cfg index 118d79144a..c5bc386558 100644 --- a/resources/variants/cartesio_0.8.inst.cfg +++ b/resources/variants/cartesio_0.8.inst.cfg @@ -6,7 +6,7 @@ definition = cartesio [metadata] author = Cartesio type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/imade3d_jellybox_0.4.inst.cfg b/resources/variants/imade3d_jellybox_0.4.inst.cfg index 8bce86482b..b590dec264 100644 --- a/resources/variants/imade3d_jellybox_0.4.inst.cfg +++ b/resources/variants/imade3d_jellybox_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = imade3d_jellybox [metadata] author = IMADE3D type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg b/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg index e02c1fe29f..419506c908 100644 --- a/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg +++ b/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg @@ -6,7 +6,7 @@ definition = imade3d_jellybox [metadata] author = IMADE3D type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_0.25.inst.cfg b/resources/variants/ultimaker2_0.25.inst.cfg index 1891124ce9..d2d4abc7d4 100644 --- a/resources/variants/ultimaker2_0.25.inst.cfg +++ b/resources/variants/ultimaker2_0.25.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2 [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/ultimaker2_0.4.inst.cfg b/resources/variants/ultimaker2_0.4.inst.cfg index 622c97e6ff..325eb04040 100644 --- a/resources/variants/ultimaker2_0.4.inst.cfg +++ b/resources/variants/ultimaker2_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2 [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_0.6.inst.cfg b/resources/variants/ultimaker2_0.6.inst.cfg index e64880932f..6fb8005ed0 100644 --- a/resources/variants/ultimaker2_0.6.inst.cfg +++ b/resources/variants/ultimaker2_0.6.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2 [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/ultimaker2_0.8.inst.cfg b/resources/variants/ultimaker2_0.8.inst.cfg index f4b86e58ed..7c256b9416 100644 --- a/resources/variants/ultimaker2_0.8.inst.cfg +++ b/resources/variants/ultimaker2_0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2 [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/ultimaker2_extended_0.25.inst.cfg b/resources/variants/ultimaker2_extended_0.25.inst.cfg index 1a53ebc362..4e248c55c4 100644 --- a/resources/variants/ultimaker2_extended_0.25.inst.cfg +++ b/resources/variants/ultimaker2_extended_0.25.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/ultimaker2_extended_0.4.inst.cfg b/resources/variants/ultimaker2_extended_0.4.inst.cfg index e7caaa0772..01adecceeb 100644 --- a/resources/variants/ultimaker2_extended_0.4.inst.cfg +++ b/resources/variants/ultimaker2_extended_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_extended_0.6.inst.cfg b/resources/variants/ultimaker2_extended_0.6.inst.cfg index 888dce45e8..a93ce8f628 100644 --- a/resources/variants/ultimaker2_extended_0.6.inst.cfg +++ b/resources/variants/ultimaker2_extended_0.6.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/ultimaker2_extended_0.8.inst.cfg b/resources/variants/ultimaker2_extended_0.8.inst.cfg index 3f2e9dc55f..9588d017ec 100644 --- a/resources/variants/ultimaker2_extended_0.8.inst.cfg +++ b/resources/variants/ultimaker2_extended_0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg index 044bec5731..fa5861ea6d 100644 --- a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg index 70cfbb81d1..ef0bed8305 100644 --- a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg index 0bd4d181ac..643b0d3d8c 100644 --- a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg index d83f23859f..a282b288a2 100644 --- a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/ultimaker2_plus_0.25.inst.cfg b/resources/variants/ultimaker2_plus_0.25.inst.cfg index f493fecb71..14d8d5d899 100644 --- a/resources/variants/ultimaker2_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.25.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/ultimaker2_plus_0.4.inst.cfg b/resources/variants/ultimaker2_plus_0.4.inst.cfg index b7a7d8c7a7..ccc1d246a0 100644 --- a/resources/variants/ultimaker2_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_plus_0.6.inst.cfg b/resources/variants/ultimaker2_plus_0.6.inst.cfg index 9954359cc5..40c1f523a8 100644 --- a/resources/variants/ultimaker2_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.6.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/ultimaker2_plus_0.8.inst.cfg b/resources/variants/ultimaker2_plus_0.8.inst.cfg index de21ac87ab..563b955063 100644 --- a/resources/variants/ultimaker2_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index 41d6191883..9d31e166ed 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/variants/ultimaker3_aa04.inst.cfg b/resources/variants/ultimaker3_aa04.inst.cfg index ff380197ea..dfdd57a075 100644 --- a/resources/variants/ultimaker3_aa04.inst.cfg +++ b/resources/variants/ultimaker3_aa04.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] brim_width = 7 diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index c9a8c5a945..d90190885f 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/variants/ultimaker3_bb04.inst.cfg b/resources/variants/ultimaker3_bb04.inst.cfg index 5a4b39f68a..1e9218d262 100644 --- a/resources/variants/ultimaker3_bb04.inst.cfg +++ b/resources/variants/ultimaker3_bb04.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index c2ecbcdf49..8f97e448b0 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/variants/ultimaker3_extended_aa04.inst.cfg b/resources/variants/ultimaker3_extended_aa04.inst.cfg index f66be12d49..f35210383e 100644 --- a/resources/variants/ultimaker3_extended_aa04.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa04.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] brim_width = 7 diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index 8a4dcfee09..0374068186 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/variants/ultimaker3_extended_bb04.inst.cfg b/resources/variants/ultimaker3_extended_bb04.inst.cfg index e35ab82d9f..cc8fb187e8 100644 --- a/resources/variants/ultimaker3_extended_bb04.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb04.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant -setting_version = 1 +setting_version = 2 [values] acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) From 3983da30aa356242374843cfe96cbb8f1beb6ec8 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 13:18:55 +0200 Subject: [PATCH 80/94] Update setting_version to 2 for qualities CURA-3975 --- .../quality/abax_pri3/apri3_pla_fast.inst.cfg | 42 +++--- .../quality/abax_pri3/apri3_pla_high.inst.cfg | 42 +++--- .../abax_pri3/apri3_pla_normal.inst.cfg | 42 +++--- .../quality/abax_pri5/apri5_pla_fast.inst.cfg | 42 +++--- .../quality/abax_pri5/apri5_pla_high.inst.cfg | 42 +++--- .../abax_pri5/apri5_pla_normal.inst.cfg | 42 +++--- .../abax_titan/atitan_pla_fast.inst.cfg | 42 +++--- .../abax_titan/atitan_pla_high.inst.cfg | 40 +++--- .../abax_titan/atitan_pla_normal.inst.cfg | 42 +++--- .../abs/cartesio_0.25_abs_high.inst.cfg | 2 +- .../abs/cartesio_0.25_abs_normal.inst.cfg | 2 +- .../abs/cartesio_0.4_abs_high.inst.cfg | 2 +- .../abs/cartesio_0.4_abs_normal.inst.cfg | 2 +- .../abs/cartesio_0.8_abs_coarse.inst.cfg | 2 +- .../cartesio_0.8_abs_extra_coarse.inst.cfg | 2 +- .../abs/cartesio_0.8_abs_high.inst.cfg | 2 +- .../abs/cartesio_0.8_abs_normal.inst.cfg | 2 +- .../cartesio_0.4_arnitel2045_high.inst.cfg | 2 +- .../cartesio_0.4_arnitel2045_normal.inst.cfg | 2 +- .../cartesio_global_Coarse_Quality.inst.cfg | 2 +- ...tesio_global_Extra_Coarse_Quality.inst.cfg | 2 +- .../cartesio_global_High_Quality.inst.cfg | 2 +- .../cartesio_global_Normal_Quality.inst.cfg | 2 +- .../hips/cartesio_0.25_hips_high.inst.cfg | 2 +- .../hips/cartesio_0.25_hips_normal.inst.cfg | 2 +- .../hips/cartesio_0.4_hips_high.inst.cfg | 2 +- .../hips/cartesio_0.4_hips_normal.inst.cfg | 2 +- .../hips/cartesio_0.8_hips_coarse.inst.cfg | 2 +- .../cartesio_0.8_hips_extra_coarse.inst.cfg | 2 +- .../hips/cartesio_0.8_hips_high.inst.cfg | 2 +- .../hips/cartesio_0.8_hips_normal.inst.cfg | 2 +- .../nylon/cartesio_0.25_nylon_high.inst.cfg | 2 +- .../nylon/cartesio_0.25_nylon_normal.inst.cfg | 2 +- .../nylon/cartesio_0.4_nylon_high.inst.cfg | 2 +- .../nylon/cartesio_0.4_nylon_normal.inst.cfg | 2 +- .../nylon/cartesio_0.8_nylon_coarse.inst.cfg | 2 +- .../cartesio_0.8_nylon_extra_coarse.inst.cfg | 2 +- .../nylon/cartesio_0.8_nylon_high.inst.cfg | 2 +- .../nylon/cartesio_0.8_nylon_normal.inst.cfg | 2 +- .../pc/cartesio_0.25_pc_high.inst.cfg | 2 +- .../pc/cartesio_0.25_pc_normal.inst.cfg | 2 +- .../cartesio/pc/cartesio_0.4_pc_high.inst.cfg | 2 +- .../pc/cartesio_0.4_pc_normal.inst.cfg | 2 +- .../pc/cartesio_0.8_pc_coarse.inst.cfg | 2 +- .../pc/cartesio_0.8_pc_extra_coarse.inst.cfg | 2 +- .../cartesio/pc/cartesio_0.8_pc_high.inst.cfg | 2 +- .../pc/cartesio_0.8_pc_normal.inst.cfg | 2 +- .../petg/cartesio_0.25_petg_high.inst.cfg | 2 +- .../petg/cartesio_0.25_petg_normal.inst.cfg | 2 +- .../petg/cartesio_0.4_petg_high.inst.cfg | 2 +- .../petg/cartesio_0.4_petg_normal.inst.cfg | 2 +- .../petg/cartesio_0.8_petg_coarse.inst.cfg | 2 +- .../cartesio_0.8_petg_extra_coarse.inst.cfg | 2 +- .../petg/cartesio_0.8_petg_high.inst.cfg | 2 +- .../petg/cartesio_0.8_petg_normal.inst.cfg | 2 +- .../pla/cartesio_0.25_pla_high.inst.cfg | 2 +- .../pla/cartesio_0.25_pla_normal.inst.cfg | 2 +- .../pla/cartesio_0.4_pla_high.inst.cfg | 2 +- .../pla/cartesio_0.4_pla_normal.inst.cfg | 2 +- .../pla/cartesio_0.8_pla_coarse.inst.cfg | 2 +- .../cartesio_0.8_pla_extra_coarse.inst.cfg | 2 +- .../pla/cartesio_0.8_pla_high.inst.cfg | 2 +- .../pla/cartesio_0.8_pla_normal.inst.cfg | 2 +- .../pva/cartesio_0.25_pva_high.inst.cfg | 2 +- .../pva/cartesio_0.25_pva_normal.inst.cfg | 2 +- .../pva/cartesio_0.4_pva_high.inst.cfg | 2 +- .../pva/cartesio_0.4_pva_normal.inst.cfg | 2 +- .../pva/cartesio_0.8_pva_coarse.inst.cfg | 2 +- .../cartesio_0.8_pva_extra_coarse.inst.cfg | 2 +- .../pva/cartesio_0.8_pva_high.inst.cfg | 2 +- .../pva/cartesio_0.8_pva_normal.inst.cfg | 2 +- resources/quality/coarse.inst.cfg | 2 +- resources/quality/draft.inst.cfg | 2 +- resources/quality/extra_coarse.inst.cfg | 2 +- resources/quality/high.inst.cfg | 2 +- .../generic_petg_0.4_coarse.inst.cfg | 2 +- .../generic_petg_0.4_coarse_2-fans.inst.cfg | 2 +- .../generic_petg_0.4_medium.inst.cfg | 2 +- .../generic_petg_0.4_medium_2-fans.inst.cfg | 2 +- .../generic_pla_0.4_coarse.inst.cfg | 2 +- .../generic_pla_0.4_coarse_2-fans.inst.cfg | 2 +- .../generic_pla_0.4_fine.inst.cfg | 2 +- .../generic_pla_0.4_fine_2-fans.inst.cfg | 2 +- .../generic_pla_0.4_medium.inst.cfg | 2 +- .../generic_pla_0.4_medium_2-fans.inst.cfg | 2 +- .../generic_pla_0.4_ultrafine.inst.cfg | 2 +- .../generic_pla_0.4_ultrafine_2-fans.inst.cfg | 2 +- resources/quality/low.inst.cfg | 2 +- resources/quality/normal.inst.cfg | 2 +- .../peopoly_moai/peopoly_moai_high.inst.cfg | 2 +- .../peopoly_moai/peopoly_moai_max.inst.cfg | 2 +- .../peopoly_moai/peopoly_moai_normal.inst.cfg | 2 +- .../ultimaker2_plus/pla_0.25_normal.inst.cfg | 2 +- .../ultimaker2_plus/pla_0.4_fast.inst.cfg | 2 +- .../ultimaker2_plus/pla_0.4_high.inst.cfg | 2 +- .../ultimaker2_plus/pla_0.4_normal.inst.cfg | 2 +- .../ultimaker2_plus/pla_0.6_normal.inst.cfg | 2 +- .../ultimaker2_plus/pla_0.8_normal.inst.cfg | 2 +- .../um2p_abs_0.25_normal.inst.cfg | 2 +- .../um2p_abs_0.4_fast.inst.cfg | 2 +- .../um2p_abs_0.4_high.inst.cfg | 2 +- .../um2p_abs_0.4_normal.inst.cfg | 2 +- .../um2p_abs_0.6_normal.inst.cfg | 2 +- .../um2p_abs_0.8_normal.inst.cfg | 2 +- .../um2p_cpe_0.25_normal.inst.cfg | 2 +- .../um2p_cpe_0.4_fast.inst.cfg | 2 +- .../um2p_cpe_0.4_high.inst.cfg | 2 +- .../um2p_cpe_0.4_normal.inst.cfg | 2 +- .../um2p_cpe_0.6_normal.inst.cfg | 2 +- .../um2p_cpe_0.8_normal.inst.cfg | 2 +- .../um2p_cpep_0.4_draft.inst.cfg | 2 +- .../um2p_cpep_0.4_normal.inst.cfg | 2 +- .../um2p_cpep_0.6_draft.inst.cfg | 2 +- .../um2p_cpep_0.6_normal.inst.cfg | 2 +- .../um2p_cpep_0.8_draft.inst.cfg | 2 +- .../um2p_cpep_0.8_normal.inst.cfg | 2 +- .../um2p_nylon_0.25_high.inst.cfg | 2 +- .../um2p_nylon_0.25_normal.inst.cfg | 2 +- .../um2p_nylon_0.4_fast.inst.cfg | 2 +- .../um2p_nylon_0.4_normal.inst.cfg | 2 +- .../um2p_nylon_0.6_fast.inst.cfg | 2 +- .../um2p_nylon_0.6_normal.inst.cfg | 2 +- .../um2p_nylon_0.8_draft.inst.cfg | 2 +- .../um2p_nylon_0.8_normal.inst.cfg | 2 +- .../um2p_pc_0.25_high.inst.cfg | 2 +- .../um2p_pc_0.25_normal.inst.cfg | 2 +- .../ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg | 2 +- .../um2p_pc_0.4_normal.inst.cfg | 2 +- .../ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg | 2 +- .../um2p_pc_0.6_normal.inst.cfg | 2 +- .../um2p_pc_0.8_draft.inst.cfg | 2 +- .../um2p_pc_0.8_normal.inst.cfg | 2 +- .../um2p_pp_0.25_normal.inst.cfg | 2 +- .../ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg | 2 +- .../um2p_pp_0.4_normal.inst.cfg | 2 +- .../um2p_pp_0.6_draft.inst.cfg | 2 +- .../ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg | 2 +- .../um2p_pp_0.8_draft.inst.cfg | 2 +- .../um2p_pp_0.8_verydraft.inst.cfg | 2 +- .../um2p_tpu_0.25_high.inst.cfg | 2 +- .../um2p_tpu_0.4_normal.inst.cfg | 2 +- .../um2p_tpu_0.6_fast.inst.cfg | 2 +- .../um3_aa0.4_ABS_Draft_Print.inst.cfg | 2 +- .../um3_aa0.4_ABS_Fast_Print.inst.cfg | 2 +- .../um3_aa0.4_ABS_High_Quality.inst.cfg | 2 +- .../um3_aa0.4_ABS_Normal_Quality.inst.cfg | 2 +- .../um3_aa0.4_CPEP_Draft_Print.inst.cfg | 2 +- .../um3_aa0.4_CPEP_Fast_Print.inst.cfg | 2 +- .../um3_aa0.4_CPEP_High_Quality.inst.cfg | 2 +- .../um3_aa0.4_CPEP_Normal_Quality.inst.cfg | 2 +- .../um3_aa0.4_CPE_Draft_Print.inst.cfg | 2 +- .../um3_aa0.4_CPE_Fast_Print.inst.cfg | 2 +- .../um3_aa0.4_CPE_High_Quality.inst.cfg | 2 +- .../um3_aa0.4_CPE_Normal_Quality.inst.cfg | 2 +- .../um3_aa0.4_Nylon_Draft_Print.inst.cfg | 2 +- .../um3_aa0.4_Nylon_Fast_Print.inst.cfg | 2 +- .../um3_aa0.4_Nylon_High_Quality.inst.cfg | 2 +- .../um3_aa0.4_Nylon_Normal_Quality.inst.cfg | 2 +- .../um3_aa0.4_PC_Draft_Print.inst.cfg | 130 +++++++++--------- .../um3_aa0.4_PC_Fast_Print.inst.cfg | 128 ++++++++--------- .../um3_aa0.4_PC_High_Quality.inst.cfg | 130 +++++++++--------- .../um3_aa0.4_PC_Normal_Quality.inst.cfg | 2 +- .../um3_aa0.4_PLA_Draft_Print.inst.cfg | 2 +- .../um3_aa0.4_PLA_Fast_Print.inst.cfg | 2 +- .../um3_aa0.4_PLA_High_Quality.inst.cfg | 2 +- .../um3_aa0.4_PLA_Normal_Quality.inst.cfg | 2 +- .../um3_aa0.4_PP_Draft_Print.inst.cfg | 2 +- .../um3_aa0.4_PP_Fast_Print.inst.cfg | 2 +- .../um3_aa0.4_PP_Normal_Quality.inst.cfg | 2 +- .../um3_aa0.4_PVA_Fast_Print.inst.cfg | 2 +- .../um3_aa0.4_TPU_Draft_Print.inst.cfg | 2 +- .../um3_aa0.4_TPU_Fast_Print.inst.cfg | 2 +- .../um3_aa0.4_TPU_Normal_Quality.inst.cfg | 2 +- .../um3_aa0.8_ABS_Draft_Print.inst.cfg | 2 +- .../um3_aa0.8_ABS_Superdraft_Print.inst.cfg | 2 +- .../um3_aa0.8_ABS_Verydraft_Print.inst.cfg | 2 +- .../um3_aa0.8_CPEP_Fast_Print.inst.cfg | 2 +- .../um3_aa0.8_CPEP_Superdraft_Print.inst.cfg | 2 +- .../um3_aa0.8_CPEP_Verydraft_Print.inst.cfg | 2 +- .../um3_aa0.8_CPE_Draft_Print.inst.cfg | 2 +- .../um3_aa0.8_CPE_Superdraft_Print.inst.cfg | 2 +- .../um3_aa0.8_CPE_Verydraft_Print.inst.cfg | 2 +- .../um3_aa0.8_Nylon_Draft_Print.inst.cfg | 2 +- .../um3_aa0.8_Nylon_Superdraft_Print.inst.cfg | 2 +- .../um3_aa0.8_Nylon_Verydraft_Print.inst.cfg | 2 +- .../um3_aa0.8_PC_Fast_Print.inst.cfg | 2 +- .../um3_aa0.8_PC_Superdraft_Print.inst.cfg | 2 +- .../um3_aa0.8_PC_Verydraft_Print.inst.cfg | 2 +- .../um3_aa0.8_PLA_Draft_Print.inst.cfg | 2 +- .../um3_aa0.8_PLA_Superdraft_Print.inst.cfg | 2 +- .../um3_aa0.8_PLA_Verydraft_Print.inst.cfg | 2 +- .../um3_aa0.8_PP_Draft_Print.inst.cfg | 2 +- .../um3_aa0.8_PP_Superdraft_Print.inst.cfg | 2 +- .../um3_aa0.8_PP_Verydraft_Print.inst.cfg | 2 +- .../um3_aa0.8_PVA_Fast_Print.inst.cfg | 2 +- .../um3_aa0.8_PVA_Superdraft_Print.inst.cfg | 2 +- .../um3_aa0.8_TPU_Draft_Print.inst.cfg | 2 +- .../um3_aa0.8_TPU_Superdraft_Print.inst.cfg | 2 +- .../um3_aa0.8_TPU_Verydraft_Print.inst.cfg | 2 +- .../um3_bb0.4_ABS_Fast_Print.inst.cfg | 2 +- .../um3_bb0.4_ABS_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.4_CPEP_Fast_Print.inst.cfg | 2 +- .../um3_bb0.4_CPEP_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.4_CPE_Fast_Print.inst.cfg | 2 +- .../um3_bb0.4_CPE_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.4_Nylon_Fast_Print.inst.cfg | 2 +- .../um3_bb0.4_Nylon_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.4_PC_Fast_Print.inst.cfg | 2 +- .../um3_bb0.4_PLA_Fast_Print.inst.cfg | 2 +- .../um3_bb0.4_PLA_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.4_PVA_Draft_Print.inst.cfg | 2 +- .../um3_bb0.4_PVA_Fast_Print.inst.cfg | 2 +- .../um3_bb0.4_PVA_High_Quality.inst.cfg | 2 +- .../um3_bb0.4_PVA_Normal_Quality.inst.cfg | 2 +- .../um3_bb0.4_TPU_Fast_Print.inst.cfg | 2 +- .../um3_bb0.4_TPU_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.8_ABS_Fast_Print.inst.cfg | 2 +- .../um3_bb0.8_ABS_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.8_CPEP_Fast_Print.inst.cfg | 2 +- .../um3_bb0.8_CPEP_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.8_CPE_Fast_Print.inst.cfg | 2 +- .../um3_bb0.8_CPE_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.8_Nylon_Fast_Print.inst.cfg | 2 +- .../um3_bb0.8_Nylon_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.8_PC_Fast_Print.inst.cfg | 2 +- .../um3_bb0.8_PC_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.8_PLA_Fast_Print.inst.cfg | 2 +- .../um3_bb0.8_PLA_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.8_PVA_Draft_Print.inst.cfg | 2 +- .../um3_bb0.8_PVA_Superdraft_Print.inst.cfg | 2 +- .../um3_bb0.8_PVA_Verydraft_Print.inst.cfg | 2 +- .../um3_bb0.8_TPU_Fast_print.inst.cfg | 2 +- .../um3_bb0.8_TPU_Superdraft_Print.inst.cfg | 2 +- .../um3_global_Draft_Quality.inst.cfg | 2 +- .../um3_global_Fast_Quality.inst.cfg | 2 +- .../um3_global_High_Quality.inst.cfg | 2 +- .../um3_global_Normal_Quality.inst.cfg | 2 +- .../um3_global_Superdraft_Quality.inst.cfg | 2 +- .../um3_global_Verydraft_Quality.inst.cfg | 2 +- 239 files changed, 609 insertions(+), 609 deletions(-) diff --git a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg index aa73d04f4a..b002ef1e4d 100644 --- a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg @@ -1,22 +1,22 @@ -[general] -version = 2 -name = Fine -definition = abax_pri3 - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal -setting_version = 1 - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 80 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_pri3 + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 80 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg index 9b2af23ffc..38036404d9 100644 --- a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg @@ -1,22 +1,22 @@ -[general] -version = 2 -name = Extra Fine -definition = abax_pri3 - -[metadata] -type = quality -material = generic_pla -weight = 1 -quality_type = high -setting_version = 1 - -[values] -layer_height = 0.1 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Extra Fine +definition = abax_pri3 + +[metadata] +type = quality +material = generic_pla +weight = 1 +quality_type = high +setting_version = 2 + +[values] +layer_height = 0.1 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg index 0b566a7ae0..02d564e8cb 100644 --- a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg @@ -1,22 +1,22 @@ -[general] -version = 2 -name = Fine -definition = abax_pri3 - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal -setting_version = 1 - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_pri3 + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg index 7729ae3772..23baec151b 100644 --- a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg @@ -1,22 +1,22 @@ -[general] -version = 2 -name = Fine -definition = abax_pri5 - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal -setting_version = 1 - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 80 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_pri5 + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 80 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg index 04f4e82604..d7996f9578 100644 --- a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg @@ -1,22 +1,22 @@ -[general] -version = 2 -name = Extra Fine -definition = abax_pri5 - -[metadata] -type = quality -material = generic_pla -weight = 1 -quality_type = high -setting_version = 1 - -[values] -layer_height = 0.1 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Extra Fine +definition = abax_pri5 + +[metadata] +type = quality +material = generic_pla +weight = 1 +quality_type = high +setting_version = 2 + +[values] +layer_height = 0.1 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg index 3f3dd7a1e3..a0cc6dc00c 100644 --- a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg @@ -1,22 +1,22 @@ -[general] -version = 2 -name = Fine -definition = abax_pri5 - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal -setting_version = 1 - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_pri5 + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg index 5fae85c117..2208ad2fb5 100644 --- a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg @@ -1,22 +1,22 @@ -[general] -version = 2 -name = Fine -definition = abax_titan - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal -setting_version = 1 - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 80 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_titan + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 80 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_titan/atitan_pla_high.inst.cfg b/resources/quality/abax_titan/atitan_pla_high.inst.cfg index 71c42fbdb7..91a3bffea6 100644 --- a/resources/quality/abax_titan/atitan_pla_high.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_high.inst.cfg @@ -1,21 +1,21 @@ -[general] -version = 2 -name = Extra Fine -definition = abax_titan -[metadata] -type = quality -material = generic_pla -weight = 1 -quality_type = high -setting_version = 1 - -[values] -layer_height = 0.1 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Extra Fine +definition = abax_titan +[metadata] +type = quality +material = generic_pla +weight = 1 +quality_type = high +setting_version = 2 + +[values] +layer_height = 0.1 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg index 2ae819ed50..4ff47e9c65 100644 --- a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg @@ -1,22 +1,22 @@ -[general] -version = 2 -name = Fine -definition = abax_titan - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal -setting_version = 1 - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_titan + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg index 1c5a222dad..482cad643f 100644 --- a/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_abs_175_cartesio_0.25_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg index 2a7be1ac2b..a86f734c8a 100644 --- a/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_abs_175_cartesio_0.25_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg index 0a47ae7697..4e1ccb5070 100644 --- a/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_abs_175_cartesio_0.4_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg index ccbb2224c7..1422663537 100644 --- a/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_abs_175_cartesio_0.4_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg index 8d227fd862..edd337bb88 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_abs_175_cartesio_0.8_mm weight = 3 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg index b8db42401d..78493a273b 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_abs_175_cartesio_0.8_mm weight = 4 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg index 4025bc2cb2..ecd04d5c34 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_abs_175_cartesio_0.8_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg index 1f38a69781..393a419cdc 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_abs_175_cartesio_0.8_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg index cf7774445b..3a430b85e7 100644 --- a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg +++ b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = dsm_arnitel2045_175_cartesio_0.4_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg index 4896cfe40a..f899082e9c 100644 --- a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg +++ b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = dsm_arnitel2045_175_cartesio_0.4_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg index 572c56ee54..f44b33b1d1 100644 --- a/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse global_quality = True weight = 0 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.4 diff --git a/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg index fcbaa7be70..6b0a379eb2 100644 --- a/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse global_quality = True weight = 0 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.6 diff --git a/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg index 746711a4ff..944f8a1d97 100644 --- a/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high global_quality = True weight = 0 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.1 diff --git a/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg index 9796092dac..c0d1a301f3 100644 --- a/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal global_quality = True weight = 0 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg index 184b097ee8..fa41da66e4 100644 --- a/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_hips_175_cartesio_0.25_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg index 3f5db2473a..af419719b1 100644 --- a/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_hips_175_cartesio_0.25_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg index ee21935f5b..6046eb961f 100644 --- a/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_hips_175_cartesio_0.4_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg index 3aace85864..e26fcaa037 100644 --- a/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_hips_175_cartesio_0.4_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg index 3c40ebd38a..d7d1d8aa4d 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_hips_175_cartesio_0.8_mm weight = 3 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg index 6fe684dde6..68c282fd7d 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_hips_175_cartesio_0.8_mm weight = 4 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg index 90020ffa3e..abbf605017 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_hips_175_cartesio_0.8_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg index 257389662a..1388e9bee1 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_hips_175_cartesio_0.8_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg index babe2ef7e9..363c48a6cc 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_nylon_175_cartesio_0.25_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg index e0380da0f0..73c1d7010b 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_nylon_175_cartesio_0.25_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg index 6a99be39f8..ff90fc1be0 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_nylon_175_cartesio_0.4_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg index fcb2ec7b45..89114b1a79 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_nylon_175_cartesio_0.4_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg index b54a087e2b..5a35735d11 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_nylon_175_cartesio_0.8_mm weight = 3 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg index 845764a3de..4a20f2e0e7 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_nylon_175_cartesio_0.8_mm weight = 4 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg index 8ac54aaca2..69dee77e5d 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_nylon_175_cartesio_0.8_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg index 2635dc18a7..34c0d66899 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_nylon_175_cartesio_0.8_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg index 47db068af9..6abdf096f9 100644 --- a/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pc_175_cartesio_0.25_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg index 256f3237ea..0361b789ba 100644 --- a/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pc_175_cartesio_0.25_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg index 345ecea394..1a72f6fd2d 100644 --- a/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pc_175_cartesio_0.4_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg index ff3d5f2de2..11723cc92b 100644 --- a/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pc_175_cartesio_0.4_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg index e57f5eaca2..070f73fa0e 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_pc_175_cartesio_0.8_mm weight = 3 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg index 73d2084610..26662accf5 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_pc_175_cartesio_0.8_mm weight = 4 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg index d942415e64..b3da7afb1b 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pc_175_cartesio_0.8_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg index 2c1ddf6ec5..a30c4ea884 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pc_175_cartesio_0.8_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg index 037456bc72..ed623e03bd 100644 --- a/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_petg_175_cartesio_0.25_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg index cbef9eb62a..11e55362ae 100644 --- a/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_petg_175_cartesio_0.25_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg index 4a4d8cf69f..01184e39ec 100644 --- a/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_petg_175_cartesio_0.4_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg index f2c69bdb88..d1fa4d40ca 100644 --- a/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_petg_175_cartesio_0.4_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg index 3fca8f0f72..f728848461 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_petg_175_cartesio_0.8_mm weight = 3 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg index c2f86afbf3..851b893a96 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_petg_175_cartesio_0.8_mm weight = 4 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg index 291cf071d7..d4cfc844bf 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_petg_175_cartesio_0.8_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg index 1c8bd403c9..2e7d86c378 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_petg_175_cartesio_0.8_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg index c7d0432443..ede3c0f1a3 100644 --- a/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pla_175_cartesio_0.25_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg index cf736a2d31..311d287cdc 100644 --- a/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pla_175_cartesio_0.25_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg index 816d0f0304..ff1e374da2 100644 --- a/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pla_175_cartesio_0.4_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg index cf78eafb6d..dfa47d2ebb 100644 --- a/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pla_175_cartesio_0.4_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg index fc8eec3fb5..a17454ba87 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_pla_175_cartesio_0.8_mm weight = 3 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg index fccb15ee29..3f4db2d40a 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_pla_175_cartesio_0.8_mm weight = 4 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg index da9515d387..94aedae655 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pla_175_cartesio_0.8_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg index 8992fc1e41..1071a139f9 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pla_175_cartesio_0.8_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg index ddd097875b..ca6e1ea2a5 100644 --- a/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pva_175_cartesio_0.25_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg index c83c6ca004..e074b1f1b7 100644 --- a/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pva_175_cartesio_0.25_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg index 0c6f6813ea..45c2eefd11 100644 --- a/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pva_175_cartesio_0.4_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg index 6b68aacc53..1e69f794a8 100644 --- a/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pva_175_cartesio_0.4_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg index 69e66a0171..2ac1aff331 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_pva_175_cartesio_0.8_mm weight = 3 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg index 1fb5c72cfc..14602d4e95 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_pva_175_cartesio_0.8_mm weight = 4 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg index cfdfdbc708..ad65765a83 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pva_175_cartesio_0.8_mm weight = 1 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg index f146874fb4..61eb2f89d9 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pva_175_cartesio_0.8_mm weight = 2 -setting_version = 1 +setting_version = 2 [values] infill_line_width = 0.9 diff --git a/resources/quality/coarse.inst.cfg b/resources/quality/coarse.inst.cfg index 7722e9d0ae..bdeda58626 100644 --- a/resources/quality/coarse.inst.cfg +++ b/resources/quality/coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse global_quality = True weight = -3 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.4 diff --git a/resources/quality/draft.inst.cfg b/resources/quality/draft.inst.cfg index 21a7c81d6c..15df2f2f08 100644 --- a/resources/quality/draft.inst.cfg +++ b/resources/quality/draft.inst.cfg @@ -9,7 +9,7 @@ type = quality quality_type = draft global_quality = True weight = -2 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/extra_coarse.inst.cfg b/resources/quality/extra_coarse.inst.cfg index 4c2bced7d2..921cfbb981 100644 --- a/resources/quality/extra_coarse.inst.cfg +++ b/resources/quality/extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = Extra coarse global_quality = True weight = -4 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.6 diff --git a/resources/quality/high.inst.cfg b/resources/quality/high.inst.cfg index d9965f0829..695d500198 100644 --- a/resources/quality/high.inst.cfg +++ b/resources/quality/high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high global_quality = True weight = 1 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg index 674ed17e44..2c0dc434ee 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg index e98c0a38ee..f9327873dd 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm_2-fans weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg index 2a947aceec..16ec2d9f1e 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg index 67078b9cde..3302402233 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm_2-fans weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg index c82d42120d..8ed78edfed 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg index 634b1219f7..845f03873d 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg index 9d1ece2ea9..b587b64fef 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg index 2cc8a57a73..c4a4b4f465 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg index c30943b4f2..7f2c4ce316 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg index 076d90334b..43bb14577b 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg index c8db03506a..253a3a2dc3 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = 2 quality_type = ultrahigh -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg index 01d5d601dd..8152b9a0c8 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = 2 quality_type = ultrahigh -setting_version = 1 +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/low.inst.cfg b/resources/quality/low.inst.cfg index 8c8200395b..466d741d5f 100644 --- a/resources/quality/low.inst.cfg +++ b/resources/quality/low.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = low global_quality = True weight = -1 -setting_version = 1 +setting_version = 2 [values] infill_sparse_density = 10 diff --git a/resources/quality/normal.inst.cfg b/resources/quality/normal.inst.cfg index b945e1e94f..0b4cec96d9 100644 --- a/resources/quality/normal.inst.cfg +++ b/resources/quality/normal.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal global_quality = True weight = 0 -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg b/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg index 187462b4e5..d5e02e6c71 100644 --- a/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg +++ b/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg @@ -7,7 +7,7 @@ definition = peopoly_moai type = quality weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] infill_sparse_density = 70 diff --git a/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg b/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg index 720b98b1b0..a3c4913e5f 100644 --- a/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg +++ b/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg @@ -7,7 +7,7 @@ definition = peopoly_moai type = quality weight = 2 quality_type = extra_high -setting_version = 1 +setting_version = 2 [values] infill_sparse_density = 70 diff --git a/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg b/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg index faad40dc70..a9c52b0c27 100644 --- a/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg +++ b/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg @@ -7,7 +7,7 @@ definition = peopoly_moai type = quality weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] infill_sparse_density = 70 diff --git a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg index e17051a56d..1a7bbc79a9 100644 --- a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.25_mm weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg index 19d09b9e5c..4618a37d2f 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg index 342629e87a..e5239e9a46 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.4_mm weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg index 9da2847b2a..2b4a47b99c 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] layer_height = 0.1 diff --git a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg index 1c65c2acb1..b6b2f1392f 100644 --- a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ material = generic_pla_ultimaker2_plus_0.6_mm type = quality weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg index 28de80d60f..23616e6b39 100644 --- a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ material = generic_pla_ultimaker2_plus_0.8_mm type = quality weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg index 946e524d87..20fa84d691 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.25_mm weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg index 0e0235184d..88eed9f9e8 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg index 302e3951d1..3af57d6a09 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.4_mm weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg index 028ee1c0ea..ca57521636 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] layer_height = 0.1 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg index 545b1e4776..b9232c850c 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg index 772fe1f8c8..b3c4ed84c1 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.8_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg index a9c64db3de..c8f82ea938 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.25_mm weight = -1 quality_type = high -setting_version = 1 +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg index d953b1e44b..e3bb676205 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg index db295419a1..73c613fd85 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.4_mm weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg index 0801789185..fa708fea78 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] layer_height = 0.1 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg index f57b4acd75..268fb9571f 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg index 0a5285dcf3..585680b387 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.8_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg index 8e3ee22877..25e1190d16 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.4_mm weight = -2 quality_type = draft -setting_version = 1 +setting_version = 2 [values] speed_wall_x = 25 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg index b43b6acbb1..f0dab0b80b 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] speed_wall_x = 30 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg index 9bd1597170..09f540395b 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.6_mm weight = -2 quality_type = draft -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg index a914f1f88a..055177e14e 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg index 020b50b61a..795867c59c 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.8_mm weight = -2 quality_type = draft -setting_version = 1 +setting_version = 2 [values] support_z_distance = 0.26 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg index ca84a137da..a40b30730d 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.8_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] support_z_distance = 0.26 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg index ff517a6bc0..569ddb69bf 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.25_mm weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg index 0dd6836896..740205d102 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.25_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg index 3c4748ecf7..143f8c1a71 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg index 6d94746c18..d406a8fa7f 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg index 6a00f13b8e..f3f9fddfbe 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.7 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg index 5a5c39fc2b..6810970eb5 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.7 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg index 4c8aea5b29..aaba4b8a50 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.8_mm weight = -2 quality_type = draft -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.75 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg index b959cb3189..fae14c8266 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.8_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.75 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg index d0b2daabb8..97b5446d10 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.25_mm weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] support_z_distance = 0.19 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg index 4b68931888..57101394b3 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.25_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] support_z_distance = 0.19 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg index 873fb92a37..334ca6fde2 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] speed_wall_x = 30 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg index 1b7ecd58b8..0d815cfdc3 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] speed_wall_x = 30 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg index c062bc9900..0e5cacbeac 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] speed_travel = 150 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg index d1edaa628b..3c7f0ef212 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] speed_travel = 150 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg index 4887d4ca43..280dafa128 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.8_mm weight = -2 quality_type = draft -setting_version = 1 +setting_version = 2 [values] support_z_distance = 0.26 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg index 9719ebec64..e79d3339f2 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.8_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] support_z_distance = 0.26 diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg index 864381cfa2..0aa08a65b8 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.25_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 supported = False [values] diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg index d174711666..558e314581 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg index af99ae18b0..668899184f 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg index 9279a752a2..f3db281962 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.6_mm weight = -2 quality_type = draft -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg index b9f07460c6..ffefbcf4c7 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg index 40650f71d6..380c54cbc4 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.8_mm weight = -2 quality_type = fast -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg index 11e7c0b08d..84a95eab17 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.8_mm weight = -3 quality_type = draft -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg index 36a8c479a7..afa7c89fd5 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_tpu_ultimaker2_plus_0.25_mm weight = 1 quality_type = high -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg index 00e4b59181..205cc25285 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_tpu_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.65 diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg index ed15c13f94..ab696e84bb 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_tpu_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast -setting_version = 1 +setting_version = 2 [values] support_xy_distance = 0.7 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 15fdb08c92..e9a2667261 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_abs_ultimaker3_AA_0.4 weight = -2 -setting_version = 1 +setting_version = 2 [values] machine_nozzle_cool_down_speed = 0.85 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 ada4357f2b..96099347bd 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 @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_abs_ultimaker3_AA_0.4 weight = -1 -setting_version = 1 +setting_version = 2 [values] cool_min_speed = 7 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 3582df61e1..47c3602277 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 @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_abs_ultimaker3_AA_0.4 weight = 1 -setting_version = 1 +setting_version = 2 [values] cool_min_speed = 12 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 25b9ed51b5..dcb29b48c6 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 @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_abs_ultimaker3_AA_0.4 weight = 0 -setting_version = 1 +setting_version = 2 [values] machine_nozzle_cool_down_speed = 0.85 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 44cd4540d5..2ae57b6333 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_cpe_plus_ultimaker3_AA_0.4 weight = -2 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True 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 a0d09c97c2..6fbc466b61 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 @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_cpe_plus_ultimaker3_AA_0.4 weight = -1 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True 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 ebd7cd2d07..58719ca037 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 @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_cpe_plus_ultimaker3_AA_0.4 weight = 1 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True 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 96cbc59a48..89dc4e5df5 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 @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_cpe_plus_ultimaker3_AA_0.4 weight = 0 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg index 2c18b4baea..354efee6ef 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_cpe_ultimaker3_AA_0.4 weight = -2 -setting_version = 1 +setting_version = 2 [values] material_print_temperature = =default_material_print_temperature + 10 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg index 0d3321f0a8..ceab77fc4f 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_cpe_ultimaker3_AA_0.4 weight = -1 -setting_version = 1 +setting_version = 2 [values] cool_min_speed = 7 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg index baa1e2e785..edfe91c8a1 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_cpe_ultimaker3_AA_0.4 weight = 1 -setting_version = 1 +setting_version = 2 [values] cool_min_speed = 12 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg index 4331fe5a0f..1487d476f0 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_cpe_ultimaker3_AA_0.4 weight = 0 -setting_version = 1 +setting_version = 2 [values] machine_nozzle_cool_down_speed = 0.85 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg index b748fd50c7..6d33e4298a 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_nylon_ultimaker3_AA_0.4 weight = -2 -setting_version = 1 +setting_version = 2 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg index b4e7b6ae83..189d8efbae 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_nylon_ultimaker3_AA_0.4 weight = -1 -setting_version = 1 +setting_version = 2 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg index 488415a75c..70a72beb50 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_nylon_ultimaker3_AA_0.4 weight = 1 -setting_version = 1 +setting_version = 2 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg index ec6c409d19..324300d11f 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_nylon_ultimaker3_AA_0.4 weight = 0 -setting_version = 1 +setting_version = 2 [values] adhesion_type = brim 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 aca060286b..a88e38b560 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 @@ -1,65 +1,65 @@ -[general] -version = 2 -name = Fast -definition = ultimaker3 - -[metadata] -type = quality -quality_type = draft -material = generic_pc_ultimaker3_AA_0.4 -weight = -2 -setting_version = 1 - -[values] -acceleration_enabled = True -acceleration_print = 4000 -adhesion_type = raft -brim_width = 20 -cool_fan_full_at_height = =layer_height_0 + layer_height -cool_fan_speed_max = 90 -cool_min_layer_time_fan_speed_max = 5 -cool_min_speed = 6 -infill_line_width = =round(line_width * 0.4 / 0.35, 2) -infill_overlap = 0 -infill_overlap_mm = 0.05 -infill_pattern = triangles -infill_wipe_dist = 0.1 -jerk_enabled = True -jerk_print = 25 -layer_height = 0.2 -machine_min_cool_heat_time_window = 15 -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 10 -material_initial_print_temperature = =material_print_temperature - 5 -material_print_temperature = =default_material_print_temperature + 10 -material_standby_temperature = 100 -multiple_mesh_overlap = 0 -ooze_shield_angle = 40 -prime_tower_enable = True -prime_tower_wipe_enabled = True -raft_airgap = 0.25 -raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 -retraction_hop = 2 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 -retraction_prime_speed = 15 -skin_overlap = 30 -speed_layer_0 = 25 -speed_print = 50 -speed_topbottom = 25 -speed_travel = 250 -speed_wall = =math.ceil(speed_print * 40 / 50) -speed_wall_0 = =math.ceil(speed_wall * 25 / 40) -support_bottom_distance = =support_z_distance -support_interface_density = 87.5 -support_interface_pattern = lines -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 -wall_0_inset = 0 -wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) -wall_thickness = 1.2 +[general] +version = 2 +name = Fast +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_pc_ultimaker3_AA_0.4 +weight = -2 +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_print = 4000 +adhesion_type = raft +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + layer_height +cool_fan_speed_max = 90 +cool_min_layer_time_fan_speed_max = 5 +cool_min_speed = 6 +infill_line_width = =round(line_width * 0.4 / 0.35, 2) +infill_overlap = 0 +infill_overlap_mm = 0.05 +infill_pattern = triangles +infill_wipe_dist = 0.1 +jerk_enabled = True +jerk_print = 25 +layer_height = 0.2 +machine_min_cool_heat_time_window = 15 +machine_nozzle_cool_down_speed = 0.85 +machine_nozzle_heat_up_speed = 1.5 +material_final_print_temperature = =material_print_temperature - 10 +material_initial_print_temperature = =material_print_temperature - 5 +material_print_temperature = =default_material_print_temperature + 10 +material_standby_temperature = 100 +multiple_mesh_overlap = 0 +ooze_shield_angle = 40 +prime_tower_enable = True +prime_tower_wipe_enabled = True +raft_airgap = 0.25 +raft_interface_thickness = =max(layer_height * 1.5, 0.225) +retraction_count_max = 80 +retraction_extrusion_window = 1 +retraction_hop = 2 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.8 +retraction_prime_speed = 15 +skin_overlap = 30 +speed_layer_0 = 25 +speed_print = 50 +speed_topbottom = 25 +speed_travel = 250 +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance +support_interface_density = 87.5 +support_interface_pattern = lines +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) +wall_thickness = 1.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 18b51bb319..242cca1ecf 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 @@ -1,64 +1,64 @@ -[general] -version = 2 -name = Normal -definition = ultimaker3 - -[metadata] -type = quality -quality_type = fast -material = generic_pc_ultimaker3_AA_0.4 -weight = -1 -setting_version = 1 - -[values] -acceleration_enabled = True -acceleration_print = 4000 -adhesion_type = raft -brim_width = 20 -cool_fan_full_at_height = =layer_height_0 + layer_height -cool_fan_speed_max = 85 -cool_min_layer_time_fan_speed_max = 5 -cool_min_speed = 7 -infill_line_width = =round(line_width * 0.4 / 0.35, 2) -infill_overlap_mm = 0.05 -infill_pattern = triangles -infill_wipe_dist = 0.1 -jerk_enabled = True -jerk_print = 25 -layer_height = 0.15 -machine_min_cool_heat_time_window = 15 -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 10 -material_initial_print_temperature = =material_print_temperature - 5 -material_print_temperature = =default_material_print_temperature + 10 -material_standby_temperature = 100 -multiple_mesh_overlap = 0 -ooze_shield_angle = 40 -prime_tower_enable = True -prime_tower_wipe_enabled = True -raft_airgap = 0.25 -raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 -retraction_hop = 2 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 -retraction_prime_speed = 15 -skin_overlap = 30 -speed_layer_0 = 25 -speed_print = 50 -speed_topbottom = 25 -speed_travel = 250 -speed_wall = =math.ceil(speed_print * 40 / 50) -speed_wall_0 = =math.ceil(speed_wall * 25 / 40) -support_bottom_distance = =support_z_distance -support_interface_density = 87.5 -support_interface_pattern = lines -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 -wall_0_inset = 0 -wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) -wall_thickness = 1.2 +[general] +version = 2 +name = Normal +definition = ultimaker3 + +[metadata] +type = quality +quality_type = fast +material = generic_pc_ultimaker3_AA_0.4 +weight = -1 +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_print = 4000 +adhesion_type = raft +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + layer_height +cool_fan_speed_max = 85 +cool_min_layer_time_fan_speed_max = 5 +cool_min_speed = 7 +infill_line_width = =round(line_width * 0.4 / 0.35, 2) +infill_overlap_mm = 0.05 +infill_pattern = triangles +infill_wipe_dist = 0.1 +jerk_enabled = True +jerk_print = 25 +layer_height = 0.15 +machine_min_cool_heat_time_window = 15 +machine_nozzle_cool_down_speed = 0.85 +machine_nozzle_heat_up_speed = 1.5 +material_final_print_temperature = =material_print_temperature - 10 +material_initial_print_temperature = =material_print_temperature - 5 +material_print_temperature = =default_material_print_temperature + 10 +material_standby_temperature = 100 +multiple_mesh_overlap = 0 +ooze_shield_angle = 40 +prime_tower_enable = True +prime_tower_wipe_enabled = True +raft_airgap = 0.25 +raft_interface_thickness = =max(layer_height * 1.5, 0.225) +retraction_count_max = 80 +retraction_extrusion_window = 1 +retraction_hop = 2 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.8 +retraction_prime_speed = 15 +skin_overlap = 30 +speed_layer_0 = 25 +speed_print = 50 +speed_topbottom = 25 +speed_travel = 250 +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance +support_interface_density = 87.5 +support_interface_pattern = lines +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) +wall_thickness = 1.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 f266323c33..51b025c7c6 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 @@ -1,65 +1,65 @@ -[general] -version = 2 -name = Extra Fine -definition = ultimaker3 - -[metadata] -type = quality -quality_type = high -material = generic_pc_ultimaker3_AA_0.4 -weight = 1 -setting_version = 1 - -[values] -acceleration_enabled = True -acceleration_print = 4000 -adhesion_type = raft -brim_width = 20 -cool_fan_full_at_height = =layer_height_0 + layer_height -cool_fan_speed_max = 50 -cool_min_layer_time_fan_speed_max = 5 -cool_min_speed = 8 -infill_line_width = =round(line_width * 0.4 / 0.35, 2) -infill_overlap = 0 -infill_overlap_mm = 0.05 -infill_pattern = triangles -infill_wipe_dist = 0.1 -jerk_enabled = True -jerk_print = 25 -layer_height = 0.06 -machine_min_cool_heat_time_window = 15 -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 10 -material_initial_print_temperature = =material_print_temperature - 5 -material_print_temperature = =default_material_print_temperature - 10 -material_standby_temperature = 100 -multiple_mesh_overlap = 0 -ooze_shield_angle = 40 -prime_tower_enable = True -prime_tower_wipe_enabled = True -raft_airgap = 0.25 -raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 -retraction_hop = 2 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 -retraction_prime_speed = 15 -skin_overlap = 30 -speed_layer_0 = 25 -speed_print = 50 -speed_topbottom = 25 -speed_travel = 250 -speed_wall = =math.ceil(speed_print * 40 / 50) -speed_wall_0 = =math.ceil(speed_wall * 25 / 40) -support_bottom_distance = =support_z_distance -support_interface_density = 87.5 -support_interface_pattern = lines -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 -wall_0_inset = 0 -wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) -wall_thickness = 1.2 +[general] +version = 2 +name = Extra Fine +definition = ultimaker3 + +[metadata] +type = quality +quality_type = high +material = generic_pc_ultimaker3_AA_0.4 +weight = 1 +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_print = 4000 +adhesion_type = raft +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + layer_height +cool_fan_speed_max = 50 +cool_min_layer_time_fan_speed_max = 5 +cool_min_speed = 8 +infill_line_width = =round(line_width * 0.4 / 0.35, 2) +infill_overlap = 0 +infill_overlap_mm = 0.05 +infill_pattern = triangles +infill_wipe_dist = 0.1 +jerk_enabled = True +jerk_print = 25 +layer_height = 0.06 +machine_min_cool_heat_time_window = 15 +machine_nozzle_cool_down_speed = 0.85 +machine_nozzle_heat_up_speed = 1.5 +material_final_print_temperature = =material_print_temperature - 10 +material_initial_print_temperature = =material_print_temperature - 5 +material_print_temperature = =default_material_print_temperature - 10 +material_standby_temperature = 100 +multiple_mesh_overlap = 0 +ooze_shield_angle = 40 +prime_tower_enable = True +prime_tower_wipe_enabled = True +raft_airgap = 0.25 +raft_interface_thickness = =max(layer_height * 1.5, 0.225) +retraction_count_max = 80 +retraction_extrusion_window = 1 +retraction_hop = 2 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.8 +retraction_prime_speed = 15 +skin_overlap = 30 +speed_layer_0 = 25 +speed_print = 50 +speed_topbottom = 25 +speed_travel = 250 +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance +support_interface_density = 87.5 +support_interface_pattern = lines +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) +wall_thickness = 1.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 86e6cb85e2..23449bcda2 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 @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pc_ultimaker3_AA_0.4 weight = 0 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True 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 89c7717ca8..46f043ce65 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_pla_ultimaker3_AA_0.4 weight = -2 -setting_version = 1 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height 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 a4507e5a2b..10a04ed47b 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 @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_pla_ultimaker3_AA_0.4 weight = -1 -setting_version = 1 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height 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 99cb9693d3..27d4b20815 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 @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pla_ultimaker3_AA_0.4 weight = 1 -setting_version = 1 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height 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 f3719a875c..94e82ede57 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 @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pla_ultimaker3_AA_0.4 weight = 0 -setting_version = 1 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height 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 8b5f0aa085..4228c718c6 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_pp_ultimaker3_AA_0.4 weight = -2 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True 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 de78433c78..850ead9120 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 @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_pp_ultimaker3_AA_0.4 weight = -1 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True 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 c15d2a4f49..e68f13364a 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 @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pp_ultimaker3_AA_0.4 weight = 0 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg index 6d878cd4b7..2ce06b2de2 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ type = quality quality_type = normal material = generic_pva_ultimaker3_AA_0.4 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg index 3ed8a5e13d..7450e7112d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_tpu_ultimaker3_AA_0.4 weight = -2 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg index 9f2b4cc718..2d07cd8b31 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_tpu_ultimaker3_AA_0.4 weight = -1 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg index f30e20cf14..1d8467482f 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_tpu_ultimaker3_AA_0.4 weight = 0 -setting_version = 1 +setting_version = 2 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg index 7dd0957b28..41dee1edf4 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_abs_ultimaker3_AA_0.8 weight = -2 -setting_version = 1 +setting_version = 2 [values] line_width = =machine_nozzle_size * 0.875 diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg index 31b091e65d..d757ca32a0 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_abs_ultimaker3_AA_0.8 weight = -4 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.4 diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg index 100307250f..9f5fddf21b 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_abs_ultimaker3_AA_0.8 weight = -3 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.3 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 d40d9430d1..80b80978d1 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_cpe_plus_ultimaker3_AA_0.8 weight = -2 -setting_version = 1 +setting_version = 2 [values] brim_width = 14 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 c6eca25b0d..8a16b26682 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 @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_cpe_plus_ultimaker3_AA_0.8 weight = -4 -setting_version = 1 +setting_version = 2 [values] brim_width = 14 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 bb3cfbd9f4..bd5b8972b1 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 @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_cpe_plus_ultimaker3_AA_0.8 weight = -3 -setting_version = 1 +setting_version = 2 [values] brim_width = 14 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 354e1a2d08..d920d76417 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_cpe_ultimaker3_AA_0.8 weight = -2 -setting_version = 1 +setting_version = 2 [values] brim_width = 15 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 ad7306ed13..480d63a698 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 @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_cpe_ultimaker3_AA_0.8 weight = -4 -setting_version = 1 +setting_version = 2 [values] brim_width = 15 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 f3ce457682..c1d48f2555 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 @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_cpe_ultimaker3_AA_0.8 weight = -3 -setting_version = 1 +setting_version = 2 [values] brim_width = 15 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 09c95691d5..ec8ba37518 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_nylon_ultimaker3_AA_0.8 weight = -2 -setting_version = 1 +setting_version = 2 [values] brim_width = 5.6 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 75891c1be2..90f04b1e8a 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 @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_nylon_ultimaker3_AA_0.8 weight = -4 -setting_version = 1 +setting_version = 2 [values] brim_width = 5.6 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 9ac7ba8668..7980541f32 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 @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_nylon_ultimaker3_AA_0.8 weight = -3 -setting_version = 1 +setting_version = 2 [values] brim_width = 5.6 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg index 9ee1889620..18c82b1e2c 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_pc_ultimaker3_AA_0.8 weight = 0 -setting_version = 1 +setting_version = 2 [values] brim_width = 14 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg index 011c95a0a5..328c5d9f1d 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_pc_ultimaker3_AA_0.8 weight = -2 -setting_version = 1 +setting_version = 2 [values] brim_width = 14 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg index dbaa4806cb..27ecd7343f 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_pc_ultimaker3_AA_0.8 weight = -1 -setting_version = 1 +setting_version = 2 [values] brim_width = 14 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 58d1871d0d..c528a2523f 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_pla_ultimaker3_AA_0.8 weight = -2 -setting_version = 1 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height 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 7dcaabb562..f0f375c7ee 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 @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_pla_ultimaker3_AA_0.8 weight = -4 -setting_version = 1 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height 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 dc45dda559..aabdf1213d 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 @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_pla_ultimaker3_AA_0.8 weight = -3 -setting_version = 1 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height 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 e81a99b83d..8b85d6d7fb 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_pp_ultimaker3_AA_0.8 weight = -2 -setting_version = 1 +setting_version = 2 [values] brim_width = 25 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 2e23333042..f1042df045 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 @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_pp_ultimaker3_AA_0.8 weight = -4 -setting_version = 1 +setting_version = 2 [values] brim_width = 25 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 a0e643c5b5..2ddb591127 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 @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_pp_ultimaker3_AA_0.8 weight = -3 -setting_version = 1 +setting_version = 2 [values] brim_width = 25 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg index abbfe3f184..9da6595ec8 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ type = quality quality_type = normal material = generic_pva_ultimaker3_AA_0.8 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg index ddd2dd6ca9..ddecefa938 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ type = quality quality_type = superdraft material = generic_pva_ultimaker3_AA_0.8 supported = False -setting_version = 1 +setting_version = 2 [values] 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 1df3d49cd0..97deea6740 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_tpu_ultimaker3_AA_0.8 weight = -2 -setting_version = 1 +setting_version = 2 [values] brim_width = 8.75 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 106aa800b3..7871f330cc 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 @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_tpu_ultimaker3_AA_0.8 weight = -4 -setting_version = 1 +setting_version = 2 [values] brim_width = 8.75 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 66d6b3b77d..9da9e3945f 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 @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_tpu_ultimaker3_AA_0.8 weight = -3 -setting_version = 1 +setting_version = 2 [values] brim_width = 8.75 diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg index 31d74c33a6..c1271f68e8 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_abs_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg index 16cc6c76b7..3d4843a07a 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_abs_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg index ef3ae39c9a..355b9fd390 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_cpe_plus_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg index f6a5338f41..3b5c086e13 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_cpe_plus_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg index 4c05ed019e..695185da03 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_cpe_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg index 9401ac061d..4cd4dd4c18 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_cpe_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg index b2db6334c0..29f550fe59 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_nylon_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg index ac99f78d04..c40458ecbe 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_nylon_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg index dfba41dfb6..78c4413c5e 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_pc_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg index 1b831fd1e2..1f0a724e55 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_pla_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg index 153ae27d12..6c84ab05a6 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_pla_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] 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 43bb096ebf..7b042d9375 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 @@ -8,7 +8,7 @@ type = quality quality_type = draft weight = -2 material = generic_pva_ultimaker3_BB_0.4 -setting_version = 1 +setting_version = 2 [values] material_print_temperature = =default_material_print_temperature + 10 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 c78833b867..0f78ea0860 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 @@ -8,7 +8,7 @@ weight = -1 type = quality quality_type = fast material = generic_pva_ultimaker3_BB_0.4 -setting_version = 1 +setting_version = 2 [values] material_print_temperature = =default_material_print_temperature + 5 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 b244b3b2da..7e335a01ae 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 @@ -8,7 +8,7 @@ weight = 1 type = quality quality_type = high material = generic_pva_ultimaker3_BB_0.4 -setting_version = 1 +setting_version = 2 [values] material_standby_temperature = 100 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 7896b5a57a..472b0ce51b 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 @@ -8,7 +8,7 @@ weight = 0 type = quality quality_type = normal material = generic_pva_ultimaker3_BB_0.4 -setting_version = 1 +setting_version = 2 [values] material_standby_temperature = 100 diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg index 106ef29f8e..f71989d851 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_tpu_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg index 95e0622c1a..13734f3947 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_tpu_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg index def07a3a80..55026ddcbc 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_abs_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg index fe4ec5bbc6..2b2aa5acd2 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_abs_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg index 279e1c9c89..1165d6ab2c 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_cpe_plus_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg index 3490da81a6..7a309e4abc 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_cpe_plus_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg index b70fe13061..97fc8408d0 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_cpe_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg index 137a651ddd..543ce9fcc6 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_cpe_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg index dfbf2754e2..3030decc57 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_nylon_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg index 9242228f50..ff2b83a685 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_nylon_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg index f206fd4368..30c55627fa 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_pc_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg index cb18b565d7..7496e68bf6 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_pc_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg index 223b5a06fe..2acbc9713a 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_pla_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg index a4f6a6dfeb..2c64ccef98 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_pla_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg index fd3a392a23..b19f9811a8 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft weight = -2 material = generic_pva_ultimaker3_BB_0.8 -setting_version = 1 +setting_version = 2 [values] material_print_temperature = =default_material_print_temperature + 5 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg index d987e3b61c..4d9f61e628 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft weight = -4 material = generic_pva_ultimaker3_BB_0.8 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.4 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg index 612e2a1de9..3b6bb267dc 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft weight = -3 material = generic_pva_ultimaker3_BB_0.8 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg index 84e5c6d3d3..17e2bf7ba1 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_tpu_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg index 222a4935d5..1369ee6d41 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_tpu_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 1 +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg index 2bca653fb7..e564a6ee56 100644 --- a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft global_quality = True weight = -2 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg index f8d869b65c..435d8cc84f 100644 --- a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast global_quality = True weight = -1 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg index 6deaf1127b..5917a4bd41 100644 --- a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high global_quality = True weight = 0 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg index 67dc2b4b1f..fd16913dcf 100644 --- a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal global_quality = True weight = 0 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.1 diff --git a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg index 1f095a71e4..a2ed2c55ff 100644 --- a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft global_quality = True weight = -4 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.4 diff --git a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg index 324e007653..0e12596a8d 100644 --- a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft global_quality = True weight = -3 -setting_version = 1 +setting_version = 2 [values] layer_height = 0.3 From 5bf080950ff9cb5f5f51dbac13df07ef91343545 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 14:07:42 +0200 Subject: [PATCH 81/94] Fix upgrade from 2.5 to 2.6 to 2.7 CURA-3975 - Set Preferences setting_version in CuraApplication so Preferences can get upgraded correctly - Fix upgrade script for 2.5 to 2.6 - Fix upgrade script for 2.6 to 2.7 which relies on the upgrade of 2.5 to 2.6 --- cura/CuraApplication.py | 4 +- .../VersionUpgrade25to26.py | 7 ++- .../VersionUpgrade26to27.py | 55 +++++++++++++++++-- .../VersionUpgrade26to27/__init__.py | 31 +++++++++++ 4 files changed, 91 insertions(+), 6 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 6321dbf670..c3477ed252 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -26,7 +26,6 @@ from UM.Settings.Validator import Validator from UM.Message import Message from UM.i18n import i18nCatalog from UM.Workspace.WorkspaceReader import WorkspaceReader -from UM.Platform import Platform from UM.Decorators import deprecated from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation @@ -268,6 +267,9 @@ class CuraApplication(QtApplication): with ContainerRegistry.getInstance().lockFile(): ContainerRegistry.getInstance().load() + # set the setting version for Preferences + Preferences.getInstance().setSettingVersion(CuraApplication.SettingVersion) + Preferences.getInstance().addPreference("cura/active_mode", "simple") Preferences.getInstance().addPreference("cura/categories_expanded", "") diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py index d3e22ba5d2..7d728884cb 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py @@ -61,8 +61,13 @@ class VersionUpgrade25to26(VersionUpgrade): parser["general"]["visible_settings"] = ";".join(new_visible_settings) #Change the version number in the file. + if "general" not in parser: + parser["general"] = {} parser.set("general", "version", "4") - parser.set("general", "setting_version", "1") + + if "metadata" not in parser: + parser["metadata"] = {} + parser.set("metadata", "setting_version", "1") #Re-serialise the file. output = io.StringIO() diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py b/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py index 38031765d5..e2d7817077 100644 --- a/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py @@ -87,6 +87,50 @@ class VersionUpgrade26to27(VersionUpgrade): setting_version = int(parser.get("metadata", "setting_version", fallback = 0)) return format_version * 1000000 + setting_version + ## Upgrades a preferences file from version 2.6 to 2.7. + # + # \param serialised The serialised form of a preferences file. + # \param filename The name of the file to upgrade. + def upgradePreferences(self, serialised, filename): + parser = configparser.ConfigParser(interpolation=None) + parser.read_string(serialised) + + # Update version numbers + if "general" not in parser: + parser["general"] = {} + parser["general"]["version"] = "4" + + if "metadata" not in parser: + parser["metadata"] = {} + parser["metadata"]["setting_version"] = "2" + + # Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] + + ## Upgrades a container file other than a container stack file from version 2.6 to 2.7. + # + # \param serialised The serialised form of a container file. + # \param filename The name of the file to upgrade. + def upgradeOtherContainer(self, serialised, filename): + parser = configparser.ConfigParser(interpolation=None) + parser.read_string(serialised) + + # Update version numbers + if "general" not in parser: + parser["general"] = {} + parser["general"]["version"] = "2" + + if "metadata" not in parser: + parser["metadata"] = {} + parser["metadata"]["setting_version"] = "2" + + # Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] + ## Upgrades a container stack from version 2.6 to 2.7. # # \param serialised The serialised form of a container stack. @@ -108,12 +152,15 @@ class VersionUpgrade26to27(VersionUpgrade): if not parser.has_section(each_section): parser.add_section(each_section) - # Change the version number in the file. - parser["metadata"]["setting_version"] = str(CuraApplication.SettingVersion) - - # Update version + # Update version numbers + if "general" not in parser: + parser["general"] = {} parser["general"]["version"] = "3" + if "metadata" not in parser: + parser["metadata"] = {} + parser["metadata"]["setting_version"] = "2" + # Re-serialise the file. output = io.StringIO() parser.write(output) diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py index 8ddf4aa7ea..b0c0d70ae2 100644 --- a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py @@ -14,6 +14,21 @@ def getMetaData(): # From To Upgrade function ("machine_stack", 3000000): ("machine_stack", 3000002, upgrade.upgradeStack), ("extruder_train", 3000000): ("extruder_train", 3000002, upgrade.upgradeStack), + + # In 2.6.x, Preferences are saved with "version = 4" and no setting_version. + # This means those Preferences files will still be treated as "4.0" as defined in VersionUpgrade25to26, + # so the 25to26 upgrade routine will be called again. + # + # To fix this, we first fix the upgrade routine for 25to26 so it actually upgrades to "4.1", and then + # here we can upgrade from "4.1" to "4.2" safely. + # + ("preferences", 4000001): ("preferences", 4000002, upgrade.upgradePreferences), + # NOTE: All the instance containers share the same general/version, so we have to update all of them + # if any is updated. + ("quality_changes", 2000001): ("quality_changes", 2000002, upgrade.upgradeOtherContainer), + ("user", 2000001): ("user", 2000002, upgrade.upgradeOtherContainer), + ("quality", 2000001): ("quality", 2000002, upgrade.upgradeOtherContainer), + ("definition_changes", 2000001): ("definition_changes", 2000002, upgrade.upgradeOtherContainer), }, "sources": { "machine_stack": { @@ -24,6 +39,22 @@ def getMetaData(): "get_version": upgrade.getCfgVersion, "location": {"./extruders"} }, + "preferences": { + "get_version": upgrade.getCfgVersion, + "location": {"."} + }, + "quality_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, + "user": { + "get_version": upgrade.getCfgVersion, + "location": {"./user"} + }, + "definition_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./machine_instances"} + } } } From b4949a164c887ca09bd4d8e6ed34f124ec0430bd Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 14:17:01 +0200 Subject: [PATCH 82/94] WIP: Add temporary fix to make materials work with 2.7 version upgrade CURA-3975 This is a temporary fix to make materials work with 2.7 version upgrade because of the setting_version change from 1 to 2. This MUST be fixed after we have decided on how to determine the versions of an XMLMaterialProfile. --- plugins/XmlMaterialProfile/XmlMaterialProfile.py | 4 ++++ plugins/XmlMaterialProfile/XmlMaterialUpgrader.py | 4 ++++ plugins/XmlMaterialProfile/__init__.py | 2 ++ 3 files changed, 10 insertions(+) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 04fc09019b..9319280119 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -36,6 +36,10 @@ class XmlMaterialProfile(InstanceContainer): # \param xml_version: The version number found in an XML file. # \return The corresponding setting_version. def xmlVersionToSettingVersion(self, xml_version: str) -> int: + if xml_version == "1.3": + return 2 # FIXME & HACK: This is temporary hack. The setting_version has been increased in CuraApplication, + # but we haven't decided on how to determine the versions of an XMLMaterialProfile yet. + # This MUST be fixed after the decision has been made. if xml_version == "1.3": return 1 return 0 #Older than 1.3. diff --git a/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py b/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py index ad20a44c28..140c0712a3 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py +++ b/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py @@ -20,6 +20,10 @@ class XmlMaterialUpgrader(VersionUpgrade): return version * 1000000 + setting_version def _xmlVersionToSettingVersion(self, xml_version: str) -> int: + if xml_version == "1.3": + return 2 # FIXME & HACK: This is temporary hack. The setting_version has been increased in CuraApplication, + # but we haven't decided on how to determine the versions of an XMLMaterialProfile yet. + # This MUST be fixed after the decision has been made. if xml_version == "1.3": return 1 return 0 #Older than 1.3. diff --git a/plugins/XmlMaterialProfile/__init__.py b/plugins/XmlMaterialProfile/__init__.py index 63ec979fbd..3effe702be 100644 --- a/plugins/XmlMaterialProfile/__init__.py +++ b/plugins/XmlMaterialProfile/__init__.py @@ -20,6 +20,8 @@ def getMetaData(): }, "version_upgrade": { ("materials", 1000000): ("materials", 1000001, upgrader.upgradeMaterial), + # FIXME: This needs to be changed once we have decided on how to determine the versions + ("materials", 1000001): ("materials", 1000002, upgrader.upgradeMaterial), }, "sources": { "materials": { From b95426bee3f68904908d3b9ca32ef255466b8e22 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 14:32:59 +0200 Subject: [PATCH 83/94] Add setting_version for Preferences CURA-3975 --- cura/CuraApplication.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index c3477ed252..048973c5c4 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -268,7 +268,7 @@ class CuraApplication(QtApplication): ContainerRegistry.getInstance().load() # set the setting version for Preferences - Preferences.getInstance().setSettingVersion(CuraApplication.SettingVersion) + Preferences.getInstance().addPreference("metadata/setting_version", CuraApplication.SettingVersion) Preferences.getInstance().addPreference("cura/active_mode", "simple") From 071005541c4174e0eaea0a9a22d3e29825eeb13e Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Jul 2017 14:47:56 +0200 Subject: [PATCH 84/94] Use XMLMaterialProfile version tag to determine its version CURA-2724 --- plugins/XmlMaterialProfile/XmlMaterialProfile.py | 9 ++------- plugins/XmlMaterialProfile/XmlMaterialUpgrader.py | 6 +----- plugins/XmlMaterialProfile/__init__.py | 4 +--- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 9319280119..b6b3e0671c 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -12,9 +12,8 @@ from UM.Util import parseBool from cura.CuraApplication import CuraApplication import UM.Dictionary -from UM.Settings.InstanceContainer import InstanceContainer, InvalidInstanceError +from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.ContainerRegistry import ContainerRegistry -from cura.Settings.CuraContainerRegistry import CuraContainerRegistry ## Handles serializing and deserializing material containers from an XML file @@ -37,11 +36,7 @@ class XmlMaterialProfile(InstanceContainer): # \return The corresponding setting_version. def xmlVersionToSettingVersion(self, xml_version: str) -> int: if xml_version == "1.3": - return 2 # FIXME & HACK: This is temporary hack. The setting_version has been increased in CuraApplication, - # but we haven't decided on how to determine the versions of an XMLMaterialProfile yet. - # This MUST be fixed after the decision has been made. - if xml_version == "1.3": - return 1 + return 2 return 0 #Older than 1.3. def getInheritedFiles(self): diff --git a/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py b/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py index 140c0712a3..c93c476c2e 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py +++ b/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py @@ -21,11 +21,7 @@ class XmlMaterialUpgrader(VersionUpgrade): def _xmlVersionToSettingVersion(self, xml_version: str) -> int: if xml_version == "1.3": - return 2 # FIXME & HACK: This is temporary hack. The setting_version has been increased in CuraApplication, - # but we haven't decided on how to determine the versions of an XMLMaterialProfile yet. - # This MUST be fixed after the decision has been made. - if xml_version == "1.3": - return 1 + return 2 return 0 #Older than 1.3. def upgradeMaterial(self, serialised, filename): diff --git a/plugins/XmlMaterialProfile/__init__.py b/plugins/XmlMaterialProfile/__init__.py index 3effe702be..6ad4a279d0 100644 --- a/plugins/XmlMaterialProfile/__init__.py +++ b/plugins/XmlMaterialProfile/__init__.py @@ -19,9 +19,7 @@ def getMetaData(): "mimetype": "application/x-ultimaker-material-profile" }, "version_upgrade": { - ("materials", 1000000): ("materials", 1000001, upgrader.upgradeMaterial), - # FIXME: This needs to be changed once we have decided on how to determine the versions - ("materials", 1000001): ("materials", 1000002, upgrader.upgradeMaterial), + ("materials", 1000000): ("materials", 1000002, upgrader.upgradeMaterial), }, "sources": { "materials": { From ef89fab1269cc595fda15ea03d9760789efc3d29 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 6 Jul 2017 16:13:42 +0200 Subject: [PATCH 85/94] Fix spaces after comma according to code style Contributes to issue CURA-3587. --- resources/qml/Preferences/GeneralPage.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 92a768051e..260c23c4ba 100755 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -364,9 +364,9 @@ UM.PreferencesPage CheckBox { id: zoomToMouseCheckbox - text: catalog.i18nc("@action:button","Zoom toward mouse direction"); + text: catalog.i18nc("@action:button", "Zoom toward mouse direction"); checked: boolCheck(UM.Preferences.getValue("view/zoom_to_mouse")) - onClicked: UM.Preferences.setValue("view/zoom_to_mouse", checked) + onClicked: UM.Preferences.setValue("view/zoom_to_mouse", checked) } } From fc70715cd1ea3b45c7a188b0ad8a61c73cb31e05 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 7 Jul 2017 10:31:26 +0200 Subject: [PATCH 86/94] Fixed plugin installing for windows CURA-3856 --- plugins/PluginBrowser/PluginBrowser.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.py b/plugins/PluginBrowser/PluginBrowser.py index 3957fcb9a4..49405c4272 100644 --- a/plugins/PluginBrowser/PluginBrowser.py +++ b/plugins/PluginBrowser/PluginBrowser.py @@ -102,8 +102,10 @@ class PluginBrowser(QObject, Extension): self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) self._temp_plugin_file = tempfile.NamedTemporaryFile(suffix = ".curaplugin") self._temp_plugin_file.write(self._download_plugin_reply.readAll()) - - result = PluginRegistry.getInstance().installPlugin("file://" + self._temp_plugin_file.name) + location = self._temp_plugin_file.name + if not location.startswith("/"): + location = "/" + location # Ensure that it starts with a /, as otherwise it doesn't work on windows. + result = PluginRegistry.getInstance().installPlugin("file://" + location) self._newly_installed_plugin_ids.append(result["id"]) self.pluginsMetadataChanged.emit() From 44a22cbd3a6d501d22b8da8c72d554a02de06cbf Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 7 Jul 2017 10:41:44 +0200 Subject: [PATCH 87/94] Removed binding loops CURA-3856 --- plugins/PluginBrowser/PluginBrowser.qml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index fc9612a798..9c2ad1bc67 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -55,7 +55,7 @@ UM.Dialog { id: bottomBar width: parent.width - height: childrenRect.height + height: closeButton.height anchors.bottom:parent.bottom anchors.left: parent.left ProgressBar @@ -92,10 +92,11 @@ UM.Dialog Rectangle { width: pluginList.width; - height: childrenRect.height; + height: texts.height; color: index % 2 ? palette.base : palette.alternateBase Column { + id: texts width: parent.width height: childrenRect.height anchors.left: parent.left @@ -128,7 +129,6 @@ UM.Dialog anchors.rightMargin: UM.Theme.getSize("default_margin").width anchors.verticalCenter: parent.verticalCenter enabled: (!model.already_installed || model.can_upgrade) && !manager.isDownloading - } } From 8827b02020ca4478e7f2fc63b7c1ec4632b9f16b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 7 Jul 2017 10:48:25 +0200 Subject: [PATCH 88/94] Create persistent temporary file on Windows for plugins CURA-3856 --- plugins/PluginBrowser/PluginBrowser.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.py b/plugins/PluginBrowser/PluginBrowser.py index 49405c4272..ee1b8906da 100644 --- a/plugins/PluginBrowser/PluginBrowser.py +++ b/plugins/PluginBrowser/PluginBrowser.py @@ -100,9 +100,16 @@ class PluginBrowser(QObject, Extension): if new_progress == 100.0: self.setIsDownloading(False) self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) - self._temp_plugin_file = tempfile.NamedTemporaryFile(suffix = ".curaplugin") - self._temp_plugin_file.write(self._download_plugin_reply.readAll()) + + # must not delete the temporary file on Windows + self._temp_plugin_file = tempfile.NamedTemporaryFile(mode = "w+b", suffix = ".curaplugin", delete = False) location = self._temp_plugin_file.name + + # write first and close, otherwise on Windows, it cannot read the file + self._temp_plugin_file.write(self._download_plugin_reply.readAll()) + self._temp_plugin_file.close() + + # open as read if not location.startswith("/"): location = "/" + location # Ensure that it starts with a /, as otherwise it doesn't work on windows. result = PluginRegistry.getInstance().installPlugin("file://" + location) From 0a163439a492f5c6901cf19051988a7ea924282f Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 7 Jul 2017 12:03:05 +0200 Subject: [PATCH 89/94] Use system-style progress bar. --- plugins/PluginBrowser/PluginBrowser.qml | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index 9c2ad1bc67..e9b0fb6021 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -62,13 +62,11 @@ UM.Dialog { id: progressbar anchors.bottom: parent.bottom - style: UM.Theme.styles.progressbar minimumValue: 0; maximumValue: 100 anchors.left:parent.left anchors.right: closeButton.left anchors.rightMargin: UM.Theme.getSize("default_margin").width - height: 10 value: manager.downloadProgress } From 6b05bd21fbbaad3b70de1104991e4c56f48dc395 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 7 Jul 2017 12:11:54 +0200 Subject: [PATCH 90/94] Show why the download button is disabled --- plugins/PluginBrowser/PluginBrowser.qml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index e9b0fb6021..f9cff06898 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -67,7 +67,7 @@ UM.Dialog anchors.left:parent.left anchors.right: closeButton.left anchors.rightMargin: UM.Theme.getSize("default_margin").width - value: manager.downloadProgress + value: manager.isDownloading ? manager.downloadProgress : 0 } Button @@ -121,7 +121,18 @@ UM.Dialog Button { id: downloadButton - text: (model.already_installed && model.can_upgrade) ? catalog.i18nc("@action:button", "Upgrade") : catalog.i18nc("@action:button", "Download") + text: + { + if (model.already_installed) + { + if (model.can_upgrade) + { + return catalog.i18nc("@action:button", "Upgrade"); + } + return catalog.i18nc("@action:button", "Installed"); + } + return catalog.i18nc("@action:button", "Download"); + } onClicked: manager.downloadAndInstallPlugin(model.file_location) anchors.right: parent.right anchors.rightMargin: UM.Theme.getSize("default_margin").width From 6503b87a3a431b8e4d9b6d18c857784d0079568e Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 7 Jul 2017 12:30:58 +0200 Subject: [PATCH 91/94] Add a way to cancel a download and cancel download when closing the window --- plugins/PluginBrowser/PluginBrowser.py | 11 +++++++ plugins/PluginBrowser/PluginBrowser.qml | 42 ++++++++++++++++++++++--- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.py b/plugins/PluginBrowser/PluginBrowser.py index ee1b8906da..76d4b4d284 100644 --- a/plugins/PluginBrowser/PluginBrowser.py +++ b/plugins/PluginBrowser/PluginBrowser.py @@ -141,6 +141,17 @@ class PluginBrowser(QObject, Extension): self.setIsDownloading(True) self._download_plugin_reply.downloadProgress.connect(self._onDownloadPluginProgress) + @pyqtSlot() + def cancelDownload(self): + Logger.log("i", "user cancelled the download of a plugin") + self._download_plugin_reply.abort() + self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) + self._download_plugin_reply = None + self._download_plugin_request = None + + self.setDownloadProgress(0) + self.setIsDownloading(False) + @pyqtProperty(QObject, notify=pluginsMetadataChanged) def pluginsModel(self): if self._plugins_model is None: diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index f9cff06898..7d7ade5d95 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -33,6 +33,7 @@ UM.Dialog text: catalog.i18nc("@action:button", "Refresh") onClicked: manager.requestPluginList() anchors.right: parent.right + enabled: !manager.isDownloading } } ScrollView @@ -48,6 +49,7 @@ UM.Dialog model: manager.pluginsModel anchors.fill: parent + property var activePlugin delegate: pluginDelegate } } @@ -75,7 +77,14 @@ UM.Dialog id: closeButton text: catalog.i18nc("@action:button", "Close") iconName: "dialog-close" - onClicked: base.close() + onClicked: + { + if (manager.isDownloading) + { + manager.cancelDownload() + } + base.close(); + } anchors.bottom: parent.bottom anchors.right: parent.right } @@ -123,7 +132,11 @@ UM.Dialog id: downloadButton text: { - if (model.already_installed) + if (manager.isDownloading && pluginList.activePlugin == model) + { + return catalog.i18nc("@action:button", "Cancel"); + } + else if (model.already_installed) { if (model.can_upgrade) { @@ -133,11 +146,32 @@ UM.Dialog } return catalog.i18nc("@action:button", "Download"); } - onClicked: manager.downloadAndInstallPlugin(model.file_location) + onClicked: + { + if(!manager.isDownloading) + { + pluginList.activePlugin = model; + manager.downloadAndInstallPlugin(model.file_location); + } + else + { + manager.cancelDownload(); + } + } anchors.right: parent.right anchors.rightMargin: UM.Theme.getSize("default_margin").width anchors.verticalCenter: parent.verticalCenter - enabled: (!model.already_installed || model.can_upgrade) && !manager.isDownloading + enabled: + { + if (manager.isDownloading) + { + return (pluginList.activePlugin == model); + } + else + { + return (!model.already_installed || model.can_upgrade); + } + } } } From e7eaeb41bdeaf8db4dc87213e9c78aa538d1fc7b Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 30 Jun 2017 18:22:08 +0200 Subject: [PATCH 92/94] setting: spaghetti_infill_extra_volume (CURA-3987) --- resources/definitions/fdmprinter.def.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 9dac40f4e8..6c86ce9912 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4982,6 +4982,19 @@ "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, + "spaghetti_infill_extra_volume": + { + "label": "Spaghetti Infill Extra Volume", + "description": "A correction term to adjust the total volume being extruded each time when filling spaghetti.", + "unit": "mm³", + "type": "float", + "default_value": 0, + "minimum_value_warning": "0", + "maximum_value_warning": "100", + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, "support_conical_enabled": { "label": "Enable Conical Support", From d277b168070e251740798a4dbde89439b1b53ec1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 7 Jul 2017 13:08:28 +0200 Subject: [PATCH 93/94] Capitalise '3D' 3d looks ugly to me. --- resources/qml/SaveButton.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index 411da0c392..2ea7dafc91 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2015 Ultimaker B.V. +// Copyright (c) 2017 Ultimaker B.V. // Cura is released under the terms of the AGPLv3 or higher. import QtQuick 2.2 @@ -24,7 +24,7 @@ Item { { if(!activity) { - return catalog.i18nc("@label:PrintjobStatus", "Please load a 3d model"); + return catalog.i18nc("@label:PrintjobStatus", "Please load a 3D model"); } switch(base.backendState) From 4edd91de231e847d5f8a35c23a8aad96ba299dfb Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 7 Jul 2017 13:37:02 +0200 Subject: [PATCH 94/94] Fig passing signals to topbar Topbar is now in the lead on whether the print monitor should be shown or not. As it should be. Contributes to issue CURA-4010. --- resources/qml/Cura.qml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index b1e5c8f2f2..2c76bb0914 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2015 Ultimaker B.V. +// Copyright (c) 2017 Ultimaker B.V. // Cura is released under the terms of the AGPLv3 or higher. import QtQuick 2.2 @@ -25,7 +25,14 @@ UM.MainWindow target: Printer onShowPrintMonitor: { - base.showPrintMonitor = show; + if (show) + { + topbar.startMonitoringPrint() + } + else + { + topbar.stopMonitoringPrint() + } } }