diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt index 38b5db4fd..12cb8bd54 100644 --- a/src/Mod/Fem/App/CMakeLists.txt +++ b/src/Mod/Fem/App/CMakeLists.txt @@ -120,7 +120,6 @@ SET(FemScripts_SRCS importZ88O2Results.py Init.py InitGui.py - FemBeamSection.py FemCommands.py FemConstraintSelfWeight.py FemGmshTools.py diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index 57d69d9cf..6018a607a 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -72,7 +72,6 @@ INSTALL( _TaskPanelFemMeshRegion.py TaskPanelFemMeshRegion.ui - FemBeamSection.py _FemBeamSection.py _ViewProviderFemBeamSection.py _CommandBeamSection.py diff --git a/src/Mod/Fem/FemBeamSection.py b/src/Mod/Fem/FemBeamSection.py deleted file mode 100644 index f1f5e5e44..000000000 --- a/src/Mod/Fem/FemBeamSection.py +++ /dev/null @@ -1,54 +0,0 @@ -# *************************************************************************** -# * * -# * Copyright (c) 2015 - 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__ = "FemBeamSection" -__author__ = "Bernd Hahnebach" -__url__ = "http://www.freecadweb.org" - -## \addtogroup FEM -# @{ - -import FreeCAD -import _FemBeamSection - - -def makeFemBeamSection(sectiontype='Rectangular', width=10.0, height=25.0, name="BeamSection"): - '''makeFemBeamSection([width], [height], [name]): creates an beamsection object to define a cross section''' - obj = FreeCAD.ActiveDocument.addObject("Fem::FeaturePython", name) - _FemBeamSection._FemBeamSection(obj) - sec_types = _FemBeamSection._FemBeamSection.known_beam_types - if sectiontype not in sec_types: - FreeCAD.Console.PrintError("Section type is not known. Set to " + sec_types[0] + " \n") - obj.SectionType = sec_types[0] - else: - obj.SectionType = sectiontype - obj.RectWidth = width - obj.RectHeight = height - obj.CircDiameter = height - obj.PipeDiameter = height - obj.PipeThickness = width - if FreeCAD.GuiUp: - import _ViewProviderFemBeamSection - _ViewProviderFemBeamSection._ViewProviderFemBeamSection(obj.ViewObject) - return obj - -# @} diff --git a/src/Mod/Fem/ObjectsFem.py b/src/Mod/Fem/ObjectsFem.py index 39c0edfc6..96a18cd62 100644 --- a/src/Mod/Fem/ObjectsFem.py +++ b/src/Mod/Fem/ObjectsFem.py @@ -37,6 +37,29 @@ def makeAnalysis(name): return obj +########## element geometry definitions ########## +def makeBeamSection(sectiontype='Rectangular', width=10.0, height=25.0, name="BeamSection"): + '''makeBeamSection([width], [height], [name]): creates an beamsection object to define a cross section''' + obj = FreeCAD.ActiveDocument.addObject("Fem::FeaturePython", name) + import _FemBeamSection + _FemBeamSection._FemBeamSection(obj) + sec_types = _FemBeamSection._FemBeamSection.known_beam_types + if sectiontype not in sec_types: + FreeCAD.Console.PrintError("Section type is not known. Set to " + sec_types[0] + " \n") + obj.SectionType = sec_types[0] + else: + obj.SectionType = sectiontype + obj.RectWidth = width + obj.RectHeight = height + obj.CircDiameter = height + obj.PipeDiameter = height + obj.PipeThickness = width + if FreeCAD.GuiUp: + import _ViewProviderFemBeamSection + _ViewProviderFemBeamSection._ViewProviderFemBeamSection(obj.ViewObject) + return obj + + ########## constraints ########## def makeConstraintBearing(name): '''makeConstraintBearing(name): makes a Fem ConstraintBearing object''' diff --git a/src/Mod/Fem/_CommandBeamSection.py b/src/Mod/Fem/_CommandBeamSection.py index 7fb480c4f..69e791675 100644 --- a/src/Mod/Fem/_CommandBeamSection.py +++ b/src/Mod/Fem/_CommandBeamSection.py @@ -45,8 +45,8 @@ class _CommandBeamSection(FemCommands): def Activated(self): FreeCAD.ActiveDocument.openTransaction("Create FemBeamSection") - FreeCADGui.addModule("FemBeamSection") - FreeCADGui.doCommand("FemGui.getActiveAnalysis().Member = FemGui.getActiveAnalysis().Member + [FemBeamSection.makeFemBeamSection()]") + FreeCADGui.addModule("ObjectsFem") + FreeCADGui.doCommand("FemGui.getActiveAnalysis().Member = FemGui.getActiveAnalysis().Member + [ObjectsFem.makeBeamSection()]") FreeCADGui.addCommand('Fem_BeamSection', _CommandBeamSection())