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