Browse Source

Take nozzle offset into account in _getHeadAndFans()

CURA-6785
Nino van Hooff 5 years ago
parent
commit
c4c62cbba2
2 changed files with 8 additions and 4 deletions
  1. 1 1
      cura/OneAtATimeIterator.py
  2. 7 3
      cura/Scene/ConvexHullDecorator.py

+ 1 - 1
cura/OneAtATimeIterator.py

@@ -1,4 +1,4 @@
-# Copyright (c) 2015 Ultimaker B.V.
+# Copyright (c) 2019 Ultimaker B.V.
 # Cura is released under the terms of the LGPLv3 or higher.
 
 from UM.Scene.Iterator import Iterator

+ 7 - 3
cura/Scene/ConvexHullDecorator.py

@@ -266,9 +266,13 @@ class ConvexHullDecorator(SceneNodeDecorator):
             return offset_hull
 
     def _getHeadAndFans(self) -> Polygon:
-        if self._global_stack:
-            return Polygon(numpy.array(self._global_stack.getHeadAndFansCoordinates(), numpy.float32))
-        return Polygon()
+        if not self._global_stack:
+            return Polygon()
+
+        polygon = Polygon(numpy.array(self._global_stack.getHeadAndFansCoordinates(), numpy.float32))
+        offset_x = self._getSettingProperty("machine_nozzle_offset_x", "value")
+        offset_y = self._getSettingProperty("machine_nozzle_offset_y", "value")
+        return polygon.translate(-offset_x, -offset_y)
 
     def _compute2DConvexHeadFull(self) -> Optional[Polygon]:
         convex_hull = self._compute2DConvexHull()