Browse Source

Merge pull request #7995 from Ultimaker/CURA-7199_remove_spaghetti_infill

Cura 7199 remove spaghetti infill
Jelle Spijker 4 years ago
parent
commit
e8f0d41d29

+ 2 - 0
.gitignore

@@ -78,3 +78,5 @@ CuraEngine
 
 #Prevents import failures when plugin running tests
 plugins/__init__.py
+
+/venv

+ 20 - 3
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)
@@ -77,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:

+ 6 - 92
resources/definitions/fdmprinter.def.json

@@ -1817,7 +1817,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
                 },
@@ -1828,7 +1828,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
                 },
@@ -1899,9 +1899,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
                 },
@@ -1913,8 +1913,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
                 },
@@ -6585,92 +6585,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",

+ 0 - 7
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