diff --git a/src/Mod/Fem/Gui/Resources/icons/fem-femmesh-boundary-layer.svg b/src/Mod/Fem/Gui/Resources/icons/fem-femmesh-boundary-layer.svg
new file mode 100644
index 0000000000..75848ec18d
--- /dev/null
+++ b/src/Mod/Fem/Gui/Resources/icons/fem-femmesh-boundary-layer.svg
@@ -0,0 +1,372 @@
+
+
+
+
diff --git a/src/Mod/Fem/Gui/Workbench.cpp b/src/Mod/Fem/Gui/Workbench.cpp
index c616f74e82..9af85a6aa2 100755
--- a/src/Mod/Fem/Gui/Workbench.cpp
+++ b/src/Mod/Fem/Gui/Workbench.cpp
@@ -96,6 +96,7 @@ Gui::ToolBarItem* Workbench::setupToolBars() const
*mesh << "FEM_MeshNetgenFromShape"
<< "FEM_MeshGmshFromShape"
<< "Separator"
+ << "FEM_MeshBoundaryLayer"
<< "FEM_MeshRegion"
<< "FEM_MeshGroup"
<< "Separator"
@@ -189,6 +190,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const
*mesh << "FEM_MeshNetgenFromShape"
<< "FEM_MeshGmshFromShape"
<< "Separator"
+ << "FEM_MeshBoundaryLayer"
<< "FEM_MeshRegion"
<< "FEM_MeshGroup"
<< "Separator"
diff --git a/src/Mod/Fem/InitGui.py b/src/Mod/Fem/InitGui.py
index 71e043cb09..dd7395fb4c 100644
--- a/src/Mod/Fem/InitGui.py
+++ b/src/Mod/Fem/InitGui.py
@@ -54,6 +54,7 @@ class FemWorkbench (Workbench):
import PyGui._CommandFemMaterialFluid
import PyGui._CommandFemMaterialMechanicalNonlinear
import PyGui._CommandFemMesh2Mesh
+ import PyGui._CommandFemMeshBoundaryLayer
import PyGui._CommandFemMeshClear
import PyGui._CommandFemMeshGmshFromShape
import PyGui._CommandFemMeshGroup
diff --git a/src/Mod/Fem/PyGui/_CommandFemMeshBoundaryLayer.py b/src/Mod/Fem/PyGui/_CommandFemMeshBoundaryLayer.py
new file mode 100644
index 0000000000..40ee92362c
--- /dev/null
+++ b/src/Mod/Fem/PyGui/_CommandFemMeshBoundaryLayer.py
@@ -0,0 +1,57 @@
+# ***************************************************************************
+# * *
+# * Copyright (c) 2016 - Bernd Hahnebach *
+# * *
+# * This program is free software; you can redistribute it and/or modify *
+# * it under the terms of the GNU Lesser General Public License (LGPL) *
+# * as published by the Free Software Foundation; either version 2 of *
+# * the License, or (at your option) any later version. *
+# * for detail see the LICENCE text file. *
+# * *
+# * This program is distributed in the hope that it will be useful, *
+# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+# * GNU Library General Public License for more details. *
+# * *
+# * You should have received a copy of the GNU Library General Public *
+# * License along with this program; if not, write to the Free Software *
+# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
+# * USA *
+# * *
+# ***************************************************************************
+
+__title__ = "_CommandMeshBoundaryLayer"
+__author__ = "Bernd Hahnebach, Qingfeng Xia"
+__url__ = "http://www.freecadweb.org"
+
+## @package CommandFemMeshBoundaryLayer
+# \ingroup FEM
+
+import FreeCAD
+from FemCommands import FemCommands
+import FreeCADGui
+from PySide import QtCore
+
+
+class _CommandFemMeshBoundaryLayer(FemCommands):
+ "The FEM_MeshBoundaryLayer command definition"
+ def __init__(self):
+ super(_CommandFemMeshBoundaryLayer, self).__init__()
+ self.resources = {'Pixmap': 'fem-femmesh-boundary-layer',
+ 'MenuText': QtCore.QT_TRANSLATE_NOOP("FEM_MeshBoundaryLayer", "FEM mesh boundary layer"),
+ 'Accel': "M, B",
+ 'ToolTip': QtCore.QT_TRANSLATE_NOOP("FEM_MeshBoundaryLayer", "Creates a FEM mesh boundary layer")}
+ self.is_active = 'with_gmsh_femmesh'
+
+ def Activated(self):
+ FreeCAD.ActiveDocument.openTransaction("Create FemMeshBoundaryLayer")
+ FreeCADGui.addModule("ObjectsFem")
+ sel = FreeCADGui.Selection.getSelection()
+ if (len(sel) == 1):
+ sobj = sel[0]
+ if len(sel) == 1 and hasattr(sobj, "Proxy") and sobj.Proxy.Type == "FemMeshGmsh":
+ FreeCADGui.doCommand("ObjectsFem.makeMeshBoundaryLayer(App.ActiveDocument." + sobj.Name + ")")
+
+ FreeCADGui.Selection.clearSelection()
+
+FreeCADGui.addCommand('FEM_MeshBoundaryLayer', _CommandFemMeshBoundaryLayer())