skeinforge_tools.craft_plugins.speed ($Date: 2008/21/04 $)
index
/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/craft_plugins/speed.py

Speed is a script to set the feed rate, and flow rate.

The default 'Activate Speed' checkbox is on. When it is on, the functions described below will work, when it is off, the functions will not be called. The speed script sets the feed rate, and flow rate.

The 'Extrusion Diameter over Thickness is the ratio of the extrusion diameter over the layer thickness, the default is 1.25. The extrusion fill density ratio that is printed to the console, ( it is derived quantity not a parameter ) is the area of the extrusion diameter over the extrusion width over the layer thickness. Assuming the extrusion diameter is correct, a high value means the filament will be packed tightly, and the object will be almost as dense as the filament. If the value is too high, there could be too little room for the filament, and the extruder will end up plowing through the extra filament. A low value means the filaments will be far away from each other, the object will be leaky and light. The value with the default extrusion preferences is around 0.82.

The feed rate for the shape will be set to the 'Feed Rate" preference. The 'Bridge Feed Rate Multiplier' is the ratio of the feed rate on the bridge layers over the feed rate of the typical non bridge layers, the default is 1.0. The speed of the orbit compared to the operating extruder speed will be set to the "Orbital Feed Rate over Operating Feed Rate" preference. If you want the orbit to be very short, set the "Orbital Feed Rate over Operating Feed Rate" preference to a low value like 0.1. The 'Travel Feed Rate' is the feed rate when the extruder is off. The default is 16 mm / s and it could be set as high as the extruder can be moved, it does not have to be limited by the maximum extrusion rate.

The default 'Add Flow Rate' checkbox is on. When it is on, the flow rate will be added to the gcode. The 'Bridge Flow Rate Multiplier' is the ratio of the flow rate on the bridge layers over the flow rate of the typical non bridge layers, the default is 1.0. The 'Flow Rate Setting' sets the operating flow rate, the default is 210.

The 'Maximum Z Feed Rate' is the maximum speed that the tool head will move in the z direction. If your firmware limits the z feed rate, you do not need to set this preference. The default of 8 millimeters per second is the maximum z speed of Nophead's direct drive z stage, the belt driven z stages have a lower maximum feed rate.

The 'Perimeter Feed Rate over Operating Feed Rate' is the ratio of the feed rate of the perimeter over the feed rate of the infill. With the default of 1.0, the perimeter feed rate will be the same as the infill feed rate. The 'Perimeter Flow Rate over Operating Flow Rate' is the ratio of the flow rate of the perimeter over the flow rate of the infill. With the default of 1.0, the perimeter flow rate will be the same as the infill flow rate. To have higher build quality on the outside at the expense of slower build speed, a typical setting for the 'Perimeter Feed Rate over Operating Feed Rate' would be 0.5. To go along with that, if you are using a speed controlled extruder, the 'Perimeter Flow Rate over Operating Flow Rate' should also be 0.5. If you are using Pulse Width Modulation to control the speed, then you'll probably need a slightly higher ratio because there is a minimum voltage 'Flow Rate PWM Setting' required for the extruder motor to turn. The flow rate PWM ratio would be determined by trial and error, with the first trial being:
Perimeter Flow Rate over Operating Flow Rate ~ Perimeter Feed Rate over Operating Feed Rate * ( Flow Rate PWM Setting - Minimum Flow Rate PWM Setting ) + Minimum Flow Rate PWM Setting

The following examples speed the file Screw Holder Bottom.stl. The examples are run in a terminal in the folder which contains Screw Holder Bottom.stl and speed.py.


> python speed.py
This brings up the speed dialog.


> python speed.py Screw Holder Bottom.stl
The speed tool is parsing the file:
Screw Holder Bottom.stl
..
The speed tool has created the file:
.. Screw Holder Bottom_speed.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 speed
>>> speed.main()
This brings up the speed dialog.


>>> speed.writeOutput()
The speed tool is parsing the file:
Screw Holder Bottom.stl
..
The speed tool has created the file:
.. Screw Holder Bottom_speed.gcode

 
Modules
       
__init__
skeinforge_tools.analyze
skeinforge_tools.skeinforge_utilities.consecution
skeinforge_tools.skeinforge_utilities.euclidean
skeinforge_tools.skeinforge_utilities.gcodec
skeinforge_tools.skeinforge_utilities.intercircle
skeinforge_tools.skeinforge_utilities.interpret
math
skeinforge_tools.meta_plugins.polyfile
skeinforge_tools.skeinforge_utilities.preferences
sys

 
Classes
       
SpeedRepository
SpeedSkein

 
class SpeedRepository
    A class to handle the speed preferences.
 
  Methods defined here:
__init__(self)
Set the default preferences, execute title & preferences fileName.
execute(self)
Speed button has been clicked.

 
class SpeedSkein
    A class to speed a skein of extrusions.
 
  Methods defined here:
__init__(self)
addFlowRateLineIfNecessary(self)
Add flow rate line.
getCraftedGcode(self, gcodeText, speedRepository)
Parse gcode text and store the speed gcode.
getFlowRateString(self)
Get the flow rate string.
getSpeededLine(self, splitLine)
Get gcode line with feed rate.
parseInitialization(self)
Parse gcode initialization and store the parameters.
parseLine(self, line)
Parse a gcode line and add it to the speed skein.

 
Functions
       
getCraftedText(fileName, text='', speedRepository=None)
Speed the file or text.
getCraftedTextFromText(gcodeText, speedRepository=None)
Speed a gcode linear move text.
getRepositoryConstructor()
Get the repository constructor.
main()
Display the speed dialog.
writeOutput(fileName='')
Speed a gcode linear move file.

 
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)