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, after the last raft layer which does not have
support material. 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 one. To run tower, in a shell type:
> python tower.py
The following examples tower the files Screw Holder Bottom.gcode & Screw Holder Bottom.stl. The examples are run in a terminal in the folder
which contains Screw Holder Bottom.gcode, Screw Holder Bottom.stl 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 getRaftChainGcode in raft.py to raft the text; once they have the rafted text, then they tower. Pictures of
towering in action are available from the Metalab blog at:
http://reprap.soup.io/?search=towering
> python tower.py
This brings up the dialog, after clicking 'Tower', the following is printed:
File Screw Holder Bottom.stl is being chain towered.
The towered file is saved as Screw Holder Bottom_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()
Screw Holder Bottom.stl
File Screw Holder Bottom.stl is being chain towered.
The towered file is saved as Screw Holder Bottom_tower.gcode
>>> tower.getTowerGcode("
( GCode generated by May 8, 2008 carve.py )
( Extruder Initialization )
..
many lines of gcode
..
")
>>> tower.getTowerChainGcode("
( GCode generated by May 8, 2008 carve.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) |