diff --git a/src/Mod/Fem/Gui/DlgSettingsFem.ui b/src/Mod/Fem/Gui/DlgSettingsFem.ui
index faf303e618..0469d81c14 100644
--- a/src/Mod/Fem/Gui/DlgSettingsFem.ui
+++ b/src/Mod/Fem/Gui/DlgSettingsFem.ui
@@ -189,10 +189,29 @@
+ -
+
+
+ Use materials from user defined directory
+
+
+ true
+
+
+ UseMaterialsFromCustomDir
+
+
+ Mod/Fem
+
+
+
-
-
+
+ true
+
0
@@ -218,6 +237,9 @@
-
+
+ true
+
100
@@ -339,5 +361,69 @@
+
+ cb_use_mat_from_custom_dir
+ toggled(bool)
+ l_custom_mat_dir
+ setDisabled(bool)
+
+
+ 93
+ 262
+
+
+ 89
+ 289
+
+
+
+
+ cb_use_mat_from_custom_dir
+ toggled(bool)
+ fc_custom_mat_dir
+ setDisabled(bool)
+
+
+ 240
+ 258
+
+
+ 241
+ 285
+
+
+
+
+ cb_use_mat_from_custom_dir
+ toggled(bool)
+ l_custom_mat_dir
+ setEnabled(bool)
+
+
+ 123
+ 266
+
+
+ 122
+ 297
+
+
+
+
+ cb_use_mat_from_custom_dir
+ toggled(bool)
+ fc_custom_mat_dir
+ setEnabled(bool)
+
+
+ 380
+ 266
+
+
+ 380
+ 293
+
+
+
diff --git a/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp
index b749251626..dba1a46c8d 100644
--- a/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp
+++ b/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp
@@ -48,6 +48,7 @@ void DlgSettingsFemImp::saveSettings()
fc_ccx_binary->onSave();
cb_use_built_in_materials->onSave();
cb_use_mat_from_config_dir->onSave();
+ cb_use_mat_from_custom_dir->onSave();
fc_custom_mat_dir->onSave();
}
@@ -58,6 +59,7 @@ void DlgSettingsFemImp::loadSettings()
fc_ccx_binary->onRestore();
cb_use_built_in_materials->onRestore();
cb_use_mat_from_config_dir->onRestore();
+ cb_use_mat_from_custom_dir->onRestore();
fc_custom_mat_dir->onRestore();
}
diff --git a/src/Mod/Fem/MechanicalMaterial.py b/src/Mod/Fem/MechanicalMaterial.py
index a714c9f12a..cb0730d14e 100644
--- a/src/Mod/Fem/MechanicalMaterial.py
+++ b/src/Mod/Fem/MechanicalMaterial.py
@@ -257,9 +257,10 @@ class _MechanicalMaterialTaskPanel:
user_mat_dirname = FreeCAD.getUserAppDataDir() + "Materials"
self.add_mat_dir(user_mat_dirname, ":/icons/preferences-general.svg")
- self.fem_preferences = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem")
- custom_mat_dir = self.fem_preferences.GetString("CustomMaterialsDir","")
- self.add_mat_dir(custom_mat_dir, ":/icons/user.svg")
+ use_mat_from_custom_dir = self.fem_preferences.GetBool("UseMaterialsFromCustomDir")
+ if use_mat_from_custom_dir:
+ custom_mat_dir = self.fem_preferences.GetString("CustomMaterialsDir","")
+ self.add_mat_dir(custom_mat_dir, ":/icons/user.svg")
FreeCADGui.addCommand('Fem_MechanicalMaterial',_CommandMechanicalMaterial())