diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt index 07a50ccfa..4e577578c 100755 --- a/src/Mod/Fem/App/CMakeLists.txt +++ b/src/Mod/Fem/App/CMakeLists.txt @@ -72,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 15898221d..3b7f9740c 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -26,6 +26,7 @@ INSTALL( FemCommands.py _CommandClearMesh.py _CommandMeshNetgenFromShape.py + _CommandPrintMeshInfo.py _CommandPurgeResults.py _CommandRunSolver.py _CommandControlSolver.py diff --git a/src/Mod/Fem/Gui/Workbench.cpp b/src/Mod/Fem/Gui/Workbench.cpp index d9f834a9b..32e249f29 100755 --- a/src/Mod/Fem/Gui/Workbench.cpp +++ b/src/Mod/Fem/Gui/Workbench.cpp @@ -53,7 +53,9 @@ Workbench::~Workbench() void Workbench::setupContextMenu(const char* recipient, Gui::MenuItem* item) const { StdWorkbench::setupContextMenu( recipient, item ); - *item << "Separator" << "Fem_ClearMesh"; + *item << "Separator" + << "Fem_ClearMesh" + << "Fem_PrintMeshInfo"; } Gui::ToolBarItem* Workbench::setupToolBars() const diff --git a/src/Mod/Fem/InitGui.py b/src/Mod/Fem/InitGui.py index ff0b95cbb..ae33e45f2 100644 --- a/src/Mod/Fem/InitGui.py +++ b/src/Mod/Fem/InitGui.py @@ -49,6 +49,7 @@ class FemWorkbench (Workbench): import _CommandRunSolver import _CommandPurgeResults import _CommandClearMesh + import _CommandPrintMeshInfo import _CommandControlSolver import _CommandFEMMesh2Mesh import _CommandMeshGmshFromShape diff --git a/src/Mod/Fem/_CommandPrintMeshInfo.py b/src/Mod/Fem/_CommandPrintMeshInfo.py new file mode 100644 index 000000000..b46fa68a4 --- /dev/null +++ b/src/Mod/Fem/_CommandPrintMeshInfo.py @@ -0,0 +1,54 @@ +# *************************************************************************** +# * * +# * 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 + + +class _CommandPrintMeshInfo(FemCommands): + "Print FEM mesh info" + def __init__(self): + super(_CommandPrintMeshInfo, self).__init__() + self.resources = {'Pixmap': 'fem-femmesh-from-shape', + '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.Selection.clearSelection() + +FreeCADGui.addCommand('Fem_PrintMeshInfo',_CommandPrintMeshInfo())