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

View File

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

View File

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

View File

@ -133,6 +133,52 @@ def makeConstraintTransform(name="ConstraintTransform"):
return obj 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 ########## ########## material objects ##########
def makeMaterialSolid(name="MechanicalSolidMaterial"): def makeMaterialSolid(name="MechanicalSolidMaterial"):
'''makeMaterialSolid(name): makes an FEM Material for solid''' '''makeMaterialSolid(name): makes an FEM Material for solid'''
@ -259,53 +305,6 @@ def makeSolverZ88(name="Z88"):
return obj 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 # print supportedTypes
App.newDocument() App.newDocument()