MrDraw/SkeinPyPy/documentation/skeinforge_application.skeinforge_plugins.craft_plugins.clip.html
2012-02-16 15:06:50 +01:00

183 lines
No EOL
13 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_application.skeinforge_plugins.craft_plugins.clip</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<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>.clip</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/clip.py">/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/clip.py</a></font></td></tr></table>
<p>
<a href="skeinforge_application.skeinforge_plugins.craft_plugins.cleave.html">Previous</a> / <a href="skeinforge_application.skeinforge_plugins.craft_plugins.coil.html">Next</a> / <a href="contents.html">Contents</a>
</p>
<p><tt><br>
The clip plugin clips the loop ends to prevent bumps from forming, and connects loops.<br>
<br>
The clip manual page is at:<br>
<a href="http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Clip">http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Clip</a><br>
<br>
<br />
<a href="#Operation">Operation</a><br />
<a href="#Settings">Settings</a><br />
&nbsp;&nbsp;<a href="#Clip Over Perimeter Width">Clip Over Perimeter Width</a><br />
&nbsp;&nbsp;<a href="#Maximum Connection Distance Over Perimeter Width">Maximum Connection Distance 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 Clip' checkbox is on. When it is on, the functions described below will work, when it is off, the functions will not be called.<br>
<br>
<a name="Settings" id="Settings"></a><h2>Settings</h2>
<hr>
<a name="Clip Over Perimeter Width" id="Clip Over Perimeter Width"></a><h3>Clip Over Perimeter Width</h3>
Default is 0.2.<br>
<br>
Defines the ratio of the amount each end of the loop is clipped over the edge width. The total gap will therefore be twice the clip. If the ratio is too high loops will have a gap, if the ratio is too low there will be a bulge at the loop ends.<br>
<br>
This setting will affect the output of clip, and the output of the skin. In skin the half width edges will be clipped by according to this setting.<br>
<br>
<a name="Maximum Connection Distance Over Perimeter Width" id="Maximum Connection Distance Over Perimeter Width"></a><h3>Maximum Connection Distance Over Perimeter Width</h3>
Default is ten.<br>
<br>
Defines the ratio of the maximum connection distance between loops over the edge width.<br>
<br>
Clip will attempt to connect loops that end close to each other, combining them into a spiral, so that the extruder does not stop and restart. This setting sets the maximum gap size to connect. This feature can reduce the amount of extra material or gaps formed at the loop end.<br>
<br>
Setting this to zero disables this feature, preventing the loops from being connected.<br>
<br>
<a name="Examples" id="Examples"></a><h2>Examples</h2>
<hr>
The following examples clip the file Screw Holder Bottom.stl. The examples are run in a terminal in the folder which contains Screw Holder Bottom.stl and clip.py.<br>
<br>
&gt; python clip.py<br>
This brings up the clip dialog.<br>
<br>
&gt; python clip.py Screw Holder Bottom.stl<br>
The clip tool is parsing the file:<br>
Screw Holder Bottom.stl<br>
..<br>
The clip tool has created the file:<br>
.. Screw Holder Bottom_clip.gcode</tt>
<br />
<br />
<p>
<a href="skeinforge_application.skeinforge_plugins.craft_plugins.cleave.html">Previous</a> / <a href="skeinforge_application.skeinforge_plugins.craft_plugins.coil.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>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</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>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.craft_plugins.clip.html#ClipRepository">ClipRepository</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.craft_plugins.clip.html#ClipSkein">ClipSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ClipRepository">class <strong>ClipRepository</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;clip&nbsp;settings.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ClipRepository-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;settings,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;settings&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="ClipRepository-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Clip&nbsp;button&nbsp;has&nbsp;been&nbsp;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>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ClipSkein">class <strong>ClipSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;clip&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ClipSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="ClipSkein-addGcodeFromThreadZ"><strong>addGcodeFromThreadZ</strong></a>(self, thread, z)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;thread&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ClipSkein-addSegmentToPixelTables"><strong>addSegmentToPixelTables</strong></a>(self, location, oldLocation)</dt><dd><tt>Add&nbsp;the&nbsp;segment&nbsp;to&nbsp;the&nbsp;layer&nbsp;and&nbsp;mask&nbsp;table.</tt></dd></dl>
<dl><dt><a name="ClipSkein-addTailoredLoopPath"><strong>addTailoredLoopPath</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;clipped&nbsp;loop&nbsp;path.</tt></dd></dl>
<dl><dt><a name="ClipSkein-getConnectionIsCloseWithoutOverlap"><strong>getConnectionIsCloseWithoutOverlap</strong></a>(self, location, path)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;connection&nbsp;is&nbsp;close&nbsp;enough&nbsp;and&nbsp;does&nbsp;not&nbsp;overlap&nbsp;another&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="ClipSkein-getCraftedGcode"><strong>getCraftedGcode</strong></a>(self, gcodeText, repository)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;clip&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="ClipSkein-getNextThreadIsACloseLoop"><strong>getNextThreadIsACloseLoop</strong></a>(self, path)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;next&nbsp;thread&nbsp;is&nbsp;a&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="ClipSkein-isNextExtruderOn"><strong>isNextExtruderOn</strong></a>(self)</dt><dd><tt>Determine&nbsp;if&nbsp;there&nbsp;is&nbsp;an&nbsp;extruder&nbsp;on&nbsp;command&nbsp;before&nbsp;a&nbsp;move&nbsp;command.</tt></dd></dl>
<dl><dt><a name="ClipSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;to&nbsp;loop&nbsp;path&nbsp;if&nbsp;this&nbsp;is&nbsp;a&nbsp;loop&nbsp;or&nbsp;path.</tt></dd></dl>
<dl><dt><a name="ClipSkein-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="ClipSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;clip&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="ClipSkein-setLayerPixelTable"><strong>setLayerPixelTable</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;layer&nbsp;pixel&nbsp;table.</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>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getCraftedText"><strong>getCraftedText</strong></a>(fileName, text, repository<font color="#909090">=None</font>)</dt><dd><tt>Clip&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file&nbsp;or&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getCraftedTextFromText"><strong>getCraftedTextFromText</strong></a>(gcodeText, repository<font color="#909090">=None</font>)</dt><dd><tt>Clip&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getNewRepository"><strong>getNewRepository</strong></a>()</dt><dd><tt>Get&nbsp;new&nbsp;repository.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;clip&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName, shouldAnalyze<font color="#909090">=True</font>)</dt><dd><tt>Clip&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;clip&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;clipped.</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>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</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>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>