From 34ad6af337b0e0a765847fed21f33b60cfbf663f Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Mon, 6 Mar 2017 10:10:09 +0100 Subject: [PATCH] FEM: shell thickness and elment geometry 2D object, make name fit in FEM name system --- src/Mod/Fem/App/CMakeLists.txt | 10 +++++----- src/Mod/Fem/CMakeLists.txt | 10 +++++----- src/Mod/Fem/FemMeshTools.py | 4 ++-- src/Mod/Fem/FemTools.py | 4 ++-- src/Mod/Fem/Gui/Workbench.cpp | 4 ++-- src/Mod/Fem/InitGui.py | 2 +- src/Mod/Fem/ObjectsFem.py | 12 +++++------ ...ss.ui => TaskPanelFemElementGeometry2D.ui} | 0 ...ess.py => _CommandFemElementGeometry2D.py} | 20 +++++++++---------- ...s.py => _TaskPanelFemElementGeometry2D.py} | 10 +++++----- ...y => _ViewProviderFemElementGeometry2D.py} | 12 +++++------ ...lThickness.py => _FemElementGeometry2D.py} | 10 +++++----- 12 files changed, 49 insertions(+), 49 deletions(-) rename src/Mod/Fem/PyGui/{TaskPanelFemShellThickness.ui => TaskPanelFemElementGeometry2D.ui} (100%) rename src/Mod/Fem/PyGui/{_CommandFemShellThickness.py => _CommandFemElementGeometry2D.py} (79%) rename src/Mod/Fem/PyGui/{_TaskPanelFemShellThickness.py => _TaskPanelFemElementGeometry2D.py} (96%) rename src/Mod/Fem/PyGui/{_ViewProviderFemShellThickness.py => _ViewProviderFemElementGeometry2D.py} (89%) rename src/Mod/Fem/PyObjects/{_FemShellThickness.py => _FemElementGeometry2D.py} (92%) diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt index 36e96198e..be018a84c 100644 --- a/src/Mod/Fem/App/CMakeLists.txt +++ b/src/Mod/Fem/App/CMakeLists.txt @@ -97,7 +97,7 @@ SET(FemObjectsScripts_SRCS PyObjects/_FemMeshGroup.py PyObjects/_FemMeshRegion.py PyObjects/_FemResultMechanical.py - PyObjects/_FemShellThickness.py + PyObjects/_FemElementGeometry2D.py PyObjects/_FemSolverCalculix.py PyObjects/_FemSolverZ88.py PyObjects/_FemMaterial.py @@ -122,7 +122,7 @@ SET(FemGuiScripts_SRCS PyGui/_CommandFemMeshRegion.py PyGui/_CommandFemResultShow.py PyGui/_CommandFemResultsPurge.py - PyGui/_CommandFemShellThickness.py + PyGui/_CommandFemElementGeometry2D.py PyGui/_CommandFemSolverCalculix.py PyGui/_CommandFemSolverControl.py PyGui/_CommandFemSolverRun.py @@ -134,7 +134,7 @@ SET(FemGuiScripts_SRCS PyGui/_TaskPanelFemMeshGroup.py PyGui/_TaskPanelFemMeshRegion.py PyGui/_TaskPanelFemResultShow.py - PyGui/_TaskPanelFemShellThickness.py + PyGui/_TaskPanelFemElementGeometry2D.py PyGui/_TaskPanelFemSolverCalculix.py PyGui/_ViewProviderFemElementGeometry1D.py PyGui/_ViewProviderFemConstraintSelfWeight.py @@ -145,7 +145,7 @@ SET(FemGuiScripts_SRCS PyGui/_ViewProviderFemMeshGroup.py PyGui/_ViewProviderFemMeshRegion.py PyGui/_ViewProviderFemResultMechanical.py - PyGui/_ViewProviderFemShellThickness.py + PyGui/_ViewProviderFemElementGeometry2D.py PyGui/_ViewProviderFemSolverCalculix.py PyGui/_ViewProviderFemSolverZ88.py PyGui/TaskPanelFemElementGeometry1D.ui @@ -155,7 +155,7 @@ SET(FemGuiScripts_SRCS PyGui/TaskPanelFemMeshGroup.ui PyGui/TaskPanelFemMeshRegion.ui PyGui/TaskPanelFemResultShow.ui - PyGui/TaskPanelFemShellThickness.ui + PyGui/TaskPanelFemElementGeometry2D.ui PyGui/TaskPanelFemSolverCalculix.ui ) diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index 27ae0f91c..c9e650f96 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -55,7 +55,7 @@ INSTALL( PyObjects/_FemMeshGroup.py PyObjects/_FemMeshRegion.py PyObjects/_FemResultMechanical.py - PyObjects/_FemShellThickness.py + PyObjects/_FemElementGeometry2D.py PyObjects/_FemSolverCalculix.py PyObjects/_FemSolverZ88.py PyObjects/_FemMaterial.py @@ -83,7 +83,7 @@ INSTALL( PyGui/_CommandFemMeshRegion.py PyGui/_CommandFemResultShow.py PyGui/_CommandFemResultsPurge.py - PyGui/_CommandFemShellThickness.py + PyGui/_CommandFemElementGeometry2D.py PyGui/_CommandFemSolverCalculix.py PyGui/_CommandFemSolverControl.py PyGui/_CommandFemSolverRun.py @@ -95,7 +95,7 @@ INSTALL( PyGui/_TaskPanelFemMeshGroup.py PyGui/_TaskPanelFemMeshRegion.py PyGui/_TaskPanelFemResultShow.py - PyGui/_TaskPanelFemShellThickness.py + PyGui/_TaskPanelFemElementGeometry2D.py PyGui/_TaskPanelFemSolverCalculix.py PyGui/_ViewProviderFemElementGeometry1D.py PyGui/_ViewProviderFemConstraintSelfWeight.py @@ -106,7 +106,7 @@ INSTALL( PyGui/_ViewProviderFemMeshGroup.py PyGui/_ViewProviderFemMeshRegion.py PyGui/_ViewProviderFemResultMechanical.py - PyGui/_ViewProviderFemShellThickness.py + PyGui/_ViewProviderFemElementGeometry2D.py PyGui/_ViewProviderFemSolverCalculix.py PyGui/_ViewProviderFemSolverZ88.py PyGui/TaskPanelFemElementGeometry1D.ui @@ -116,7 +116,7 @@ INSTALL( PyGui/TaskPanelFemMeshGroup.ui PyGui/TaskPanelFemMeshRegion.ui PyGui/TaskPanelFemResultShow.ui - PyGui/TaskPanelFemShellThickness.ui + PyGui/TaskPanelFemElementGeometry2D.ui PyGui/TaskPanelFemSolverCalculix.ui DESTINATION Mod/Fem/PyGui diff --git a/src/Mod/Fem/FemMeshTools.py b/src/Mod/Fem/FemMeshTools.py index 62b35db1c..c51c65d25 100644 --- a/src/Mod/Fem/FemMeshTools.py +++ b/src/Mod/Fem/FemMeshTools.py @@ -408,7 +408,7 @@ def get_elset_short_name(obj, i): return 'Beam' + str(i) elif hasattr(obj, "Proxy") and obj.Proxy.Type == 'FemFluidSection': return 'Fluid' + str(i) - elif hasattr(obj, "Proxy") and obj.Proxy.Type == 'FemShellThickness': + elif hasattr(obj, "Proxy") and obj.Proxy.Type == 'FemElementGeometry2D': return 'Shell' + str(i) else: print('Error: ', obj.Name, ' --> ', obj.Proxy.Type) @@ -1030,7 +1030,7 @@ def get_analysis_group_elements(aAnalysis, aPart): else: FreeCAD.Console.PrintError('Problem: more than one object with empty references.\n') print('We gone try to get the empty material references anyway.\n') - # ShellThickness, ElementGeometry1D and FluidSection could have empty references, but on solid meshes only materials should have empty references + # FemElementGeometry2D, ElementGeometry1D and FluidSection could have empty references, but on solid meshes only materials should have empty references for er in empty_references: print(er.Name) group_elements = get_anlysis_empty_references_group_elements(group_elements, aAnalysis, aPart.Shape) diff --git a/src/Mod/Fem/FemTools.py b/src/Mod/Fem/FemTools.py index c65a0ff3f..50747c55b 100644 --- a/src/Mod/Fem/FemTools.py +++ b/src/Mod/Fem/FemTools.py @@ -198,7 +198,7 @@ class FemTools(QtCore.QRunnable, QtCore.QObject): self.fluid_sections = [] ## @var shell_thicknesses # set of shell thicknesses from the analysis. Updated with update_objects - # Individual shell thicknesses are Proxy.Type "FemShellThickness" + # Individual shell thicknesses are Proxy.Type "FemElementGeometry2D" self.shell_thicknesses = [] ## @var displacement_constraints # set of displacements for the analysis. Updated with update_objects @@ -310,7 +310,7 @@ class FemTools(QtCore.QRunnable, QtCore.QObject): fluid_section_dict = {} fluid_section_dict['Object'] = m self.fluid_sections.append(fluid_section_dict) - elif hasattr(m, "Proxy") and m.Proxy.Type == "FemShellThickness": + elif hasattr(m, "Proxy") and m.Proxy.Type == "FemElementGeometry2D": shell_thickness_dict = {} shell_thickness_dict['Object'] = m self.shell_thicknesses.append(shell_thickness_dict) diff --git a/src/Mod/Fem/Gui/Workbench.cpp b/src/Mod/Fem/Gui/Workbench.cpp index 12fc9e9df..c9d21ef89 100755 --- a/src/Mod/Fem/Gui/Workbench.cpp +++ b/src/Mod/Fem/Gui/Workbench.cpp @@ -78,7 +78,7 @@ Gui::ToolBarItem* Workbench::setupToolBars() const << "FEM_MaterialFluid" << "FEM_MaterialMechanicalNonlinear" << "FEM_ElementGeometry1D" - << "FEM_ShellThickness" + << "FEM_ElementGeometry2D" << "FEM_FluidSection" << "Separator" << "FEM_ConstraintFixed" @@ -153,7 +153,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const << "FEM_MaterialFluid" << "FEM_MaterialMechanicalNonlinear" << "FEM_ElementGeometry1D" - << "FEM_ShellThickness" + << "FEM_ElementGeometry2D" << "FEM_FluidSection" << "Separator" << "FEM_ConstraintFixed" diff --git a/src/Mod/Fem/InitGui.py b/src/Mod/Fem/InitGui.py index d6d689e67..d9de5263b 100644 --- a/src/Mod/Fem/InitGui.py +++ b/src/Mod/Fem/InitGui.py @@ -64,7 +64,7 @@ class FemWorkbench (Workbench): import PyGui._CommandFemSolverRun import PyGui._CommandFemSolverZ88 - import PyGui._CommandFemShellThickness + import PyGui._CommandFemElementGeometry2D import PyGui._CommandFemElementGeometry1D import PyGui._CommandFemFluidSection diff --git a/src/Mod/Fem/ObjectsFem.py b/src/Mod/Fem/ObjectsFem.py index 3ac1b961b..cd8e75530 100644 --- a/src/Mod/Fem/ObjectsFem.py +++ b/src/Mod/Fem/ObjectsFem.py @@ -294,15 +294,15 @@ def makeFemFluidSection(name="FluidSection"): return obj -def makeShellThickness(thickness=20.0, name="ShellThickness"): - '''makeShellThickness([thickness], [name]): creates an shellthickness object to define a plate thickness''' +def makeElementGeometry2D(thickness=20.0, name="ElementGeometry2D"): + '''makeElementGeometry2D([thickness], [name]): creates an 2D geometry element object to define a plate thickness''' obj = FreeCAD.ActiveDocument.addObject("Fem::FeaturePython", name) - import PyObjects._FemShellThickness - PyObjects._FemShellThickness._FemShellThickness(obj) + import PyObjects._FemElementGeometry2D + PyObjects._FemElementGeometry2D._FemElementGeometry2D(obj) obj.Thickness = thickness if FreeCAD.GuiUp: - import PyGui._ViewProviderFemShellThickness - PyGui._ViewProviderFemShellThickness._ViewProviderFemShellThickness(obj.ViewObject) + import PyGui._ViewProviderFemElementGeometry2D + PyGui._ViewProviderFemElementGeometry2D._ViewProviderFemElementGeometry2D(obj.ViewObject) return obj diff --git a/src/Mod/Fem/PyGui/TaskPanelFemShellThickness.ui b/src/Mod/Fem/PyGui/TaskPanelFemElementGeometry2D.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemShellThickness.ui rename to src/Mod/Fem/PyGui/TaskPanelFemElementGeometry2D.ui diff --git a/src/Mod/Fem/PyGui/_CommandFemShellThickness.py b/src/Mod/Fem/PyGui/_CommandFemElementGeometry2D.py similarity index 79% rename from src/Mod/Fem/PyGui/_CommandFemShellThickness.py rename to src/Mod/Fem/PyGui/_CommandFemElementGeometry2D.py index 716e87d3b..f6b85907a 100644 --- a/src/Mod/Fem/PyGui/_CommandFemShellThickness.py +++ b/src/Mod/Fem/PyGui/_CommandFemElementGeometry2D.py @@ -20,11 +20,11 @@ # * * # *************************************************************************** -__title__ = "_CommandShellThickness" +__title__ = "_CommandFemElementGeometry2D" __author__ = "Bernd Hahnebach" __url__ = "http://www.freecadweb.org" -## @package CommandFemShellThickness +## @package CommandFemElementGeometry2D # \ingroup FEM import FreeCAD @@ -33,20 +33,20 @@ import FreeCADGui from PySide import QtCore -class _CommandFemShellThickness(FemCommands): - "The FEM_ShellThickness command definition" +class _CommandFemElementGeometry2D(FemCommands): + "The FEM_ElementGeometry2D command definition" def __init__(self): - super(_CommandFemShellThickness, self).__init__() + super(_CommandFemElementGeometry2D, self).__init__() self.resources = {'Pixmap': 'fem-shell-thickness', - 'MenuText': QtCore.QT_TRANSLATE_NOOP("FEM_ShellThickness", "Shell plate thickness"), + 'MenuText': QtCore.QT_TRANSLATE_NOOP("FEM_ElementGeometry2D", "Shell plate thickness"), 'Accel': "C, S", - 'ToolTip': QtCore.QT_TRANSLATE_NOOP("FEM_ShellThickness", "Creates a FEM shell plate thickness")} + 'ToolTip': QtCore.QT_TRANSLATE_NOOP("FEM_ElementGeometry2D", "Creates a FEM shell plate thickness")} self.is_active = 'with_analysis' def Activated(self): - FreeCAD.ActiveDocument.openTransaction("Create FemShellThickness") + FreeCAD.ActiveDocument.openTransaction("Create FemElementGeometry2D") FreeCADGui.addModule("ObjectsFem") - FreeCADGui.doCommand("FemGui.getActiveAnalysis().Member = FemGui.getActiveAnalysis().Member + [ObjectsFem.makeShellThickness()]") + FreeCADGui.doCommand("FemGui.getActiveAnalysis().Member = FemGui.getActiveAnalysis().Member + [ObjectsFem.makeElementGeometry2D()]") -FreeCADGui.addCommand('FEM_ShellThickness', _CommandFemShellThickness()) +FreeCADGui.addCommand('FEM_ElementGeometry2D', _CommandFemElementGeometry2D()) diff --git a/src/Mod/Fem/PyGui/_TaskPanelFemShellThickness.py b/src/Mod/Fem/PyGui/_TaskPanelFemElementGeometry2D.py similarity index 96% rename from src/Mod/Fem/PyGui/_TaskPanelFemShellThickness.py rename to src/Mod/Fem/PyGui/_TaskPanelFemElementGeometry2D.py index 6dc834ebb..f2eb71444 100644 --- a/src/Mod/Fem/PyGui/_TaskPanelFemShellThickness.py +++ b/src/Mod/Fem/PyGui/_TaskPanelFemElementGeometry2D.py @@ -20,11 +20,11 @@ # * * # *************************************************************************** -__title__ = "_TaskPanelFemShellThickness" +__title__ = "_TaskPanelFemElementGeometry2D" __author__ = "Bernd Hahnebach" __url__ = "http://www.freecadweb.org" -## @package TaskPanelFemShellThickness +## @package FemElementGeometry2D # \ingroup FEM import FreeCAD @@ -33,14 +33,14 @@ from PySide import QtGui from PySide import QtCore -class _TaskPanelFemShellThickness: - '''The TaskPanel for editing References property of FemShellThickness objects''' +class _TaskPanelFemElementGeometry2D: + '''The TaskPanel for editing References property of FemElementGeometry2D objects''' def __init__(self, obj): FreeCADGui.Selection.clearSelection() self.sel_server = None self.obj = obj - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemShellThickness.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemElementGeometry2D.ui") QtCore.QObject.connect(self.form.if_thickness, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.thickness_changed) QtCore.QObject.connect(self.form.pushButton_Reference, QtCore.SIGNAL("clicked()"), self.add_references) self.form.list_References.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemShellThickness.py b/src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry2D.py similarity index 89% rename from src/Mod/Fem/PyGui/_ViewProviderFemShellThickness.py rename to src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry2D.py index 5527d6af8..5ebf1d8b6 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemShellThickness.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry2D.py @@ -20,11 +20,11 @@ # * * # *************************************************************************** -__title__ = "_ViewProviderFemShellThickness" +__title__ = "_ViewProviderFemElementGeometry2D" __author__ = "Bernd Hahnebach" __url__ = "http://www.freecadweb.org" -## @package ViewProviderFemShellThickness +## @package ViewProviderFemElementGeometry2D # \ingroup FEM import FreeCAD @@ -32,8 +32,8 @@ import FreeCADGui from pivy import coin -class _ViewProviderFemShellThickness: - "A View Provider for the FemShellThickness object" +class _ViewProviderFemElementGeometry2D: + "A View Provider for the FemElementGeometry2D object" def __init__(self, vobj): vobj.Proxy = self @@ -59,8 +59,8 @@ class _ViewProviderFemShellThickness: return def setEdit(self, vobj, mode=0): - import PyGui._TaskPanelFemShellThickness - taskd = PyGui._TaskPanelFemShellThickness._TaskPanelFemShellThickness(self.Object) + import PyGui._TaskPanelFemElementGeometry2D + taskd = PyGui._TaskPanelFemElementGeometry2D._TaskPanelFemElementGeometry2D(self.Object) taskd.obj = vobj.Object FreeCADGui.Control.showDialog(taskd) return True diff --git a/src/Mod/Fem/PyObjects/_FemShellThickness.py b/src/Mod/Fem/PyObjects/_FemElementGeometry2D.py similarity index 92% rename from src/Mod/Fem/PyObjects/_FemShellThickness.py rename to src/Mod/Fem/PyObjects/_FemElementGeometry2D.py index 7d9d94e3d..1152c9eb4 100644 --- a/src/Mod/Fem/PyObjects/_FemShellThickness.py +++ b/src/Mod/Fem/PyObjects/_FemElementGeometry2D.py @@ -20,21 +20,21 @@ # * * # *************************************************************************** -__title__ = "_FemShellThickness" +__title__ = "_FemElementGeometry2D" __author__ = "Bernd Hahnebach" __url__ = "http://www.freecadweb.org" -## @package FemShellThickness +## @package FemElementGeometry2D # \ingroup FEM -class _FemShellThickness: - "The FemShellThickness object" +class _FemElementGeometry2D: + "The FemElementGeometry2D object" def __init__(self, obj): obj.addProperty("App::PropertyLength", "Thickness", "ShellThickness", "set thickness of the shell elements") obj.addProperty("App::PropertyLinkSubList", "References", "ShellThickness", "List of shell thickness shapes") obj.Proxy = self - self.Type = "FemShellThickness" + self.Type = "FemElementGeometry2D" def execute(self, obj): return