modify-settings-for-overlap’, 'support-blocker' and 'support-mesh' saved as their respective types along with their settings

CURA-11403
This commit is contained in:
Saumya Jain 2024-03-06 10:28:09 +01:00
parent 8ef7b65710
commit a63cf954d4

View file

@ -59,17 +59,12 @@ class SettingsExportModel(QObject):
'skin_edge_support_thickness', 'skin_edge_support_thickness',
'alternate_carve_order', 'alternate_carve_order',
'top_skin_preshrink', 'top_skin_preshrink',
'interlocking_enable', 'interlocking_enable'}
'infill_mesh',
'cutting_mesh'}
PER_MODEL_EXPORTABLE_SETTINGS_KEYS = { 'top_bottom_thickness', PER_MODEL_EXPORTABLE_SETTINGS_KEYS = {"anti_overhang_mesh",
'top_thickness', "infill_mesh",
'bottom_thickness', "cutting_mesh",
'top_layers', "support_mesh"}
'bottom_layers',
'wall_thickness',
'wall_line_count'}
def __init__(self, parent = None): def __init__(self, parent = None):
super().__init__(parent) super().__init__(parent)
@ -119,20 +114,16 @@ class SettingsExportModel(QObject):
user_keys = user_settings_container.getAllKeys() user_keys = user_settings_container.getAllKeys()
exportable_settings = SettingsExportModel.EXPORTABLE_SETTINGS exportable_settings = SettingsExportModel.EXPORTABLE_SETTINGS
settings_export = [] settings_export = []
# Check whether any of the user keys exist in PER_MODEL_EXPORTABLE_SETTINGS_KEYS
is_exportable = any(key in SettingsExportModel.PER_MODEL_EXPORTABLE_SETTINGS_KEYS for key in user_keys)
# in case of modify mesh settings we add spme extra settings to the exportable settings
if 'infill_mesh' in user_keys:
exportable_settings = exportable_settings.union(SettingsExportModel.PER_MODEL_EXPORTABLE_SETTINGS_KEYS)
for setting_to_export in user_keys: for setting_to_export in user_keys:
label = settings_stack.getProperty(setting_to_export, "label") label = settings_stack.getProperty(setting_to_export, "label")
value = settings_stack.getProperty(setting_to_export, "value") value = settings_stack.getProperty(setting_to_export, "value")
unit = settings_stack.getProperty(setting_to_export, "unit") unit = settings_stack.getProperty(setting_to_export, "unit")
setting_type = settings_stack.getProperty(setting_to_export, "type") setting_type = settings_stack.getProperty(setting_to_export, "type")
is_exportable = True if setting_to_export in exportable_settings else False
if setting_type is not None: if setting_type is not None:
# This is not very good looking, but will do for now
value = f"{str(SettingDefinition.settingValueToString(setting_type, value))} {unit}" value = f"{str(SettingDefinition.settingValueToString(setting_type, value))} {unit}"
else: else:
value = str(value) value = str(value)
@ -140,6 +131,6 @@ class SettingsExportModel(QObject):
settings_export.append(SettingExport(setting_to_export, settings_export.append(SettingExport(setting_to_export,
label, label,
value, value,
is_exportable)) is_exportable or setting_to_export in exportable_settings))
return settings_export return settings_export