From db88a48982383c88007d3491940b21a3eece9a6a Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Fri, 1 Mar 2024 13:02:18 +0100 Subject: [PATCH] modifier meshes supported in case of per model setting CURA-11403 --- plugins/3MFWriter/SettingsExportModel.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/plugins/3MFWriter/SettingsExportModel.py b/plugins/3MFWriter/SettingsExportModel.py index 3b034236c8..62c445f34e 100644 --- a/plugins/3MFWriter/SettingsExportModel.py +++ b/plugins/3MFWriter/SettingsExportModel.py @@ -59,7 +59,17 @@ class SettingsExportModel(QObject): 'skin_edge_support_thickness', 'alternate_carve_order', '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): super().__init__(parent) @@ -107,15 +117,20 @@ class SettingsExportModel(QObject): def _exportSettings(settings_stack): user_settings_container = settings_stack.userChanges user_keys = user_settings_container.getAllKeys() - + exportable_settings = SettingsExportModel.EXPORTABLE_SETTINGS 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: label = settings_stack.getProperty(setting_to_export, "label") value = settings_stack.getProperty(setting_to_export, "value") unit = settings_stack.getProperty(setting_to_export, "unit") 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: # This is not very good looking, but will do for now value = f"{str(SettingDefinition.settingValueToString(setting_type, value))} {unit}" @@ -125,6 +140,6 @@ class SettingsExportModel(QObject): settings_export.append(SettingExport(setting_to_export, label, value, - setting_to_export in SettingsExportModel.EXPORTABLE_SETTINGS)) + is_exportable)) return settings_export