FEM: package feminterface, move all import and export modules in new package feminterface
This commit is contained in:
@@ -69,19 +69,6 @@ SET(Mod_SRCS
|
||||
SOURCE_GROUP("Module" FILES ${Mod_SRCS})
|
||||
|
||||
SET(FemScripts_SRCS
|
||||
convert2TetGen.py
|
||||
importCcxDatResults.py
|
||||
importCcxFrdResults.py
|
||||
readFenicsXML.py
|
||||
writeFenicsXML.py
|
||||
readFenicsXDMF.py
|
||||
writeFenicsXDMF.py
|
||||
importFenicsMesh.py
|
||||
importInpMesh.py
|
||||
importToolsFem.py
|
||||
importVTKResults.py
|
||||
importZ88Mesh.py
|
||||
importZ88O2Results.py
|
||||
Init.py
|
||||
InitGui.py
|
||||
FemGmshTools.py
|
||||
@@ -118,6 +105,23 @@ SET(FemObjectsScripts_SRCS
|
||||
PyObjects/_FemMaterial.py
|
||||
)
|
||||
|
||||
SET(FemInterfaces_SRCS
|
||||
feminterface/__init__.py
|
||||
feminterface/convert2TetGen.py
|
||||
feminterface/importCcxDatResults.py
|
||||
feminterface/importCcxFrdResults.py
|
||||
feminterface/importFenicsMesh.py
|
||||
feminterface/importInpMesh.py
|
||||
feminterface/importToolsFem.py
|
||||
feminterface/importVTKResults.py
|
||||
feminterface/importZ88Mesh.py
|
||||
feminterface/importZ88O2Results.py
|
||||
feminterface/readFenicsXDMF.py
|
||||
feminterface/readFenicsXML.py
|
||||
feminterface/writeFenicsXDMF.py
|
||||
feminterface/writeFenicsXML.py
|
||||
)
|
||||
|
||||
SET(FemSolver_SRCS
|
||||
femsolver/__init__.py
|
||||
femsolver/solverbase.py
|
||||
@@ -384,6 +388,7 @@ fc_target_copy_resource(Fem
|
||||
Init.py
|
||||
${FemScripts_SRCS}
|
||||
${FemObjectsScripts_SRCS}
|
||||
${FemInterfaces_SRCS}
|
||||
${FemGuiScripts_SRCS}
|
||||
${FemTests_SRCS}
|
||||
${FemTestsElmer_SRCS}
|
||||
|
||||
@@ -17,19 +17,6 @@ endif(BUILD_GUI)
|
||||
# changes on the file list here needs to be made in App/CMakeLists.txt as well
|
||||
INSTALL(
|
||||
FILES
|
||||
convert2TetGen.py
|
||||
importCcxDatResults.py
|
||||
importCcxFrdResults.py
|
||||
readFenicsXML.py
|
||||
writeFenicsXML.py
|
||||
readFenicsXDMF.py
|
||||
writeFenicsXDMF.py
|
||||
importFenicsMesh.py
|
||||
importInpMesh.py
|
||||
importToolsFem.py
|
||||
importVTKResults.py
|
||||
importZ88Mesh.py
|
||||
importZ88O2Results.py
|
||||
Init.py
|
||||
InitGui.py
|
||||
FemGmshTools.py
|
||||
@@ -70,6 +57,26 @@ INSTALL(
|
||||
Mod/Fem/PyObjects
|
||||
)
|
||||
|
||||
INSTALL(
|
||||
FILES
|
||||
feminterface/__init__.py
|
||||
feminterface/convert2TetGen.py
|
||||
feminterface/importCcxDatResults.py
|
||||
feminterface/importCcxFrdResults.py
|
||||
feminterface/importFenicsMesh.py
|
||||
feminterface/importInpMesh.py
|
||||
feminterface/importToolsFem.py
|
||||
feminterface/importVTKResults.py
|
||||
feminterface/importZ88Mesh.py
|
||||
feminterface/importZ88O2Results.py
|
||||
feminterface/readFenicsXDMF.py
|
||||
feminterface/readFenicsXML.py
|
||||
feminterface/writeFenicsXDMF.py
|
||||
feminterface/writeFenicsXML.py
|
||||
DESTINATION
|
||||
Mod/Fem/feminterface
|
||||
)
|
||||
|
||||
INSTALL(
|
||||
FILES
|
||||
femsolver/__init__.py
|
||||
|
||||
@@ -761,7 +761,7 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject):
|
||||
# @param self The python object self
|
||||
def load_results_ccxfrd(self):
|
||||
import os
|
||||
import importCcxFrdResults
|
||||
import feminterface.importCcxFrdResults as importCcxFrdResults
|
||||
frd_result_file = os.path.splitext(self.inp_file_name)[0] + '.frd'
|
||||
if os.path.isfile(frd_result_file):
|
||||
result_name_prefix = 'CalculiX_' + self.solver.AnalysisType + '_'
|
||||
@@ -779,7 +779,7 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject):
|
||||
# @param self The python object self
|
||||
def load_results_ccxdat(self):
|
||||
import os
|
||||
import importCcxDatResults
|
||||
import feminterface.importCcxDatResults as importCcxDatResults
|
||||
dat_result_file = os.path.splitext(self.inp_file_name)[0] + '.dat'
|
||||
if os.path.isfile(dat_result_file):
|
||||
mode_frequencies = importCcxDatResults.import_dat(dat_result_file, self.analysis)
|
||||
|
||||
@@ -27,19 +27,19 @@
|
||||
|
||||
import FreeCAD
|
||||
|
||||
FreeCAD.addExportType("TetGen file (*.poly)", "convert2TetGen")
|
||||
FreeCAD.addExportType("TetGen file (*.poly)", "feminterface.convert2TetGen")
|
||||
FreeCAD.addImportType("FEM formats (*.unv *.med *.dat *.bdf)", "Fem")
|
||||
if("BUILD_FEM_VTK" in FreeCAD.__cmake__):
|
||||
FreeCAD.addImportType("FEM CFD Unstructure Mesh (*.vtk *.vtu)", "Fem")
|
||||
FreeCAD.addExportType("FEM CFD Unstructure Mesh (*.vtk *.vtu)", "Fem")
|
||||
FreeCAD.addImportType("FEM results (*.vtk *.vtu)", "importVTKResults")
|
||||
FreeCAD.addExportType("FEM CFD Result in VTK format (*.vtk *.vtu)", "importVTKResults")
|
||||
FreeCAD.addImportType("FEM results (*.vtk *.vtu)", "feminterface.importVTKResults")
|
||||
FreeCAD.addExportType("FEM CFD Result in VTK format (*.vtk *.vtu)", "feminterface.importVTKResults")
|
||||
|
||||
FreeCAD.addExportType("FEM formats (*.unv *.med *.dat *.inp)", "Fem")
|
||||
FreeCAD.addImportType("CalculiX result (*.frd)", "importCcxFrdResults")
|
||||
FreeCAD.addImportType("Fenics mesh file (*.xml *.xdmf)", "importFenicsMesh")
|
||||
FreeCAD.addExportType("Fenics mesh file (*.xml *.xdmf)", "importFenicsMesh")
|
||||
FreeCAD.addImportType("Mesh from Calculix/Abaqus input file (*.inp)", "importInpMesh")
|
||||
FreeCAD.addImportType("Z88 mesh (i1) file (*.txt)", "importZ88Mesh")
|
||||
FreeCAD.addExportType("Z88 mesh (i1) file (*.txt)", "importZ88Mesh")
|
||||
FreeCAD.addImportType("Z88 displacement (o2) result file (*.txt)", "importZ88O2Results")
|
||||
FreeCAD.addImportType("CalculiX result (*.frd)", "feminterface.importCcxFrdResults")
|
||||
FreeCAD.addImportType("Fenics mesh file (*.xml *.xdmf)", "feminterface.importFenicsMesh")
|
||||
FreeCAD.addExportType("Fenics mesh file (*.xml *.xdmf)", "feminterface.importFenicsMesh")
|
||||
FreeCAD.addImportType("Mesh from Calculix/Abaqus input file (*.inp)", "feminterface.importInpMesh")
|
||||
FreeCAD.addImportType("Z88 mesh (i1) file (*.txt)", "feminterface.importZ88Mesh")
|
||||
FreeCAD.addExportType("Z88 mesh (i1) file (*.txt)", "feminterface.importZ88Mesh")
|
||||
FreeCAD.addImportType("Z88 displacement (o2) result file (*.txt)", "feminterface.importZ88O2Results")
|
||||
|
||||
@@ -168,7 +168,7 @@ class FemTest(unittest.TestCase):
|
||||
def test_read_frd_massflow_networkpressure(self):
|
||||
# read data from frd file
|
||||
frd_file = test_file_dir + 'Flow1D_thermomech.frd'
|
||||
import importCcxFrdResults
|
||||
import feminterface.importCcxFrdResults as importCcxFrdResults
|
||||
frd_content = importCcxFrdResults.readResult(frd_file)
|
||||
|
||||
# do something with the read data
|
||||
|
||||
0
src/Mod/Fem/feminterface/__init__.py
Normal file
0
src/Mod/Fem/feminterface/__init__.py
Normal file
@@ -61,7 +61,7 @@ def insert(filename, docname):
|
||||
|
||||
########## module specific methods ##########
|
||||
def importFrd(filename, analysis=None, result_name_prefix=None):
|
||||
import importToolsFem
|
||||
from . import importToolsFem
|
||||
import ObjectsFem
|
||||
if result_name_prefix is None:
|
||||
result_name_prefix = ''
|
||||
@@ -33,12 +33,12 @@ from PySide import QtGui, QtCore
|
||||
|
||||
import FreeCAD
|
||||
import FreeCADGui
|
||||
import importToolsFem
|
||||
import os
|
||||
|
||||
import readFenicsXML
|
||||
import writeFenicsXML
|
||||
import writeFenicsXDMF
|
||||
from . import importToolsFem
|
||||
from . import readFenicsXML
|
||||
from . import writeFenicsXML
|
||||
from . import writeFenicsXDMF
|
||||
|
||||
|
||||
# Template copied from importZ88Mesh.py. Thanks Bernd!
|
||||
@@ -64,7 +64,7 @@ def import_inp(filename):
|
||||
"create imported objects in FreeCAD, currently only FemMesh"
|
||||
|
||||
m = read_inp(filename)
|
||||
import importToolsFem
|
||||
from . import importToolsFem
|
||||
mesh = importToolsFem.make_femmesh(m)
|
||||
mesh_name = os.path.splitext(os.path.basename(filename))[0]
|
||||
mesh_object = FreeCAD.ActiveDocument.addObject('Fem::FemMeshObject', mesh_name)
|
||||
@@ -87,7 +87,7 @@ def importVTK(filename, analysis=None, result_name_prefix=None):
|
||||
|
||||
# workaround for the DisplacementLengths (They should have been calculated by Fem.readResult)
|
||||
if not result_obj.DisplacementLengths:
|
||||
import importToolsFem
|
||||
from . import importToolsFem
|
||||
result_obj.DisplacementLengths = importToolsFem.calculate_disp_abs(result_obj.DisplacementVectors)
|
||||
|
||||
if analysis:
|
||||
@@ -85,7 +85,7 @@ def import_z88_mesh(filename, analysis=None):
|
||||
'''
|
||||
mesh_data = read_z88_mesh(filename)
|
||||
mesh_name = os.path.basename(os.path.splitext(filename)[0])
|
||||
import importToolsFem
|
||||
from . import importToolsFem
|
||||
femmesh = importToolsFem.make_femmesh(mesh_data)
|
||||
if femmesh:
|
||||
mesh_object = FreeCAD.ActiveDocument.addObject('Fem::FemMeshObject', mesh_name)
|
||||
@@ -64,14 +64,14 @@ def insert(filename, docname):
|
||||
def import_z88_disp(filename, analysis=None, result_name_prefix=None):
|
||||
'''insert a FreeCAD FEM mechanical result object in the ActiveDocument
|
||||
pure usage:
|
||||
import importZ88O2Results
|
||||
import feminterfaces.importZ88O2Results as importZ88O2Results
|
||||
disp_file = '/pathtofile/z88o2.txt'
|
||||
importZ88O2Results.import_z88_disp(disp_file)
|
||||
|
||||
the z888i1.txt FEMMesh file needs to be in the same directory as z88o2.txt (ahh, make a new document first ;-))
|
||||
'''
|
||||
import importZ88Mesh
|
||||
import importToolsFem
|
||||
from . import importZ88Mesh
|
||||
from . import importToolsFem
|
||||
import ObjectsFem
|
||||
if result_name_prefix is None:
|
||||
result_name_prefix = ''
|
||||
@@ -33,8 +33,8 @@ import os.path
|
||||
|
||||
import FreeCAD as App
|
||||
import FemUtils
|
||||
import importCcxFrdResults
|
||||
import importCcxDatResults
|
||||
import feminterface.importCcxFrdResults as importCcxFrdResults
|
||||
import feminterface.importCcxDatResults as importCcxDatResults
|
||||
|
||||
from .. import run
|
||||
from .. import settings
|
||||
|
||||
@@ -32,7 +32,7 @@ import os.path
|
||||
|
||||
import FreeCAD as App
|
||||
import FemUtils
|
||||
import importZ88O2Results
|
||||
import feminterface.importZ88O2Results as importZ88O2Results
|
||||
|
||||
from .. import run
|
||||
from .. import settings
|
||||
|
||||
@@ -29,7 +29,7 @@ __url__ = "http://www.freecadweb.org"
|
||||
|
||||
import FreeCAD
|
||||
import FemMeshTools
|
||||
import importZ88Mesh
|
||||
import feminterface.importZ88Mesh as importZ88Mesh
|
||||
import FemInputWriter
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user