time.sleep(0.1)
return self._gcodeLoadCallback(self, progress)
- def submitInfoOnline(self):
+ '''def submitInfoOnline(self):
if profile.getPreference('submit_slice_information') != 'True':
return
if version.isDevVersion():
f.close()
except:
import traceback
- traceback.print_exc()
+ traceback.print_exc()'''
class Engine(object):
"""
def runEngine(self, scene, overrides = None):
if len(scene.objects()) < 1:
return
- self._thread = threading.Thread(target=self._runEngine, args=(scene, overrides, self._thread))
+ self._thread = threading.Thread(target=self._runEngine, args=(scene, overrides, self._thread, pluginInfo.getPostProcessPluginConfig()))
self._thread.daemon = True
self._thread.start()
- def _runEngine(self, scene, overrides, old_thread):
+ def _runEngine(self, scene, overrides, old_thread, pluginConfig):
if old_thread is not None:
if self._process is not None:
self._process.terminate()
returnCode = self._process.wait()
logThread.join()
+ self._result.addLog("Slicer process returned : %d" % returnCode)
if returnCode == 0:
- self._result.setFinished(True)
- plugin_error = pluginInfo.runPostProcessingPlugins(self._result)
+ plugin_error = pluginInfo.runPostProcessingPlugins(self._result, pluginConfig)
if plugin_error is not None:
- print plugin_error
self._result.addLog(plugin_error)
+ self._result.setFinished(True)
self._callback(1.0)
else:
- for line in self._result.getLog():
- print line
self._callback(-1.0)
self._process = None
except MemoryError:
self._result.addLog("MemoryError")
self._callback(-1.0)
+ finally:
+ try:
+ with open(os.path.join(profile.getBasePath(), 'engine.log'), "w") as f:
+ for line in self._result.getLog():
+ f.write(line + "\n")
+ except:
+ pass
def _watchStderr(self, stderr):
objectNr = 0
'extruderOffset[2].Y': int(profile.getMachineSettingFloat('extruder_offset_y2') * 1000),
'extruderOffset[3].X': int(profile.getMachineSettingFloat('extruder_offset_x3') * 1000),
'extruderOffset[3].Y': int(profile.getMachineSettingFloat('extruder_offset_y3') * 1000),
+ 'zOffset': int(profile.getMachineSettingFloat('extruder_z_offset') * 1000),
'fixHorrible': 0,
}
fanFullHeight = int(profile.getProfileSettingFloat('fan_full_height') * 1000)