diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt
index ec6381866..4e577578c 100755
--- a/src/Mod/Fem/App/CMakeLists.txt
+++ b/src/Mod/Fem/App/CMakeLists.txt
@@ -63,6 +63,7 @@ SOURCE_GROUP("Module" FILES ${Mod_SRCS})
SET(FemScripts_SRCS
_CommandAnalysis.py
_CommandBeamSection.py
+ _CommandClearMesh.py
_CommandControlSolver.py
_CommandConstraintSelfWeight.py
_CommandFEMMesh2Mesh.py
@@ -71,6 +72,7 @@ SET(FemScripts_SRCS
_CommandMeshGmshFromShape.py
_CommandMeshNetgenFromShape.py
_CommandMeshRegion.py
+ _CommandPrintMeshInfo.py
_CommandPurgeResults.py
_CommandRunSolver.py
_CommandShellThickness.py
diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt
index 826cd10f0..3b7f9740c 100755
--- a/src/Mod/Fem/CMakeLists.txt
+++ b/src/Mod/Fem/CMakeLists.txt
@@ -24,7 +24,9 @@ INSTALL(
TestFem.py
FemCommands.py
+ _CommandClearMesh.py
_CommandMeshNetgenFromShape.py
+ _CommandPrintMeshInfo.py
_CommandPurgeResults.py
_CommandRunSolver.py
_CommandControlSolver.py
diff --git a/src/Mod/Fem/Gui/Resources/Fem.qrc b/src/Mod/Fem/Gui/Resources/Fem.qrc
index a100469ae..41b7f9698 100755
--- a/src/Mod/Fem/Gui/Resources/Fem.qrc
+++ b/src/Mod/Fem/Gui/Resources/Fem.qrc
@@ -25,10 +25,12 @@
icons/fem-control-solver.svgicons/fem-cylinder.svgicons/fem-data.png
+ icons/fem-femmesh-clear-mesh.svgicons/fem-femmesh-create-node-by-poly.svgicons/fem-femmesh-from-shape.svgicons/fem-femmesh-gmsh-from-shape.svgicons/fem-femmesh-netgen-from-shape.svg
+ icons/fem-femmesh-print-info.svgicons/fem-femmesh-region.svgicons/fem-femmesh-to-mesh.svgicons/fem-frequency-analysis.svg
diff --git a/src/Mod/Fem/Gui/Resources/icons/fem-femmesh-clear-mesh.svg b/src/Mod/Fem/Gui/Resources/icons/fem-femmesh-clear-mesh.svg
new file mode 100644
index 000000000..00cc0d7a5
--- /dev/null
+++ b/src/Mod/Fem/Gui/Resources/icons/fem-femmesh-clear-mesh.svg
@@ -0,0 +1,120 @@
+
+
+
+
diff --git a/src/Mod/Fem/Gui/Resources/icons/fem-femmesh-print-info.svg b/src/Mod/Fem/Gui/Resources/icons/fem-femmesh-print-info.svg
new file mode 100644
index 000000000..012bf6ba0
--- /dev/null
+++ b/src/Mod/Fem/Gui/Resources/icons/fem-femmesh-print-info.svg
@@ -0,0 +1,119 @@
+
+
+
+
diff --git a/src/Mod/Fem/Gui/Workbench.cpp b/src/Mod/Fem/Gui/Workbench.cpp
index 1038afa47..32e249f29 100755
--- a/src/Mod/Fem/Gui/Workbench.cpp
+++ b/src/Mod/Fem/Gui/Workbench.cpp
@@ -50,6 +50,14 @@ Workbench::~Workbench()
{
}
+void Workbench::setupContextMenu(const char* recipient, Gui::MenuItem* item) const
+{
+ StdWorkbench::setupContextMenu( recipient, item );
+ *item << "Separator"
+ << "Fem_ClearMesh"
+ << "Fem_PrintMeshInfo";
+}
+
Gui::ToolBarItem* Workbench::setupToolBars() const
{
Gui::ToolBarItem* root = StdWorkbench::setupToolBars();
diff --git a/src/Mod/Fem/Gui/Workbench.h b/src/Mod/Fem/Gui/Workbench.h
index 036cc638b..acc43fb2d 100755
--- a/src/Mod/Fem/Gui/Workbench.h
+++ b/src/Mod/Fem/Gui/Workbench.h
@@ -38,6 +38,7 @@ class FemGuiExport Workbench : public Gui::StdWorkbench
public:
Workbench();
virtual ~Workbench();
+ void setupContextMenu(const char* recipient, Gui::MenuItem*) const;
protected:
Gui::ToolBarItem* setupToolBars() const;
diff --git a/src/Mod/Fem/InitGui.py b/src/Mod/Fem/InitGui.py
index 65985a2f2..ae33e45f2 100644
--- a/src/Mod/Fem/InitGui.py
+++ b/src/Mod/Fem/InitGui.py
@@ -48,6 +48,8 @@ class FemWorkbench (Workbench):
import _CommandShowResult
import _CommandRunSolver
import _CommandPurgeResults
+ import _CommandClearMesh
+ import _CommandPrintMeshInfo
import _CommandControlSolver
import _CommandFEMMesh2Mesh
import _CommandMeshGmshFromShape
diff --git a/src/Mod/Fem/_CommandClearMesh.py b/src/Mod/Fem/_CommandClearMesh.py
new file mode 100644
index 000000000..d4364bd59
--- /dev/null
+++ b/src/Mod/Fem/_CommandClearMesh.py
@@ -0,0 +1,56 @@
+# ***************************************************************************
+# * *
+# * 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__ = "Clear the FemMesh of a FEM mesh object"
+__author__ = "Bernd Hahnebach"
+__url__ = "http://www.freecadweb.org"
+
+## @package CommandClearMesh
+# \ingroup FEM
+
+import FreeCAD
+from FemCommands import FemCommands
+import FreeCADGui
+from PySide import QtCore
+
+
+class _CommandClearMesh(FemCommands):
+ "clear the FEM mesh"
+ def __init__(self):
+ super(_CommandClearMesh, self).__init__()
+ self.resources = {'Pixmap': 'fem-femmesh-clear-mesh',
+ 'MenuText': QtCore.QT_TRANSLATE_NOOP("Fem_ClearMesh", "Clear FEM mesh"),
+ # 'Accel': "Z, Z",
+ 'ToolTip': QtCore.QT_TRANSLATE_NOOP("Fem_ClearMesh", "Clear the Mesh of a FEM mesh object")}
+ self.is_active = 'with_femmesh'
+
+ def Activated(self):
+ sel = FreeCADGui.Selection.getSelection()
+ if len(sel) == 1 and sel[0].isDerivedFrom("Fem::FemMeshObject"):
+ FreeCAD.ActiveDocument.openTransaction("Clear FEM mesh")
+ FreeCADGui.addModule("Fem")
+ FreeCADGui.doCommand("App.ActiveDocument." + sel[0].Name + ".FemMesh = Fem.FemMesh()")
+ FreeCADGui.doCommand("App.ActiveDocument.recompute()")
+
+ FreeCADGui.Selection.clearSelection()
+
+FreeCADGui.addCommand('Fem_ClearMesh',_CommandClearMesh())
diff --git a/src/Mod/Fem/_CommandPrintMeshInfo.py b/src/Mod/Fem/_CommandPrintMeshInfo.py
new file mode 100644
index 000000000..e1a2c12c5
--- /dev/null
+++ b/src/Mod/Fem/_CommandPrintMeshInfo.py
@@ -0,0 +1,59 @@
+# ***************************************************************************
+# * *
+# * 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__ = "Print info of FEM mesh object"
+__author__ = "Bernd Hahnebach"
+__url__ = "http://www.freecadweb.org"
+
+## @package CommandPrintMeshInfo
+# \ingroup FEM
+
+import FreeCAD
+from FemCommands import FemCommands
+import FreeCADGui
+from PySide import QtCore
+from PySide import QtGui
+
+
+class _CommandPrintMeshInfo(FemCommands):
+ "Print FEM mesh info"
+ def __init__(self):
+ super(_CommandPrintMeshInfo, self).__init__()
+ self.resources = {'Pixmap': 'fem-femmesh-print-info',
+ 'MenuText': QtCore.QT_TRANSLATE_NOOP("Fem_PrintMeshInfo", "Print FEM mesh info"),
+ # 'Accel': "Z, Z",
+ 'ToolTip': QtCore.QT_TRANSLATE_NOOP("Fem_PrintMeshInfo", "Print FEM mesh info")}
+ self.is_active = 'with_femmesh'
+
+ def Activated(self):
+ sel = FreeCADGui.Selection.getSelection()
+ if len(sel) == 1 and sel[0].isDerivedFrom("Fem::FemMeshObject"):
+ FreeCAD.ActiveDocument.openTransaction("Print FEM mesh info")
+ FreeCADGui.doCommand("print(App.ActiveDocument." + sel[0].Name + ".FemMesh)")
+
+ FreeCADGui.addModule("PySide")
+ FreeCADGui.doCommand("mesh_info = str(App.ActiveDocument." + sel[0].Name + ".FemMesh)")
+ FreeCADGui.doCommand("PySide.QtGui.QMessageBox.information(None, 'FEM Mesh Info', mesh_info)")
+
+ FreeCADGui.Selection.clearSelection()
+
+FreeCADGui.addCommand('Fem_PrintMeshInfo',_CommandPrintMeshInfo())