MrDraw/SkeinPyPy/documentation/skeinforge_application.skeinforge_plugins.craft_plugins.oozebane.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

254 lines
No EOL
19 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_application.skeinforge_plugins.craft_plugins.oozebane</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>.oozebane</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/oozebane.py">/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/oozebane.py</a></font></td></tr></table>
<p>
<a href="skeinforge_application.skeinforge_plugins.craft_plugins.multiply.html">Previous</a> / <a href="skeinforge_application.skeinforge_plugins.craft_plugins.outset.html">Next</a> / <a href="contents.html">Contents</a>
</p>
<p><tt><br>
Oozebane is a script to turn off the extruder before the end of a thread and turn it on before the beginning.<br>
<br>
The oozebane manual page is at:<br>
<a href="http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Oozebane">http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Oozebane</a><br>
<br>
After oozebane turns the extruder on, it slows the feed rate down where the thread starts. Then it speeds it up in steps so in theory the thread will remain at roughly the same thickness from the beginning.<br>
<br>
<br />
<a href="#Operation">Operation</a><br />
<a href="#Settings">Settings</a><br />
&nbsp;&nbsp;<a href="#After Startup Distance">After Startup Distance</a><br />
&nbsp;&nbsp;<a href="#Early Shutdown Distance">Early Shutdown Distance</a><br />
&nbsp;&nbsp;<a href="#Early Startup Maximum Distance">Early Startup Maximum Distance</a><br />
&nbsp;&nbsp;<a href="#Early Startup Distance Constant">Early Startup Distance Constant</a><br />
&nbsp;&nbsp;<a href="#First Early Startup Distance">First Early Startup Distance</a><br />
&nbsp;&nbsp;<a href="#Minimum Distance for Early Shutdown">Minimum Distance for Early Shutdown</a><br />
&nbsp;&nbsp;<a href="#Minimum Distance for Early Startup">Minimum Distance for Early Startup</a><br />
&nbsp;&nbsp;<a href="#Slowdown Startup Steps">Slowdown Startup Steps</a><br />
<a href="#Examples">Examples</a><br />
<br />
<a name="Operation" id="Operation"></a><h2>Operation</h2>
<hr>
The default 'Activate Oozebane' 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="After Startup Distance" id="After Startup Distance"></a><h3>After Startup Distance</h3>
Default is 1.2.<br>
<br>
When oozebane reaches the point where the extruder would of turned on, it slows down so that the thread will be thick at that point. Afterwards it speeds the extruder back up to operating speed. The speed up distance is the "After Startup Distance".<br>
<br>
<a name="Early Shutdown Distance" id="Early Shutdown Distance"></a><h3>Early Shutdown Distance</h3>
Default is 1.2.<br>
<br>
Defines the distance before the end of the thread that the extruder will be turned off. It is the most important oozebane setting. A higher distance means the extruder will turn off sooner and the end of the line will be thinner.<br>
<br>
<a name="Early Startup Maximum Distance" id="Early Startup Maximum Distance"></a><h3>Early Startup Maximum Distance</h3>
Default is 1.2.<br>
<br>
Defines the maximum distance before the thread starts that the extruder will be turned on<br>
<br>
<a name="Early Startup Distance Constant" id="Early Startup Distance Constant"></a><h3>Early Startup Distance Constant</h3>
Default is twenty.<br>
<br>
The longer the extruder has been off, the earlier the extruder will turn back on, the ratio is one minus one over e to the power of the distance the extruder has been off over the "Early Startup Distance Constant".<br>
<br>
<a name="First Early Startup Distance" id="First Early Startup Distance"></a><h3>First Early Startup Distance</h3>
Default is twenty five.<br>
<br>
Defines the distance before the first thread starts that the extruder will be turned off. This value should be high because, according to Marius, the extruder takes a second or two to extrude when starting for the first time.<br>
<br>
<a name="Minimum Distance for Early Shutdown" id="Minimum Distance for Early Shutdown"></a><h3>Minimum Distance for Early Shutdown</h3>
Default is zero.<br>
<br>
Defines the minimum distance that the extruder has to be off after the thread end for the early shutdown feature to activate.<br>
<br>
<a name="Minimum Distance for Early Startup" id="Minimum Distance for Early Startup"></a><h3>Minimum Distance for Early Startup</h3>
Default is zero.<br>
<br>
Defines the minimum distance that the extruder has to be off before the thread begins for the early start up feature to activate.<br>
<br>
<a name="Slowdown Startup Steps" id="Slowdown Startup Steps"></a><h3>Slowdown Startup Steps</h3>
Default is three.<br>
<br>
When oozebane turns the extruder off, it slows the feed rate down in steps so in theory the thread will remain at roughly the same thickness until the end. The "Slowdown Startup Steps" setting is the number of steps, the more steps the smaller the size of the step that the feed rate will be decreased and the larger the size of the resulting gcode file.<br>
<br>
<a name="Examples" id="Examples"></a><h2>Examples</h2>
<hr>
The following examples oozebane the file Screw Holder Bottom.stl. The examples are run in a terminal in the folder which contains Screw Holder Bottom.stl and oozebane.py.<br>
<br>
&gt; python oozebane.py<br>
This brings up the oozebane dialog.<br>
<br>
&gt; python oozebane.py Screw Holder Bottom.stl<br>
The oozebane tool is parsing the file:<br>
Screw Holder Bottom.stl<br>
..<br>
The oozebane tool has created the file:<br>
.. Screw Holder Bottom_oozebane.gcode</tt>
<br />
<br />
<p>
<a href="skeinforge_application.skeinforge_plugins.craft_plugins.multiply.html">Previous</a> / <a href="skeinforge_application.skeinforge_plugins.craft_plugins.outset.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="math.html">math</a><br>
</td><td width="25%" valign=top><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>
<a href="skeinforge_application.skeinforge_utilities.skeinforge_polyfile.html">skeinforge_application.skeinforge_utilities.skeinforge_polyfile</a><br>
</td><td width="25%" valign=top><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.oozebane.html#OozebaneRepository">OozebaneRepository</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.craft_plugins.oozebane.html#OozebaneSkein">OozebaneSkein</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="OozebaneRepository">class <strong>OozebaneRepository</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;oozebane&nbsp;settings.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="OozebaneRepository-__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="OozebaneRepository-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Oozebane&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="OozebaneSkein">class <strong>OozebaneSkein</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;oozebane&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="OozebaneSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="OozebaneSkein-addAfterStartupLine"><strong>addAfterStartupLine</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;the&nbsp;after&nbsp;startup&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-addLineSetShutdowns"><strong>addLineSetShutdowns</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;and&nbsp;set&nbsp;the&nbsp;shutdown&nbsp;variables.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getActiveFeedRateRatio"><strong>getActiveFeedRateRatio</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;feed&nbsp;rate&nbsp;of&nbsp;the&nbsp;first&nbsp;active&nbsp;move&nbsp;over&nbsp;the&nbsp;operating&nbsp;feed&nbsp;rate.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getAddAfterStartupLines"><strong>getAddAfterStartupLines</strong></a>(self, line)</dt><dd><tt>Get&nbsp;and&nbsp;/&nbsp;or&nbsp;add&nbsp;after&nbsp;the&nbsp;startup&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getAddBeforeStartupLines"><strong>getAddBeforeStartupLines</strong></a>(self, line)</dt><dd><tt>Get&nbsp;and&nbsp;/&nbsp;or&nbsp;add&nbsp;before&nbsp;the&nbsp;startup&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getAddShutSlowDownLine"><strong>getAddShutSlowDownLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;the&nbsp;shutdown&nbsp;and&nbsp;slowdown&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getAddShutSlowDownLines"><strong>getAddShutSlowDownLines</strong></a>(self, line)</dt><dd><tt>Get&nbsp;and&nbsp;/&nbsp;or&nbsp;add&nbsp;the&nbsp;shutdown&nbsp;and&nbsp;slowdown&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getCraftedGcode"><strong>getCraftedGcode</strong></a>(self, gcodeText, oozebaneRepository)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;oozebane&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getDistanceAfterThreadBeginning"><strong>getDistanceAfterThreadBeginning</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;after&nbsp;the&nbsp;beginning&nbsp;of&nbsp;the&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getDistanceToExtruderOffCommand"><strong>getDistanceToExtruderOffCommand</strong></a>(self, remainingDistance)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;to&nbsp;the&nbsp;word.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getDistanceToThreadBeginning"><strong>getDistanceToThreadBeginning</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;to&nbsp;the&nbsp;beginning&nbsp;of&nbsp;the&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getDistanceToThreadBeginningAfterThreadEnd"><strong>getDistanceToThreadBeginningAfterThreadEnd</strong></a>(self, remainingDistance)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;to&nbsp;the&nbsp;thread&nbsp;beginning&nbsp;after&nbsp;the&nbsp;end&nbsp;of&nbsp;this&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getDistanceToThreadEnd"><strong>getDistanceToThreadEnd</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;to&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getLinearMoveWithFeedRate"><strong>getLinearMoveWithFeedRate</strong></a>(self, feedRate, location)</dt><dd><tt>Get&nbsp;a&nbsp;linear&nbsp;move&nbsp;line&nbsp;with&nbsp;the&nbsp;feed&nbsp;rate.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getLinearMoveWithFeedRateSplitLine"><strong>getLinearMoveWithFeedRateSplitLine</strong></a>(self, feedRate, splitLine)</dt><dd><tt>Get&nbsp;a&nbsp;linear&nbsp;move&nbsp;line&nbsp;with&nbsp;the&nbsp;feed&nbsp;rate&nbsp;and&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getOozebaneLine"><strong>getOozebaneLine</strong></a>(self, line)</dt><dd><tt>Get&nbsp;oozebaned&nbsp;gcode&nbsp;line.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getShutdownFlowRateMultiplier"><strong>getShutdownFlowRateMultiplier</strong></a>(self, along, numberOfDistances)</dt><dd><tt>Get&nbsp;the&nbsp;shut&nbsp;down&nbsp;flow&nbsp;rate&nbsp;multipler.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getStartupFlowRateMultiplier"><strong>getStartupFlowRateMultiplier</strong></a>(self, along, numberOfDistances)</dt><dd><tt>Get&nbsp;the&nbsp;startup&nbsp;flow&nbsp;rate&nbsp;multipler.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-isClose"><strong>isClose</strong></a>(self, location, otherLocation)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;location&nbsp;is&nbsp;close&nbsp;to&nbsp;the&nbsp;other&nbsp;location.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-isCloseToEither"><strong>isCloseToEither</strong></a>(self, location, otherLocationFirst, otherLocationSecond)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;location&nbsp;is&nbsp;close&nbsp;to&nbsp;the&nbsp;other&nbsp;locations.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-isDistanceAfterThreadBeginningGreater"><strong>isDistanceAfterThreadBeginningGreater</strong></a>(self)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;distance&nbsp;after&nbsp;the&nbsp;thread&nbsp;beginning&nbsp;is&nbsp;greater&nbsp;than&nbsp;the&nbsp;step&nbsp;index&nbsp;after&nbsp;startup&nbsp;distance.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, oozebaneRepository)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-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;bevel&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-setAfterStartupFlowRates"><strong>setAfterStartupFlowRates</strong></a>(self, afterStartupRatio)</dt><dd><tt>Set&nbsp;the&nbsp;after&nbsp;startup&nbsp;flow&nbsp;rates.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-setEarlyShutdown"><strong>setEarlyShutdown</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;early&nbsp;shutdown&nbsp;variables.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-setEarlyShutdownFlowRates"><strong>setEarlyShutdownFlowRates</strong></a>(self, earlyShutdownRatio)</dt><dd><tt>Set&nbsp;the&nbsp;extrusion&nbsp;width.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-setEarlyStartupDistance"><strong>setEarlyStartupDistance</strong></a>(self, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;early&nbsp;startup&nbsp;distance.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-setExtrusionWidth"><strong>setExtrusionWidth</strong></a>(self, oozebaneRepository)</dt><dd><tt>Set&nbsp;the&nbsp;extrusion&nbsp;width.</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, oozebaneRepository<font color="#909090">=None</font>)</dt><dd><tt>Oozebane&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, oozebaneRepository<font color="#909090">=None</font>)</dt><dd><tt>Oozebane&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;oozebane&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName, shouldAnalyze<font color="#909090">=True</font>)</dt><dd><tt>Oozebane&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;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>&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>