From 2c8e984ee77ec8e3d71fa7f297124ff7aa22fc42 Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Thu, 5 Oct 2017 05:58:50 +0100 Subject: [PATCH] FEM: objects fem module, sort defs --- src/Mod/Fem/ObjectsFem.py | 60 +++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/Mod/Fem/ObjectsFem.py b/src/Mod/Fem/ObjectsFem.py index 303e8d9caa..9a9969287d 100644 --- a/src/Mod/Fem/ObjectsFem.py +++ b/src/Mod/Fem/ObjectsFem.py @@ -182,19 +182,6 @@ def makeElementGeometry2D(doc, thickness=20.0, name="ElementGeometry2D"): ########## material objects ########## -def makeMaterialSolid(doc, name="MechanicalSolidMaterial"): - '''makeMaterialSolid(name): makes an FEM Material for solid''' - obj = doc.addObject("App::MaterialObjectPython", name) - import PyObjects._FemMaterial - PyObjects._FemMaterial._FemMaterial(obj) - obj.Category = 'Solid' - if FreeCAD.GuiUp: - import PyGui._ViewProviderFemMaterial - PyGui._ViewProviderFemMaterial._ViewProviderFemMaterial(obj.ViewObject) - # doc.recompute() - return obj - - def makeMaterialFluid(doc, name="FluidMaterial"): '''makeMaterialFluid(name): makes an FEM Material for fluid''' obj = doc.addObject("App::MaterialObjectPython", name) @@ -220,7 +207,37 @@ def makeMaterialMechanicalNonlinear(doc, base_material, name="MechanicalMaterial return obj +def makeMaterialSolid(doc, name="MechanicalSolidMaterial"): + '''makeMaterialSolid(name): makes an FEM Material for solid''' + obj = doc.addObject("App::MaterialObjectPython", name) + import PyObjects._FemMaterial + PyObjects._FemMaterial._FemMaterial(obj) + obj.Category = 'Solid' + if FreeCAD.GuiUp: + import PyGui._ViewProviderFemMaterial + PyGui._ViewProviderFemMaterial._ViewProviderFemMaterial(obj.ViewObject) + # doc.recompute() + return obj + + ########## mesh objects ########## +def makeMeshBoundaryLayer(doc, base_mesh, name="MeshBoundaryLayer"): + '''makeMeshBoundaryLayer([length], [name]): creates a FEM mesh BoundaryLayer object to define boundary layer properties''' + obj = doc.addObject("Fem::FeaturePython", name) + import PyObjects._FemMeshBoundaryLayer + PyObjects._FemMeshBoundaryLayer._FemMeshBoundaryLayer(obj) + + # obj.BaseMesh = base_mesh + # App::PropertyLinkList does not support append, we will use a temporary list to append the mesh BoundaryLayer obj. to the list + tmplist = base_mesh.MeshBoundaryLayerList + tmplist.append(obj) + base_mesh.MeshBoundaryLayerList = tmplist + if FreeCAD.GuiUp: + import PyGui._ViewProviderFemMeshBoundaryLayer + PyGui._ViewProviderFemMeshBoundaryLayer._ViewProviderFemMeshBoundaryLayer(obj.ViewObject) + return obj + + def makeMeshGmsh(doc, name="FEMMeshGMSH"): '''makeMeshGmsh(name): makes a GMSH FEM mesh object''' obj = doc.addObject("Fem::FemMeshObjectPython", name) @@ -249,23 +266,6 @@ def makeMeshGroup(doc, base_mesh, use_label=False, name="FEMMeshGroup"): return obj -def makeMeshBoundaryLayer(doc, base_mesh, name="MeshBoundaryLayer"): - '''makeMeshBoundaryLayer([length], [name]): creates a FEM mesh BoundaryLayer object to define boundary layer properties''' - obj = doc.addObject("Fem::FeaturePython", name) - import PyObjects._FemMeshBoundaryLayer - PyObjects._FemMeshBoundaryLayer._FemMeshBoundaryLayer(obj) - - # obj.BaseMesh = base_mesh - # App::PropertyLinkList does not support append, we will use a temporary list to append the mesh BoundaryLayer obj. to the list - tmplist = base_mesh.MeshBoundaryLayerList - tmplist.append(obj) - base_mesh.MeshBoundaryLayerList = tmplist - if FreeCAD.GuiUp: - import PyGui._ViewProviderFemMeshBoundaryLayer - PyGui._ViewProviderFemMeshBoundaryLayer._ViewProviderFemMeshBoundaryLayer(obj.ViewObject) - return obj - - def makeMeshNetgen(doc, name="FEMMeshNetgen"): '''makeMeshNetgen(name): makes a Fem MeshShapeNetgenObject object''' obj = doc.addObject("Fem::FemMeshShapeNetgenObject", name)