chiark / gitweb /
Added stat calculation after project slicing.
authorDaid <daid303@gmail.com>
Fri, 4 May 2012 17:28:24 +0000 (19:28 +0200)
committerDaid <daid303@gmail.com>
Fri, 4 May 2012 17:28:24 +0000 (19:28 +0200)
Cura/gui/projectPlanner.py

index a198a76d190f14d6a096b6ff5815ad4b4e0491c8..5f77025ecec2d93eee3d4183c67e77e4dc46c184 100644 (file)
@@ -23,6 +23,7 @@ from util import profile
 from util import util3d\r
 from util import stl\r
 from util import sliceRun\r
+from util import gcodeInterpreter\r
 \r
 class Action():\r
        pass\r
@@ -722,6 +723,7 @@ class ProjectSliceProgressWindow(wx.Frame):
                                if self.abort:\r
                                        p.terminate()\r
                                        wx.CallAfter(self.statusText.SetLabel, "Aborted by user.")\r
+                                       resultFile.close()\r
                                        return\r
                                line = p.stdout.readline()\r
                        self.returnCode = p.wait()\r
@@ -758,9 +760,20 @@ class ProjectSliceProgressWindow(wx.Frame):
                resultFile.write(';TYPE:CUSTOM\n')\r
                resultFile.write(profile.getAlterationFileContents('end.gcode'))\r
                resultFile.close()\r
+               \r
+               gcode = gcodeInterpreter.gcode()\r
+               gcode.load(self.resultFilename)\r
+               \r
                self.abort = True\r
                sliceTime = time.time() - self.sliceStartTime\r
-               wx.CallAfter(self.statusText.SetLabel, 'Slicing took: %02d:%02d' % (sliceTime / 60, sliceTime % 60))\r
+               status = "Slicing took: %02d:%02d\n" % (sliceTime / 60, sliceTime % 60)\r
+               status = "Filament: %.2fm %.2fg\n" % (gcode.extrusionAmount / 1000, gcode.calculateWeight() * 1000)\r
+               status += "Print time: %02d:%02d\n" % (int(gcode.totalMoveTimeMinute / 60), int(gcode.totalMoveTimeMinute % 60))\r
+               cost = gcode.calculateCost()\r
+               if cost != False:\r
+                       status += "Cost: %s\n" % (cost)\r
+               wx.CallAfter(self.statusText.SetLabel, status)\r
+               \r
                wx.CallAfter(self.abortButton.SetLabel, 'Close')\r
 \r
 def main():\r