FEM: move modules MechanicalMaterial to a more general FemMaterial
This commit is contained in:
parent
1d2857eb76
commit
739fe3ae39
|
@ -68,7 +68,7 @@ SET(FemScripts_SRCS
|
||||||
_CommandConstraintSelfWeight.py
|
_CommandConstraintSelfWeight.py
|
||||||
_CommandFEMMesh2Mesh.py
|
_CommandFEMMesh2Mesh.py
|
||||||
_CommandMaterialMechanicalNonlinear.py
|
_CommandMaterialMechanicalNonlinear.py
|
||||||
_CommandMechanicalMaterial.py
|
_CommandMaterial.py
|
||||||
_CommandMeshGmshFromShape.py
|
_CommandMeshGmshFromShape.py
|
||||||
_CommandMeshNetgenFromShape.py
|
_CommandMeshNetgenFromShape.py
|
||||||
_CommandMeshRegion.py
|
_CommandMeshRegion.py
|
||||||
|
@ -87,13 +87,13 @@ SET(FemScripts_SRCS
|
||||||
_FemShellThickness.py
|
_FemShellThickness.py
|
||||||
_FemSolverCalculix.py
|
_FemSolverCalculix.py
|
||||||
_FemSolverZ88.py
|
_FemSolverZ88.py
|
||||||
_MechanicalMaterial.py
|
_FemMaterial.py
|
||||||
_TaskPanelFemBeamSection.py
|
_TaskPanelFemBeamSection.py
|
||||||
_TaskPanelFemMeshGmsh.py
|
_TaskPanelFemMeshGmsh.py
|
||||||
_TaskPanelFemMeshRegion.py
|
_TaskPanelFemMeshRegion.py
|
||||||
_TaskPanelFemShellThickness.py
|
_TaskPanelFemShellThickness.py
|
||||||
_TaskPanelFemSolverCalculix.py
|
_TaskPanelFemSolverCalculix.py
|
||||||
_TaskPanelMechanicalMaterial.py
|
_TaskPanelFemMaterial.py
|
||||||
_TaskPanelShowResult.py
|
_TaskPanelShowResult.py
|
||||||
_ViewProviderFemBeamSection.py
|
_ViewProviderFemBeamSection.py
|
||||||
_ViewProviderFemConstraintSelfWeight.py
|
_ViewProviderFemConstraintSelfWeight.py
|
||||||
|
@ -103,7 +103,7 @@ SET(FemScripts_SRCS
|
||||||
_ViewProviderFemShellThickness.py
|
_ViewProviderFemShellThickness.py
|
||||||
_ViewProviderFemSolverCalculix.py
|
_ViewProviderFemSolverCalculix.py
|
||||||
_ViewProviderFemSolverZ88.py
|
_ViewProviderFemSolverZ88.py
|
||||||
_ViewProviderMechanicalMaterial.py
|
_ViewProviderFemMaterial.py
|
||||||
ccxDatReader.py
|
ccxDatReader.py
|
||||||
ccxFrdReader.py
|
ccxFrdReader.py
|
||||||
convert2TetGen.py
|
convert2TetGen.py
|
||||||
|
@ -130,7 +130,7 @@ SET(FemScripts_SRCS
|
||||||
FemTools.py
|
FemTools.py
|
||||||
FemToolsCcx.py
|
FemToolsCcx.py
|
||||||
FemToolsZ88.py
|
FemToolsZ88.py
|
||||||
MechanicalMaterial.py
|
FemMaterial.py
|
||||||
FemSelectionObserver.py
|
FemSelectionObserver.py
|
||||||
TestFem.py
|
TestFem.py
|
||||||
z88DispReader.py
|
z88DispReader.py
|
||||||
|
@ -139,7 +139,7 @@ SET(FemScripts_SRCS
|
||||||
TaskPanelFemMeshRegion.ui
|
TaskPanelFemMeshRegion.ui
|
||||||
TaskPanelFemShellThickness.ui
|
TaskPanelFemShellThickness.ui
|
||||||
TaskPanelFemSolverCalculix.ui
|
TaskPanelFemSolverCalculix.ui
|
||||||
TaskPanelMechanicalMaterial.ui
|
TaskPanelFemMaterial.ui
|
||||||
TaskPanelShowResult.ui
|
TaskPanelShowResult.ui
|
||||||
)
|
)
|
||||||
#SOURCE_GROUP("Scripts" FILES ${FemScripts_SRCS})
|
#SOURCE_GROUP("Scripts" FILES ${FemScripts_SRCS})
|
||||||
|
|
|
@ -81,12 +81,12 @@ INSTALL(
|
||||||
_ViewProviderFemConstraintSelfWeight.py
|
_ViewProviderFemConstraintSelfWeight.py
|
||||||
_CommandConstraintSelfWeight.py
|
_CommandConstraintSelfWeight.py
|
||||||
|
|
||||||
MechanicalMaterial.py
|
FemMaterial.py
|
||||||
_MechanicalMaterial.py
|
_FemMaterial.py
|
||||||
_ViewProviderMechanicalMaterial.py
|
_ViewProviderFemMaterial.py
|
||||||
_CommandMechanicalMaterial.py
|
_CommandMaterial.py
|
||||||
_TaskPanelMechanicalMaterial.py
|
_TaskPanelFemMaterial.py
|
||||||
TaskPanelMechanicalMaterial.ui
|
TaskPanelFemMaterial.ui
|
||||||
|
|
||||||
FemMaterialMechanicalNonlinear.py
|
FemMaterialMechanicalNonlinear.py
|
||||||
_FemMaterialMechanicalNonlinear.py
|
_FemMaterialMechanicalNonlinear.py
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
# * *
|
# * *
|
||||||
# ***************************************************************************
|
# ***************************************************************************
|
||||||
|
|
||||||
__title__ = "MechanicalMaterial"
|
__title__ = "FemMaterial"
|
||||||
__author__ = "Juergen Riegel, Bernd Hahnebach"
|
__author__ = "Juergen Riegel, Bernd Hahnebach"
|
||||||
__url__ = "http://www.freecadweb.org"
|
__url__ = "http://www.freecadweb.org"
|
||||||
|
|
||||||
|
@ -28,17 +28,17 @@ __url__ = "http://www.freecadweb.org"
|
||||||
# @{
|
# @{
|
||||||
|
|
||||||
import FreeCAD
|
import FreeCAD
|
||||||
import _MechanicalMaterial
|
import _FemMaterial
|
||||||
|
|
||||||
|
|
||||||
def makeMechanicalMaterial(name):
|
def makeFemMaterial(name):
|
||||||
'''makeMaterial(name): makes an Material
|
'''makeFemMaterial(name): makes an FEM Material
|
||||||
name there fore is a material name or an file name for a FCMat file'''
|
'''
|
||||||
obj = FreeCAD.ActiveDocument.addObject("App::MaterialObjectPython", name)
|
obj = FreeCAD.ActiveDocument.addObject("App::MaterialObjectPython", name)
|
||||||
_MechanicalMaterial._MechanicalMaterial(obj)
|
_FemMaterial._FemMaterial(obj)
|
||||||
if FreeCAD.GuiUp:
|
if FreeCAD.GuiUp:
|
||||||
import _ViewProviderMechanicalMaterial
|
import _ViewProviderFemMaterial
|
||||||
_ViewProviderMechanicalMaterial._ViewProviderMechanicalMaterial(obj.ViewObject)
|
_ViewProviderFemMaterial._ViewProviderFemMaterial(obj.ViewObject)
|
||||||
# FreeCAD.ActiveDocument.recompute()
|
# FreeCAD.ActiveDocument.recompute()
|
||||||
return obj
|
return obj
|
||||||
|
|
|
@ -402,7 +402,7 @@ def get_femelement_sets_from_group_data(femmesh, fem_objects):
|
||||||
|
|
||||||
|
|
||||||
def get_elset_short_name(obj, i):
|
def get_elset_short_name(obj, i):
|
||||||
if hasattr(obj, "Proxy") and obj.Proxy.Type == 'MechanicalMaterial':
|
if hasattr(obj, "Proxy") and obj.Proxy.Type == 'FemMaterial':
|
||||||
return 'Mat' + str(i)
|
return 'Mat' + str(i)
|
||||||
elif hasattr(obj, "Proxy") and obj.Proxy.Type == 'FemBeamSection':
|
elif hasattr(obj, "Proxy") and obj.Proxy.Type == 'FemBeamSection':
|
||||||
return 'Beam' + str(i)
|
return 'Beam' + str(i)
|
||||||
|
|
|
@ -344,7 +344,6 @@ fc_target_copy_resource(FemGui
|
||||||
${CMAKE_SOURCE_DIR}/src/Mod/Fem
|
${CMAKE_SOURCE_DIR}/src/Mod/Fem
|
||||||
${CMAKE_BINARY_DIR}/Mod/Fem
|
${CMAKE_BINARY_DIR}/Mod/Fem
|
||||||
InitGui.py
|
InitGui.py
|
||||||
TaskPanelMechanicalMaterial.ui
|
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(FemGuiIcon_SVG
|
SET(FemGuiIcon_SVG
|
||||||
|
|
|
@ -73,7 +73,7 @@ Gui::ToolBarItem* Workbench::setupToolBars() const
|
||||||
<< "Fem_MeshRegion"
|
<< "Fem_MeshRegion"
|
||||||
//<< "Fem_CreateNodesSet"
|
//<< "Fem_CreateNodesSet"
|
||||||
<< "Separator"
|
<< "Separator"
|
||||||
<< "Fem_MechanicalMaterial"
|
<< "Fem_Material"
|
||||||
<< "Fem_MaterialMechanicalNonlinear"
|
<< "Fem_MaterialMechanicalNonlinear"
|
||||||
<< "Fem_BeamSection"
|
<< "Fem_BeamSection"
|
||||||
<< "Fem_ShellThickness"
|
<< "Fem_ShellThickness"
|
||||||
|
@ -145,7 +145,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const
|
||||||
<< "Fem_MeshRegion"
|
<< "Fem_MeshRegion"
|
||||||
<< "Fem_CreateNodesSet"
|
<< "Fem_CreateNodesSet"
|
||||||
<< "Separator"
|
<< "Separator"
|
||||||
<< "Fem_MechanicalMaterial"
|
<< "Fem_Material"
|
||||||
<< "Fem_MaterialMechanicalNonlinear"
|
<< "Fem_MaterialMechanicalNonlinear"
|
||||||
<< "Fem_BeamSection"
|
<< "Fem_BeamSection"
|
||||||
<< "Fem_ShellThickness"
|
<< "Fem_ShellThickness"
|
||||||
|
|
|
@ -58,7 +58,7 @@ class FemWorkbench (Workbench):
|
||||||
import _CommandAnalysis
|
import _CommandAnalysis
|
||||||
import _CommandShellThickness
|
import _CommandShellThickness
|
||||||
import _CommandBeamSection
|
import _CommandBeamSection
|
||||||
import _CommandMechanicalMaterial
|
import _CommandMaterial
|
||||||
import _CommandMaterialMechanicalNonlinear
|
import _CommandMaterialMechanicalNonlinear
|
||||||
import _CommandSolverCalculix
|
import _CommandSolverCalculix
|
||||||
import _CommandSolverZ88
|
import _CommandSolverZ88
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>ThermalMechanicalMaterial</class>
|
<class>FemMaterial</class>
|
||||||
<widget class="QWidget" name="ThermalMechanicalMaterial">
|
<widget class="QWidget" name="FemMaterial">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Mechanical material</string>
|
<string>FEM material</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
|
@ -20,11 +20,11 @@
|
||||||
# * *
|
# * *
|
||||||
# ***************************************************************************
|
# ***************************************************************************
|
||||||
|
|
||||||
__title__ = "_CommandMechanicalMaterial"
|
__title__ = "_CommandMaterial"
|
||||||
__author__ = "Juergen Riegel, Bernd Hahnebach"
|
__author__ = "Juergen Riegel, Bernd Hahnebach"
|
||||||
__url__ = "http://www.freecadweb.org"
|
__url__ = "http://www.freecadweb.org"
|
||||||
|
|
||||||
## @package CommandMechanicalMaterial
|
## @package CommandMaterial
|
||||||
# \ingroup FEM
|
# \ingroup FEM
|
||||||
|
|
||||||
import FreeCAD
|
import FreeCAD
|
||||||
|
@ -34,25 +34,25 @@ import FemGui
|
||||||
from PySide import QtCore
|
from PySide import QtCore
|
||||||
|
|
||||||
|
|
||||||
class _CommandMechanicalMaterial(FemCommands):
|
class _CommandMaterial(FemCommands):
|
||||||
"the Fem_MechanicalMaterial command definition"
|
"the Fem_Material command definition"
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(_CommandMechanicalMaterial, self).__init__()
|
super(_CommandMaterial, self).__init__()
|
||||||
self.resources = {'Pixmap': 'fem-material',
|
self.resources = {'Pixmap': 'fem-material',
|
||||||
'MenuText': QtCore.QT_TRANSLATE_NOOP("Fem_MechanicalMaterial", "Mechanical material"),
|
'MenuText': QtCore.QT_TRANSLATE_NOOP("Fem_Material", "FEM material"),
|
||||||
'Accel': "M, M",
|
'Accel': "M, M",
|
||||||
'ToolTip': QtCore.QT_TRANSLATE_NOOP("Fem_MechanicalMaterial", "Creates a mechanical material")}
|
'ToolTip': QtCore.QT_TRANSLATE_NOOP("Fem_Material", "Creates a FEM material")}
|
||||||
self.is_active = 'with_analysis'
|
self.is_active = 'with_analysis'
|
||||||
|
|
||||||
def Activated(self):
|
def Activated(self):
|
||||||
femDoc = FemGui.getActiveAnalysis().Document
|
femDoc = FemGui.getActiveAnalysis().Document
|
||||||
if FreeCAD.ActiveDocument is not femDoc:
|
if FreeCAD.ActiveDocument is not femDoc:
|
||||||
FreeCADGui.setActiveDocument(femDoc)
|
FreeCADGui.setActiveDocument(femDoc)
|
||||||
FreeCAD.ActiveDocument.openTransaction("Create MechanicalMaterial")
|
FreeCAD.ActiveDocument.openTransaction("Create Material")
|
||||||
FreeCADGui.addModule("MechanicalMaterial")
|
FreeCADGui.addModule("FemMaterial")
|
||||||
FreeCADGui.doCommand("MechanicalMaterial.makeMechanicalMaterial('MechanicalMaterial')")
|
FreeCADGui.doCommand("FemMaterial.makeFemMaterial('FemMaterial')")
|
||||||
FreeCADGui.doCommand("App.activeDocument()." + FemGui.getActiveAnalysis().Name + ".Member = App.activeDocument()." + FemGui.getActiveAnalysis().Name + ".Member + [App.ActiveDocument.ActiveObject]")
|
FreeCADGui.doCommand("App.activeDocument()." + FemGui.getActiveAnalysis().Name + ".Member = App.activeDocument()." + FemGui.getActiveAnalysis().Name + ".Member + [App.ActiveDocument.ActiveObject]")
|
||||||
FreeCADGui.doCommand("Gui.activeDocument().setEdit(App.ActiveDocument.ActiveObject.Name)")
|
FreeCADGui.doCommand("Gui.activeDocument().setEdit(App.ActiveDocument.ActiveObject.Name)")
|
||||||
|
|
||||||
|
|
||||||
FreeCADGui.addCommand('Fem_MechanicalMaterial', _CommandMechanicalMaterial())
|
FreeCADGui.addCommand('Fem_Material', _CommandMaterial())
|
|
@ -20,20 +20,20 @@
|
||||||
# * *
|
# * *
|
||||||
# ***************************************************************************
|
# ***************************************************************************
|
||||||
|
|
||||||
__title__ = "_MechanicalMaterial"
|
__title__ = "FemMaterial"
|
||||||
__author__ = "Juergen Riegel, Bernd Hahnebach"
|
__author__ = "Juergen Riegel, Bernd Hahnebach"
|
||||||
__url__ = "http://www.freecadweb.org"
|
__url__ = "http://www.freecadweb.org"
|
||||||
|
|
||||||
## @package MechanicalMaterial
|
## @package FemMaterial
|
||||||
# \ingroup FEM
|
# \ingroup FEM
|
||||||
|
|
||||||
|
|
||||||
class _MechanicalMaterial:
|
class _FemMaterial:
|
||||||
"The Material object"
|
"The FEM Material object"
|
||||||
def __init__(self, obj):
|
def __init__(self, obj):
|
||||||
obj.addProperty("App::PropertyLinkSubList", "References", "Material", "List of material shapes")
|
obj.addProperty("App::PropertyLinkSubList", "References", "Material", "List of material shapes")
|
||||||
obj.Proxy = self
|
obj.Proxy = self
|
||||||
self.Type = "MechanicalMaterial"
|
self.Type = "FemMaterial"
|
||||||
|
|
||||||
def execute(self, obj):
|
def execute(self, obj):
|
||||||
return
|
return
|
|
@ -20,11 +20,11 @@
|
||||||
# * *
|
# * *
|
||||||
# ***************************************************************************
|
# ***************************************************************************
|
||||||
|
|
||||||
__title__ = "_TaskPanelMechanicalMaterial"
|
__title__ = "_TaskPanelFemMaterial"
|
||||||
__author__ = "Juergen Riegel, Bernd Hahnebach"
|
__author__ = "Juergen Riegel, Bernd Hahnebach"
|
||||||
__url__ = "http://www.freecadweb.org"
|
__url__ = "http://www.freecadweb.org"
|
||||||
|
|
||||||
## @package TaskPanelMechanicalMaterial
|
## @package TaskPanelFemMaterial
|
||||||
# \ingroup FEM
|
# \ingroup FEM
|
||||||
|
|
||||||
import FreeCAD
|
import FreeCAD
|
||||||
|
@ -34,8 +34,8 @@ from PySide import QtCore
|
||||||
import Units
|
import Units
|
||||||
|
|
||||||
|
|
||||||
class _TaskPanelMechanicalMaterial:
|
class _TaskPanelFemMaterial:
|
||||||
'''The editmode TaskPanel for MechanicalMaterial objects'''
|
'''The editmode TaskPanel for FemMaterial objects'''
|
||||||
def __init__(self, obj):
|
def __init__(self, obj):
|
||||||
FreeCADGui.Selection.clearSelection()
|
FreeCADGui.Selection.clearSelection()
|
||||||
self.sel_server = None
|
self.sel_server = None
|
||||||
|
@ -50,7 +50,7 @@ class _TaskPanelMechanicalMaterial:
|
||||||
self.get_references()
|
self.get_references()
|
||||||
self.references_shape_type = None
|
self.references_shape_type = None
|
||||||
|
|
||||||
self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/TaskPanelMechanicalMaterial.ui")
|
self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/TaskPanelFemMaterial.ui")
|
||||||
QtCore.QObject.connect(self.form.pushButton_MatWeb, QtCore.SIGNAL("clicked()"), self.goMatWeb)
|
QtCore.QObject.connect(self.form.pushButton_MatWeb, QtCore.SIGNAL("clicked()"), self.goMatWeb)
|
||||||
QtCore.QObject.connect(self.form.cb_materials, QtCore.SIGNAL("activated(int)"), self.choose_material)
|
QtCore.QObject.connect(self.form.cb_materials, QtCore.SIGNAL("activated(int)"), self.choose_material)
|
||||||
QtCore.QObject.connect(self.form.input_fd_young_modulus, QtCore.SIGNAL("valueChanged(double)"), self.ym_changed)
|
QtCore.QObject.connect(self.form.input_fd_young_modulus, QtCore.SIGNAL("valueChanged(double)"), self.ym_changed)
|
|
@ -20,19 +20,19 @@
|
||||||
# * *
|
# * *
|
||||||
# ***************************************************************************
|
# ***************************************************************************
|
||||||
|
|
||||||
__title__ = "_ViewProviderMechanicalMaterial"
|
__title__ = "_ViewProviderFemMaterial"
|
||||||
__author__ = "Juergen Riegel, Bernd Hahnebach"
|
__author__ = "Juergen Riegel, Bernd Hahnebach"
|
||||||
__url__ = "http://www.freecadweb.org"
|
__url__ = "http://www.freecadweb.org"
|
||||||
|
|
||||||
## @package ViewProviderMechanicalMaterial
|
## @package _ViewProviderFemMaterial
|
||||||
# \ingroup FEM
|
# \ingroup FEM
|
||||||
|
|
||||||
import FreeCAD
|
import FreeCAD
|
||||||
import FreeCADGui
|
import FreeCADGui
|
||||||
|
|
||||||
|
|
||||||
class _ViewProviderMechanicalMaterial:
|
class _ViewProviderFemMaterial:
|
||||||
"A View Provider for the MechanicalMaterial object"
|
"A View Provider for the FemMaterial object"
|
||||||
|
|
||||||
def __init__(self, vobj):
|
def __init__(self, vobj):
|
||||||
vobj.Proxy = self
|
vobj.Proxy = self
|
||||||
|
@ -51,8 +51,8 @@ class _ViewProviderMechanicalMaterial:
|
||||||
return
|
return
|
||||||
|
|
||||||
def setEdit(self, vobj, mode):
|
def setEdit(self, vobj, mode):
|
||||||
import _TaskPanelMechanicalMaterial
|
import _TaskPanelFemMaterial
|
||||||
taskd = _TaskPanelMechanicalMaterial._TaskPanelMechanicalMaterial(self.Object)
|
taskd = _TaskPanelFemMaterial._TaskPanelFemMaterial(self.Object)
|
||||||
taskd.obj = vobj.Object
|
taskd.obj = vobj.Object
|
||||||
FreeCADGui.Control.showDialog(taskd)
|
FreeCADGui.Control.showDialog(taskd)
|
||||||
return True
|
return True
|
Loading…
Reference in New Issue
Block a user