From 5bf1f34b34bd18037c6dd9857690630ba753e29d Mon Sep 17 00:00:00 2001 From: jelle Spijker Date: Mon, 29 Jun 2020 12:46:06 +0200 Subject: [PATCH 1/4] Removed spaghetti infill settings Removed the settings themself and their usage in various other settings. Part of CURA-7199 --- resources/definitions/fdmprinter.def.json | 98 ++--------------------- 1 file changed, 6 insertions(+), 92 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index babd4cca3e..5e46a35267 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1816,7 +1816,7 @@ "type": "int", "minimum_value": "1", "maximum_value_warning": "infill_line_distance / infill_line_width", - "enabled": "infill_sparse_density > 0 and not spaghetti_infill_enabled and infill_pattern != 'zigzag'", + "enabled": "infill_sparse_density > 0 and infill_pattern != 'zigzag'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1827,7 +1827,7 @@ "default_value": 0, "type": "int", "minimum_value": "0", - "enabled": "infill_sparse_density > 0 and not spaghetti_infill_enabled", + "enabled": "infill_sparse_density > 0", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1898,9 +1898,9 @@ "default_value": 0.1, "minimum_value": "resolveOrValue('layer_height') / 2 if infill_line_distance > 0 else -999999", "maximum_value_warning": "0.75 * machine_nozzle_size", - "maximum_value": "resolveOrValue('layer_height') * (1.45 if spaghetti_infill_enabled else 8) if infill_line_distance > 0 else 999999", + "maximum_value": "resolveOrValue('layer_height') * 8 if infill_line_distance > 0 else 999999", "value": "resolveOrValue('layer_height')", - "enabled": "infill_sparse_density > 0 and not spaghetti_infill_enabled", + "enabled": "infill_sparse_density > 0", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1912,8 +1912,8 @@ "type": "int", "minimum_value": "0", "maximum_value_warning": "1 if (infill_pattern == 'cross' or infill_pattern == 'cross_3d' or support_pattern == 'concentric') else 5", - "maximum_value": "0 if spaghetti_infill_enabled else (999999 if infill_line_distance == 0 else (20 - math.log(infill_line_distance) / math.log(2)))", - "enabled": "infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv' and not spaghetti_infill_enabled", + "maximum_value": "999999 if infill_line_distance == 0 else (20 - math.log(infill_line_distance) / math.log(2))", + "enabled": "infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -6584,92 +6584,6 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "spaghetti_infill_enabled": - { - "label": "Spaghetti Infill", - "description": "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable.", - "type": "bool", - "default_value": false, - "enabled": "infill_sparse_density > 0", - "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", - "description": "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer.", - "unit": "°", - "type": "float", - "default_value": 10, - "minimum_value": "0", - "maximum_value": "90", - "maximum_value_warning": "45", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled and spaghetti_infill_stepped", - "limit_to_extruder": "infill_extruder_nr", - "settable_per_mesh": true - }, - "spaghetti_max_height": - { - "label": "Spaghetti Infill Maximum Height", - "description": "The maximum height of inside space which can be combined and filled from the top.", - "unit": "mm", - "type": "float", - "default_value": 2.0, - "minimum_value": "layer_height", - "maximum_value_warning": "10.0", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled and spaghetti_infill_stepped", - "limit_to_extruder": "infill_extruder_nr", - "settable_per_mesh": true - }, - "spaghetti_inset": - { - "label": "Spaghetti Inset", - "description": "The offset from the walls from where the spaghetti infill will be printed.", - "unit": "mm", - "type": "float", - "default_value": 0.2, - "minimum_value_warning": "0", - "maximum_value_warning": "5.0", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", - "limit_to_extruder": "infill_extruder_nr", - "settable_per_mesh": true - }, - "spaghetti_flow": - { - "label": "Spaghetti Flow", - "description": "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill.", - "unit": "%", - "type": "float", - "default_value": 20, - "minimum_value": "0", - "maximum_value_warning": "100", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", - "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 7d0a05176fef490987727b7f8f17815baf3f487e Mon Sep 17 00:00:00 2001 From: jelle Spijker Date: Mon, 29 Jun 2020 12:47:16 +0200 Subject: [PATCH 2/4] Removed spaghetti related settings from expert view Part of CURA-7199 --- resources/setting_visibility/expert.cfg | 7 ------- 1 file changed, 7 deletions(-) diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index 8ab532db8c..a5619ae784 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -378,13 +378,6 @@ coasting_volume coasting_min_volume coasting_speed cross_infill_pocket_size -spaghetti_infill_enabled -spaghetti_infill_stepped -spaghetti_max_infill_angle -spaghetti_max_height -spaghetti_inset -spaghetti_flow -spaghetti_infill_extra_volume support_conical_enabled support_conical_angle support_conical_min_width From 8af4e0d05ad441f2de597b5e78afeff115c70a37 Mon Sep 17 00:00:00 2001 From: jelle Spijker Date: Mon, 29 Jun 2020 16:07:34 +0200 Subject: [PATCH 3/4] Remove spaghetti settings from 462 visible_settings when upgrading Part of CURA-7199 --- .gitignore | 2 ++ .../VersionUpgrade462to47.py | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0c3004a7ec..2b1cfc37e0 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,5 @@ CuraEngine #Prevents import failures when plugin running tests plugins/__init__.py + +/venv diff --git a/plugins/VersionUpgrade/VersionUpgrade462to47/VersionUpgrade462to47.py b/plugins/VersionUpgrade/VersionUpgrade462to47/VersionUpgrade462to47.py index 7bee545c16..e5fa05bd24 100644 --- a/plugins/VersionUpgrade/VersionUpgrade462to47/VersionUpgrade462to47.py +++ b/plugins/VersionUpgrade/VersionUpgrade462to47/VersionUpgrade462to47.py @@ -2,7 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. import configparser -from typing import Tuple, List, Dict +from typing import Tuple, List, Dict, Set import io from UM.VersionUpgrade import VersionUpgrade @@ -10,8 +10,17 @@ from UM.VersionUpgrade import VersionUpgrade # Renamed definition files _RENAMED_DEFINITION_DICT = { "dagoma_discoeasy200": "dagoma_discoeasy200_bicolor", -} # type: Dict[str, str] +} # type: Dict[str, str] +_removed_settings = { + "spaghetti_infill_enabled", + "spaghetti_infill_stepped", + "spaghetti_max_infill_angle", + "spaghetti_max_height", + "spaghetti_inset", + "spaghetti_flow", + "spaghetti_infill_extra_volume" +} # type: Set[str] class VersionUpgrade462to47(VersionUpgrade): def upgradePreferences(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: @@ -27,6 +36,11 @@ class VersionUpgrade462to47(VersionUpgrade): # Update version number. parser["metadata"]["setting_version"] = "15" + + # Remove deleted settings from the visible settings list. + if "general" in parser and "visible_settings" in parser["general"]: + parser["general"]["visible_settings"] = ";".join( + set(parser["general"]["visible_settings"].split(";")).difference(_removed_settings)) result = io.StringIO() parser.write(result) From d31c7407ee32ce12d364c4d3ab453871fb88e10f Mon Sep 17 00:00:00 2001 From: jelle Spijker Date: Tue, 30 Jun 2020 15:10:26 +0200 Subject: [PATCH 4/4] Delete removed settings from profiles when upgrading Part of CURA-7199 --- .../VersionUpgrade462to47/VersionUpgrade462to47.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/VersionUpgrade/VersionUpgrade462to47/VersionUpgrade462to47.py b/plugins/VersionUpgrade/VersionUpgrade462to47/VersionUpgrade462to47.py index e5fa05bd24..a167c9917e 100644 --- a/plugins/VersionUpgrade/VersionUpgrade462to47/VersionUpgrade462to47.py +++ b/plugins/VersionUpgrade/VersionUpgrade462to47/VersionUpgrade462to47.py @@ -91,6 +91,9 @@ class VersionUpgrade462to47(VersionUpgrade): correction = " + skin_line_width * (1.0 - ironing_flow / 100) / 2" ironing_inset = "=(" + ironing_inset + ")" + correction parser["values"]["ironing_inset"] = ironing_inset + + for removed in set(parser["values"].keys()).intersection(_removed_settings): + del parser["values"][removed] # Check renamed definitions if "definition" in parser["general"] and parser["general"]["definition"] in _RENAMED_DEFINITION_DICT: