chiark / gitweb /
Merge tag '15.01-RC4' into upstream
[cura.git] / Cura / util / sliceEngine.py
index 8dea90a9eb43c6256f73e8d12a8725f040b0252b..1989d692d4fb2344db46f3bb24153746c4fbeb91 100644 (file)
@@ -282,14 +282,14 @@ class Engine(object):
        def getResult(self):
                return self._result
 
-       def runEngine(self, scene):
+       def runEngine(self, scene, overrides = None):
                if len(scene.objects()) < 1:
                        return
-               self._thread = threading.Thread(target=self._runEngine, args=(scene, self._thread, pluginInfo.getPostProcessPluginConfig()))
+               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, old_thread, pluginConfig):
+       def _runEngine(self, scene, overrides, old_thread, pluginConfig):
                if old_thread is not None:
                        if self._process is not None:
                                self._process.terminate()
@@ -303,10 +303,15 @@ class Engine(object):
 
                extruderCount = max(extruderCount, profile.minimalExtruderCount())
 
+               if overrides is not None:
+                       for k, v in overrides.items():
+                               profile.setTempOverride(k, v)
                commandList = [self._engine_executable, '-v', '-p']
                for k, v in self._engineSettings(extruderCount).iteritems():
                        commandList += ['-s', '%s=%s' % (k, str(v))]
                commandList += ['-g', '%d' % (self._serverPortNr)]
+               if overrides is not None:
+                       profile.resetTempOverride()
                self._objCount = 0
                engineModelData = []
                hash = hashlib.sha512()