summaryrefslogtreecommitdiff
path: root/trunk/reprap/miscellaneous/python-beanshell-scripts/documentation/skeinforge_tools.craft_plugins.inset.html
blob: 82b5ab35e3e18b26b64e9379b4fc9c4dfa72b808 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223

<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.craft_plugins.inset</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_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.craft_plugins.html"><font color="#ffffff">craft_plugins</font></a>.inset</strong></big></big> ($Date: 2008/28/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/pyRepRap/skeinforge_tools/craft_plugins/inset.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/craft_plugins/inset.py</a></font></td></tr></table>
    <p>
<a href="skeinforge_tools.craft_plugins.hop.html">Previous</a> / <a href="skeinforge_tools.craft_plugins.jitter.html">Next</a> / <a href="contents.html">Contents</a>
</p>
<p><tt><br>
Inset will inset the outside outlines by half the perimeter width, and outset the inside outlines by the same amount.<br>
 <br>
The inset manual page is at:<br>
<a href="http://www.bitsfrombytes.com/wiki/index.php?title=Skeinforge_Inset">http://www.bitsfrombytes.com/wiki/index.php?title=Skeinforge_Inset</a><br>
 <br>
<br />
<a href="#Settings">Settings</a><br />
&nbsp;&nbsp;<a href="#Add Custom Code for Temperature Reading">Add Custom Code for Temperature Reading</a><br />
&nbsp;&nbsp;<a href="#Bridge Width Multiplier">Bridge Width Multiplier</a><br />
&nbsp;&nbsp;<a href="#Loop Order Choice">Loop Order Choice</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Ascending Area">Ascending Area</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Descending Area">Descending Area</a><br />
&nbsp;&nbsp;<a href="#Overlap Removal Width over Perimeter Width">Overlap Removal Width over Perimeter Width</a><br />
&nbsp;&nbsp;<a href="#Turn Extruder Heater Off at Shut Down">Turn Extruder Heater Off at Shut Down</a><br />
<a href="#Examples">Examples</a><br />
<br />
<a name="Settings" id="Settings"></a><h2>Settings</h2>
<hr>

<a name="Add Custom Code for Temperature Reading" id="Add Custom Code for Temperature Reading"></a><h3>Add Custom Code for Temperature Reading</h3>

Default is on.<br>
 <br>
When selected, the M105 custom code for temperature reading will be added at the beginning of the file.<br>
 <br>
<a name="Bridge Width Multiplier" id="Bridge Width Multiplier"></a><h3>Bridge Width Multiplier</h3>

Default is one.<br>
 <br>
Defines the ratio of the extrusion width of a bridge layer over the extrusion width of the typical non bridge layers.<br>
 <br>
<a name="Loop Order Choice" id="Loop Order Choice"></a><h3>Loop Order Choice</h3>

Default loop order choice is 'Ascending Area'.<br>
 <br>
When overlap is to be removed, for each loop, the overlap is checked against the list of loops already extruded.  If the latest loop overlaps an already extruded loop, the overlap is removed from the latest loop.  The loops are ordered according to their areas.<br>
 <br>
<a name="Ascending Area" id="Ascending Area"></a><h4>Ascending Area</h4>

When selected, the loops will be ordered in ascending area.  With thin walled parts, if overlap is being removed the outside of the container will not be extruded.  Holes will be the correct size.<br>
 <br>
<a name="Descending Area" id="Descending Area"></a><h4>Descending Area</h4>

When selected, the loops will be ordered in descending area.  With thin walled parts, if overlap is being removed the inside of the container will not be extruded.  Holes will be missing the interior wall so they will be slightly wider than model size.<br>
 <br>
<a name="Overlap Removal Width over Perimeter Width" id="Overlap Removal Width over Perimeter Width"></a><h3>Overlap Removal Width over Perimeter Width</h3>

Default is 0.6.<br>
 <br>
Defines the ratio of the overlap removal width over the perimeter width.  Any part of the extrusion that comes within the overlap removal width of another is removed.  This is to prevent the extruder from depositing two extrusions right beside each other.  If the 'Overlap Removal Width over Perimeter Width' is less than 0.2, the overlap will not be removed.<br>
 <br>
