From c8f9f179d9809641ee48a36d5cd4b26bd006f84d Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Thu, 22 Feb 2024 12:50:53 +0100 Subject: [PATCH] Revert "Revert "Enable prime tower mode according to materials types"" This reverts commit b99762776ee6ce3fe0e8bba8724eba9ca68ec4c7. --- .../XmlMaterialProfile/XmlMaterialProfile.py | 9 ++++--- resources/definitions/fdmprinter.def.json | 26 +++++++++++++++---- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 41beb88419..98c0f95e10 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -579,8 +579,9 @@ class XmlMaterialProfile(InstanceContainer): meta_data[tag_name] = entry.text - if tag_name in self.__material_metadata_setting_map: - common_setting_values[self.__material_metadata_setting_map[tag_name]] = entry.text + for tag_name, value in meta_data.items(): + if tag_name in self.__material_metadata_setting_map: + common_setting_values[self.__material_metadata_setting_map[tag_name]] = value if "description" not in meta_data: meta_data["description"] = "" @@ -1222,7 +1223,9 @@ class XmlMaterialProfile(InstanceContainer): "diameter": "material_diameter" } __material_metadata_setting_map = { - "GUID": "material_guid" + "GUID": "material_guid", + "material": "material_type", + "brand": "material_brand", } # Map of recognised namespaces with a proper prefix. diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b532402993..1d453456a8 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -76,6 +76,22 @@ "type": "str", "enabled": false }, + "material_type": + { + "label": "Material Type", + "description": "The type of material used.", + "default_value": "", + "type": "str", + "enabled": false + }, + "material_brand": + { + "label": "Material Brand", + "description": "The brand of material used.", + "default_value": "", + "type": "str", + "enabled": false + }, "material_diameter": { "label": "Diameter", @@ -6781,14 +6797,14 @@ "prime_tower_mode": { "label": "Prime Tower", - "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.", + "description": "Print a tower next to the model, which serves to prime the material after each nozzle switch.", "type": "enum", - "value": "'optimized' if all(material_type == extruderValues('material_type')[0] for material_type in extruderValues('material_type')) else 'optimized_consistent'", + "value": "'none' if (extruders_enabled_count < 2) else ('interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal')", "options": { "none": "None", - "bucket": "Bucket", - "sparse": "Sparse" + "normal": "Normal", + "interleaved": "Interleaved" }, "default_value": "none", "enabled": "extruders_enabled_count > 1", @@ -6833,7 +6849,7 @@ "default_value": 5, "minimum_value": "line_width", "maximum_value_warning": "10.0", - "enabled": "resolveOrValue('prime_tower_mode') == 'sparse' or resolveOrValue('prime_tower_mode') == 'bucket'", + "enabled": "resolveOrValue('prime_tower_mode') != 'none'", "settable_per_mesh": false, "settable_per_extruder": true },