diff --git a/SkeinPyPy/fabmetheus_utilities/fonts/gentium_basic_regular.svg b/SkeinPyPy/fabmetheus_utilities/fonts/gentium_basic_regular.svg deleted file mode 100644 index 418f023e..00000000 --- a/SkeinPyPy/fabmetheus_utilities/fonts/gentium_basic_regular.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/SkeinPyPy/fabmetheus_utilities/images/display_line.ppm b/SkeinPyPy/fabmetheus_utilities/images/display_line.ppm deleted file mode 100644 index 4738d036..00000000 --- a/SkeinPyPy/fabmetheus_utilities/images/display_line.ppm +++ /dev/null @@ -1,5 +0,0 @@ -P6 -# CREATOR: The GIMP's PNM Filter Version 1.0 -27 27 -255 -ZHMPRRcޫCHMRV\k\T@EKPV~~TR@FLS\\\:@GMTkYkQ:@FLS\\Q9?EKPV~~VP⿾6=BHMRV\k\VRKⱯ4:?DIMPSTSPME⢢C7<@DHKLMLKHGƩ287عѪv\Rҗϒ}ʈƃ5y0ʟeģSKMEe^DžZS3v..o)ͻѹȚ`ʠoç>7}2t,̙čOѫZML5y00q+*k&գץڻe?˹XŏӠǓɛaaFɸQ׵}ֵÑV{QɸmHHyR \ No newline at end of file diff --git a/SkeinPyPy/fabmetheus_utilities/images/zoom_out.ppm b/SkeinPyPy/fabmetheus_utilities/images/zoom_out.ppm deleted file mode 100644 index 108f8937..00000000 --- a/SkeinPyPy/fabmetheus_utilities/images/zoom_out.ppm +++ /dev/null @@ -1,5 +0,0 @@ -P6 -# CREATOR: The GIMP's PNM Filter Version 1.0 -16 16 -255 -ÑҮmϩeΧcШjٻܿ԰p׷}ѯάҭw̡gӺ԰pϩţɛc‘׶}ͤqҮҭlѮħÒ[Ϩc⿋Pͦb⾇Mͧh̬xtomcbTVEH5:&.عѪvomȿ#ʟeģcbTVEH5:&.#ͻѹȚ`ʠoçܾSִy̙čOѫZMLRLۿգץڻe?˹XŏӠǓɛaaFɸQ׵}ֵÑVrEǶ\3HsK \ No newline at end of file diff --git a/SkeinPyPy/newui/preview3d.py b/SkeinPyPy/newui/preview3d.py index 14d3b0e9..51ba092c 100644 --- a/SkeinPyPy/newui/preview3d.py +++ b/SkeinPyPy/newui/preview3d.py @@ -33,6 +33,7 @@ class previewPanel(wx.Panel): self.init = 0 self.triangleMesh = None self.gcode = None + self.modelFilename = None self.machineSize = Vector3(float(profile.getPreference('machine_width')), float(profile.getPreference('machine_depth')), float(profile.getPreference('machine_height'))) self.machineCenter = Vector3(0, 0, 0) @@ -92,40 +93,39 @@ class previewPanel(wx.Panel): self.glCanvas.Refresh() def loadModelFile(self, filename): - self.modelFilename = filename - self.gcodeFilename = filename[: filename.rfind('.')] + "_export.gcode" - #Do the STL file loading in a background thread so we don't block the UI. - thread = threading.Thread(target=self.DoModelLoad) - thread.start() - - def loadGCodeFile(self, filename): - self.gcodeFilename = filename - #Do the STL file loading in a background thread so we don't block the UI. - thread = threading.Thread(target=self.DoGCodeLoad) - thread.start() - - def DoModelLoad(self): - self.modelDirty = False - triangleMesh = fabmetheus_interpret.getCarving(self.modelFilename) - triangleMesh.origonalVertexes = list(triangleMesh.vertexes) - for i in xrange(0, len(triangleMesh.origonalVertexes)): - triangleMesh.origonalVertexes[i] = triangleMesh.origonalVertexes[i].copy() - triangleMesh.getMinimumZ() - self.triangleMesh = triangleMesh - self.updateModelTransform() - wx.CallAfter(self.updateToolbar) - wx.CallAfter(self.glCanvas.Refresh) + gcodeFilename = filename[: filename.rfind('.')] + "_export.gcode" + if self.modelFilename != filename: + self.modelFileTime = None + self.gcodeFileTime = None - if os.path.isfile(self.gcodeFilename): - self.DoGCodeLoad() + self.modelFilename = filename + self.gcodeFilename = gcodeFilename + #Do the STL file loading in a background thread so we don't block the UI. + thread = threading.Thread(target=self.doFileLoad) + thread.start() - def DoGCodeLoad(self): - gcode = gcodeInterpreter.gcode(self.gcodeFilename) - self.gcodeDirty = False - self.gcode = gcode - self.gcodeDirty = True - wx.CallAfter(self.updateToolbar) - wx.CallAfter(self.glCanvas.Refresh) + def doFileLoad(self): + if os.path.isfile(self.modelFilename) and self.modelFileTime != os.stat(self.modelFilename).st_mtime: + self.modelFileTime = os.stat(self.modelFilename).st_mtime + triangleMesh = fabmetheus_interpret.getCarving(self.modelFilename) + triangleMesh.origonalVertexes = list(triangleMesh.vertexes) + for i in xrange(0, len(triangleMesh.origonalVertexes)): + triangleMesh.origonalVertexes[i] = triangleMesh.origonalVertexes[i].copy() + triangleMesh.getMinimumZ() + self.modelDirty = False + self.triangleMesh = triangleMesh + self.updateModelTransform() + wx.CallAfter(self.updateToolbar) + wx.CallAfter(self.glCanvas.Refresh) + + if os.path.isfile(self.gcodeFilename) and self.gcodeFileTime != os.stat(self.gcodeFilename).st_mtime: + self.gcodeFileTime = os.stat(self.gcodeFilename).st_mtime + gcode = gcodeInterpreter.gcode(self.gcodeFilename) + self.gcodeDirty = False + self.gcode = gcode + self.gcodeDirty = True + wx.CallAfter(self.updateToolbar) + wx.CallAfter(self.glCanvas.Refresh) def updateToolbar(self): self.layerSpin.Show(self.gcode != None) diff --git a/SkeinPyPy/newui/sliceProgessPanel.py b/SkeinPyPy/newui/sliceProgessPanel.py index 59b095ab..f9d33a94 100644 --- a/SkeinPyPy/newui/sliceProgessPanel.py +++ b/SkeinPyPy/newui/sliceProgessPanel.py @@ -82,7 +82,7 @@ class sliceProgessPanel(wx.Panel): self.sizer.Add(self.logButton, 0) if result.returnCode == 0: self.statusText.SetLabel("Ready.") - self.showButton = wx.Button(self, -1, "Show GCode") + self.showButton = wx.Button(self, -1, "Show result") self.Bind(wx.EVT_BUTTON, self.OnShowGCode, self.showButton) self.sizer.Add(self.showButton, 0) else: @@ -133,7 +133,6 @@ class WorkerThread(threading.Thread): return line = p.stdout.readline() self.returnCode = p.wait() - self.gcodeFilename = self.filename[: self.filename.rfind('.')] + "_export.gcode" logfile = open(self.filename[: self.filename.rfind('.')] + "_export.log", "w") for logLine in self.progressLog: logfile.write(logLine)