From: daid303 Date: Mon, 3 Dec 2012 15:17:20 +0000 (+0100) Subject: Add textbox which shows the bounderybox size of the object X-Git-Tag: 13.03~186 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=7eedb7eb992c8fbb80a555f092eeb7f475a07cc0;p=cura.git Add textbox which shows the bounderybox size of the object --- diff --git a/Cura/gui/preview3d.py b/Cura/gui/preview3d.py index 58f269f2..a1fcdc32 100644 --- a/Cura/gui/preview3d.py +++ b/Cura/gui/preview3d.py @@ -91,6 +91,9 @@ class previewPanel(wx.Panel): self.layerSpin = wx.SpinCtrl(self.toolbar, -1, '', size=(21*4,21), style=wx.SP_ARROW_KEYS) self.toolbar.AddControl(self.layerSpin) self.Bind(wx.EVT_SPINCTRL, self.OnLayerNrChange, self.layerSpin) + self.toolbar.AddSeparator() + self.toolbarInfo = wx.TextCtrl(self.toolbar, -1, '', style=wx.TE_READONLY) + self.toolbar.AddControl(self.toolbarInfo) self.toolbar2 = toolbarUtil.Toolbar(self) @@ -170,7 +173,11 @@ class previewPanel(wx.Panel): scale = self.scale.GetValue() profile.putProfileSetting('model_scale', scale) self.glCanvas.Refresh() - + + if self.objectsMaxV != None: + size = (self.objectsMaxV - self.objectsMinV) * float(scale) + self.toolbarInfo.SetValue('%0.1f %0.1f %0.1f' % (size[0], size[1], size[2])) + def OnScaleMax(self, e = None, onlyScaleDown = False): if self.objectsMinV == None: return @@ -274,9 +281,10 @@ class previewPanel(wx.Panel): obj.dirty = False obj.mesh = mesh self.updateModelTransform() + self.OnScaleMax(None, True) scale = profile.getProfileSettingFloat('model_scale') size = (self.objectsMaxV - self.objectsMinV) * scale - self.OnScaleMax(None, True) + self.toolbarInfo.SetValue('%0.1f %0.1f %0.1f' % (size[0], size[1], size[2])) self.glCanvas.zoom = numpy.max(size) * 2.5 self.errorList = [] wx.CallAfter(self.updateToolbar) @@ -407,6 +415,11 @@ class previewPanel(wx.Panel): # v[1] -= minV[1] + (maxV[1] - minV[1]) / 2 obj.mesh.getMinimumZ() obj.dirty = True + + scale = profile.getProfileSettingFloat('model_scale') + size = (self.objectsMaxV - self.objectsMinV) * scale + self.toolbarInfo.SetValue('%0.1f %0.1f %0.1f' % (size[0], size[1], size[2])) + self.glCanvas.Refresh() def updateProfileToControls(self):