Fem: Replace old FemMesh Netgen object implementation
This commit is contained in:
@@ -154,10 +154,8 @@ Gui::ToolBarItem* Workbench::setupToolBars() const
|
||||
|
||||
Gui::ToolBarItem* mesh = new Gui::ToolBarItem(root);
|
||||
mesh->setCommand("Mesh");
|
||||
#ifdef FCWithNetgen
|
||||
*mesh << "FEM_MeshNetgenFromShape";
|
||||
#endif
|
||||
*mesh << "FEM_MeshGmshFromShape"
|
||||
*mesh << "FEM_MeshNetgenFromShape"
|
||||
<< "FEM_MeshGmshFromShape"
|
||||
<< "Separator"
|
||||
<< "FEM_MeshBoundaryLayer"
|
||||
<< "FEM_MeshRegion"
|
||||
@@ -311,10 +309,8 @@ Gui::MenuItem* Workbench::setupMenuBar() const
|
||||
Gui::MenuItem* mesh = new Gui::MenuItem;
|
||||
root->insertItem(item, mesh);
|
||||
mesh->setCommand("M&esh");
|
||||
#ifdef FCWithNetgen
|
||||
*mesh << "FEM_MeshNetgenFromShape";
|
||||
#endif
|
||||
*mesh << "FEM_MeshGmshFromShape"
|
||||
*mesh << "FEM_MeshNetgenFromShape"
|
||||
<< "FEM_MeshGmshFromShape"
|
||||
<< "Separator"
|
||||
<< "FEM_MeshBoundaryLayer"
|
||||
<< "FEM_MeshRegion"
|
||||
|
||||
@@ -525,8 +525,15 @@ def makeMeshGroup(doc, base_mesh, use_label=False, name="MeshGroup"):
|
||||
|
||||
def makeMeshNetgen(doc, name="MeshNetgen"):
|
||||
"""makeMeshNetgen(document, [name]):
|
||||
makes a Fem MeshShapeNetgenObject object"""
|
||||
obj = doc.addObject("Fem::FemMeshShapeNetgenObject", name)
|
||||
makes a Netgen FEM mesh object"""
|
||||
obj = doc.addObject("Fem::FemMeshShapeBaseObjectPython", name)
|
||||
from femobjects import mesh_netgen
|
||||
|
||||
mesh_netgen.MeshNetgen(obj)
|
||||
if FreeCAD.GuiUp:
|
||||
from femviewprovider import view_mesh_netgen
|
||||
|
||||
view_mesh_netgen.VPMeshNetgen(obj.ViewObject)
|
||||
return obj
|
||||
|
||||
|
||||
|
||||
@@ -830,6 +830,7 @@ class _MeshNetgenFromShape(CommandManager):
|
||||
self.selobj.Name
|
||||
)
|
||||
)
|
||||
FreeCADGui.doCommand("FreeCAD.ActiveDocument.ActiveObject.Fineness = 'Moderate'")
|
||||
# Netgen mesh object could be added without an active analysis
|
||||
# but if there is an active analysis move it in there
|
||||
import FemGui
|
||||
|
||||
@@ -240,9 +240,7 @@ class TestObjectType(unittest.TestCase):
|
||||
)
|
||||
self.assertEqual("Fem::MeshGroup", type_of_obj(ObjectsFem.makeMeshGroup(doc, mesh)))
|
||||
self.assertEqual("Fem::MeshRegion", type_of_obj(ObjectsFem.makeMeshRegion(doc, mesh)))
|
||||
self.assertEqual(
|
||||
"Fem::FemMeshShapeNetgenObject", type_of_obj(ObjectsFem.makeMeshNetgen(doc))
|
||||
)
|
||||
self.assertEqual("Fem::FemMeshNetgen", type_of_obj(ObjectsFem.makeMeshNetgen(doc)))
|
||||
self.assertEqual("Fem::MeshResult", type_of_obj(ObjectsFem.makeMeshResult(doc)))
|
||||
self.assertEqual("Fem::ResultMechanical", type_of_obj(ObjectsFem.makeResultMechanical(doc)))
|
||||
solverelmer = ObjectsFem.makeSolverElmer(doc)
|
||||
@@ -409,7 +407,7 @@ class TestObjectType(unittest.TestCase):
|
||||
)
|
||||
self.assertTrue(is_of_type(ObjectsFem.makeMeshGroup(doc, mesh), "Fem::MeshGroup"))
|
||||
self.assertTrue(is_of_type(ObjectsFem.makeMeshRegion(doc, mesh), "Fem::MeshRegion"))
|
||||
self.assertTrue(is_of_type(ObjectsFem.makeMeshNetgen(doc), "Fem::FemMeshShapeNetgenObject"))
|
||||
self.assertTrue(is_of_type(ObjectsFem.makeMeshNetgen(doc), "Fem::FemMeshNetgen"))
|
||||
self.assertTrue(is_of_type(ObjectsFem.makeMeshResult(doc), "Fem::MeshResult"))
|
||||
self.assertTrue(is_of_type(ObjectsFem.makeResultMechanical(doc), "Fem::ResultMechanical"))
|
||||
solverelmer = ObjectsFem.makeSolverElmer(doc)
|
||||
@@ -745,7 +743,7 @@ class TestObjectType(unittest.TestCase):
|
||||
# FemMeshShapeNetgenObject
|
||||
mesh_netgen = ObjectsFem.makeMeshNetgen(doc)
|
||||
self.assertTrue(is_derived_from(mesh_netgen, "App::DocumentObject"))
|
||||
self.assertTrue(is_derived_from(mesh_netgen, "Fem::FemMeshShapeNetgenObject"))
|
||||
self.assertTrue(is_derived_from(mesh_netgen, "Fem::FemMeshShapeBaseObjectPython"))
|
||||
|
||||
# MeshResult
|
||||
mesh_result = ObjectsFem.makeMeshResult(doc)
|
||||
@@ -972,7 +970,7 @@ class TestObjectType(unittest.TestCase):
|
||||
self.assertTrue(ObjectsFem.makeMeshGroup(doc, mesh).isDerivedFrom("Fem::FeaturePython"))
|
||||
self.assertTrue(ObjectsFem.makeMeshRegion(doc, mesh).isDerivedFrom("Fem::FeaturePython"))
|
||||
self.assertTrue(
|
||||
ObjectsFem.makeMeshNetgen(doc).isDerivedFrom("Fem::FemMeshShapeNetgenObject")
|
||||
ObjectsFem.makeMeshNetgen(doc).isDerivedFrom("Fem::FemMeshShapeBaseObjectPython")
|
||||
)
|
||||
self.assertTrue(ObjectsFem.makeMeshResult(doc).isDerivedFrom("Fem::FemMeshObjectPython"))
|
||||
self.assertTrue(
|
||||
|
||||
Reference in New Issue
Block a user