chiark / gitweb /
Add textbox which shows the bounderybox size of the object
authordaid303 <daid303@gmail.com>
Mon, 3 Dec 2012 15:17:20 +0000 (16:17 +0100)
committerdaid303 <daid303@gmail.com>
Mon, 3 Dec 2012 15:17:20 +0000 (16:17 +0100)
Cura/gui/preview3d.py

index 58f269f22ee0e9afbc2de4d596f22d2a1ad1b762..a1fcdc32c18f0ea6bfc329a4a6bd9a4cc546bf15 100644 (file)
@@ -91,6 +91,9 @@ class previewPanel(wx.Panel):
                self.layerSpin = wx.SpinCtrl(self.toolbar, -1, '', size=(21*4,21), style=wx.SP_ARROW_KEYS)\r
                self.toolbar.AddControl(self.layerSpin)\r
                self.Bind(wx.EVT_SPINCTRL, self.OnLayerNrChange, self.layerSpin)\r
+               self.toolbar.AddSeparator()\r
+               self.toolbarInfo = wx.TextCtrl(self.toolbar, -1, '', style=wx.TE_READONLY)\r
+               self.toolbar.AddControl(self.toolbarInfo)\r
 \r
                self.toolbar2 = toolbarUtil.Toolbar(self)\r
 \r
@@ -170,7 +173,11 @@ class previewPanel(wx.Panel):
                        scale = self.scale.GetValue()\r
                profile.putProfileSetting('model_scale', scale)\r
                self.glCanvas.Refresh()\r
-       \r
+\r
+               if self.objectsMaxV != None:\r
+                       size = (self.objectsMaxV - self.objectsMinV) * float(scale)\r
+                       self.toolbarInfo.SetValue('%0.1f %0.1f %0.1f' % (size[0], size[1], size[2]))\r
+\r
        def OnScaleMax(self, e = None, onlyScaleDown = False):\r
                if self.objectsMinV == None:\r
                        return\r
@@ -274,9 +281,10 @@ class previewPanel(wx.Panel):
                                obj.dirty = False\r
                                obj.mesh = mesh\r
                                self.updateModelTransform()\r
+                               self.OnScaleMax(None, True)\r
                                scale = profile.getProfileSettingFloat('model_scale')\r
                                size = (self.objectsMaxV - self.objectsMinV) * scale\r
-                               self.OnScaleMax(None, True)\r
+                               self.toolbarInfo.SetValue('%0.1f %0.1f %0.1f' % (size[0], size[1], size[2]))\r
                                self.glCanvas.zoom = numpy.max(size) * 2.5\r
                                self.errorList = []\r
                                wx.CallAfter(self.updateToolbar)\r
@@ -407,6 +415,11 @@ class previewPanel(wx.Panel):
                        #       v[1] -= minV[1] + (maxV[1] - minV[1]) / 2\r
                        obj.mesh.getMinimumZ()\r
                        obj.dirty = True\r
+\r
+               scale = profile.getProfileSettingFloat('model_scale')\r
+               size = (self.objectsMaxV - self.objectsMinV) * scale\r
+               self.toolbarInfo.SetValue('%0.1f %0.1f %0.1f' % (size[0], size[1], size[2]))\r
+\r
                self.glCanvas.Refresh()\r
        \r
        def updateProfileToControls(self):\r