Merge pull request #12585 from Ultimaker/CURA-9412_saving_with_no_material_fails

[CURA-9412] Project file saving fails on printers without materials
This commit is contained in:
Casper Lamboo 2022-06-24 15:15:01 +02:00 committed by GitHub
commit 651c0afa11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,6 +12,8 @@ from UM.Application import Application
from UM.Message import Message from UM.Message import Message
from UM.Resources import Resources from UM.Resources import Resources
from UM.Scene.SceneNode import SceneNode from UM.Scene.SceneNode import SceneNode
from UM.Settings.ContainerRegistry import ContainerRegistry
from UM.Settings.EmptyInstanceContainer import EmptyInstanceContainer
from cura.CuraApplication import CuraApplication from cura.CuraApplication import CuraApplication
from cura.CuraPackageManager import CuraPackageManager from cura.CuraPackageManager import CuraPackageManager
@ -268,6 +270,10 @@ class ThreeMFWriter(MeshWriter):
# Don't export materials not in use # Don't export materials not in use
continue continue
if isinstance(extruder.material, type(ContainerRegistry.getInstance().getEmptyInstanceContainer())):
# This is an empty material container, no material to export
continue
if package_manager.isMaterialBundled(extruder.material.getFileName(), extruder.material.getMetaDataEntry("GUID")): if package_manager.isMaterialBundled(extruder.material.getFileName(), extruder.material.getMetaDataEntry("GUID")):
# Don't export bundled materials # Don't export bundled materials
continue continue