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

Cura 7199 remove spaghetti infill
This commit is contained in:
Jelle Spijker 2020-07-02 15:12:54 +02:00 committed by GitHub
commit e8f0d41d29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 101 deletions

2
.gitignore vendored
View File

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

View File

@ -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:

View File

@ -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",

View File

@ -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