self._viewTarget = numpy.array([0,0,0], numpy.float32)
self._animView = None
self._animZoom = None
+ self._lastObjectSink = None
self._platformMesh = {}
self._platformTexture = None
self._isSimpleMode = True
self.sceneUpdated()
def sceneUpdated(self):
+
+ objectSink = profile.getProfileSettingFloat("object_sink")
+ if self._lastObjectSink != objectSink:
+ self._lastObjectSink = objectSink
+ self._scene.updateHeadSize()
+
wx.CallAfter(self._sceneUpdateTimer.Start, 500, True)
self._engine.abortEngine()
self._scene.updateSizeOffsets()
yMin = profile.getMachineSettingFloat('extruder_head_size_min_y')
yMax = profile.getMachineSettingFloat('extruder_head_size_max_y')
gantryHeight = profile.getMachineSettingFloat('extruder_head_size_height')
+ objectSink = profile.getProfileSettingFloat("object_sink")
self._leftToRight = xMin < xMax
self._frontToBack = yMin < yMax
self._gantryHeight = gantryHeight
self._oneAtATime = self._gantryHeight > 0 and profile.getPreference('oneAtATime') == 'True'
for obj in self._objectList:
- if obj.getSize()[2] > self._gantryHeight:
+ if obj.getSize()[2] - objectSink > self._gantryHeight:
self._oneAtATime = False
headArea = numpy.array([[-xMin,-yMin],[ xMax,-yMin],[ xMax, yMax],[-xMin, yMax]], numpy.float32)
return polygon.polygonCollision(a._boundaryHull + a.getPosition(), b._boundaryHull + b.getPosition())
def checkPlatform(self, obj):
+ objectSink = profile.getProfileSettingFloat("object_sink")
+
area = obj._printAreaHull + obj.getPosition()
- if obj.getSize()[2] > self._machineSize[2]:
+ if obj.getSize()[2] - objectSink > self._machineSize[2]:
return False
if not polygon.fullInside(area, self._machinePolygons[0]):
return False