chiark / gitweb /
Add an extra line on the first jorised line, so we get rid of the gap and create...
authordaid <daid303@gmail.com>
Wed, 16 May 2012 13:10:30 +0000 (15:10 +0200)
committerdaid <daid303@gmail.com>
Wed, 16 May 2012 13:10:30 +0000 (15:10 +0200)
Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/joris.py

index 8c128d3231982cb8746ba99dd38992414ff8bdc5..64d6bfcb4ef3389484f72f325c8db2c1908af1ec 100644 (file)
@@ -101,6 +101,7 @@ class JorisSkein:
                self.perimeter = None
                self.oldLocation = None
                self.doJoris = False
+               self.firstLayer = True
        
        def getCraftedGcode( self, gcodeText, repository ):
                'Parse gcode text and store the joris gcode.'
@@ -172,13 +173,26 @@ class JorisSkein:
                        p = point
                
                #Build the perimeter with an increasing Z over the length.
+               if self.firstLayer:
+                       #On the first layer, we need to create an extra jorised perimeter, else we create a gap at the end of the perimeter.
+                       print "*************"
+                       p = self.oldLocation.dropAxis()
+                       length = 0;
+                       self.distanceFeedRate.addLine('M101') # Turn extruder on.
+                       for point in self.perimeter:
+                               length += abs( point - p );
+                               p = point
+                               self.distanceFeedRate.addGcodeMovementZWithFeedRate(self.feedRateMinute, point, self.oldLocation.z - self.layerThickness + self.layerThickness * length / perimeterLength)
+                       self.distanceFeedRate.addLine('M103') # Turn extruder off.
+                       self.firstLayer = False
+
                p = self.oldLocation.dropAxis()
-               len = 0;
+               length = 0;
                self.distanceFeedRate.addLine('M101') # Turn extruder on.
                for point in self.perimeter:
-                       len += abs( point - p );
+                       length += abs( point - p );
                        p = point
-                       self.distanceFeedRate.addGcodeMovementZWithFeedRate(self.feedRateMinute, point, self.oldLocation.z + self.layerThickness * len / perimeterLength)
+                       self.distanceFeedRate.addGcodeMovementZWithFeedRate(self.feedRateMinute, point, self.oldLocation.z + self.layerThickness * length / perimeterLength)
                self.distanceFeedRate.addLine('M103') # Turn extruder off.
                self.perimeter = None