Python: module skeinforge_application.skeinforge_plugins.craft_plugins.skirt

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

Previous / Next / Contents

`
Skirt is a plugin to give the extruder some extra time to begin extruding properly before beginning the object, and to put a baffle around the model in order to keep the extrusion warm.
The skirt manual page is at:
http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Skirt
It is loosely based on Lenbook's outline plugin:
http://www.thingiverse.com/thing:4918
it is also loosely based on the outline that Nophead sometimes uses:
http://hydraraptor.blogspot.com/2010/01/hot-metal-and-serendipity.html
and also loosely based on the baffles that Nophead made to keep corners warm:
http://hydraraptor.blogspot.com/2010/09/some-corners-like-it-hot.html
If you want only an outline, set 'Layers To' to one. This gives the extruder some extra time to begin extruding properly before beginning your object, and gives you an early verification of where your object will be extruded.
If you also want an insulating skirt around the entire object, set 'Layers To' to a huge number, like 912345678. This will additionally make an insulating baffle around the object; to prevent moving air from cooling the object, which increases warping, especially in corners.
Operation
Settings
Convex
Gap over Perimeter Width
Layers To
Examples
`

## Operation

The default 'Activate Skirt' checkbox is off. When it is on, the functions described below will work, when it is off, nothing will be done.

## Settings

### Convex

Default is on.
When selected, the skirt will be convex, going around the model with only convex angles. If convex is not selected, the skirt will hug the model, going into every nook and cranny.

### Gap over Perimeter Width

Default is three.
Defines the ratio of the gap between the object and the skirt over the edge width. If the ratio is too low, the skirt will connect to the object, if the ratio is too high, the skirt willl not provide much insulation for the object.

### Layers To

Default is a one.
Defines the number of layers of the skirt. If you want only an outline, set 'Layers To' to one. If you want an insulating skirt around the entire object, set 'Layers To' to a huge number, like 912345678.

## Examples

The following examples skirt the file Screw Holder Bottom.stl. The examples are run in a terminal in the folder which contains Screw Holder Bottom.stl and skirt.py.
> python skirt.py
This brings up the skirt dialog.
> python skirt.py Screw Holder Bottom.stl
The skirt tool is parsing the file:
Screw Holder Bottom.stl
..
The skirt tool has created the file:
.. Screw Holder Bottom_skirt.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 | fabmetheus_utilities.geometry.solids.triangle_mesh

Classes

``

LoopCrossDictionary
SkirtRepository
SkirtSkein

class LoopCrossDictionary
`` | `Loop with a horizontal and vertical dictionary. `

Methods defined here:

__init__(self)
  `Initialize LoopCrossDictionary.`

__repr__(self)
  `Get the string representation of this LoopCrossDictionary.`

class SkirtRepository
`` | `A class to handle the skirt settings. `

Methods defined here:

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

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

class SkirtSkein
`` | `A class to skirt a skein of extrusions. `

Methods defined here:

__init__(self)
  `Initialize variables.`

addFlowRate(self, flowRate)
  `Add a line of temperature if different.`

addSkirt(self, z)
  `At skirt at z to gcode output.`

addTemperatureLineIfDifferent(self, temperature)
  `Add a line of temperature if different.`

createSegmentDictionaries(self, loopCrossDictionary)
  `Create horizontal and vertical segment dictionaries.`

createSkirtLoops(self)
  `Create the skirt loops.`

getCraftedGcode(self, gcodeText, repository)
  `Parse gcode text and store the skirt gcode.`

getHorizontalXIntersectionsTable(self, loop)
  `Get the horizontal x intersections table from the loop.`

parseBoundaries(self)
  `Parse the boundaries and union them.`

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

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

setSkirtFeedFlowTemperature(self)
  `Set the skirt feed rate, flow rate and temperature to that of the next extrusion.`

unifyLayer(self, loopCrossDictionary)
  `Union the loopCrossDictionary with the unifiedLoop.`

Functions

``

getCraftedText(fileName, text='', repository=None)
  `Skirt the fill file or text.`

getCraftedTextFromText(gcodeText, repository=None)
  `Skirt the fill text.`

getNewRepository()
  `Get new repository.`

getOuterLoops(loops)
  `Get widdershins outer loops.`

main()
  `Display the skirt dialog.`

writeOutput(fileName, shouldAnalyze=True)
  `Skirt 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)