From dd3abf7ff08d670e37bace267c93aecdb11ba4c2 Mon Sep 17 00:00:00 2001 From: "j.delarago" Date: Wed, 22 Jun 2022 14:05:56 +0200 Subject: [PATCH] Add check for empty material instance containers before trying to fetch material metadata. This fixes failing to save a project on a printer with no materials (UM2 for example). CURA-9412 --- plugins/3MFWriter/ThreeMFWriter.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index c507703823..3bb1d44e01 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -12,6 +12,7 @@ from UM.Application import Application from UM.Message import Message from UM.Resources import Resources from UM.Scene.SceneNode import SceneNode +from UM.Settings.EmptyInstanceContainer import EmptyInstanceContainer from cura.CuraApplication import CuraApplication from cura.CuraPackageManager import CuraPackageManager @@ -268,6 +269,10 @@ class ThreeMFWriter(MeshWriter): # Don't export materials not in use continue + if type(extruder.material) is EmptyInstanceContainer: + # This is an empty material container, no material to export + continue + if package_manager.isMaterialBundled(extruder.material.getFileName(), extruder.material.getMetaDataEntry("GUID")): # Don't export bundled materials continue