# Python: module skeinforge_application.skeinforge_plugins.craft_plugins.comb

skeinforge_application.skeinforge_plugins.craft_plugins.comb ($Date: 2008/21/04 $) | index /home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/comb.py

Previous / Next / Contents

`
Comb is a script to comb the extrusion hair of a gcode file.
The comb manual page is at:
http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Comb
Comb bends the extruder travel paths around holes in the slices, to avoid stringers. It moves the extruder to the inside of perimeters before turning the extruder on so any start up ooze will be inside the shape.
Operation
Settings
Running Jump Space
Examples
`

## Operation

The default 'Activate Comb' checkbox is off. When it is on, the functions described below will work, when it is off, the functions will not be called.

## Settings

### Running Jump Space

Placeholder.

## Examples

The following examples comb the file Screw Holder Bottom.stl. The examples are run in a terminal in the folder which contains Screw Holder Bottom.stl and comb.py.
> python comb.py
This brings up the comb dialog.
> python comb.py Screw Holder Bottom.stl
The comb tool is parsing the file:
Screw Holder Bottom.stl
..
The comb tool has created the file:
.. Screw Holder Bottom_comb.gcode

Previous / Next / Contents

Modules

``

__init__
fabmetheus_utilities.archive
fabmetheus_utilities.euclidean

fabmetheus_utilities.fabmetheus_tools.fabmetheus_interpret
fabmetheus_utilities.gcodec
fabmetheus_utilities.intercircle

math
fabmetheus_utilities.settings
skeinforge_application.skeinforge_utilities.skeinforge_craft

skeinforge_application.skeinforge_utilities.skeinforge_polyfile
skeinforge_application.skeinforge_utilities.skeinforge_profile
sys

Classes

``

CombRepository
CombSkein

class CombRepository
`` | `A class to handle the comb settings.`

Methods defined here:

__init__(self)
  `Set the default settings, execute title & settings fileName.`

execute(self)
  `Comb button has been clicked.`

class CombSkein
`` | `A class to comb a skein of extrusions.`

Methods defined here:

__init__(self)
  `Initialize`

addGcodePathZ(self, feedRateMinute, path, z)
  `Add a gcode path, without modifying the extruder, to the output.`

addIfTravel(self, splitLine)
  `Add travel move around loops if the extruder is off.`

addToLoop(self, location)
  `Add a location to loop.`

getBetweens(self)
  `Set betweens for the layer.`

getBoundaries(self)
  `Get boundaries for the layer.`

getCraftedGcode(self, combRepository, gcodeText)
  `Parse gcode text and store the comb gcode.`

getIsAsFarAndNotIntersecting(self, begin, end)
  `Determine if the point on the line is at least as far from the loop as the center point.`

getIsRunningJumpPathAdded(self, betweens, end, lastPoint, nearestEndMinusLastSegment, pathAround, penultimatePoint, runningJumpSpace)
  `Add a running jump path if possible, and return if it was added.`

getPathBetween(self, loop, points)
  `Add a path between the perimeter and the fill.`

getPathsBetween(self, begin, end)
  `Insert paths between the perimeter and the fill.`

getSimplifiedAroundPath(self, begin, end, loop, pathAround)
  `Get the simplified path between the perimeter and the fill.`

getSimplifiedBeginPath(self, begin, loop, pathAround)
  `Get the simplified begin path between the perimeter and the fill.`

getSimplifiedEndPath(self, end, loop, pathAround)
  `Get the simplified end path between the perimeter and the fill.`

parseBoundariesLayers(self, combRepository, line)
  `Parse a gcode line.`

parseInitialization(self, combRepository)
  `Parse gcode initialization and store the parameters.`

parseLine(self, line)
  `Parse a gcode line and add it to the comb skein.`

Functions

``

getCraftedText(fileName, text, combRepository=None)
  `Comb a gcode linear move text.`

getCraftedTextFromText(gcodeText, combRepository=None)
  `Comb a gcode linear move text.`

getInsideness(path, loop)
  `Get portion of the path which is inside the loop.`

getNewRepository()
  `Get new repository.`

getPathsByIntersectedLoop(begin, end, loop)
  `Get both paths along the loop from the point nearest to the begin to the point nearest to the end.`

main()
  `Display the comb dialog.`

writeOutput(fileName, shouldAnalyze=True)
  `Comb a gcode linear move file.`

Data
`` |  | __author__ = 'Enrique Perez (perez_enrique@yahoo.com)' __date__ = '$Date: 2008/21/04 $' __license__ = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html' absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)

Author
`` |  | Enrique Perez (perez_enrique@yahoo.com)