diff --git a/src/Mod/Fem/PyGui/_CommandFemSolverRun.py b/src/Mod/Fem/PyGui/_CommandFemSolverRun.py index 0c7d41f53d..de59c41956 100644 --- a/src/Mod/Fem/PyGui/_CommandFemSolverRun.py +++ b/src/Mod/Fem/PyGui/_CommandFemSolverRun.py @@ -31,7 +31,6 @@ from .FemCommands import FemCommands import FreeCADGui from PySide import QtCore, QtGui import femsolver.run -import FemUtils class _CommandFemSolverRun(FemCommands): @@ -52,13 +51,7 @@ class _CommandFemSolverRun(FemCommands): print ("CalculiX failed ccx finished with error {}".format(ret_code)) self.solver = FreeCADGui.Selection.getSelection()[0] # see 'with_solver' in FemCommands for selection check - if FemUtils.isDerivedFrom(self.solver, "Fem::FemSolverObjectZ88"): - self._newActivated() - elif FemUtils.isDerivedFrom(self.solver, "Fem::FemSolverObjectElmer"): - self._newActivated() - elif FemUtils.isDerivedFrom(self.solver, "Fem::FemSolverObjectCalculix"): - self._newActivated() - elif self.solver.SolverType == "FemSolverCalculix": + if hasattr(self.solver, "SolverType") and self.solver.SolverType == "FemSolverCalculix": import FemToolsCcx self.fea = FemToolsCcx.FemToolsCcx(None, self.solver) self.fea.reset_mesh_purge_results_checked() @@ -69,13 +62,8 @@ class _CommandFemSolverRun(FemCommands): self.fea.finished.connect(load_results) QtCore.QThreadPool.globalInstance().start(self.fea) else: - QtGui.QMessageBox.critical(None, "Not known solver type", message) - - def _newActivated(self): - solver = self._getSelectedSolver() - if solver is not None: try: - machine = femsolver.run.getMachine(solver) + machine = femsolver.run.getMachine(self.solver) except femsolver.run.MustSaveError: QtGui.QMessageBox.critical( FreeCADGui.getMainWindow(), @@ -95,11 +83,7 @@ class _CommandFemSolverRun(FemCommands): machine.target = femsolver.run.RESULTS machine.start() - def _getSelectedSolver(self): - sel = FreeCADGui.Selection.getSelection() - if len(sel) == 1 and sel[0].isDerivedFrom("Fem::FemSolverObjectPython"): - return sel[0] - return None + FreeCADGui.Selection.clearSelection() FreeCADGui.addCommand('FEM_SolverRun', _CommandFemSolverRun())