# Python: module skeinforge_application.skeinforge_plugins.craft_plugins.speed

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 script 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
Orbital Feed Rate over Operating Feed Rate
Perimeter
Perimeter Feed Rate over Operating Feed Rate
Perimeter Flow Rate over Operating Feed Rate
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, the functions will not be called. The speed script sets the feed rate, and flow rate.

## 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 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 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.

### Flow Rate Setting

Default is 210.
Defines the operating flow rate.

### Orbital Feed Rate over Operating Feed Rate

Default is 0.5.
Defines the speed of the orbit 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, 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

#### Perimeter Feed Rate over Operating Feed Rate

Default is one.
Defines the ratio of the feed rate of the perimeter over the feed rate of the infill.

#### Perimeter Flow Rate over Operating Feed Rate

Default is one.
Defines the ratio of the flow rate of the perimeter over the flow rate of the infill.

### Travel Feed Rate

Default is sixteen millimeters per second.
Defines the feed rate when the extruder is off. 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)

addFlowRateLineIfNecessary(self)
  `Add flow rate line.`

addParameterString(self, firstWord, parameterWord)
  `Add parameter string.`

getCraftedGcode(self, gcodeText, repository)
  `Parse gcode text and store the speed gcode.`

getFlowRateString(self)
  `Get the flow rate string.`

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)