From c57c3cbcf63a301683822fcc6ee4db74d9afb978 Mon Sep 17 00:00:00 2001 From: Sudhanshu Dubey Date: Fri, 26 Jun 2020 10:50:52 +0200 Subject: [PATCH] FEM: examples manager, add generic method to run examples --- src/Mod/Fem/femexamples/manager.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/Mod/Fem/femexamples/manager.py b/src/Mod/Fem/femexamples/manager.py index a552cc085a..69052fd5d1 100644 --- a/src/Mod/Fem/femexamples/manager.py +++ b/src/Mod/Fem/femexamples/manager.py @@ -49,6 +49,17 @@ doc = run_ccx_cantilevernodeload("z88") """ +# use of generic method to run the examples +# the string is the example module name +""" +from femexamples.manager import run_example as run + +doc = run("boxanalysis_static") +doc = run("boxanalysis_frequency") + +... + +""" import FreeCAD @@ -98,6 +109,23 @@ def run_analysis(doc, base_name, filepath=""): doc.save() +def run_example(example, solver=None, base_name=None): + + from importlib import import_module + module = import_module("femexamples." + example) + if hasattr(module, "setup"): + doc = getattr(module, "setup")() + + if base_name is None: + base_name = example + if solver is not None: + base_name += "_" + solver + run_analysis(doc, base_name) + doc.recompute() + + return doc + + def run_boxanalysisstatic(solver=None, base_name=None): from .boxanalysis_static import setup