diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt index 7935fba74..1c0103eab 100755 --- a/src/Mod/Fem/App/CMakeLists.txt +++ b/src/Mod/Fem/App/CMakeLists.txt @@ -91,6 +91,7 @@ SET(FemScripts_SRCS _CommandQuickAnalysis.py _CommandPurgeFemResults.py _CommandMechanicalJobControl.py + _CommandFemFromShape.py ) #SOURCE_GROUP("Scripts" FILES ${FemScripts_SRCS}) diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index 83d770c70..d222d8f98 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -33,6 +33,7 @@ INSTALL( _CommandQuickAnalysis.py _CommandPurgeFemResults.py _CommandMechanicalJobControl.py + _CommandFemFromShape.py DESTINATION Mod/Fem ) diff --git a/src/Mod/Fem/Gui/AppFemGui.cpp b/src/Mod/Fem/Gui/AppFemGui.cpp index 75d079737..454e0e35e 100644 --- a/src/Mod/Fem/Gui/AppFemGui.cpp +++ b/src/Mod/Fem/Gui/AppFemGui.cpp @@ -107,6 +107,7 @@ void FemGuiExport initFemGui() Base::Interpreter().loadModule("_CommandQuickAnalysis"); Base::Interpreter().loadModule("_CommandPurgeFemResults"); Base::Interpreter().loadModule("_CommandMechanicalJobControl"); + Base::Interpreter().loadModule("_CommandFemFromShape"); Base::Interpreter().loadModule("MechanicalAnalysis"); Base::Interpreter().loadModule("MechanicalMaterial"); Base::Interpreter().loadModule("FemBeamSection"); diff --git a/src/Mod/Fem/MechanicalAnalysis.py b/src/Mod/Fem/MechanicalAnalysis.py index d7b8d980a..2d9e05504 100644 --- a/src/Mod/Fem/MechanicalAnalysis.py +++ b/src/Mod/Fem/MechanicalAnalysis.py @@ -78,32 +78,5 @@ class _CommandNewMechanicalAnalysis: return FreeCADGui.ActiveDocument is not None and FemGui.getActiveAnalysis() is None -class _CommandFemFromShape: - def GetResources(self): - return {'Pixmap': 'fem-fem-mesh-from-shape', - 'MenuText': QtCore.QT_TRANSLATE_NOOP("Fem_CreateFromShape", "Create FEM mesh"), - 'ToolTip': QtCore.QT_TRANSLATE_NOOP("Fem_CreateFromShape", "Create FEM mesh from shape")} - - def Activated(self): - FreeCAD.ActiveDocument.openTransaction("Create FEM mesh") - FreeCADGui.addModule("FemGui") - FreeCADGui.addModule("MechanicalAnalysis") - sel = FreeCADGui.Selection.getSelection() - if (len(sel) == 1): - if(sel[0].isDerivedFrom("Part::Feature")): - FreeCADGui.doCommand("App.activeDocument().addObject('Fem::FemMeshShapeNetgenObject', '" + sel[0].Name + "_Mesh')") - FreeCADGui.doCommand("App.activeDocument().ActiveObject.Shape = App.activeDocument()." + sel[0].Name) - FreeCADGui.doCommand("Gui.activeDocument().setEdit(App.ActiveDocument.ActiveObject.Name)") - - FreeCADGui.Selection.clearSelection() - - def IsActive(self): - sel = FreeCADGui.Selection.getSelection() - if len(sel) == 1: - return sel[0].isDerivedFrom("Part::Feature") - return False - - if FreeCAD.GuiUp: FreeCADGui.addCommand('Fem_NewMechanicalAnalysis', _CommandNewMechanicalAnalysis()) - FreeCADGui.addCommand('Fem_CreateFromShape', _CommandFemFromShape()) diff --git a/src/Mod/Fem/_CommandFemFromShape.py b/src/Mod/Fem/_CommandFemFromShape.py new file mode 100644 index 000000000..9fb139c90 --- /dev/null +++ b/src/Mod/Fem/_CommandFemFromShape.py @@ -0,0 +1,34 @@ +import FreeCAD + +if FreeCAD.GuiUp: + import FreeCADGui + from PySide import QtCore + + +class _CommandFemFromShape: + def GetResources(self): + return {'Pixmap': 'fem-fem-mesh-from-shape', + 'MenuText': QtCore.QT_TRANSLATE_NOOP("Fem_CreateFromShape", "Create FEM mesh"), + 'ToolTip': QtCore.QT_TRANSLATE_NOOP("Fem_CreateFromShape", "Create FEM mesh from shape")} + + def Activated(self): + FreeCAD.ActiveDocument.openTransaction("Create FEM mesh") + FreeCADGui.addModule("FemGui") + FreeCADGui.addModule("MechanicalAnalysis") + sel = FreeCADGui.Selection.getSelection() + if (len(sel) == 1): + if(sel[0].isDerivedFrom("Part::Feature")): + FreeCADGui.doCommand("App.activeDocument().addObject('Fem::FemMeshShapeNetgenObject', '" + sel[0].Name + "_Mesh')") + FreeCADGui.doCommand("App.activeDocument().ActiveObject.Shape = App.activeDocument()." + sel[0].Name) + FreeCADGui.doCommand("Gui.activeDocument().setEdit(App.ActiveDocument.ActiveObject.Name)") + + FreeCADGui.Selection.clearSelection() + + def IsActive(self): + sel = FreeCADGui.Selection.getSelection() + if len(sel) == 1: + return sel[0].isDerivedFrom("Part::Feature") + return False + +if FreeCAD.GuiUp: + FreeCADGui.addCommand('Fem_CreateFromShape', _CommandFemFromShape())