diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index a1a992334e..353c02e2ac 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -5,6 +5,7 @@ import math import copy import io import xml.etree.ElementTree as ET +import uuid from UM.Logger import Logger @@ -22,6 +23,11 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer): def __init__(self, container_id, *args, **kwargs): super().__init__(container_id, *args, **kwargs) + def duplicate(self, new_id, new_name = None): + result = super().duplicate(self.getMetaDataEntry("brand") + "_" + new_id, new_name) + result.setMetaDataEntry("GUID", str(uuid.uuid4())) + return result + def serialize(self): if self.getDefinition().id != "fdmprinter": # Since we create an instance of XmlMaterialProfile for each machine and nozzle in the profile,