<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>Python: module skeinforge_application.skeinforge_plugins.craft_plugins.skirt</title> </head><body bgcolor="#f0f0f8"> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> <tr bgcolor="#7799ee"> <td valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="skeinforge_application.html"><font color="#ffffff">skeinforge_application</font></a>.<a href="skeinforge_application.skeinforge_plugins.html"><font color="#ffffff">skeinforge_plugins</font></a>.<a href="skeinforge_application.skeinforge_plugins.craft_plugins.html"><font color="#ffffff">craft_plugins</font></a>.skirt</strong></big></big> ($Date: 2008/21/04 $)</font></td ><td align=right valign=bottom ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/skirt.py">/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/skirt.py</a></font></td></tr></table> <p> <a href="skeinforge_application.skeinforge_plugins.craft_plugins.skin.html">Previous</a> / <a href="skeinforge_application.skeinforge_plugins.craft_plugins.smooth.html">Next</a> / <a href="contents.html">Contents</a> </p> <p><tt><br> 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.<br> <br> The skirt manual page is at:<br> <a href="http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Skirt">http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Skirt</a><br> <br> It is loosely based on Lenbook's outline plugin:<br> <br> <a href="http://www.thingiverse.com/thing:4918">http://www.thingiverse.com/thing:4918</a><br> <br> it is also loosely based on the outline that Nophead sometimes uses:<br> <br> <a href="http://hydraraptor.blogspot.com/2010/01/hot-metal-and-serendipity.html">http://hydraraptor.blogspot.com/2010/01/hot-metal-and-serendipity.html</a><br> <br> and also loosely based on the baffles that Nophead made to keep corners warm:<br> <br> <a href="http://hydraraptor.blogspot.com/2010/09/some-corners-like-it-hot.html">http://hydraraptor.blogspot.com/2010/09/some-corners-like-it-hot.html</a><br> <br> 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.<br> <br> 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.<br> <br> <br /> <a href="#Operation">Operation</a><br /> <a href="#Settings">Settings</a><br /> <a href="#Convex">Convex</a><br /> <a href="#Gap over Perimeter Width">Gap over Perimeter Width</a><br /> <a href="#Layers To">Layers To</a><br /> <a href="#Examples">Examples</a><br /> <br /> <a name="Operation" id="Operation"></a><h2>Operation</h2> <hr> 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.<br> <br> <a name="Settings" id="Settings"></a><h2>Settings</h2> <hr> <a name="Convex" id="Convex"></a><h3>Convex</h3> Default is on.<br> <br> 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.<br> <br> <a name="Gap over Perimeter Width" id="Gap over Perimeter Width"></a><h3>Gap over Perimeter Width</h3> Default is three.<br> <br> 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.<br> <br> <a name="Layers To" id="Layers To"></a><h3>Layers To</h3> Default is a one.<br> <br> 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.<br> <br> <a name="Examples" id="Examples"></a><h2>Examples</h2> <hr> 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.<br> <br> > python skirt.py<br> This brings up the skirt dialog.<br> <br> > python skirt.py Screw Holder Bottom.stl<br> The skirt tool is parsing the file:<br> Screw Holder Bottom.stl<br> ..<br> The skirt tool has created the file:<br> .. Screw Holder Bottom_skirt.gcode</tt> <br /> <br /> <p> <a href="skeinforge_application.skeinforge_plugins.craft_plugins.skin.html">Previous</a> / <a href="skeinforge_application.skeinforge_plugins.craft_plugins.smooth.html">Next</a> / <a href="contents.html">Contents</a> </p> <hr> </p> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#aa55cc"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> <tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br> <a href="fabmetheus_utilities.archive.html">fabmetheus_utilities.archive</a><br> <a href="fabmetheus_utilities.euclidean.html">fabmetheus_utilities.euclidean</a><br> <a href="fabmetheus_utilities.fabmetheus_tools.fabmetheus_interpret.html">fabmetheus_utilities.fabmetheus_tools.fabmetheus_interpret</a><br> </td><td width="25%" valign=top><a href="fabmetheus_utilities.gcodec.html">fabmetheus_utilities.gcodec</a><br> <a href="fabmetheus_utilities.intercircle.html">fabmetheus_utilities.intercircle</a><br> <a href="math.html">math</a><br> <a href="fabmetheus_utilities.settings.html">fabmetheus_utilities.settings</a><br> </td><td width="25%" valign=top><a href="skeinforge_application.skeinforge_utilities.skeinforge_craft.html">skeinforge_application.skeinforge_utilities.skeinforge_craft</a><br> <a href="skeinforge_application.skeinforge_utilities.skeinforge_polyfile.html">skeinforge_application.skeinforge_utilities.skeinforge_polyfile</a><br> <a href="skeinforge_application.skeinforge_utilities.skeinforge_profile.html">skeinforge_application.skeinforge_utilities.skeinforge_profile</a><br> <a href="sys.html">sys</a><br> </td><td width="25%" valign=top><a href="fabmetheus_utilities.geometry.solids.triangle_mesh.html">fabmetheus_utilities.geometry.solids.triangle_mesh</a><br> </td></tr></table></td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ee77aa"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> <tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> <td width="100%"><dl> <dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.craft_plugins.skirt.html#LoopCrossDictionary">LoopCrossDictionary</a> </font></dt><dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.craft_plugins.skirt.html#SkirtRepository">SkirtRepository</a> </font></dt><dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.craft_plugins.skirt.html#SkirtSkein">SkirtSkein</a> </font></dt></dl> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="LoopCrossDictionary">class <strong>LoopCrossDictionary</strong></a></font></td></tr> <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> <td colspan=2><tt>Loop with a horizontal and vertical dictionary.<br> </tt></td></tr> <tr><td> </td> <td width="100%">Methods defined here:<br> <dl><dt><a name="LoopCrossDictionary-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Initialize <a href="#LoopCrossDictionary">LoopCrossDictionary</a>.</tt></dd></dl> <dl><dt><a name="LoopCrossDictionary-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get the string representation of this <a href="#LoopCrossDictionary">LoopCrossDictionary</a>.</tt></dd></dl> </td></tr></table> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="SkirtRepository">class <strong>SkirtRepository</strong></a></font></td></tr> <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> <td colspan=2><tt>A class to handle the skirt settings.<br> </tt></td></tr> <tr><td> </td> <td width="100%">Methods defined here:<br> <dl><dt><a name="SkirtRepository-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set the default settings, execute title & settings fileName.</tt></dd></dl> <dl><dt><a name="SkirtRepository-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Skirt button has been clicked.</tt></dd></dl> </td></tr></table> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="SkirtSkein">class <strong>SkirtSkein</strong></a></font></td></tr> <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> <td colspan=2><tt>A class to skirt a skein of extrusions.<br> </tt></td></tr> <tr><td> </td> <td width="100%">Methods defined here:<br> <dl><dt><a name="SkirtSkein-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Initialize variables.</tt></dd></dl> <dl><dt><a name="SkirtSkein-addFlowRate"><strong>addFlowRate</strong></a>(self, flowRate)</dt><dd><tt>Add a line of temperature if different.</tt></dd></dl> <dl><dt><a name="SkirtSkein-addSkirt"><strong>addSkirt</strong></a>(self, z)</dt><dd><tt>At skirt at z to gcode output.</tt></dd></dl> <dl><dt><a name="SkirtSkein-addTemperatureLineIfDifferent"><strong>addTemperatureLineIfDifferent</strong></a>(self, temperature)</dt><dd><tt>Add a line of temperature if different.</tt></dd></dl> <dl><dt><a name="SkirtSkein-createSegmentDictionaries"><strong>createSegmentDictionaries</strong></a>(self, loopCrossDictionary)</dt><dd><tt>Create horizontal and vertical segment dictionaries.</tt></dd></dl> <dl><dt><a name="SkirtSkein-createSkirtLoops"><strong>createSkirtLoops</strong></a>(self)</dt><dd><tt>Create the skirt loops.</tt></dd></dl> <dl><dt><a name="SkirtSkein-getCraftedGcode"><strong>getCraftedGcode</strong></a>(self, gcodeText, repository)</dt><dd><tt>Parse gcode text and store the skirt gcode.</tt></dd></dl> <dl><dt><a name="SkirtSkein-getHorizontalXIntersectionsTable"><strong>getHorizontalXIntersectionsTable</strong></a>(self, loop)</dt><dd><tt>Get the horizontal x intersections table from the loop.</tt></dd></dl> <dl><dt><a name="SkirtSkein-parseBoundaries"><strong>parseBoundaries</strong></a>(self)</dt><dd><tt>Parse the boundaries and union them.</tt></dd></dl> <dl><dt><a name="SkirtSkein-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse gcode initialization and store the parameters.</tt></dd></dl> <dl><dt><a name="SkirtSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse a gcode line and add it to the skirt skein.</tt></dd></dl> <dl><dt><a name="SkirtSkein-setSkirtFeedFlowTemperature"><strong>setSkirtFeedFlowTemperature</strong></a>(self)</dt><dd><tt>Set the skirt feed rate, flow rate and temperature to that of the next extrusion.</tt></dd></dl> <dl><dt><a name="SkirtSkein-unifyLayer"><strong>unifyLayer</strong></a>(self, loopCrossDictionary)</dt><dd><tt>Union the loopCrossDictionary with the unifiedLoop.</tt></dd></dl> </td></tr></table></td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#eeaa77"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr> <tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td> <td width="100%"><dl><dt><a name="-getCraftedText"><strong>getCraftedText</strong></a>(fileName, text<font color="#909090">=''</font>, repository<font color="#909090">=None</font>)</dt><dd><tt>Skirt the fill file or text.</tt></dd></dl> <dl><dt><a name="-getCraftedTextFromText"><strong>getCraftedTextFromText</strong></a>(gcodeText, repository<font color="#909090">=None</font>)</dt><dd><tt>Skirt the fill text.</tt></dd></dl> <dl><dt><a name="-getNewRepository"><strong>getNewRepository</strong></a>()</dt><dd><tt>Get new repository.</tt></dd></dl> <dl><dt><a name="-getOuterLoops"><strong>getOuterLoops</strong></a>(loops)</dt><dd><tt>Get widdershins outer loops.</tt></dd></dl> <dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display the skirt dialog.</tt></dd></dl> <dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName, shouldAnalyze<font color="#909090">=True</font>)</dt><dd><tt>Skirt a gcode linear move file.</tt></dd></dl> </td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#55aa55"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr> <tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td> <td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br> <strong>__date__</strong> = '$Date: 2008/21/04 $'<br> <strong>__license__</strong> = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'<br> <strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#7799ee"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr> <tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td> <td width="100%">Enrique Perez (perez_enrique@yahoo.com)</td></tr></table> </body></html>