Add all settitngs to the json.

Change default -> all_settings. This better reflects the purpose of the list.

CURA-9224
This commit is contained in:
joeydelarago 2022-09-05 10:12:24 +02:00 committed by Joey de l'Arago
parent ef36d3f6bd
commit 599fddd6dd

View file

@ -214,30 +214,38 @@ class UFPWriter(MeshWriter):
if item.getMeshData() is not None and not item.callDecoration("isNonPrintingMesh")] if item.getMeshData() is not None and not item.callDecoration("isNonPrintingMesh")]
def _getSettings(self) -> Dict[str, Dict[str, Dict[str, str]]]: def _getSettings(self) -> Dict[str, Dict[str, Dict[str, str]]]:
"""Get all changed settings and all settings. For each extruder and the global stack"""
settings = { settings = {
"global": { "global": {
"changes": {}, "changes": {},
"default": {} "all_settings": {}
} }
} }
global_stack = cast(GlobalStack, Application.getInstance().getGlobalContainerStack()) global_stack = cast(GlobalStack, Application.getInstance().getGlobalContainerStack())
# Add global user or quality changes
global_flattened_changes = CuraStackBuilder.createFlattenedContainerInstance(global_stack.userChanges, global_stack.qualityChanges) global_flattened_changes = CuraStackBuilder.createFlattenedContainerInstance(global_stack.userChanges, global_stack.qualityChanges)
# Add all global user or quality changes
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] = global_flattened_changes.getProperty(setting, "value")
for i, extruder in enumerate(global_stack.extruderList): # Get global all settings values without user or quality changes
# Add all user or quality changes for each extruder for setting in global_stack.getAllKeys():
extruder_flattened_changes = CuraStackBuilder.createFlattenedContainerInstance(extruder.userChanges, extruder.qualityChanges) settings["global"]["all_settings"][setting] = global_stack.getProperty(setting, "value")
for i, extruder in enumerate(global_stack.extruderList):
# Add extruder fields to settings dictionary
settings[f"extruder_{i}"] = {} settings[f"extruder_{i}"] = {}
settings[f"extruder_{i}"]["changes"] = {} settings[f"extruder_{i}"]["changes"] = {}
settings[f"extruder_{i}"]["default"] = {} settings[f"extruder_{i}"]["all_settings"] = {}
# Add extruder user or quality changes
extruder_flattened_changes = CuraStackBuilder.createFlattenedContainerInstance(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] = extruder_flattened_changes.getProperty(setting, "value")
# Get extruder all settings values without user or quality changes
for setting in extruder.getAllKeys():
settings[f"extruder_{i}"]["all_settings"][setting] = extruder.getProperty(setting, "value")
return settings return settings