def addTailoredLoopPath(self, line): "Add a clipped loop path." if self.clipLength > 0.0: removeTable = {} euclidean.addLoopToPixelTable(self.loopPath.path, removeTable, self.layerPixelWidth) euclidean.removePixelTableFromPixelTable(removeTable, self.layerPixelTable) self.loopPath.path = euclidean.getClippedLoopPath( self.clipLength, self.loopPath.path) self.loopPath.path = euclidean.getSimplifiedPath( self.loopPath.path, self.perimeterWidth) euclidean.addLoopToPixelTable(self.loopPath.path, self.layerPixelTable, self.layerPixelWidth) if self.oldWiddershins == None: self.addGcodeFromThreadZ(self.loopPath.path, self.loopPath.z) else: if self.oldWiddershins != euclidean.isWiddershins( self.loopPath.path): self.loopPath.path.reverse() # self.addGcodeFromThreadZ( self.loopPath.path, self.loopPath.z ) for point in self.loopPath.path: self.distanceFeedRate.addGcodeMovementZWithFeedRate( self.feedRateMinute, point, self.loopPath.z) if self.getNextThreadIsACloseLoop( self.loopPath.path) and self.maximumConnectionDistance > 0.0: self.oldWiddershins = euclidean.isWiddershins(self.loopPath.path) else: self.oldWiddershins = None self.distanceFeedRate.addLine(line) self.loopPath = None
def addTailoredLoopPath( self, line ): "Add a clipped loop path." if self.clipLength > 0.0: removeTable = {} euclidean.addLoopToPixelTable( self.loopPath.path, removeTable, self.layerPixelWidth ) euclidean.removePixelTableFromPixelTable( removeTable, self.layerPixelTable ) self.loopPath.path = euclidean.getClippedLoopPath( self.clipLength, self.loopPath.path ) self.loopPath.path = euclidean.getSimplifiedPath( self.loopPath.path, self.perimeterWidth ) euclidean.addLoopToPixelTable( self.loopPath.path, self.layerPixelTable, self.layerPixelWidth ) if self.oldWiddershins == None: self.addGcodeFromThreadZ( self.loopPath.path, self.loopPath.z ) else: if self.oldWiddershins != euclidean.isWiddershins( self.loopPath.path ): self.loopPath.path.reverse() # self.addGcodeFromThreadZ( self.loopPath.path, self.loopPath.z ) for point in self.loopPath.path: self.distanceFeedRate.addGcodeMovementZWithFeedRate( self.feedRateMinute, point, self.loopPath.z ) if self.getNextThreadIsACloseLoop( self.loopPath.path ) and self.maximumConnectionDistance > 0.0: self.oldWiddershins = euclidean.isWiddershins( self.loopPath.path ) else: self.oldWiddershins = None self.distanceFeedRate.addLine(line) self.loopPath = None