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

Previous / Next / Contents


Speed is a plugin to set the feed rate and flow rate.

The speed manual page is at:
http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Speed


Operation
Settings
  Add Flow Rate
  Bridge
    Bridge Feed Rate Multiplier
    Bridge Flow Rate Multiplier
  Duty Cyle
    Duty Cyle at Beginning
    Duty Cyle at Ending
  Feed Rate
  Flow Rate Setting
  Maximum Z Feed Rate
  Object First Layer
    Object First Layer Feed Rate Infill Multiplier
    Object First Layer Feed Rate Perimeter Multiplier
    Object First Layer Flow Rate Infill Multiplier
    Object First Layer Flow Rate Perimeter Multiplier
  Orbital Feed Rate over Operating Feed Rate
  Perimeter
    Perimeter Feed Rate Multiplier
    Perimeter Flow Rate Multiplier
  Travel Feed Rate
Examples

Operation


The default 'Activate Speed' checkbox is on. When it is on, the functions described below will work, when it is off, nothing will be done.

Settings


Add Flow Rate

Default is on.

When selected, the flow rate will be added to the gcode.

Bridge

Bridge Feed Rate Multiplier

Default is one.

Defines the ratio of the feed rate (head speed) on the bridge layers over the feed rate of the typical non bridge layers.

Bridge Flow Rate Multiplier

Default is one.

Defines the ratio of the flow rate (extruder speed) on the bridge layers over the flow rate of the typical non bridge layers.

Duty Cyle

Duty Cyle at Beginning

Default is one, which will set the extruder motor to full current.

Defines the duty cycle of the stepper motor pulse width modulation by adding an M113 command toward the beginning of the gcode text. If the hardware has the option of using a potentiometer to set the duty cycle, to select the potentiometer option set 'Duty Cyle at Beginning' to an empty string. To turn off the extruder, set the 'Duty Cyle at Beginning' to zero.

Duty Cyle at Ending

Default is zero, which will turn off the extruder motor.

Defines the duty cycle of the stepper motor pulse width modulation by adding an M113 command toward the ending of the gcode text. If the hardware has the option of using a potentiometer to set the duty cycle, to select the potentiometer option set 'Duty Cyle at Beginning' to an empty string. To turn off the extruder, set the 'Duty Cyle at Ending' to zero.

Feed Rate

Default is sixteen millimeters per second.

Defines the operating feed rate, the speed your printing head moves in XY plane, before any modifiers.

Flow Rate Setting

Default is 210.

Defines the operating flow rate.

RapMan uses this parameter to define the RPM of the extruder motor. The extruder motor RPM is flow rate / 10 so if your flow rate is 150.0 that will set the extruder stepper to run at 15 RPM, different printers might read this value differently.

Maximum Z Feed Rate

Default is one millimeter per second.

Defines the speed of a vertical hop, like the infill hop in skin. Also, if the Limit plugin is activated, it will limit the maximum speed of the tool head in the z direction to this value.

Object First Layer


Object First Layer Feed Rate Infill Multiplier

Default is 0.4.

Defines the object first layer infill feed rate multiplier. The greater the 'Object First Layer Feed Rate Infill Multiplier, the thinner the infill, the lower the 'Object First Layer Feed Rate Infill Multiplier', the thicker the infill.

Object First Layer Feed Rate Perimeter Multiplier

Default is 0.4.

Defines the object first layer edge feed rate multiplier. The greater the 'Object First Layer Feed Rate Perimeter Multiplier, the thinner the edge, the lower the 'Object First Layer Feed Rate Perimeter Multiplier', the thicker the edge.

Object First Layer Flow Rate Infill Multiplier

Default is 0.4.

Defines the object first layer infill flow rate multiplier. The greater the 'Object First Layer Flow Rate Infill Multiplier', the thicker the infill, the lower the 'Object First Layer Flow Rate Infill Multiplier, the thinner the infill.

Object First Layer Flow Rate Perimeter Multiplier

Default is 0.4.

Defines the object first layer edge flow rate multiplier. The greater the 'Object First Layer Flow Rate Perimeter Multiplier', the thicker the edge, the lower the 'Object First Layer Flow Rate Perimeter Multiplier, the thinner the edge.

Orbital Feed Rate over Operating Feed Rate

Default is 0.5.

Defines the speed when the head is orbiting compared to the operating extruder speed. If you want the orbit to be very short, set the "Orbital Feed Rate over Operating Feed Rate" setting to a low value like 0.1.

Perimeter

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 like a stepper extruder, the 'Perimeter Flow Rate over Operating Flow Rate' should also be 0.5.

A stepper motor is the best way of driving the extruder; however, if you are stuck with a DC motor extruder 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

Perimeter Feed Rate Multiplier

Default: 1.0

Defines the ratio of the feed rate of the edge (outside shell) over the feed rate of the infill. If you for example set this to 0.8 you will have a "stronger" outside edge than inside extrusion as the outside edge will be printed slower hence better lamination will occur and more filament will be placed there.

Perimeter Flow Rate Multiplier

Default: 1.0

Defines the ratio of the flow rate of the edge (outside shell) over the flow rate of the infill. If you want the same thickness of the edge but better lamination you need to compensate for the slower feed rate by slowing down the flow rate, but all combinations are possible for different results.

Travel Feed Rate

Default is sixteen millimeters per second.

Defines the feed rate when the extruder is off (not printing). The 'Travel Feed Rate' could be set as high as the extruder can be moved, it is not limited by the maximum extrusion rate.

Examples


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


Previous / Next / Contents


 
Modules
       
__init__
fabmetheus_utilities.archive
fabmetheus_utilities.euclidean
fabmetheus_utilities.fabmetheus_tools.fabmetheus_interpret
fabmetheus_utilities.gcodec
fabmetheus_utilities.intercircle
math
fabmetheus_utilities.settings
skeinforge_application.skeinforge_utilities.skeinforge_craft
skeinforge_application.skeinforge_utilities.skeinforge_polyfile
skeinforge_application.skeinforge_utilities.skeinforge_profile
sys

 
Classes
       
SpeedRepository
SpeedSkein

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

 
class SpeedSkein
    A class to speed a skein of extrusions.
 
  Methods defined here:
__init__(self)
Initialize.
addFlowRateLine(self)
Add flow rate line.
addParameterString(self, firstWord, parameterWord)
Add parameter string.
getCraftedGcode(self, gcodeText, repository)
Parse gcode text and store the speed gcode.
getSpeededLine(self, line, 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='', repository=None)
Speed the file or text.
getCraftedTextFromText(gcodeText, repository=None)
Speed a gcode linear move text.
getNewRepository()
Get new repository.
main()
Display the speed dialog.
writeOutput(fileName, shouldAnalyze=True)
Speed a gcode linear move file.

 
Data
        __author__ = 'Enrique Perez (perez_enrique@yahoo.com)'
__date__ = '$Date: 2008/21/04 $'
__license__ = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'
absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)

 
Author
        Enrique Perez (perez_enrique@yahoo.com)