mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-06-02 18:29:53 +08:00
Adjusted code to filter out the abstract colors per machine.
CURA-11634
This commit is contained in:
parent
437613dcba
commit
99b6fd7616
@ -48,6 +48,7 @@ class MachineNode(ContainerNode):
|
||||
self.preferred_variant_name = my_metadata.get("preferred_variant_name", "")
|
||||
self.preferred_material = my_metadata.get("preferred_material", "")
|
||||
self.preferred_quality_type = my_metadata.get("preferred_quality_type", "")
|
||||
self.supports_abstract_color = parseBool(my_metadata.get("supports_abstract_color", "false"))
|
||||
|
||||
self._loadAll()
|
||||
|
||||
|
@ -63,6 +63,9 @@ class VariantNode(ContainerNode):
|
||||
filtered_materials = [material for material in materials if not self.machine.isExcludedMaterialBaseFile(material["id"])]
|
||||
|
||||
for material in filtered_materials:
|
||||
if material.get("abstract_color", False):
|
||||
if not self.machine.supports_abstract_color:
|
||||
continue # do not show abstract color profiles if the machine does not support them
|
||||
base_file = material["base_file"]
|
||||
if base_file not in self.materials:
|
||||
self.materials[base_file] = MaterialNode(material["id"], variant = self)
|
||||
|
@ -918,11 +918,6 @@ class XmlMaterialProfile(InstanceContainer):
|
||||
base_metadata["properties"] = property_values
|
||||
base_metadata["definition"] = "fdmprinter"
|
||||
|
||||
# Certain materials are loaded but should not be visible / selectable to the user.
|
||||
# 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:
|
||||
common_compatibility = cls._parseCompatibleValue(next(compatible_entries).text) # type: ignore
|
||||
|
Loading…
x
Reference in New Issue
Block a user