diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index 344ee60590..9b254d056c 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -175,20 +175,6 @@ SET(FemGuiScripts_SRCS PyGui/_ViewProviderFemSolverCalculix.py PyGui/FemSelectionObserver.py PyGui/FemSelectionWidgets.py - PyGui/TaskPanelFemElectrostaticPotential.ui - PyGui/TaskPanelFemElementFluid1D.ui - PyGui/TaskPanelFemElementGeometry1D.ui - PyGui/TaskPanelFemElementGeometry2D.ui - PyGui/TaskPanelFemFlowVelocity.ui - PyGui/TaskPanelFemInitialFlowVelocity.ui - PyGui/TaskPanelFemMaterial.ui - PyGui/TaskPanelFemMeshBoundaryLayer.ui - PyGui/TaskPanelFemMeshGmsh.ui - PyGui/TaskPanelFemMeshGroup.ui - PyGui/TaskPanelFemMeshGroupXDMFExport.ui - PyGui/TaskPanelFemMeshRegion.ui - PyGui/TaskPanelFemResultShow.ui - PyGui/TaskPanelFemSolverCalculix.ui ) SET(FemObjectsScripts_SRCS diff --git a/src/Mod/Fem/Gui/CMakeLists.txt b/src/Mod/Fem/Gui/CMakeLists.txt index 4c32c74cef..f4b680a38e 100755 --- a/src/Mod/Fem/Gui/CMakeLists.txt +++ b/src/Mod/Fem/Gui/CMakeLists.txt @@ -379,6 +379,35 @@ fc_copy_sources(FemGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Fem" ${ INSTALL(FILES ${FemGuiIcon_SVG} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/Fem/Resources/icons") +# Python modules ui files, they are copied as they are, thus the need not to be added to Fem.qrc +# see https://forum.freecadweb.org/viewtopic.php?f=10&t=25833 +SET(FemGuiPythonUI_SRCS + Resources/ui/ElectrostaticPotential.ui + Resources/ui/ElementFluid1D.ui + Resources/ui/ElementGeometry1D.ui + Resources/ui/ElementGeometry2D.ui + Resources/ui/FlowVelocity.ui + Resources/ui/InitialFlowVelocity.ui + Resources/ui/Material.ui + Resources/ui/MeshBoundaryLayer.ui + Resources/ui/MeshGmsh.ui + Resources/ui/MeshGroup.ui + Resources/ui/MeshGroupXDMFExport.ui + Resources/ui/MeshRegion.ui + Resources/ui/ResultShow.ui + Resources/ui/SolverCalculix.ui +) + +ADD_CUSTOM_TARGET(FemPythonUi ALL + SOURCES ${FemGuiPythonUI_SRCS} +) + +fc_copy_sources(FemPythonUi "${CMAKE_BINARY_DIR}/Mod/Fem" ${FemGuiPythonUI_SRCS}) + +INSTALL(FILES ${FemGuiPythonUI_SRCS} DESTINATION Mod/Fem/Resources/ui) + + + SET_BIN_DIR(FemGui FemGui /Mod/Fem) SET_PYTHON_PREFIX_SUFFIX(FemGui) diff --git a/src/Mod/Fem/PyGui/TaskPanelFemElectrostaticPotential.ui b/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemElectrostaticPotential.ui rename to src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemElementFluid1D.ui b/src/Mod/Fem/Gui/Resources/ui/ElementFluid1D.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemElementFluid1D.ui rename to src/Mod/Fem/Gui/Resources/ui/ElementFluid1D.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemElementGeometry1D.ui b/src/Mod/Fem/Gui/Resources/ui/ElementGeometry1D.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemElementGeometry1D.ui rename to src/Mod/Fem/Gui/Resources/ui/ElementGeometry1D.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemElementGeometry2D.ui b/src/Mod/Fem/Gui/Resources/ui/ElementGeometry2D.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemElementGeometry2D.ui rename to src/Mod/Fem/Gui/Resources/ui/ElementGeometry2D.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemFlowVelocity.ui b/src/Mod/Fem/Gui/Resources/ui/FlowVelocity.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemFlowVelocity.ui rename to src/Mod/Fem/Gui/Resources/ui/FlowVelocity.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemInitialFlowVelocity.ui b/src/Mod/Fem/Gui/Resources/ui/InitialFlowVelocity.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemInitialFlowVelocity.ui rename to src/Mod/Fem/Gui/Resources/ui/InitialFlowVelocity.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemMaterial.ui b/src/Mod/Fem/Gui/Resources/ui/Material.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemMaterial.ui rename to src/Mod/Fem/Gui/Resources/ui/Material.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemMeshBoundaryLayer.ui b/src/Mod/Fem/Gui/Resources/ui/MeshBoundaryLayer.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemMeshBoundaryLayer.ui rename to src/Mod/Fem/Gui/Resources/ui/MeshBoundaryLayer.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemMeshGmsh.ui b/src/Mod/Fem/Gui/Resources/ui/MeshGmsh.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemMeshGmsh.ui rename to src/Mod/Fem/Gui/Resources/ui/MeshGmsh.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemMeshGroup.ui b/src/Mod/Fem/Gui/Resources/ui/MeshGroup.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemMeshGroup.ui rename to src/Mod/Fem/Gui/Resources/ui/MeshGroup.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemMeshGroupXDMFExport.ui b/src/Mod/Fem/Gui/Resources/ui/MeshGroupXDMFExport.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemMeshGroupXDMFExport.ui rename to src/Mod/Fem/Gui/Resources/ui/MeshGroupXDMFExport.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemMeshRegion.ui b/src/Mod/Fem/Gui/Resources/ui/MeshRegion.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemMeshRegion.ui rename to src/Mod/Fem/Gui/Resources/ui/MeshRegion.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemResultShow.ui b/src/Mod/Fem/Gui/Resources/ui/ResultShow.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemResultShow.ui rename to src/Mod/Fem/Gui/Resources/ui/ResultShow.ui diff --git a/src/Mod/Fem/PyGui/TaskPanelFemSolverCalculix.ui b/src/Mod/Fem/Gui/Resources/ui/SolverCalculix.ui similarity index 100% rename from src/Mod/Fem/PyGui/TaskPanelFemSolverCalculix.ui rename to src/Mod/Fem/Gui/Resources/ui/SolverCalculix.ui diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemConstraintElectrostaticPotential.py b/src/Mod/Fem/PyGui/_ViewProviderFemConstraintElectrostaticPotential.py index e523804b73..aaa919098a 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemConstraintElectrostaticPotential.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemConstraintElectrostaticPotential.py @@ -61,7 +61,7 @@ class _TaskPanel(object): self._refWidget = FemSelectionWidgets.BoundarySelector() self._refWidget.setReferences(obj.References) self._paramWidget = Gui.PySideUic.loadUi( - App.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemElectrostaticPotential.ui") + App.getHomePath() + "Mod/Fem/Resources/ui/ElectrostaticPotential.ui") self._initParamWidget() self.form = [self._refWidget, self._paramWidget] analysis = FemUtils.findAnalysisOfMember(obj) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemConstraintFlowVelocity.py b/src/Mod/Fem/PyGui/_ViewProviderFemConstraintFlowVelocity.py index 4a515f1b78..24293946c6 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemConstraintFlowVelocity.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemConstraintFlowVelocity.py @@ -61,7 +61,7 @@ class _TaskPanel(object): self._refWidget = FemSelectionWidgets.BoundarySelector() self._refWidget.setReferences(obj.References) self._paramWidget = Gui.PySideUic.loadUi( - App.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemFlowVelocity.ui") + App.getHomePath() + "Mod/Fem/Resources/ui/FlowVelocity.ui") self._initParamWidget() self.form = [self._refWidget, self._paramWidget] analysis = FemUtils.findAnalysisOfMember(obj) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemConstraintInitialFlowVelocity.py b/src/Mod/Fem/PyGui/_ViewProviderFemConstraintInitialFlowVelocity.py index 7bb2066479..e431f7f734 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemConstraintInitialFlowVelocity.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemConstraintInitialFlowVelocity.py @@ -58,7 +58,7 @@ class _TaskPanel(object): def __init__(self, obj): self._obj = obj self._paramWidget = Gui.PySideUic.loadUi( - App.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemInitialFlowVelocity.ui") + App.getHomePath() + "Mod/Fem/Resources/ui/InitialFlowVelocity.ui") self._initParamWidget() self.form = [self._paramWidget] analysis = FemUtils.findAnalysisOfMember(obj) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemElementFluid1D.py b/src/Mod/Fem/PyGui/_ViewProviderFemElementFluid1D.py index b63680a4bb..9552b3ac66 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemElementFluid1D.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemElementFluid1D.py @@ -100,7 +100,7 @@ class _TaskPanelFemElementFluid1D: self.obj = obj self.obj_notvisible = [] - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemElementFluid1D.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/ElementFluid1D.ui") QtCore.QObject.connect(self.form.btn_add, QtCore.SIGNAL("clicked()"), self.add_references) QtCore.QObject.connect(self.form.btn_remove, QtCore.SIGNAL("clicked()"), self.remove_reference) QtCore.QObject.connect(self.form.cb_section_type, QtCore.SIGNAL("activated(int)"), self.sectiontype_changed) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry1D.py b/src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry1D.py index 35b7edf833..d6394f7704 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry1D.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry1D.py @@ -99,7 +99,7 @@ class _TaskPanelFemElementGeometry1D: self.obj = obj self.obj_notvisible = [] - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemElementGeometry1D.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/ElementGeometry1D.ui") QtCore.QObject.connect(self.form.cb_crosssectiontype, QtCore.SIGNAL("activated(int)"), self.sectiontype_changed) QtCore.QObject.connect(self.form.if_rec_height, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.rec_height_changed) QtCore.QObject.connect(self.form.if_rec_width, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.rec_width_changed) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry2D.py b/src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry2D.py index f1addfe352..610d317cb0 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry2D.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemElementGeometry2D.py @@ -98,7 +98,7 @@ class _TaskPanelFemElementGeometry2D: self.obj = obj self.obj_notvisible = [] - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemElementGeometry2D.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/ElementGeometry2D.ui") QtCore.QObject.connect(self.form.if_thickness, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.thickness_changed) QtCore.QObject.connect(self.form.pushButton_Reference, QtCore.SIGNAL("clicked()"), self.add_references) self.form.list_References.itemSelectionChanged.connect(self.select_clicked_reference_shape) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemMaterial.py b/src/Mod/Fem/PyGui/_ViewProviderFemMaterial.py index c059bbbe5e..7edaf74f8b 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemMaterial.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemMaterial.py @@ -104,7 +104,7 @@ class _TaskPanelFemMaterial: self.tuplereferences = self.obj.References self.get_references() - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemMaterial.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/Material.ui") QtCore.QObject.connect(self.form.pushButton_MatWeb, QtCore.SIGNAL("clicked()"), self.goto_MatWeb) QtCore.QObject.connect(self.form.pushButton_saveas, QtCore.SIGNAL("clicked()"), self.export_material) QtCore.QObject.connect(self.form.cb_materials, QtCore.SIGNAL("activated(int)"), self.choose_material) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemMeshBoundaryLayer.py b/src/Mod/Fem/PyGui/_ViewProviderFemMeshBoundaryLayer.py index eca4b6e52f..39ea2be95e 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemMeshBoundaryLayer.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemMeshBoundaryLayer.py @@ -105,7 +105,7 @@ class _TaskPanelFemMeshBoundaryLayer: self.selection_mode_std_print_message = "Select Faces for 3D, Edges for 2D by single click on them to add them to the list." self.selection_mode_solid_print_message = "Select Solids by single click on a Face or Edge which belongs to the Solid, to add the Solid to the list." - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemMeshBoundaryLayer.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/MeshBoundaryLayer.ui") QtCore.QObject.connect(self.form.bl_number_of_layers, QtCore.SIGNAL("valueChanged(int)"), self.bl_number_of_layers_changed) QtCore.QObject.connect(self.form.bl_min_thickness, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.bl_min_thickness_changed) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemMeshGmsh.py b/src/Mod/Fem/PyGui/_ViewProviderFemMeshGmsh.py index 7743c9beea..f1e6528bb3 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemMeshGmsh.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemMeshGmsh.py @@ -155,7 +155,7 @@ class _TaskPanelFemMeshGmsh: def __init__(self, obj): self.mesh_obj = obj - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemMeshGmsh.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/MeshGmsh.ui") self.Timer = QtCore.QTimer() self.Timer.start(100) # 100 milli seconds diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemMeshGroup.py b/src/Mod/Fem/PyGui/_ViewProviderFemMeshGroup.py index 8b537fc429..072f75c82d 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemMeshGroup.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemMeshGroup.py @@ -105,7 +105,7 @@ class _TaskPanelFemMeshGroup: self.selection_mode_solid_print_message = "Select Solids by single click on a Face or Edge which belongs to the Solid, to add the Solid to the list." self.obj_notvisible = [] - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemMeshGroup.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/MeshGroup.ui") QtCore.QObject.connect(self.form.rb_name, QtCore.SIGNAL("toggled(bool)"), self.choose_exportidentifier_name) QtCore.QObject.connect(self.form.rb_label, QtCore.SIGNAL("toggled(bool)"), self.choose_exportidentifier_label) QtCore.QObject.connect(self.form.rb_standard, QtCore.SIGNAL("toggled(bool)"), self.choose_selection_mode_standard) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemMeshRegion.py b/src/Mod/Fem/PyGui/_ViewProviderFemMeshRegion.py index 1ae3f25d23..f74c0ef7da 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemMeshRegion.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemMeshRegion.py @@ -106,7 +106,7 @@ class _TaskPanelFemMeshRegion: self.selection_mode_solid_print_message = "Select Solids by single click on a Face or Edge which belongs to the Solid, to add the Solid to the list." self.obj_notvisible = [] - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemMeshRegion.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/MeshRegion.ui") QtCore.QObject.connect(self.form.if_elelen, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.elelen_changed) QtCore.QObject.connect(self.form.rb_standard, QtCore.SIGNAL("toggled(bool)"), self.choose_selection_mode_standard) QtCore.QObject.connect(self.form.rb_solid, QtCore.SIGNAL("toggled(bool)"), self.choose_selection_mode_solid) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemResultMechanical.py b/src/Mod/Fem/PyGui/_ViewProviderFemResultMechanical.py index 08808cea40..a037edb798 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemResultMechanical.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemResultMechanical.py @@ -120,7 +120,7 @@ class _TaskPanelFemResultShow: # task panel should be started by use of setEdit of view provider # in view provider checks: Mesh, active analysis and if Mesh and result are in active analysis - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemResultShow.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/ResultShow.ui") self.fem_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem/General") self.restore_result_settings_in_dialog = self.fem_prefs.GetBool("RestoreResultDialog", True) diff --git a/src/Mod/Fem/PyGui/_ViewProviderFemSolverCalculix.py b/src/Mod/Fem/PyGui/_ViewProviderFemSolverCalculix.py index b17565e222..cf71db20f2 100644 --- a/src/Mod/Fem/PyGui/_ViewProviderFemSolverCalculix.py +++ b/src/Mod/Fem/PyGui/_ViewProviderFemSolverCalculix.py @@ -102,7 +102,7 @@ class _TaskPanelFemSolverCalculix: '''The TaskPanel for CalculiX ccx tools solver object''' def __init__(self, solver_object): - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemSolverCalculix.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/SolverCalculix.ui") self.ccx_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem/Ccx") ccx_binary = self.ccx_prefs.GetString("ccxBinaryPath", "") if ccx_binary: diff --git a/src/Mod/Fem/feminterface/importFenicsMesh.py b/src/Mod/Fem/feminterface/importFenicsMesh.py index 3fea6297e5..9634185aa2 100644 --- a/src/Mod/Fem/feminterface/importFenicsMesh.py +++ b/src/Mod/Fem/feminterface/importFenicsMesh.py @@ -57,7 +57,7 @@ class WriteXDMFTaskPanel: It will called if there are mesh groups detected. Else it will be bypassed. """ def __init__(self, fem_mesh_obj, fileString): - self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/PyGui/TaskPanelFemMeshGroupXDMFExport.ui") + self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/MeshGroupXDMFExport.ui") self.result_dict = {} self.fem_mesh_obj = fem_mesh_obj self.fileString = fileString