From a92a99689eefbada93c25905674dcfb454cf6ce8 Mon Sep 17 00:00:00 2001 From: daid303 Date: Fri, 19 Apr 2013 22:00:18 +0200 Subject: [PATCH] Load GCode in background thread instead of the slice thread. --- Cura/gui/sceneView.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Cura/gui/sceneView.py b/Cura/gui/sceneView.py index 1b9de02e..9245789d 100644 --- a/Cura/gui/sceneView.py +++ b/Cura/gui/sceneView.py @@ -6,6 +6,7 @@ import time import os import traceback import shutil +import threading import OpenGL OpenGL.ERROR_CHECKING = False @@ -245,6 +246,8 @@ class SceneView(openglGui.glGuiPanel): self._selectedObj.scaleUpTo(self._machineSize - numpy.array(profile.calculateObjectSizeOffsets() + [0.0], numpy.float32) * 2) self._scene.pushFree() self._selectObject(self._selectedObj) + self.updateProfileToControls() + self.sceneUpdated() def OnMirror(self, axis): if self._selectedObj is None: @@ -341,9 +344,14 @@ class SceneView(openglGui.glGuiPanel): if ready: self._gcode = gcodeInterpreter.gcode() self._gcode.progressCallback = self._gcodeLoadCallback - self._gcode.load(self._slicer.getGCodeFilename()) + self._thread = threading.Thread(target=self._loadGCode) + self._thread.daemon = True + self._thread.start() self.QueueRefresh() + def _loadGCode(self): + self._gcode.load(self._slicer.getGCodeFilename()) + def _gcodeLoadCallback(self, progress): if self._gcode is None: return True -- 2.30.2