<a name="Turn Extruder Heater Off at Shut Down" id="Turn Extruder Heater Off at Shut Down"></a><h3>Turn Extruder Heater Off at Shut Down</h3>

Default is on.<br>
 <br>
When selected, the M104 S0 gcode line will be added to the end of the file to turn the extruder heater off by setting the extruder heater temperature to 0.<br>
 <br>
<a name="Examples" id="Examples"></a><h2>Examples</h2>
<hr>

The following examples inset the file Screw Holder Bottom.stl.  The examples are run in a terminal in the folder which contains Screw Holder Bottom.stl and inset.py.<br>
 <br>
&gt; python inset.py<br>
This brings up the inset dialog.<br>
 <br>
 <br>
&gt; python inset.py Screw Holder Bottom.stl<br>
The inset tool is parsing the file:<br>
Screw Holder Bottom.stl<br>
..<br>
The inset tool has created the file:<br>
.. Screw Holder Bottom_inset.gcode<br>
 <br>
 <br>
&gt; python<br>
Python 2.5.1 (r251:54863, Sep 22 2007, 01:43:31)<br>
[GCC 4.2.1 (SUSE Linux)] on linux2<br>
Type "help", "copyright", "credits" or "license" for more information.<br>
&gt;&gt;&gt; import inset<br>
&gt;&gt;&gt; inset.<a href="#-main">main</a>()<br>
This brings up the inset dialog.<br>
 <br>
 <br>
&gt;&gt;&gt; inset.<a href="#-writeOutput">writeOutput</a>( 'Screw Holder Bottom.stl' )<br>
The inset tool is parsing the file:<br>
Screw Holder Bottom.stl<br>
..<br>
The inset tool has created the file:<br>
.. Screw Holder Bottom_inset.gcode</tt>
<br />
<br />
<p>
<a href="skeinforge_tools.craft_plugins.hop.html">Previous</a> / <a href="skeinforge_tools.craft_plugins.jitter.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="#fffff" 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="skeinforge_tools.skeinforge_utilities.consecution.html">skeinforge_tools.skeinforge_utilities.consecution</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
<a href="math.html">math</a><br>
<a href="os.html">os</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.meta_plugins.polyfile.html">skeinforge_tools.meta_plugins.polyfile</a><br>
<a href="skeinforge_tools.profile.html">skeinforge_tools.profile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.settings.html">skeinforge_tools.skeinforge_utilities.settings</a><br>
<a href="sys.html">sys</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html">skeinforge_tools.skeinforge_utilities.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>&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_tools.craft_plugins.inset.html#InsetRepository">InsetRepository</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.craft_plugins.inset.html#InsetSkein">InsetSkein</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="InsetRepository">class <strong>InsetRepository</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;inset&nbsp;settings.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="InsetRepository-__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="InsetRepository-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Inset&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="InsetSkein">class <strong>InsetSkein</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;inset&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="InsetSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>

<dl><dt><a name="InsetSkein-addGcodeFromPerimeterPaths"><strong>addGcodeFromPerimeterPaths</strong></a>(self, isIntersectingSelf, loop, loopLists, radius, z)</dt><dd><tt>Add&nbsp;the&nbsp;perimeter&nbsp;paths&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>

<dl><dt><a name="InsetSkein-addGcodeFromRemainingLoop"><strong>addGcodeFromRemainingLoop</strong></a>(self, loop, loopLists, radius, z)</dt><dd><tt>Add&nbsp;the&nbsp;remainder&nbsp;of&nbsp;the&nbsp;loop&nbsp;which&nbsp;does&nbsp;not&nbsp;overlap&nbsp;the&nbsp;alreadyFilledArounds&nbsp;loops.</tt></dd></dl>

<dl><dt><a name="InsetSkein-addGcodePerimeterBlockFromRemainingLoop"><strong>addGcodePerimeterBlockFromRemainingLoop</strong></a>(self, loop, loopLists, radius, z)</dt><dd><tt>Add&nbsp;the&nbsp;perimter&nbsp;block&nbsp;remainder&nbsp;of&nbsp;the&nbsp;loop&nbsp;which&nbsp;does&nbsp;not&nbsp;overlap&nbsp;the&nbsp;alreadyFilledArounds&nbsp;loops.</tt></dd></dl>

