skeinforge_tools.tower ($Date: 2008/21/04 $) | index /home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/tower.py |
Tower is a script to extrude a few layers up, then go across to other regions.
The default 'Activate Tower' checkbox is off. The default is off because tower could result in the extruder collidiing with an
already extruded part of the shape and because extruding in one region for more than one layer could result in the shape
melting. When it is on, the functions described below will work, when it is off, the functions will not be called.
This script commands the fabricator to extrude a disconnected region for a few layers, then go to another disconnected region
and extrude there. Its purpose is to reduce the number of stringers between a shape and reduce extruder travel. The important
value for the tower preferences is "Maximum Tower Height (layers)" which is the maximum number of layers that the extruder
will extrude in one region before going to another.
Tower works by looking for islands in each layer and if it finds another island in the layer above, it goes to the next layer above
instead of going across to other regions on the original layer. It checks for collision with shapes already extruded within a cone
from the nozzle tip. The "Extruder Possible Collision Cone Angle (degrees)" preference is the angle of that cone. Realistic
values for the cone angle range between zero and ninety. The higher the angle, the less likely a collision with the rest of the
shape is, generally the extruder will stay in the region for only a few layers before a collision is detected with the wide cone.
The default angle is sixty degrees.
The "Tower Start Layer" is the layer which the script starts extruding towers. It is best to not tower at least the first layer
because the temperature of the first layer should sometimes be different than that of the other layers. The default preference is
three. To run tower, in a shell type:
> python tower.py
The following examples tower the files Hollow Square.gcode & Hollow Square.gts. The examples are run in a terminal in the folder
which contains Hollow Square.gcode, Hollow Square.gts and tower.py. The tower function will tower if 'Maximum Tower Layers' is
greater than zero, which can be set in the dialog or by changing the preferences file 'tower.csv' with a text editor or a spreadsheet
program set to separate tabs. The functions writeOutput and getTowerChainGcode check to see if the text has been towered,
if not they call the getFillChainGcode in fill.py to fill the text; once they have the filled text, then they tower.
> python tower.py
This brings up the dialog, after clicking 'Tower', the following is printed:
File Hollow Square.gts is being chain towered.
The towered file is saved as Hollow Square_tower.gcode
>python
Python 2.5.1 (r251:54863, Sep 22 2007, 01:43:31)
[GCC 4.2.1 (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tower
>>> tower.main()
This brings up the tower dialog.
>>> tower.writeOutput()
Hollow Square.gts
File Hollow Square.gts is being chain towered.
The towered file is saved as Hollow Square_tower.gcode
>>> tower.getTowerGcode("
( GCode generated by May 8, 2008 slice.py )
( Extruder Initialization )
..
many lines of gcode
..
")
>>> tower.getTowerChainGcode("
( GCode generated by May 8, 2008 slice.py )
( Extruder Initialization )
..
many lines of gcode
..
")
Classes | ||||||||||||||||||||||||||
|
Functions | ||
|
Data | ||
__author__ = 'Enrique Perez (perez_enrique@yahoo.com)' __date__ = '$Date: 2008/21/04 $' __license__ = 'GPL 3.0' absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384) |
Author | ||
Enrique Perez (perez_enrique@yahoo.com) |