diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index eb2bb2a7882..6893a77ec5e 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -919,7 +919,9 @@ def deserializeMetadata(cls, serialized: str, container_id: str) -> List[Dict[st base_metadata["definition"] = "fdmprinter" # Certain materials are loaded but should not be visible / selectable to the user. - base_metadata["visible"] = not base_metadata.get("abstract_color", False) + # Only show abstract color profiles (Any Color) if the machine supports them + base_metadata["visible"] = (not base_metadata.get("abstract_color", False) + or base_metadata.get("supports_abstract_color", False)) compatible_entries = data.iterfind("./um:settings/um:setting[@key='hardware compatible']", cls.__namespaces) try: diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 571d5012126..88c58114308 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -16,7 +16,8 @@ "preferred_quality_type": "normal", "machine_extruder_trains": { "0": "fdmextruder" }, "supports_usb_connection": true, - "supports_network_connection": false + "supports_network_connection": false, + "supports_abstract_color": false }, "settings": {