UFPWriter: fix settings serialization

This commit is contained in:
Maël Kerbiriou 2022-09-19 21:57:05 +02:00 committed by Maël Kerbiriou
parent 4cdf4e607d
commit 058824d2f4

View file

@ -230,11 +230,11 @@ class UFPWriter(MeshWriter):
# Add global user or quality changes # Add global user or quality changes
global_flattened_changes = InstanceContainer.createMergedInstanceContainer(global_stack.userChanges, global_stack.qualityChanges) global_flattened_changes = InstanceContainer.createMergedInstanceContainer(global_stack.userChanges, global_stack.qualityChanges)
for setting in global_flattened_changes.getAllKeys(): for setting in global_flattened_changes.getAllKeys():
settings["global"]["changes"][setting] = global_flattened_changes.getProperty(setting, "value") settings["global"]["changes"][setting] = str(global_flattened_changes.getProperty(setting, "value"))
# Get global all settings values without user or quality changes # Get global all settings values without user or quality changes
for setting in global_stack.getAllKeys(): for setting in global_stack.getAllKeys():
settings["global"]["all_settings"][setting] = global_stack.getProperty(setting, "value") settings["global"]["all_settings"][setting] = str(global_stack.getProperty(setting, "value"))
for i, extruder in enumerate(global_stack.extruderList): for i, extruder in enumerate(global_stack.extruderList):
# Add extruder fields to settings dictionary # Add extruder fields to settings dictionary
@ -246,10 +246,10 @@ class UFPWriter(MeshWriter):
# Add extruder user or quality changes # Add extruder user or quality changes
extruder_flattened_changes = InstanceContainer.createMergedInstanceContainer(extruder.userChanges, extruder.qualityChanges) extruder_flattened_changes = InstanceContainer.createMergedInstanceContainer(extruder.userChanges, extruder.qualityChanges)
for setting in extruder_flattened_changes.getAllKeys(): for setting in extruder_flattened_changes.getAllKeys():
settings[f"extruder_{i}"]["changes"][setting] = extruder_flattened_changes.getProperty(setting, "value") settings[f"extruder_{i}"]["changes"][setting] = str(extruder_flattened_changes.getProperty(setting, "value"))
# Get extruder all settings values without user or quality changes # Get extruder all settings values without user or quality changes
for setting in extruder.getAllKeys(): for setting in extruder.getAllKeys():
settings[f"extruder_{i}"]["all_settings"][setting] = extruder.getProperty(setting, "value") settings[f"extruder_{i}"]["all_settings"][setting] = str(extruder.getProperty(setting, "value"))
return settings return settings