mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-25 15:44:04 -06:00
CURA-4606 fix material manager to exclude custom materials from some lookup tables
This commit is contained in:
parent
6124729f01
commit
1891294079
1 changed files with 13 additions and 2 deletions
|
@ -100,16 +100,24 @@ class MaterialManager(QObject):
|
||||||
self._guid_material_groups_map[guid].append(material_group)
|
self._guid_material_groups_map[guid].append(material_group)
|
||||||
|
|
||||||
# Map #2
|
# Map #2
|
||||||
# Lookup table for material type -> fallback material metadata
|
# Lookup table for material type -> fallback material metadata, only for read-only materials
|
||||||
grouped_by_type_dict = dict()
|
grouped_by_type_dict = dict()
|
||||||
for root_material_id, material_node in self._material_group_map.items():
|
for root_material_id, material_node in self._material_group_map.items():
|
||||||
|
if not self._container_registry.isReadOnly(root_material_id):
|
||||||
|
continue
|
||||||
material_type = material_node.root_material_node.metadata["material"]
|
material_type = material_node.root_material_node.metadata["material"]
|
||||||
if material_type not in grouped_by_type_dict:
|
if material_type not in grouped_by_type_dict:
|
||||||
grouped_by_type_dict[material_type] = {"generic": None,
|
grouped_by_type_dict[material_type] = {"generic": None,
|
||||||
"others": []}
|
"others": []}
|
||||||
brand = material_node.root_material_node.metadata["brand"]
|
brand = material_node.root_material_node.metadata["brand"]
|
||||||
if brand.lower() == "generic":
|
if brand.lower() == "generic":
|
||||||
grouped_by_type_dict[material_type] = material_node.root_material_node.metadata
|
to_add = True
|
||||||
|
if material_type in grouped_by_type_dict:
|
||||||
|
diameter = material_node.root_material_node.metadata.get("approximate_diameter")
|
||||||
|
if diameter != self._default_approximate_diameter_for_quality_search:
|
||||||
|
to_add = False # don't add if it's not the default diameter
|
||||||
|
if to_add:
|
||||||
|
grouped_by_type_dict[material_type] = material_node.root_material_node.metadata
|
||||||
self._fallback_materials_map = grouped_by_type_dict
|
self._fallback_materials_map = grouped_by_type_dict
|
||||||
|
|
||||||
# Map #3
|
# Map #3
|
||||||
|
@ -124,6 +132,9 @@ class MaterialManager(QObject):
|
||||||
material_group_dict = dict()
|
material_group_dict = dict()
|
||||||
keys_to_fetch = ("name", "material", "brand", "color")
|
keys_to_fetch = ("name", "material", "brand", "color")
|
||||||
for root_material_id, machine_node in self._material_group_map.items():
|
for root_material_id, machine_node in self._material_group_map.items():
|
||||||
|
if not self._container_registry.isReadOnly(root_material_id):
|
||||||
|
continue
|
||||||
|
|
||||||
root_material_metadata = machine_node.root_material_node.metadata
|
root_material_metadata = machine_node.root_material_node.metadata
|
||||||
|
|
||||||
key_data = []
|
key_data = []
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue