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 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)