if self._selectedObj is not None and len(self._scene.objects()) > 1:
size = self._selectedObj.getSize()[0:2] / 2 + self._scene.getObjectExtend()
glPushMatrix()
- glTranslatef(self._selectedObj.getPosition()[0], self._selectedObj.getPosition()[1], 0.0)
+ glTranslatef(self._selectedObj.getPosition()[0], self._selectedObj.getPosition()[1], 0)
glEnable(GL_BLEND)
glEnable(GL_CULL_FACE)
glColor4f(0,0,0,0.12)
self.tool.OnDraw()
glPopMatrix()
- def _renderObject(self, obj, brightness = False):
+ def _renderObject(self, obj, brightness = False, addSink = True):
glPushMatrix()
- glTranslate(obj.getPosition()[0], obj.getPosition()[1], obj.getSize()[2] / 2)
+ if addSink:
+ glTranslate(obj.getPosition()[0], obj.getPosition()[1], obj.getSize()[2] / 2 - profile.getProfileSettingFloat('object_sink'))
+ else:
+ glTranslate(obj.getPosition()[0], obj.getPosition()[1], obj.getSize()[2] / 2)
if self.tempMatrix is not None and obj == self._selectedObj:
tempMatrix = opengl.convert3x3MatrixTo4x4(self.tempMatrix)
if profile.getPreference('machine_type') == 'ultimaker':
glColor4f(1,1,1,0.5)
self._objectShader.bind()
- self._renderObject(self._platformMesh)
+ self._renderObject(self._platformMesh, False, False)
self._objectShader.unbind()
size = [profile.getPreferenceFloat('machine_width'), profile.getPreferenceFloat('machine_depth'), profile.getPreferenceFloat('machine_height')]
return [0.0, 0.0, 0.0]
pos = self._selectedObj.getPosition()
size = self._selectedObj.getSize()
- return [pos[0], pos[1], size[2]/2]
+ return [pos[0], pos[1], size[2]/2 - profile.getProfileSettingFloat('object_sink')]
def getObjectBoundaryCircle(self):
if self._selectedObj is None:
self.processMatrix()
def layFlat(self):
- transformedVertexes = self.getTransformedVertexes()
+ transformedVertexes = self._meshList[0].getTransformedVertexes()
minZvertex = transformedVertexes[transformedVertexes.argmin(0)[2]]
dotMin = 1.0
dotV = None
self._matrix *= numpy.matrix([[math.cos(rad), 0, math.sin(rad)], [0,1,0], [-math.sin(rad), 0, math.cos(rad)]], numpy.float64)
- transformedVertexes = self.getTransformedVertexes()
+ transformedVertexes = self._meshList[0].getTransformedVertexes()
minZvertex = transformedVertexes[transformedVertexes.argmin(0)[2]]
dotMin = 1.0
dotV = None
return None
def getPrintTime(self):
- return '%02d:%02d' % (int(self._printTimeSeconds / 60 / 60), int(self._printTimeSeconds / 60) % 60)
+ if int(self._printTimeSeconds / 60 / 60) < 1:
+ return '%d minutes' % (int(self._printTimeSeconds / 60) % 60)
+ if int(self._printTimeSeconds / 60 / 60) == 1:
+ return '%d hour %d minutes' % (int(self._printTimeSeconds / 60 / 60), int(self._printTimeSeconds / 60) % 60)
+ return '%d hours %d minutes' % (int(self._printTimeSeconds / 60 / 60), int(self._printTimeSeconds / 60) % 60)
def getFilamentAmount(self):
- return '%0.2fm %0.0fgram' % (float(self._filamentMM) / 1000.0, self.getFilamentWeight() * 1000.0)
+ return '%0.2f meter %0.0f gram' % (float(self._filamentMM) / 1000.0, self.getFilamentWeight() * 1000.0)
def runSlicer(self, scene):
self.abortSlicer()