<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>Python: module skeinforge_application.skeinforge_plugins.craft_plugins.jitter</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>.jitter</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/jitter.py">/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/jitter.py</a></font></td></tr></table> <p> <a href="skeinforge_application.skeinforge_plugins.craft_plugins.inset.html">Previous</a> / <a href="skeinforge_application.skeinforge_plugins.craft_plugins.lash.html">Next</a> / <a href="contents.html">Contents</a> </p> <p><tt><br> This craft tool jitters the loop end position to a different place on each layer to prevent a ridge from being created on the side of the object.<br> <br> The jitter manual page is at:<br> <a href="http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Jitter">http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Jitter</a><br> <br> <br /> <a href="#Operation">Operation</a><br /> <a href="#Settings">Settings</a><br /> <a href="#Jitter Over Perimeter Width">Jitter Over Perimeter Width</a><br /> <a href="#Examples">Examples</a><br /> <br /> <a name="Operation" id="Operation"></a><h2>Operation</h2> <hr> The default 'Activate Jitter' checkbox is on. 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="Jitter Over Perimeter Width" id="Jitter Over Perimeter Width"></a><h3>Jitter Over Perimeter Width</h3> Default: 2<br> <br> Defines the amount the loop ends will be jittered over the edge width. A high value means the loops will start all over the place and a low value means loops will start at roughly the same place on each layer.<br> <br> For example if you turn jitter off and print a cube every outside shell on the cube will start from exactly the same point so you will have a visible "mark/line/seam" on the side of the cube. Using the jitter tool you move that start point around hence you avoid that visible seam. <br> <br> <br> <a name="Examples" id="Examples"></a><h2>Examples</h2> <hr> The following examples jitter the file Screw Holder Bottom.stl. The examples are run in a terminal in the folder which contains Screw Holder Bottom.stl and jitter.py.<br> <br> > python jitter.py<br> This brings up the jitter dialog.<br> <br> > python jitter.py Screw Holder Bottom.stl<br> The jitter tool is parsing the file:<br> Screw Holder Bottom.stl<br> ..<br> The jitter tool has created the file:<br> .. Screw Holder Bottom_jitter.gcode</tt> <br /> <br /> <p> <a href="skeinforge_application.skeinforge_plugins.craft_plugins.inset.html">Previous</a> / <a href="skeinforge_application.skeinforge_plugins.craft_plugins.lash.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> </td><td width="25%" valign=top><a href="fabmetheus_utilities.fabmetheus_tools.fabmetheus_interpret.html">fabmetheus_utilities.fabmetheus_tools.fabmetheus_interpret</a><br> <a href="fabmetheus_utilities.gcodec.html">fabmetheus_utilities.gcodec</a><br> <a href="fabmetheus_utilities.intercircle.html">fabmetheus_utilities.intercircle</a><br> </td><td width="25%" valign=top><a href="math.html">math</a><br> <a href="fabmetheus_utilities.settings.html">fabmetheus_utilities.settings</a><br> <a href="skeinforge_application.skeinforge_utilities.skeinforge_craft.html">skeinforge_application.skeinforge_utilities.skeinforge_craft</a><br> </td><td width="25%" valign=top><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></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.jitter.html#JitterRepository">JitterRepository</a> </font></dt><dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.craft_plugins.jitter.html#JitterSkein">JitterSkein</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="JitterRepository">class <strong>JitterRepository</strong></a></font></td></tr> <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> <td colspan=2><tt>A class to handle the jitter settings.<br> </tt></td></tr> <tr><td> </td> <td width="100%">Methods defined here:<br> <dl><dt><a name="JitterRepository-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set the default settings, execute title & settings fileName.</tt></dd></dl> <dl><dt><a name="JitterRepository-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Jitter 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="JitterSkein">class <strong>JitterSkein</strong></a></font></td></tr> <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> <td colspan=2><tt>A class to jitter a skein of extrusions.<br> </tt></td></tr> <tr><td> </td> <td width="100%">Methods defined here:<br> <dl><dt><a name="JitterSkein-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Initialize.</tt></dd></dl> <dl><dt><a name="JitterSkein-addGcodeFromThreadZ"><strong>addGcodeFromThreadZ</strong></a>(self, thread, z)</dt><dd><tt>Add a gcode thread to the output.</tt></dd></dl> <dl><dt><a name="JitterSkein-addGcodeMovementZ"><strong>addGcodeMovementZ</strong></a>(self, feedRateMinute, point, z)</dt><dd><tt>Add a movement to the output.</tt></dd></dl> <dl><dt><a name="JitterSkein-addGcodePathZ"><strong>addGcodePathZ</strong></a>(self, feedRateMinute, path, z)</dt><dd><tt>Add a gcode path, without modifying the extruder, to the output.</tt></dd></dl> <dl><dt><a name="JitterSkein-addTailoredLoopPath"><strong>addTailoredLoopPath</strong></a>(self)</dt><dd><tt>Add a clipped and jittered loop path.</tt></dd></dl> <dl><dt><a name="JitterSkein-getCraftedGcode"><strong>getCraftedGcode</strong></a>(self, jitterRepository, gcodeText)</dt><dd><tt>Parse gcode text and store the jitter gcode.</tt></dd></dl> <dl><dt><a name="JitterSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, jitterRepository)</dt><dd><tt>Parse gcode initialization and store the parameters.</tt></dd></dl> <dl><dt><a name="JitterSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse a gcode line, jitter it and add it to the jitter skein.</tt></dd></dl> <dl><dt><a name="JitterSkein-setFeedRateLocationLoopPath"><strong>setFeedRateLocationLoopPath</strong></a>(self, line, splitLine)</dt><dd><tt>Set the feedRateMinute, oldLocation and loopPath.</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, jitterRepository<font color="#909090">=None</font>)</dt><dd><tt>Jitter a gcode linear move text.</tt></dd></dl> <dl><dt><a name="-getCraftedTextFromText"><strong>getCraftedTextFromText</strong></a>(gcodeText, jitterRepository<font color="#909090">=None</font>)</dt><dd><tt>Jitter a gcode linear move text.</tt></dd></dl> <dl><dt><a name="-getJitteredLoop"><strong>getJitteredLoop</strong></a>(jitterDistance, jitterLoop)</dt><dd><tt>Get a jittered loop path.</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="-isLoopNumberEqual"><strong>isLoopNumberEqual</strong></a>(betweenX, betweenXIndex, loopNumber)</dt><dd><tt>Determine if the loop number is equal.</tt></dd></dl> <dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display the jitter dialog.</tt></dd></dl> <dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName, shouldAnalyze<font color="#909090">=True</font>)</dt><dd><tt>Jitter 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>