modifier meshes supported in case of per model setting

CURA-11403
This commit is contained in:
Saumya Jain 2024-03-01 13:02:18 +01:00
parent 9633a8e9d4
commit db88a48982

View file

@ -59,7 +59,17 @@ 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',
'top_thickness',
'bottom_thickness',
'top_layers',
'bottom_layers',
'wall_thickness',
'wall_line_count'}
def __init__(self, parent = None): def __init__(self, parent = None):
super().__init__(parent) super().__init__(parent)
@ -107,15 +117,20 @@ class SettingsExportModel(QObject):
def _exportSettings(settings_stack): def _exportSettings(settings_stack):
user_settings_container = settings_stack.userChanges user_settings_container = settings_stack.userChanges
user_keys = user_settings_container.getAllKeys() user_keys = user_settings_container.getAllKeys()
exportable_settings = SettingsExportModel.EXPORTABLE_SETTINGS
settings_export = [] settings_export = []
# 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 # 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}"
@ -125,6 +140,6 @@ class SettingsExportModel(QObject):
settings_export.append(SettingExport(setting_to_export, settings_export.append(SettingExport(setting_to_export,
label, label,
value, value,
setting_to_export in SettingsExportModel.EXPORTABLE_SETTINGS)) is_exportable))
return settings_export return settings_export