FEM: cmakes, object fem, init gui modules, sort by name

This commit is contained in:
Bernd Hahnebach 2017-03-06 10:39:03 +01:00 committed by Yorik van Havre
parent 092a5dae48
commit 19a0f85708
4 changed files with 69 additions and 71 deletions

View File

@ -89,15 +89,15 @@ SET(FemScripts_SRCS
SET(FemObjectsScripts_SRCS
PyObjects/__init__.py
PyObjects/_FemElementGeometry1D.py
PyObjects/_FemConstraintSelfWeight.py
PyObjects/_FemElementFluid1D.py
PyObjects/_FemElementGeometry1D.py
PyObjects/_FemElementGeometry2D.py
PyObjects/_FemMaterialMechanicalNonlinear.py
PyObjects/_FemMeshGmsh.py
PyObjects/_FemMeshGroup.py
PyObjects/_FemMeshRegion.py
PyObjects/_FemResultMechanical.py
PyObjects/_FemElementGeometry2D.py
PyObjects/_FemSolverCalculix.py
PyObjects/_FemSolverZ88.py
PyObjects/_FemMaterial.py
@ -107,9 +107,10 @@ SET(FemGuiScripts_SRCS
PyGui/FemCommands.py
PyGui/__init__.py
PyGui/_CommandFemAnalysis.py
PyGui/_CommandFemElementGeometry1D.py
PyGui/_CommandFemConstraintSelfWeight.py
PyGui/_CommandFemElementFluid1D.py
PyGui/_CommandFemElementGeometry1D.py
PyGui/_CommandFemElementGeometry2D.py
PyGui/_CommandFemMaterialMechanicalNonlinear.py
PyGui/_CommandFemMaterialSolid.py
PyGui/_CommandFemMaterialFluid.py
@ -122,40 +123,39 @@ SET(FemGuiScripts_SRCS
PyGui/_CommandFemMeshRegion.py
PyGui/_CommandFemResultShow.py
PyGui/_CommandFemResultsPurge.py
PyGui/_CommandFemElementGeometry2D.py
PyGui/_CommandFemSolverCalculix.py
PyGui/_CommandFemSolverControl.py
PyGui/_CommandFemSolverRun.py
PyGui/_CommandFemSolverZ88.py
PyGui/_TaskPanelFemElementGeometry1D.py
PyGui/_TaskPanelFemElementFluid1D.py
PyGui/_TaskPanelFemElementGeometry1D.py
PyGui/_TaskPanelFemElementGeometry2D.py
PyGui/_TaskPanelFemMaterial.py
PyGui/_TaskPanelFemMeshGmsh.py
PyGui/_TaskPanelFemMeshGroup.py
PyGui/_TaskPanelFemMeshRegion.py
PyGui/_TaskPanelFemResultShow.py
PyGui/_TaskPanelFemElementGeometry2D.py
PyGui/_TaskPanelFemSolverCalculix.py
PyGui/_ViewProviderFemElementGeometry1D.py
PyGui/_ViewProviderFemConstraintSelfWeight.py
PyGui/_ViewProviderFemElementFluid1D.py
PyGui/_ViewProviderFemElementGeometry1D.py
PyGui/_ViewProviderFemElementGeometry2D.py
PyGui/_ViewProviderFemMaterial.py
PyGui/_ViewProviderFemMaterialMechanicalNonlinear.py
PyGui/_ViewProviderFemMeshGmsh.py
PyGui/_ViewProviderFemMeshGroup.py
PyGui/_ViewProviderFemMeshRegion.py
PyGui/_ViewProviderFemResultMechanical.py
PyGui/_ViewProviderFemElementGeometry2D.py
PyGui/_ViewProviderFemSolverCalculix.py
PyGui/_ViewProviderFemSolverZ88.py
PyGui/TaskPanelFemElementGeometry1D.ui
PyGui/TaskPanelFemElementFluid1D.ui
PyGui/TaskPanelFemElementGeometry1D.ui
PyGui/TaskPanelFemElementGeometry2D.ui
PyGui/TaskPanelFemMaterial.ui
PyGui/TaskPanelFemMeshGmsh.ui
PyGui/TaskPanelFemMeshGroup.ui
PyGui/TaskPanelFemMeshRegion.ui
PyGui/TaskPanelFemResultShow.ui
PyGui/TaskPanelFemElementGeometry2D.ui
PyGui/TaskPanelFemSolverCalculix.ui
)

View File

@ -47,15 +47,15 @@ INSTALL(
INSTALL(
FILES
PyObjects/__init__.py
PyObjects/_FemElementGeometry1D.py
PyObjects/_FemConstraintSelfWeight.py
PyObjects/_FemElementFluid1D.py
PyObjects/_FemElementGeometry1D.py
PyObjects/_FemElementGeometry2D.py
PyObjects/_FemMaterialMechanicalNonlinear.py
PyObjects/_FemMeshGmsh.py
PyObjects/_FemMeshGroup.py
PyObjects/_FemMeshRegion.py
PyObjects/_FemResultMechanical.py
PyObjects/_FemElementGeometry2D.py
PyObjects/_FemSolverCalculix.py
PyObjects/_FemSolverZ88.py
PyObjects/_FemMaterial.py
@ -68,9 +68,10 @@ INSTALL(
PyGui/FemCommands.py
PyGui/__init__.py
PyGui/_CommandFemAnalysis.py
PyGui/_CommandFemElementGeometry1D.py
PyGui/_CommandFemConstraintSelfWeight.py
PyGui/_CommandFemElementFluid1D.py
PyGui/_CommandFemElementGeometry1D.py
PyGui/_CommandFemElementGeometry2D.py
PyGui/_CommandFemMaterialMechanicalNonlinear.py
PyGui/_CommandFemMaterialSolid.py
PyGui/_CommandFemMaterialFluid.py
@ -83,40 +84,39 @@ INSTALL(
PyGui/_CommandFemMeshRegion.py
PyGui/_CommandFemResultShow.py
PyGui/_CommandFemResultsPurge.py
PyGui/_CommandFemElementGeometry2D.py
PyGui/_CommandFemSolverCalculix.py
PyGui/_CommandFemSolverControl.py
PyGui/_CommandFemSolverRun.py
PyGui/_CommandFemSolverZ88.py
PyGui/_TaskPanelFemElementGeometry1D.py
PyGui/_TaskPanelFemElementFluid1D.py
PyGui/_TaskPanelFemElementGeometry1D.py
PyGui/_TaskPanelFemElementGeometry2D.py
PyGui/_TaskPanelFemMaterial.py
PyGui/_TaskPanelFemMeshGmsh.py
PyGui/_TaskPanelFemMeshGroup.py
PyGui/_TaskPanelFemMeshRegion.py
PyGui/_TaskPanelFemResultShow.py
PyGui/_TaskPanelFemElementGeometry2D.py
PyGui/_TaskPanelFemSolverCalculix.py
PyGui/_ViewProviderFemElementGeometry1D.py
PyGui/_ViewProviderFemConstraintSelfWeight.py
PyGui/_ViewProviderFemElementFluid1D.py
PyGui/_ViewProviderFemElementGeometry1D.py
PyGui/_ViewProviderFemElementGeometry2D.py
PyGui/_ViewProviderFemMaterial.py
PyGui/_ViewProviderFemMaterialMechanicalNonlinear.py
PyGui/_ViewProviderFemMeshGmsh.py
PyGui/_ViewProviderFemMeshGroup.py
PyGui/_ViewProviderFemMeshRegion.py
PyGui/_ViewProviderFemResultMechanical.py
PyGui/_ViewProviderFemElementGeometry2D.py
PyGui/_ViewProviderFemSolverCalculix.py
PyGui/_ViewProviderFemSolverZ88.py
PyGui/TaskPanelFemElementGeometry1D.ui
PyGui/TaskPanelFemElementFluid1D.ui
PyGui/TaskPanelFemElementGeometry1D.ui
PyGui/TaskPanelFemElementGeometry2D.ui
PyGui/TaskPanelFemMaterial.ui
PyGui/TaskPanelFemMeshGmsh.ui
PyGui/TaskPanelFemMeshGroup.ui
PyGui/TaskPanelFemMeshRegion.ui
PyGui/TaskPanelFemResultShow.ui
PyGui/TaskPanelFemElementGeometry2D.ui
PyGui/TaskPanelFemSolverCalculix.ui
DESTINATION
Mod/Fem/PyGui

View File

@ -47,6 +47,9 @@ class FemWorkbench (Workbench):
import PyGui._CommandFemAnalysis
import PyGui._CommandFemConstraintSelfWeight
import PyGui._CommandFemElementFluid1D
import PyGui._CommandFemElementGeometry1D
import PyGui._CommandFemElementGeometry2D
import PyGui._CommandFemMaterialSolid
import PyGui._CommandFemMaterialFluid
import PyGui._CommandFemMaterialMechanicalNonlinear
@ -64,10 +67,6 @@ class FemWorkbench (Workbench):
import PyGui._CommandFemSolverRun
import PyGui._CommandFemSolverZ88
import PyGui._CommandFemElementGeometry2D
import PyGui._CommandFemElementGeometry1D
import PyGui._CommandFemElementFluid1D
def GetClassName(self):
return "FemGui::Workbench"

View File

@ -133,6 +133,52 @@ def makeConstraintTransform(name="ConstraintTransform"):
return obj
########## element definition objects ##########
def makeElementFluid1D(name="ElementFluid1D"):
'''makeElementFluid1D([name]): creates an 1D fluid element object to define 1D flow'''
obj = FreeCAD.ActiveDocument.addObject("Fem::FeaturePython", name)
import PyObjects._FemElementFluid1D
PyObjects._FemElementFluid1D._FemElementFluid1D(obj)
if FreeCAD.GuiUp:
import PyGui._ViewProviderFemElementFluid1D
PyGui._ViewProviderFemElementFluid1D._ViewProviderFemElementFluid1D(obj.ViewObject)
return obj
def makeElementGeometry1D(sectiontype='Rectangular', width=10.0, height=25.0, name="ElementGeometry1D"):
'''makeElementGeometry1D([width], [height], [name]): creates an 1D geometry element object to define a cross section'''
obj = FreeCAD.ActiveDocument.addObject("Fem::FeaturePython", name)
import PyObjects._FemElementGeometry1D
PyObjects._FemElementGeometry1D._FemElementGeometry1D(obj)
sec_types = PyObjects._FemElementGeometry1D._FemElementGeometry1D.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 PyGui._ViewProviderFemElementGeometry1D
PyGui._ViewProviderFemElementGeometry1D._ViewProviderFemElementGeometry1D(obj.ViewObject)
return obj
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._FemElementGeometry2D
PyObjects._FemElementGeometry2D._FemElementGeometry2D(obj)
obj.Thickness = thickness
if FreeCAD.GuiUp:
import PyGui._ViewProviderFemElementGeometry2D
PyGui._ViewProviderFemElementGeometry2D._ViewProviderFemElementGeometry2D(obj.ViewObject)
return obj
########## material objects ##########
def makeMaterialSolid(name="MechanicalSolidMaterial"):
'''makeMaterialSolid(name): makes an FEM Material for solid'''
@ -259,53 +305,6 @@ def makeSolverZ88(name="Z88"):
return obj
########## element geometry definition objects ##########
# TODO object type not yet in object name, see forum topic http://forum.freecadweb.org/viewtopic.php?f=18&t=21029
def makeElementGeometry1D(sectiontype='Rectangular', width=10.0, height=25.0, name="ElementGeometry1D"):
'''makeElementGeometry1D([width], [height], [name]): creates an 1D geometry element object to define a cross section'''
obj = FreeCAD.ActiveDocument.addObject("Fem::FeaturePython", name)
import PyObjects._FemElementGeometry1D
PyObjects._FemElementGeometry1D._FemElementGeometry1D(obj)
sec_types = PyObjects._FemElementGeometry1D._FemElementGeometry1D.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 PyGui._ViewProviderFemElementGeometry1D
PyGui._ViewProviderFemElementGeometry1D._ViewProviderFemElementGeometry1D(obj.ViewObject)
return obj
def makeElementFluid1D(name="ElementFluid1D"):
'''makeElementFluid1D([name]): creates an 1D fluid element object to define 1D flow'''
obj = FreeCAD.ActiveDocument.addObject("Fem::FeaturePython", name)
import PyObjects._FemElementFluid1D
PyObjects._FemElementFluid1D._FemElementFluid1D(obj)
if FreeCAD.GuiUp:
import PyGui._ViewProviderFemElementFluid1D
PyGui._ViewProviderFemElementFluid1D._ViewProviderFemElementFluid1D(obj.ViewObject)
return obj
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._FemElementGeometry2D
PyObjects._FemElementGeometry2D._FemElementGeometry2D(obj)
obj.Thickness = thickness
if FreeCAD.GuiUp:
import PyGui._ViewProviderFemElementGeometry2D
PyGui._ViewProviderFemElementGeometry2D._ViewProviderFemElementGeometry2D(obj.ViewObject)
return obj
'''
# print supportedTypes
App.newDocument()