From 49603e2f1885efe98425b646dddcd9f40f889209 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 26 Oct 2016 15:28:50 +0200 Subject: [PATCH 01/12] Fix spelling Thesearetwowordssotheymusthaveaspacebetweenthem. Contributes to issue CURA-2755. --- plugins/ChangeLogPlugin/ChangeLog.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 9504ccf04f..8e026ef68c 100644 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -9,9 +9,8 @@ Fixed inheritance taking from the wrong extruder. Moved z-hop and extruder selection settings to a better category. [2.3.0] - *Speed improvements -The first thing you will notice is the speed. STL loading is now 10 to 20 times faster, layerview is significantly faster and slicing speed is slightly improved. +The first thing you will notice is the speed. STL loading is now 10 to 20 times faster, layer view is significantly faster and slicing speed is slightly improved. *Multi Extrusion Support Machines with multiple extruders are now supported. If you’ve got the Ultimaker Original with the dual extrusion upgrade kit, we’ve got you covered. From dfb557eb4161952890735d9051d46e116987ebca Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 26 Oct 2016 15:56:58 +0200 Subject: [PATCH 02/12] Correct change log of version 2.3.0 This is now updated with all that's on the website. In many cases, the wording of the Ultimaker website is also chosen, unless that wording was only to make it fit better within the style of that website. Contributes to issue CURA-2755. --- plugins/ChangeLogPlugin/ChangeLog.txt | 75 +++++++++++++++------------ 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 8e026ef68c..0f53063bf3 100644 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -13,7 +13,16 @@ Moved z-hop and extruder selection settings to a better category. The first thing you will notice is the speed. STL loading is now 10 to 20 times faster, layer view is significantly faster and slicing speed is slightly improved. *Multi Extrusion Support -Machines with multiple extruders are now supported. If you’ve got the Ultimaker Original with the dual extrusion upgrade kit, we’ve got you covered. +Machines with multiple extruders are now supported. Ultimaker 3 printers and Ultimaker Original printers with dual extrusion upgrade kit are currently supported. + +*Network Printing for Ultimaker 3 +Sending a print to an Ultimaker 3 remotely via the network is now possible. Requires Wi-Fi or LAN to connect to the printer. + +*Print Monitoring for Ultimaker 3 +You can monitor your print on an Ultimaker 3 with a live camera feed. Requires Wi-Fi or LAN to connect to the printer. + +*Material and Print Core Synchronization +Connecting to an Ultimaker 3 now gives you the option to synchronize the materials in Cura with what is loaded in the printer. *Custom Machine Support It’s now much easier to use Cura with custom machines. You can edit the machine settings when you load a new custom machine. @@ -29,7 +38,7 @@ Select an individual item in a group or merged object and edit as usual. Just Ct Profile management is improved. You can now easily see and track changes made to your profiles. *Improved Setting Visibility -Make multiple settings visible at once. The Visibility Overview setting indicates why a setting is not shown in the sidebar even if it is enabled. +Make multiple settings visible at the same time with a checkbox. The Visibility Overview setting indicates why a setting is not shown in the sidebar even if it is enabled. *Improved time estimation Time estimations are more accurate. Based on our test time estimations should be within 5% accuracy for Ultimaker printers. @@ -45,10 +54,10 @@ Configurations from older installations of Cura 2.1 are automatically imported i *Slicing features *Infill Types -We've introduced two new infill types: Tetrahedral and Cubic. They change along with the Z-axis for more uniform strength in all directions. There are now 7 infill types to choose from. +Two new infill types are now introduced: Tetrahedral and Cubic. They change along with the Z-axis for more uniform strength in all directions. There are now seven infill types to choose from. *Gradual Infill -Now you can change the density of the infill based on the distance from the top layers. Your objects print faster, use less material, while top surfaces have the same quality. +Gradual infill lets users adjust infill density, based on the distance from the top layers. This offers faster printing and reduced material requirements, whilst maintaining surface quality. *Set Acceleration and Jerk by Feature You can now set Jerk and Acceleration by feature-type (infill, walls, top/bottom, etc), for more precision. @@ -65,7 +74,7 @@ Can’t avoid previously printed parts by horizontal moves? The Z Hop Only Over *Skin and Wall Overlap The Skin Overlap setting allows you to overlap the skin lines with the walls for better adhesion. -*Control Initial Layer Travel Speed +*Adjust Initial Layer Travel Speed Set the travel speed of the initial layer(s) to reduce risk of extruder pulling the print from the bed. *Support Interface @@ -75,39 +84,39 @@ It is now possible to print a support bottom as well as a support roof. Support Deleting grouped objects Duplicating groups Bridging -Drag and drop on the first run on Windows +Drag and drop (first Windows run) Unretraction speeds Bottom layer in Spiralize mode Overlap Compensation -Retractions on Raft -Retractions now occur after each object printed in one-at-a-time mode. -Rafts are no longer printed outside of build area. -Spiralize no longer only spiralizes the first printed segment only. -Line distance is now the actual line distance. -Enabling raft doesn’t influence at which height the model is sliced any more. -Brim is now always printed just once. -Support roofs now only occur just below overhang. +Raft retractions +Retractions now occur after each object printed in one-at-a-time mode +Rafts are no longer printed outside of build area +Spiralize no longer limited to the first printed segment only +Line distance is now the actual line distance +Enabling raft doesn’t influence at which height the model is sliced any more +Brim is now always printed just once +Support roofs now only occur just below overhang *Minor changes -Messages are now displayed 30 seconds instead of 10, making it less likely that certain messages are missed. -You are now notified if you try to save to a locked SD card. -Engine log is now included in the application log. -Undo and Redo now work correctly with multiple operations. -The last used folder is now remembered (instead of defaulting to home folder). -Import X3D files. -Made it possible to add multiple Per Model Settings at once. -Bed Level and Checkup procedures for UMO+ can now be done without re-adding machine. -Combing is applied in more cases and results in better paths. -Infill thickness now supports Grid infill also for even multiples of the layer height. -Support is no longer removed by unprintable thin parts of the model. -Support is now generated on each layer it’s supposed to. -Support doesn't go outside overhang areas any more. -Support doesn't remove brim around the object any more. -Brim is now also generated under the support. -Draft shield and Ooze shield get their own brim or raft. -Settings shared between skirt and brim now also activate when brim is selected. -Compensate overlapping wall parts now also works for inner walls. -You can now adjust the speed at which the bed is lowered each layer. +Message display time increased to 30 seconds +Notification if you try to save to a locked SD card +Engine log now included in the application log +Undo and Redo now function with multiple operations +The last used folder is now remembered rather than defaulting to home folder +Import X3D files +Made it possible to add multiple Per Model Settings at once +Bed Level and Checkup procedures for UMO+ can be performed without re-adding machine +Combing applied in more cases and results in better paths +Infill thickness now supports Grid infill also for even multiples of the layer height +Support is no longer removed by unprintable thin parts of the model +Support generated on each appropriate layer +Support no longer goes outside overhang areas +Support no longer removes brim around the object +Brim is now also generated under the support +Draft and Ooze shield get their own brim or raft +Settings shared between skirt and brim now also activate when brim is selected +Compensate overlapping wall parts now also works for inner walls +Bed lowering speed can be adjusted for each layer [2.1.3] From a61ff7b2df7804184ae869d760f4df064eac4ac5 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 26 Oct 2016 15:59:59 +0200 Subject: [PATCH 03/12] Reorder items in change log of 2.3.0 This order is closer to what's on the website of Ultimaker, and more closely reflects the relative importance of these features. No 1:1 matching is possible with the website though. Contributes to issue CURA-2755. --- plugins/ChangeLogPlugin/ChangeLog.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 0f53063bf3..86145f2997 100644 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -9,9 +9,6 @@ Fixed inheritance taking from the wrong extruder. Moved z-hop and extruder selection settings to a better category. [2.3.0] -*Speed improvements -The first thing you will notice is the speed. STL loading is now 10 to 20 times faster, layer view is significantly faster and slicing speed is slightly improved. - *Multi Extrusion Support Machines with multiple extruders are now supported. Ultimaker 3 printers and Ultimaker Original printers with dual extrusion upgrade kit are currently supported. @@ -24,12 +21,15 @@ You can monitor your print on an Ultimaker 3 with a live camera feed. Requires W *Material and Print Core Synchronization Connecting to an Ultimaker 3 now gives you the option to synchronize the materials in Cura with what is loaded in the printer. -*Custom Machine Support -It’s now much easier to use Cura with custom machines. You can edit the machine settings when you load a new custom machine. +*Speed improvements +The first thing you will notice is the speed. STL loading is now 10 to 20 times faster, layer view is significantly faster and slicing speed is slightly improved. *Improved Position Tool Place objects precisely where you want them by manually entering the values for the position. +*Custom Machine Support +It’s now much easier to use Cura with custom machines. You can edit the machine settings when you load a new custom machine. + *Improved Grouping It's now possible to transform objects that are already grouped. Select an individual item in a group or merged object and edit as usual. Just Ctrl + Click and edit away. From 58df52ffedf577650bb6c33cdb1680375a827751 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 26 Oct 2016 16:02:18 +0200 Subject: [PATCH 04/12] Remove unimportant bugfix This tweak is so small that it isn't worth even mentioning in the change log. Contributes to issue CURA-2755. --- plugins/ChangeLogPlugin/ChangeLog.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 86145f2997..eeddaf3789 100644 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -6,7 +6,6 @@ The layer height of each profile is now shown in the profile selection menu. Upgrading from version 2.1 on OSX works again. You can import g-code from related machines as profile. Fixed inheritance taking from the wrong extruder. -Moved z-hop and extruder selection settings to a better category. [2.3.0] *Multi Extrusion Support From 51263da2e41292afc37d8a272b588a231b54baf2 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 26 Oct 2016 16:06:43 +0200 Subject: [PATCH 05/12] Added new fixes for version 2.3.1 These are the latest fixes that will be included in 2.3.1. Not all of these are entirely complete yet as of this writing. These are only the fixes that are worth mentioning in a change log. Contributes to issue CURA-2755. --- plugins/ChangeLogPlugin/ChangeLog.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index eeddaf3789..496efd1615 100644 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -3,9 +3,12 @@ The layer height of each profile is now shown in the profile selection menu. *Bug fixes -Upgrading from version 2.1 on OSX works again. -You can import g-code from related machines as profile. -Fixed inheritance taking from the wrong extruder. +Editing material settings has actual effect on the prints again +Upgrading from version 2.1 on OSX works again +You can import g-code from related machines as profile +Fixed inheritance taking from the wrong extruder +The i-symbol is updated properly +Fixed a freeze that could sometimes occur while printing via Wi-Fi [2.3.0] *Multi Extrusion Support From e27be7fc4b1a7c1b7516b23b2400c09510791dc9 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Oct 2016 09:58:05 +0200 Subject: [PATCH 06/12] Travel_avoid_distance and support_offset are only taken into account if respecive feature is active We used to always add them, but now we check if support_enable and travel_avoid_other_parts are enabled CURA-2823 --- cura/BuildVolume.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index ce9967a5a2..e0153b4905 100644 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -553,7 +553,7 @@ class BuildVolume(SceneNode): raise Exception("Unknown bed adhesion type. Did you forget to update the build volume calculations for your new bed adhesion type?") support_expansion = 0 - if self._getSettingFromSupportInfillExtruder("support_offset"): + if self._getSettingFromSupportInfillExtruder("support_offset") and self._global_container_stack.getProperty("support_enable", "value"): support_expansion += self._getSettingFromSupportInfillExtruder("support_offset") farthest_shield_distance = 0 @@ -565,7 +565,7 @@ class BuildVolume(SceneNode): move_from_wall_radius = 0 # Moves that start from outer wall. if self._getSettingFromAdhesionExtruder("infill_wipe_dist"): move_from_wall_radius = max(move_from_wall_radius, self._getSettingFromAdhesionExtruder("infill_wipe_dist")) - if self._getSettingFromAdhesionExtruder("travel_avoid_distance"): + if self._getSettingFromAdhesionExtruder("travel_avoid_distance") and self._getSettingFromAdhesionExtruder("travel_avoid_other_parts"): move_from_wall_radius = max(move_from_wall_radius, self._getSettingFromAdhesionExtruder("travel_avoid_distance")) #Now combine our different pieces of data to get the final border size. @@ -582,4 +582,4 @@ class BuildVolume(SceneNode): _prime_settings = ["extruder_prime_pos_x", "extruder_prime_pos_y", "extruder_prime_pos_z"] _tower_settings = ["prime_tower_enable", "prime_tower_size", "prime_tower_position_x", "prime_tower_position_y"] _ooze_shield_settings = ["ooze_shield_enabled", "ooze_shield_dist"] - _distance_settings = ["infill_wipe_dist", "travel_avoid_distance", "support_offset"] + _distance_settings = ["infill_wipe_dist", "travel_avoid_distance", "support_offset", "support_enable", "travel_avoid_other_parts"] From 740ce1fa0b06fe2cc7d342eb4ea1deb70785f5de Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 26 Oct 2016 22:58:59 +0200 Subject: [PATCH 07/12] Fix errors when switching from UM3 to UM2. --- cura/QualityManager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cura/QualityManager.py b/cura/QualityManager.py index 7354bfbb4f..52c052ad28 100644 --- a/cura/QualityManager.py +++ b/cura/QualityManager.py @@ -161,7 +161,8 @@ class QualityManager: # \return \type{List[InstanceContainer]} a list of the basic materials or an empty list if one could not be found. def _getBasicMaterials(self, material_container): base_material = material_container.getMetaDataEntry("material") - if material_container.getDefinition().getMetaDataEntry("has_machine_quality"): + material_container_definition = material_container.getDefinition() + if material_container_definition and material_container_definition.getMetaDataEntry("has_machine_quality"): definition_id = material_container.getDefinition().getMetaDataEntry("quality_definition", material_container.getDefinition().getId()) else: definition_id = "fdmprinter" From b381186331a2930c1c3537ccd5b3f1a800657077 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Oct 2016 13:02:38 +0200 Subject: [PATCH 08/12] Set um2+ height to same as um2 --- resources/definitions/ultimaker2_plus.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/ultimaker2_plus.def.json b/resources/definitions/ultimaker2_plus.def.json index 87c158782c..5b1c7909ba 100644 --- a/resources/definitions/ultimaker2_plus.def.json +++ b/resources/definitions/ultimaker2_plus.def.json @@ -40,7 +40,7 @@ "value": "speed_wall_0" }, "machine_height": { - "default_value": 203 + "default_value": 205 }, "machine_show_variants": { "default_value": true From 4a5d7cbc739132f654c5710634af02690dbbae93 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Oct 2016 13:08:10 +0200 Subject: [PATCH 09/12] Bindings of inheritance icon now correctly update when switching between machines CURA-2752 --- resources/qml/Settings/SettingItem.qml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index 881cea39d2..7fa2856e27 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -208,12 +208,14 @@ Item { // But this will cause the binding to be re-evaluated when the enabled property changes. return false; } - + if(Cura.SettingInheritanceManager.settingsWithInheritanceWarning.length == 0) + { + return false; + } if(globalPropertyProvider.properties.limit_to_extruder == null || globalPropertyProvider.properties.limit_to_extruder == -1) { return Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0; } - return Cura.SettingInheritanceManager.getOverridesForExtruder(definition.key, globalPropertyProvider.properties.limit_to_extruder).indexOf(definition.key) >= 0; } From b6464b12a1758299a8d92d24d5c30908994a22d1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 27 Oct 2016 13:14:13 +0200 Subject: [PATCH 10/12] Ignore externally loaded plug-ins We include these plug-ins with the build system, but for development it's easy to have them linked or copied into the plug-ins folder. But don't commit them! So here we ignore these plug-ins. --- .gitignore | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.gitignore b/.gitignore index 0a7523ff37..fd01d5ce76 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,10 @@ LC_MESSAGES # Debian packaging debian* + +#Externally located plug-ins. +plugins/Doodle3D-cura-plugin +plugins/GodMode +plugins/PostProcessingPlugin +plugins/UM3NetworkPrinting +plugins/X3GWriter \ No newline at end of file From 1aa71d6171304223be3f361508271b1493af5f09 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Oct 2016 14:26:43 +0200 Subject: [PATCH 11/12] Profiles model is now a singleton, to prevent the agressive garbage collecting to break stuff CURA-2826 --- cura/CuraApplication.py | 2 +- cura/Settings/ProfilesModel.py | 15 +++++++++++++++ resources/qml/Menus/ProfileMenu.qml | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index ec52c7aea1..3a67b9b95c 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -549,7 +549,7 @@ class CuraApplication(QtApplication): qmlRegisterType(cura.Settings.ExtrudersModel, "Cura", 1, 0, "ExtrudersModel") qmlRegisterType(cura.Settings.ContainerSettingsModel, "Cura", 1, 0, "ContainerSettingsModel") - qmlRegisterType(cura.Settings.ProfilesModel, "Cura", 1, 0, "ProfilesModel") + qmlRegisterSingletonType(cura.Settings.ProfilesModel, "Cura", 1, 0, "ProfilesModel", cura.Settings.ProfilesModel.createProfilesModel) qmlRegisterType(cura.Settings.QualityAndUserProfilesModel, "Cura", 1, 0, "QualityAndUserProfilesModel") qmlRegisterType(cura.Settings.UserProfilesModel, "Cura", 1, 0, "UserProfilesModel") qmlRegisterType(cura.Settings.MaterialSettingsVisibilityHandler, "Cura", 1, 0, "MaterialSettingsVisibilityHandler") diff --git a/cura/Settings/ProfilesModel.py b/cura/Settings/ProfilesModel.py index 2ad9813e37..c03e074053 100644 --- a/cura/Settings/ProfilesModel.py +++ b/cura/Settings/ProfilesModel.py @@ -25,6 +25,21 @@ class ProfilesModel(InstanceContainersModel): Application.getInstance().getMachineManager().activeStackChanged.connect(self._update) Application.getInstance().getMachineManager().activeMaterialChanged.connect(self._update) + # Factory function, used by QML + @staticmethod + def createProfilesModel(engine, js_engine): + return ProfilesModel.getInstance() + + ## Get the singleton instance for this class. + @classmethod + def getInstance(cls): + # Note: Explicit use of class name to prevent issues with inheritance. + if ProfilesModel.__instance is None: + ProfilesModel.__instance = cls() + return ProfilesModel.__instance + + __instance = None + ## Fetch the list of containers to display. # # See UM.Settings.Models.InstanceContainersModel._fetchInstanceContainers(). diff --git a/resources/qml/Menus/ProfileMenu.qml b/resources/qml/Menus/ProfileMenu.qml index 4fa7a0d3c5..9dea8420bb 100644 --- a/resources/qml/Menus/ProfileMenu.qml +++ b/resources/qml/Menus/ProfileMenu.qml @@ -13,7 +13,7 @@ Menu Instantiator { - model: Cura.ProfilesModel { } + model: Cura.ProfilesModel MenuItem { From e0b926878f732608ee3b471f8141dba975dd62fd Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Thu, 27 Oct 2016 15:38:17 +0200 Subject: [PATCH 12/12] Remove code that sets incompatible materials to invalid type Instead use the "compatible" metadata entry like we do for nozzles. Setting the type differently caused all code that looks for materials to fail because "incompatible_material" is not "material". Since this is the base file, this meant a lot of materials failed to duplicate properly which caused crashes. Contributes to CURA-2821 --- plugins/XmlMaterialProfile/XmlMaterialProfile.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index baf986067a..d6f16b08e9 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -411,6 +411,8 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer): else: Logger.log("d", "Unsupported material setting %s", key) + self.addMetaDataEntry("compatible", global_compatibility) + self._dirty = False machines = data.iterfind("./um:settings/um:machine", self.__namespaces) @@ -447,6 +449,7 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer): new_material.setName(self.getName()) new_material.setMetaData(copy.deepcopy(self.getMetaData())) new_material.setDefinition(definition) + new_material.setMetaDataEntry("compatible", machine_compatibility) for key, value in global_setting_values.items(): new_material.setProperty(key, "value", value, definition) @@ -492,7 +495,7 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer): new_hotend_material.setMetaData(copy.deepcopy(self.getMetaData())) new_hotend_material.setDefinition(definition) new_hotend_material.addMetaDataEntry("variant", variant_containers[0].id) - new_hotend_material.addMetaDataEntry("compatible", hotend_compatibility) + new_hotend_material.setMetaDataEntry("compatible", hotend_compatibility) for key, value in global_setting_values.items(): new_hotend_material.setProperty(key, "value", value, definition) @@ -506,14 +509,6 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer): new_hotend_material._dirty = False UM.Settings.ContainerRegistry.getInstance().addContainer(new_hotend_material) - if not global_compatibility: - # Change the type of this container so it is not shown as an option in menus. - # This uses InstanceContainer.setMetaDataEntry because otherwise all containers that - # share this basefile are also updated. - dirty = self.isDirty() - super().setMetaDataEntry("type", "incompatible_material") - super().setDirty(dirty) # reset dirty flag after setMetaDataEntry - def _addSettingElement(self, builder, instance): try: key = UM.Dictionary.findKey(self.__material_property_setting_map, instance.definition.key)