From 373555fa4a16eafbec5e9986d1f88d837af204d1 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Wed, 28 Feb 2018 16:26:11 +0100 Subject: [PATCH 1/4] settings for infill support --- resources/definitions/fdmprinter.def.json | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index fc8395a8dc..4ab08d2f24 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1807,6 +1807,30 @@ "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, + "infill_support_enabled": + { + "label": "Infill Support", + "description": "Print infill structures only where tops of the model should be supported. Enabling this reduces print time and material usage, but leads to ununiform object strength.", + "type": "bool", + "default_value": false, + "enabled": "infill_sparse_density > 0", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, + "infill_support_angle": + { + "label": "Infill Overhang Angle", + "description": "The minimum angle of internal overhangs for which infill is added. At a value of 0° objects are totally filled with infill, 90° will not provide any infill.", + "unit": "°", + "type": "float", + "minimum_value": "0", + "minimum_value_warning": "2", + "maximum_value": "90", + "default_value": 40, + "enabled": "infill_sparse_density > 0 and infill_support_enabled", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, "skin_preshrink": { "label": "Skin Removal Width", From ab2503834bda73e51ce4950d91f5739f5ae9bdd2 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 29 May 2018 11:31:13 +0200 Subject: [PATCH 2/4] Remove Hollow Out Objects setting It has been replaced by Infill Support. Contributes to issue CURA-5108. --- resources/definitions/fdmprinter.def.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 4ab08d2f24..292748433e 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -5942,14 +5942,6 @@ "limit_to_extruder": "support_infill_extruder_nr", "settable_per_mesh": true }, - "infill_hollow": - { - "label": "Hollow Out Objects", - "description": "Remove all infill and make the inside of the object eligible for support.", - "type": "bool", - "default_value": false, - "settable_per_mesh": true - }, "magic_fuzzy_skin_enabled": { "label": "Fuzzy Skin", From db16a6275f43ce9a51326ea9ddcaa80f8ab3a4c9 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 29 May 2018 11:51:54 +0200 Subject: [PATCH 3/4] Add version upgrade for infill_hollow -> infill_support The functionality is more or less the same, so in an attempt to keep people's profiles as similar as possible we translate this setting to the newer implementation. --- .../VersionUpgrade33to34/VersionUpgrade33to34.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade33to34/VersionUpgrade33to34.py b/plugins/VersionUpgrade/VersionUpgrade33to34/VersionUpgrade33to34.py index 17abace547..16f17c5e36 100644 --- a/plugins/VersionUpgrade/VersionUpgrade33to34/VersionUpgrade33to34.py +++ b/plugins/VersionUpgrade/VersionUpgrade33to34/VersionUpgrade33to34.py @@ -6,6 +6,9 @@ import io #To serialise the preference files afterwards. from UM.VersionUpgrade import VersionUpgrade #We're inheriting from this. +_renamed_settings = { + "infill_hollow": "infill_support_enabled" +} ## Upgrades configurations from the state they were in at version 3.3 to the # state they should be in at version 3.4. @@ -38,6 +41,13 @@ class VersionUpgrade33to34(VersionUpgrade): # Update version number. parser["general"]["version"] = "4" + #Renamed settings. + if "values" in parser: + for original, replacement in _renamed_settings.items(): + if original in parser["value"]: + parser["value"][replacement] = parser["value"][original] + del parser["value"][original] + result = io.StringIO() parser.write(result) - return [filename], [result.getvalue()] + return [filename], [result.getvalue()] \ No newline at end of file From 0d89240bca0c57ac7d6d6486fca9ecc35248fce1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 29 May 2018 11:57:14 +0200 Subject: [PATCH 4/4] Copy support angle to infill support angle if used for hollow infill This keeps the new profile as close to the profile in the previous version as possible. Contributes to issue CURA-5108. --- .../VersionUpgrade33to34/VersionUpgrade33to34.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade33to34/VersionUpgrade33to34.py b/plugins/VersionUpgrade/VersionUpgrade33to34/VersionUpgrade33to34.py index 16f17c5e36..e2241fd195 100644 --- a/plugins/VersionUpgrade/VersionUpgrade33to34/VersionUpgrade33to34.py +++ b/plugins/VersionUpgrade/VersionUpgrade33to34/VersionUpgrade33to34.py @@ -41,12 +41,16 @@ class VersionUpgrade33to34(VersionUpgrade): # Update version number. parser["general"]["version"] = "4" - #Renamed settings. if "values" in parser: + #If infill_hollow was enabled and the overhang angle was adjusted, copy that overhang angle to the new infill support angle. + if "infill_hollow" in parser["values"] and parser["values"]["infill_hollow"] and "support_angle" in parser["values"]: + parser["values"]["infill_support_angle"] = parser["values"]["support_angle"] + + #Renamed settings. for original, replacement in _renamed_settings.items(): - if original in parser["value"]: - parser["value"][replacement] = parser["value"][original] - del parser["value"][original] + if original in parser["values"]: + parser["values"][replacement] = parser["values"][original] + del parser["values"][original] result = io.StringIO() parser.write(result)