diff --git a/src/Mod/Fem/FemTools.py b/src/Mod/Fem/FemTools.py index e64e9775a..73249bf80 100644 --- a/src/Mod/Fem/FemTools.py +++ b/src/Mod/Fem/FemTools.py @@ -73,6 +73,13 @@ class FemTools(QtCore.QRunnable, QtCore.QObject): self.mesh.ViewObject.ElementColor = {} self.mesh.ViewObject.setNodeColorByScalars() + ## Resets mesh color, deformation and removes all result objects + # @param self The python object self + def reset_all(self): + self.purge_results() + self.reset_mesh_color() + self.reset_mesh_deformation() + def show_result(self, result_type="Sabs", limit=None): self.update_objects() if result_type == "None": diff --git a/src/Mod/Fem/MechanicalAnalysis.py b/src/Mod/Fem/MechanicalAnalysis.py index c68b7bd8d..9752cf852 100644 --- a/src/Mod/Fem/MechanicalAnalysis.py +++ b/src/Mod/Fem/MechanicalAnalysis.py @@ -135,9 +135,7 @@ class _CommandPurgeFemResults: def Activated(self): fea = FemTools() - fea.purge_results() - fea.reset_mesh_color() - fea.reset_mesh_deformation() + fea.reset_all() def IsActive(self): return FreeCADGui.ActiveDocument is not None and results_present() @@ -159,9 +157,7 @@ class _CommandQuickAnalysis: print "CalculiX failed ccx finished with error {}".format(ret_code) self.fea = FemTools() - self.fea.purge_results() - self.fea.reset_mesh_color() - self.fea.reset_mesh_deformation() + self.fea.reset_all() message = self.fea.check_prerequisites() if message: QtGui.QMessageBox.critical(None, "Missing prerequisite", message) @@ -194,9 +190,7 @@ class _CommandFrequencyAnalysis: print "CalculiX failed ccx finished with error {}".format(ret_code) self.fea = FemTools() - self.fea.purge_results() - self.fea.reset_mesh_color() - self.fea.reset_mesh_deformation() + self.fea.reset_all() self.fea.set_analysis_type('frequency') message = self.fea.check_prerequisites() if message: @@ -397,9 +391,7 @@ class _JobControlTaskPanel: self.femConsoleMessage("Loading result sets...") self.form.label_Time.setText('Time: {0:4.1f}: '.format(time.time() - self.Start)) fea = FemTools() - fea.purge_results() - fea.reset_mesh_color() - fea.reset_mesh_deformation() + fea.reset_all() if os.path.isfile(self.base_name + '.frd'): QApplication.setOverrideCursor(Qt.WaitCursor) ccxFrdReader.importFrd(self.base_name + '.frd', FemGui.getActiveAnalysis())