<dl><dt><a name="InsetSkein-addInitializationToOutput"><strong>addInitializationToOutput</strong></a>(self)</dt><dd><tt>Add&nbsp;initialization&nbsp;gcode&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>

<dl><dt><a name="InsetSkein-addInset"><strong>addInset</strong></a>(self, rotatedBoundaryLayer)</dt><dd><tt>Add&nbsp;inset&nbsp;to&nbsp;the&nbsp;layer.</tt></dd></dl>

<dl><dt><a name="InsetSkein-getCraftedGcode"><strong>getCraftedGcode</strong></a>(self, gcodeText, repository)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>

<dl><dt><a name="InsetSkein-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="InsetSkein-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;inset&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="-addAlreadyFilledArounds"><strong>addAlreadyFilledArounds</strong></a>(alreadyFilledArounds, loop, radius)</dt><dd><tt>Add&nbsp;already&nbsp;filled&nbsp;loops&nbsp;around&nbsp;loop&nbsp;to&nbsp;alreadyFilledArounds.</tt></dd></dl>
 <dl><dt><a name="-addSegmentOutline"><strong>addSegmentOutline</strong></a>(isThick, outlines, pointBegin, pointEnd, width)</dt><dd><tt>Add&nbsp;a&nbsp;diamond&nbsp;or&nbsp;hexagonal&nbsp;outline&nbsp;for&nbsp;a&nbsp;line&nbsp;segment.</tt></dd></dl>
 <dl><dt><a name="-getCraftedText"><strong>getCraftedText</strong></a>(fileName, text<font color="#909090">=''</font>, repository<font color="#909090">=None</font>)</dt><dd><tt>Inset&nbsp;the&nbsp;preface&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>Inset&nbsp;the&nbsp;preface&nbsp;gcode&nbsp;text.</tt></dd></dl>
 <dl><dt><a name="-getIsIntersectingWithinList"><strong>getIsIntersectingWithinList</strong></a>(loop, loopList)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;loop&nbsp;is&nbsp;intersecting&nbsp;or&nbsp;is&nbsp;within&nbsp;the&nbsp;loop&nbsp;list.</tt></dd></dl>
 <dl><dt><a name="-getNewRepository"><strong>getNewRepository</strong></a>()</dt><dd><tt>Get&nbsp;the&nbsp;repository&nbsp;constructor.</tt></dd></dl>
 <dl><dt><a name="-getSegmentsFromLoopListsPoints"><strong>getSegmentsFromLoopListsPoints</strong></a>(loopLists, pointBegin, pointEnd)</dt><dd><tt>Get&nbsp;endpoint&nbsp;segments&nbsp;from&nbsp;the&nbsp;beginning&nbsp;and&nbsp;end&nbsp;of&nbsp;a&nbsp;line&nbsp;segment.</tt></dd></dl>
 <dl><dt><a name="-isCloseToLast"><strong>isCloseToLast</strong></a>(paths, point, radius)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;point&nbsp;is&nbsp;close&nbsp;to&nbsp;the&nbsp;last&nbsp;point&nbsp;of&nbsp;the&nbsp;last&nbsp;path.</tt></dd></dl>
 <dl><dt><a name="-isIntersectingItself"><strong>isIntersectingItself</strong></a>(loop, width)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;loop&nbsp;is&nbsp;intersecting&nbsp;itself.</tt></dd></dl>
 <dl><dt><a name="-isIntersectingWithinLists"><strong>isIntersectingWithinLists</strong></a>(loop, loopLists)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;loop&nbsp;is&nbsp;intersecting&nbsp;or&nbsp;is&nbsp;within&nbsp;the&nbsp;loop&nbsp;lists.</tt></dd></dl>
 <dl><dt><a name="-isSegmentInsideAround"><strong>isSegmentInsideAround</strong></a>(aroundLists, segment)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;segment&nbsp;is&nbsp;inside&nbsp;an&nbsp;around.</tt></dd></dl>
 <dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;inset&nbsp;dialog.</tt></dd></dl>
 <dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Inset&nbsp;the&nbsp;carving&nbsp;of&nbsp;a&nbsp;gcode&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/28/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<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>