diff --git a/src/Mod/Fem/MechanicalAnalysis.py b/src/Mod/Fem/MechanicalAnalysis.py
index 93f885953..047aabeb9 100644
--- a/src/Mod/Fem/MechanicalAnalysis.py
+++ b/src/Mod/Fem/MechanicalAnalysis.py
@@ -252,12 +252,21 @@ class _JobControlTaskPanel:
format(time.time() - self.Start, color, message)
self.form.textEdit_Output.setText(self.OutStr)
+ def printCalculiXstdout(self):
+ #There is probably no need to show user output from CalculiX. It should be
+ #written to a file in the calcs directory and shown to user upon request [BUTTON]
+ out = self.Calculix.readAllStandardOutput()
+ if out.isEmpty():
+ self.femConsoleMessage("CalculiX stdout is empty", "#FF0000")
+ else:
+ try:
+ self.femConsoleMessage(unicode(out).replace('\n','
'))
+ except UnicodeDecodeError:
+ self.femConsoleMessage("Error converting stdout from CalculiX", "#FF0000")
+
def UpdateText(self):
if(self.Calculix.state() == QtCore.QProcess.ProcessState.Running):
- out = self.Calculix.readAllStandardOutput()
- #print out
- if out:
- self.femConsoleMessage(unicode(out).replace('\n','
'))
+ self.printCalculiXstdout()
self.form.label_Time.setText('Time: {0:4.1f}: '.format(time.time() - self.Start) )
def calculixError(self, error):
@@ -280,11 +289,8 @@ class _JobControlTaskPanel:
def calculixFinished(self,exitCode):
print "calculixFinished()",exitCode
print self.Calculix.state()
- out = self.Calculix.readAllStandardOutput()
- print out
- if out:
- self.femConsoleMessage(unicode(out).replace('\n','
'))
+ self.printCalculiXstdout()
self.Timer.stop()
self.femConsoleMessage("Calculix done!", "#00FF00")