MrDraw/SkeinPyPy/documentation/skeinforge_application.skeinforge_plugins.craft_plugins.smooth.html
daid 77d04ceab8 Removed patches for different skeinforge versions. Only SF48 now.
Updated build script to create win32/linux/macos versions.
Fixed the defaults to they work with PLA.
Fixed the temperature plugin default "ON" problem.
Removed all profiles except for PLA.
2012-02-10 17:20:03 +01:00

167 lines
No EOL
12 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_application.skeinforge_plugins.craft_plugins.smooth</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>.smooth</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/smooth.py">/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/smooth.py</a></font></td></tr></table>
<p>
<a href="skeinforge_application.skeinforge_plugins.craft_plugins.skirt.html">Previous</a> / <a href="skeinforge_application.skeinforge_plugins.craft_plugins.speed.html">Next</a> / <a href="contents.html">Contents</a>
</p>
<p><tt><br>
This plugin smooths jagged extruder paths. It takes shortcuts through jagged paths and decreases the feed rate to compensate.<br>
<br>
Smooth is based on ideas in Nophead's frequency limit post: <br>
<br>
<a href="http://hydraraptor.blogspot.com/2010/12/frequency-limit.html">http://hydraraptor.blogspot.com/2010/12/frequency-limit.html</a><br>
<br>
The smooth manual page is at:<br>
<a href="http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Smooth">http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Smooth</a><br>
<br>
<br />
<a href="#Operation">Operation</a><br />
<a href="#Settings">Settings</a><br />
&nbsp;&nbsp;<a href="#Layers From">Layers From</a><br />
&nbsp;&nbsp;<a href="#Maximum Shortening over Width">Maximum Shortening over Width</a><br />
<a href="#Examples">Examples</a><br />
<br />
<a name="Operation" id="Operation"></a><h2>Operation</h2>
<hr>
The default 'Activate Smooth' 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="Layers From" id="Layers From"></a><h3>Layers From</h3>
Default: 1<br>
<br>
Defines which layer of the print the smoothing process starts from. If this is set this to zero, that might cause the smoothed parts of the bottom edge not to adhere well to the print surface. However, this is just a potential problem in theory, no bottom adhesion problem has been reported. <br>
<br>
<a name="Maximum Shortening over Width" id="Maximum Shortening over Width"></a><h3>Maximum Shortening over Width</h3>
Default: 1.2<br>
<br>
Defines the maximum shortening of the shortcut compared to the original path. Smooth goes over the path and if the shortcut between the midpoint of one line and the midpoint of the second line after is not too short compared to the original and the shortcut is not too long, it replaces the jagged original with the shortcut. If the maximum shortening is too much, smooth will shorten paths which should not of been shortened and will leave blobs and holes in the model. If the maximum shortening is too little, even jagged paths that could be shortened safely won't be smoothed.<br>
<br>
<a name="Examples" id="Examples"></a><h2>Examples</h2>
<hr>
The following examples smooth the file Screw Holder Bottom.stl. The examples are run in a terminal in the folder which contains Screw Holder Bottom.stl and smooth.py.<br>
<br>
&gt; python smooth.py<br>
This brings up the smooth dialog.<br>
<br>
&gt; python smooth.py Screw Holder Bottom.stl<br>
The smooth tool is parsing the file:<br>
Screw Holder Bottom.stl<br>
..<br>
The smooth tool has created the file:<br>
.. Screw Holder Bottom_smooth.gcode</tt>
<br />
<br />
<p>
<a href="skeinforge_application.skeinforge_plugins.craft_plugins.skirt.html">Previous</a> / <a href="skeinforge_application.skeinforge_plugins.craft_plugins.speed.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.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>
</td><td width="25%" valign=top><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.smooth.html#SmoothRepository">SmoothRepository</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.craft_plugins.smooth.html#SmoothSkein">SmoothSkein</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="SmoothRepository">class <strong>SmoothRepository</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;smooth&nbsp;settings.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SmoothRepository-__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="SmoothRepository-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Smooth&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="SmoothSkein">class <strong>SmoothSkein</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;smooth&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="SmoothSkein-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="SmoothSkein-addSmoothedInfill"><strong>addSmoothedInfill</strong></a>(self)</dt><dd><tt>Add&nbsp;smoothed&nbsp;infill.</tt></dd></dl>
<dl><dt><a name="SmoothSkein-getCraftedGcode"><strong>getCraftedGcode</strong></a>(self, gcodeText, repository)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;smooth&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="SmoothSkein-getIsParallelToRotation"><strong>getIsParallelToRotation</strong></a>(self, segment)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;segment&nbsp;is&nbsp;parallel&nbsp;to&nbsp;the&nbsp;rotation.</tt></dd></dl>
<dl><dt><a name="SmoothSkein-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="SmoothSkein-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;smooth&nbsp;skein.</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, gcodeText, repository<font color="#909090">=None</font>)</dt><dd><tt>Smooth&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getCraftedTextFromText"><strong>getCraftedTextFromText</strong></a>(gcodeText, repository<font color="#909090">=None</font>)</dt><dd><tt>Smooth&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;smooth&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName, shouldAnalyze<font color="#909090">=True</font>)</dt><dd><tt>Smooth&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;smooth&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;smoothed.</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 aht yahoo.com) &amp; James Blackwell (jim_blag ahht hotmail.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&nbsp;aht&nbsp;yahoo.com)&nbsp;&amp;&nbsp;James&nbsp;Blackwell&nbsp;(jim_blag&nbsp;ahht&nbsp;hotmail.com)</td></tr></table>
</body></html>