diff --git a/src/Mod/Fem/Gui/DlgSettingsFem.ui b/src/Mod/Fem/Gui/DlgSettingsFem.ui
index e626a7647e..faf303e618 100644
--- a/src/Mod/Fem/Gui/DlgSettingsFem.ui
+++ b/src/Mod/Fem/Gui/DlgSettingsFem.ui
@@ -173,6 +173,22 @@
+ -
+
+
+ Use materials from .FreeCAD/Materials directory
+
+
+ true
+
+
+ UseMaterialsFromConfigDir
+
+
+ Mod/Fem
+
+
+
-
-
diff --git a/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp
index a2c3153310..b749251626 100644
--- a/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp
+++ b/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp
@@ -47,6 +47,7 @@ void DlgSettingsFemImp::saveSettings()
fc_ext_editor->onSave();
fc_ccx_binary->onSave();
cb_use_built_in_materials->onSave();
+ cb_use_mat_from_config_dir->onSave();
fc_custom_mat_dir->onSave();
}
@@ -56,6 +57,7 @@ void DlgSettingsFemImp::loadSettings()
fc_ext_editor->onRestore();
fc_ccx_binary->onRestore();
cb_use_built_in_materials->onRestore();
+ cb_use_mat_from_config_dir->onRestore();
fc_custom_mat_dir->onRestore();
}
diff --git a/src/Mod/Fem/MechanicalMaterial.py b/src/Mod/Fem/MechanicalMaterial.py
index 1d34576f13..a714c9f12a 100644
--- a/src/Mod/Fem/MechanicalMaterial.py
+++ b/src/Mod/Fem/MechanicalMaterial.py
@@ -252,8 +252,10 @@ class _MechanicalMaterialTaskPanel:
system_mat_dir = FreeCAD.getResourceDir() + "/Mod/Material/StandardMaterial"
self.add_mat_dir(system_mat_dir, ":/icons/freecad.svg")
- user_mat_dirname = FreeCAD.getUserAppDataDir() + "Materials"
- self.add_mat_dir(user_mat_dirname, ":/icons/preferences-general.svg")
+ use_mat_from_config_dir = self.fem_preferences.GetBool("UseMaterialsFromConfigDir")
+ if use_mat_from_config_dir:
+ 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","")