From f57fcc32845ff6ee4b5150dfeee0d47c293e0455 Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Tue, 2 Apr 2013 22:38:51 +0200 Subject: [PATCH] Add and fix burn compensation --- boxes.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/boxes.py b/boxes.py index 41e27b8..f2ad31f 100755 --- a/boxes.py +++ b/boxes.py @@ -129,22 +129,27 @@ class Boxes: sections = int((length) // (width*2)) leftover = length - sections*width*2 + p = 1 if positive else -1 + self.edge((width+leftover)/2.0+diffx-l1) for i in xrange(sections): - self._turn(radius+self.burn, angle, right=positive) + self._turn(radius-p*self.burn, angle, right=positive) self.edge(2*(l2-l1)) - self._turn(radius-self.burn, angle, right=not positive) + self._turn(radius+p*self.burn, angle, right=not positive) self.edge(2*(diffx-l1)+width) - self._turn(radius-self.burn, angle, right=not positive) + self._turn(radius+p*self.burn, angle, right=not positive) self.edge(2*(l2-l1)) - self._turn(radius+self.burn, angle, right=positive) + self._turn(radius-p*self.burn, angle, right=positive) if i