mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 19:39:03 +08:00
Split user settings for single extrusion machines
CURA-4617
This commit is contained in:
parent
828fff5ee5
commit
1866c4ee66
@ -431,19 +431,25 @@ class CuraContainerRegistry(ContainerRegistry):
|
|||||||
extruder_stack.addMetaDataEntry("position", extruder_definition.getMetaDataEntry("position"))
|
extruder_stack.addMetaDataEntry("position", extruder_definition.getMetaDataEntry("position"))
|
||||||
extruder_stack.setNextStack(machine)
|
extruder_stack.setNextStack(machine)
|
||||||
|
|
||||||
|
# create empty user changes container otherwise
|
||||||
|
user_container = InstanceContainer(extruder_stack.id + "_user")
|
||||||
|
user_container.addMetaDataEntry("type", "user")
|
||||||
|
user_container.addMetaDataEntry("machine", extruder_stack.getId())
|
||||||
|
from cura.CuraApplication import CuraApplication
|
||||||
|
user_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion)
|
||||||
|
user_container.setDefinition(extruder_definition)
|
||||||
|
|
||||||
if machine.userChanges:
|
if machine.userChanges:
|
||||||
# set existing user changes if found
|
# for the newly created extruder stack, we need to move all "per-extruder" settings to the user changes
|
||||||
extruder_stack.setUserChanges(machine.userChanges)
|
# container to the extruder stack.
|
||||||
else:
|
for user_setting_key in machine.userChanges.getAllKeys():
|
||||||
# create empty user changes container otherwise
|
settable_per_extruder = machine.getProperty(user_setting_key, "settable_per_extruder")
|
||||||
user_container = InstanceContainer(extruder_stack.id + "_user")
|
if settable_per_extruder:
|
||||||
user_container.addMetaDataEntry("type", "user")
|
user_container.addInstance(machine.userChanges.getInstance(user_setting_key))
|
||||||
user_container.addMetaDataEntry("machine", extruder_stack.getId())
|
machine.userChanges.removeInstance(user_setting_key, postpone_emit = True)
|
||||||
from cura.CuraApplication import CuraApplication
|
|
||||||
user_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion)
|
extruder_stack.setUserChanges(user_container)
|
||||||
user_container.setDefinition(extruder_definition)
|
self.addContainer(user_container)
|
||||||
extruder_stack.setUserChanges(user_container)
|
|
||||||
self.addContainer(user_container)
|
|
||||||
|
|
||||||
variant_id = "default"
|
variant_id = "default"
|
||||||
if machine.variant.getId() not in ("empty", "empty_variant"):
|
if machine.variant.getId() not in ("empty", "empty_variant"):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user