chiark / gitweb /
show printing z position in gcode view via layer range and slider
authorhg42@gmx.net <hg42@gmx.net>
Sat, 4 Jan 2014 17:38:31 +0000 (18:38 +0100)
committerhg42@gmx.net <hg42@gmx.net>
Sat, 4 Jan 2014 17:38:31 +0000 (18:38 +0100)
--HG--
extra : source : 4c79c88d8b17cf02771861eeed9c2e09b113c24d

Cura/gui/sceneView.py

index e123ad4291d8c28e5c00718a6dcf02ca4ffe60cc..63c331f00185171098fe8bdeb8649121839cc885 100644 (file)
@@ -292,6 +292,7 @@ class SceneView(openglGui.glGuiPanel):
                self._usbPrintMonitor.loadFile(self._gcodeFilename, self._slicer.getID())
                if self._gcodeFilename == self._slicer.getGCodeFilename():
                        self._slicer.submitSliceInfoOnline()
+               self.viewSelection.setValue(4)
 
        def showSaveGCode(self):
                if len(self._scene._objectList) < 1:
@@ -1227,16 +1228,28 @@ void main(void)
                self._drawMachine()
 
                if self._usbPrintMonitor.getState() == 'PRINTING' and self._usbPrintMonitor.getID() == self._slicer.getID():
-                       glEnable(GL_BLEND)
                        z = self._usbPrintMonitor.getZ()
-                       size = self._machineSize
-                       glColor4ub(255,255,0,128)
-                       glBegin(GL_QUADS)
-                       glVertex3f(-size[0]/2,-size[1]/2, z)
-                       glVertex3f( size[0]/2,-size[1]/2, z)
-                       glVertex3f( size[0]/2, size[1]/2, z)
-                       glVertex3f(-size[0]/2, size[1]/2, z)
-                       glEnd()
+                       if self.viewMode == 'gcode':
+                               layer_height = profile.getProfileSettingFloat('layer_height')
+                               layer1_height = profile.getProfileSettingFloat('bottom_thickness')
+                               if layer_height > 0:
+                                       if layer1_height > 0:
+                                               layer = int((z - layer1_height) / layer_height) + 1
+                                       else:
+                                               layer = int(z / layer_height)
+                               else:
+                                       layer = 1
+                               self.layerSelect.setValue(layer)
+                       else:
+                               size = self._machineSize
+                               glEnable(GL_BLEND)
+                               glColor4ub(255,255,0,128)
+                               glBegin(GL_QUADS)
+                               glVertex3f(-size[0]/2,-size[1]/2, z)
+                               glVertex3f( size[0]/2,-size[1]/2, z)
+                               glVertex3f( size[0]/2, size[1]/2, z)
+                               glVertex3f(-size[0]/2, size[1]/2, z)
+                               glEnd()
 
                if self.viewMode == 'gcode':
                        if self._gcodeLoadThread is not None and self._gcodeLoadThread.isAlive():