FEM: examples, move some method in separate module

This commit is contained in:
Bernd Hahnebach
2021-06-16 13:50:44 +02:00
parent 547213a0f8
commit b6768685f3
30 changed files with 114 additions and 230 deletions

View File

@@ -35,8 +35,6 @@ import ObjectsFem
from .boxanalysis_static import setup_base
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def get_information():
return {

View File

@@ -34,13 +34,8 @@ import FreeCAD
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -94,7 +89,7 @@ def setup_base(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -36,14 +36,8 @@ import FreeCAD
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -84,7 +78,6 @@ def setup(doc=None, solvertype="ccxtools"):
geom_obj = doc.addObject("Part::MultiFuse", "Fusion")
geom_obj.Shapes = [bottom_flange, top_flange, web]
doc.recompute()
if FreeCAD.GuiUp:
geom_obj.ViewObject.Document.activeView().viewAxonometric()
@@ -170,7 +163,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -36,14 +36,8 @@ import FreeCAD
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -152,7 +146,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -39,14 +39,8 @@ import FreeCAD
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -131,7 +125,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj

View File

@@ -34,13 +34,8 @@ import FreeCAD
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -124,7 +119,7 @@ def setup_cantileverbase(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -35,7 +35,7 @@ import Fem
from .ccx_cantilever_faceload import setup as setup_with_faceload
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
from .manager import get_meshname
def get_information():
@@ -53,19 +53,20 @@ def get_information():
def setup(doc=None, solvertype="ccxtools"):
doc = setup_with_faceload(doc, solvertype)
femmesh_obj = doc.getObject(get_meshname())
# load the hexa20 mesh
from .meshes.mesh_canticcx_hexa20 import create_nodes, create_elements
fem_mesh = Fem.FemMesh()
control = create_nodes(fem_mesh)
new_fem_mesh = Fem.FemMesh()
control = create_nodes(new_fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating nodes.\n")
control = create_elements(fem_mesh)
control = create_elements(new_fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
# overwrite mesh with the hexa20 mesh
doc.getObject(mesh_name).FemMesh = fem_mesh
femmesh_obj.FemMesh = new_fem_mesh
doc.recompute()
return doc

View File

@@ -35,8 +35,6 @@ import ObjectsFem
from .ccx_cantilever_faceload import setup_cantileverbase
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def get_information():
return {

View File

@@ -35,8 +35,6 @@ import ObjectsFem
from .ccx_cantilever_faceload import setup_cantileverbase
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def get_information():
return {

View File

@@ -40,13 +40,8 @@ import ObjectsFem
import Part
from BOPTools import SplitFeatures
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -200,7 +195,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -40,13 +40,8 @@ import Fem
import ObjectsFem
import Part
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -184,7 +179,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -46,13 +46,8 @@ from BOPTools.SplitFeatures import makeBooleanFragments
from BOPTools.SplitFeatures import makeSlice
from CompoundTools.CompoundFilter import makeCompoundFilter
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -268,7 +263,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -38,14 +38,8 @@ import FreeCAD
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -131,7 +125,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -40,13 +40,8 @@ import ObjectsFem
import Part
from BOPTools import SplitFeatures
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -158,7 +153,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -39,13 +39,8 @@ import Fem
import ObjectsFem
from CompoundTools import CompoundFilter
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -177,7 +172,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -35,13 +35,8 @@ import FreeCAD
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -133,7 +128,7 @@ def setup(doc=None, solvertype="elmer"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -38,13 +38,8 @@ from FreeCAD import Vector
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -160,7 +155,7 @@ def setup(doc=None, solvertype="elmer"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -41,13 +41,8 @@ import Part
import ObjectsFem
import Sketcher
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -213,7 +208,7 @@ def setup(doc=None, solvertype="elmer"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -35,13 +35,8 @@ import FreeCAD
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -147,7 +142,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -22,22 +22,13 @@
# * *
# ***************************************************************************
# run examples
"""
# all examples
from femexamples.manager import *
run_all()
# this module was used before there was a examples gui
# and before there where the unit tests
# it is not really needed and maintained anymore
# general method for the examples are saved here
# see comment at run examples end to run examples
# one special example
from femexamples.manager import run_example as run
doc = run("boxanalysis_static")
doc = run("boxanalysis_frequency")
...
"""
import FreeCAD
@@ -127,3 +118,31 @@ def run_all():
run_example("thermomech_spine")
run_example("boxanalysis_frequency")
run_example("boxanalysis_frequency")
"""
# all examples
from femexamples.manager import *
run_all()
# one special example
from femexamples.manager import run_example as run
doc = run("boxanalysis_static")
doc = run("boxanalysis_frequency")
"""
# ************************************************************************************************
# helper
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
def get_meshname():
# needs to be "Mesh" to work with unit tests
return "Mesh"

View File

@@ -35,13 +35,8 @@ import Fem
import ObjectsFem
import BOPTools.SplitFeatures
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -192,7 +187,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -34,13 +34,8 @@ import FreeCAD
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -192,7 +187,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -36,13 +36,8 @@ import ObjectsFem
from BOPTools import SplitFeatures
from CompoundTools import CompoundFilter
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -160,7 +155,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -52,13 +52,8 @@ import Part
from Part import makeCircle as ci
from Part import makeLine as ln
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -163,7 +158,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -40,13 +40,8 @@ import ObjectsFem
import Part
from Part import makeLine as ln
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -165,7 +160,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -36,13 +36,8 @@ import Fem
import ObjectsFem
import Part
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -166,7 +161,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -36,13 +36,8 @@ import Fem
import ObjectsFem
import Part
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -428,7 +423,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -42,13 +42,8 @@ import Fem
import ObjectsFem
from BOPTools import SplitFeatures
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -203,7 +198,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -39,13 +39,8 @@ import Fem
import ObjectsFem
from Draft import makeWire
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -256,7 +251,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False

View File

@@ -34,13 +34,8 @@ import FreeCAD
import Fem
import ObjectsFem
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
def init_doc(doc=None):
if doc is None:
doc = FreeCAD.newDocument()
return doc
from .manager import get_meshname
from .manager import init_doc
def get_information():
@@ -150,7 +145,7 @@ def setup(doc=None, solvertype="ccxtools"):
control = create_elements(fem_mesh)
if not control:
FreeCAD.Console.PrintError("Error on creating elements.\n")
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
femmesh_obj.FemMesh = fem_mesh
femmesh_obj.Part = geom_obj
femmesh_obj.SecondOrderLinear = False