From 7942db514797dfb280cdd0b0d1b79a291359db4c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 13 Sep 2019 16:07:33 +0200 Subject: [PATCH 1/2] Give empty material the required material properties It needs a GUID, base file and material type to show up in the material nodes in the container tree. Contributes to issue CURA-6775. --- cura/Settings/cura_empty_instance_containers.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cura/Settings/cura_empty_instance_containers.py b/cura/Settings/cura_empty_instance_containers.py index a09537272d..b142c53c11 100644 --- a/cura/Settings/cura_empty_instance_containers.py +++ b/cura/Settings/cura_empty_instance_containers.py @@ -25,6 +25,9 @@ EMPTY_MATERIAL_CONTAINER_ID = "empty_material" empty_material_container = copy.deepcopy(empty_container) empty_material_container.setMetaDataEntry("id", EMPTY_MATERIAL_CONTAINER_ID) empty_material_container.setMetaDataEntry("type", "material") +empty_material_container.setMetaDataEntry("base_file", "empty_material") +empty_material_container.setMetaDataEntry("GUID", "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") +empty_material_container.setMetaDataEntry("material", "empty") # Empty quality EMPTY_QUALITY_CONTAINER_ID = "empty_quality" From 2cca95384df688a2baa8233d9f3558df96db97af Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 13 Sep 2019 16:09:02 +0200 Subject: [PATCH 2/2] Don't look for quality group for empty material Just don't add it to the list of available intents then. Contributes to issue CURA-6775. --- cura/Machines/Models/IntentModel.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cura/Machines/Models/IntentModel.py b/cura/Machines/Models/IntentModel.py index e4b297093f..8773a12fd3 100644 --- a/cura/Machines/Models/IntentModel.py +++ b/cura/Machines/Models/IntentModel.py @@ -74,6 +74,8 @@ class IntentModel(ListModel): active_material_node = active_variant_node.materials[active_extruder.material.getMetaDataEntry("base_file")] layer_heights_added = [] for quality_id, quality_node in active_material_node.qualities.items(): + if quality_node.quality_type not in quality_groups: # Don't add the empty quality type (or anything else that would crash, defensively). + continue quality_group = quality_groups[quality_node.quality_type] layer_height = self._fetchLayerHeight(quality_group)