From b9f99a3c56d505be7977fdce5ea9fbeb7e381018 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Wed, 29 Apr 2015 17:46:53 +0200 Subject: [PATCH] Translate the received polygons from the engine to use 0,0 as center --- ProcessSlicedObjectListJob.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ProcessSlicedObjectListJob.py b/ProcessSlicedObjectListJob.py index 92f26b1fc5..2938dde0a9 100644 --- a/ProcessSlicedObjectListJob.py +++ b/ProcessSlicedObjectListJob.py @@ -26,7 +26,8 @@ class ProcessSlicedObjectListJob(Job): else: objectIdMap[id(node)] = node - layerHeight = Application.getInstance().getActiveMachine().getSettingValueByKey('layer_height') + settings = Application.getInstance().getActiveMachine() + layerHeight = settings.getSettingValueByKey('layer_height') for object in self._message.objects: try: @@ -47,6 +48,10 @@ class ProcessSlicedObjectListJob(Job): points[:,2] *= -1 + if not settings.getSettingValueByKey('machine_center_is_zero'): + center = [settings.getSettingValueByKey('machine_width') / 2, 0.0, -settings.getSettingValueByKey('machine_depth') / 2] + points -= numpy.array(center) + #points = numpy.pad(points, ((0,0), (0,1)), 'constant', constant_values=(0.0, 1.0)) #inverse = node.getWorldTransformation().getInverse().getData() #points = points.dot(inverse)