# Python: module skeinforge_application.skeinforge_plugins.analyze_plugins.statistic

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

Previous / Next / Contents

`
Statistic is an extremely valuable analyze plugin to print and/or save the statistics of the generated gcode.
The statistic manual page is at:
http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Statistic
Operation
Settings
Extrusion Diameter over Thickness
Print Statistics
Save Statistics
Gcodes
Examples
`

## Operation

The default 'Activate Statistic' checkbox is on. When it is on, the functions described below will work when called from the skeinforge toolchain, when it is off, the functions will not be called from the toolchain. The functions will still be called, whether or not the 'Activate Statistic' checkbox is on, when statistic is run directly.

## Settings

### Extrusion Diameter over Thickness

Default is 1.25.
The 'Extrusion Diameter over Thickness is the ratio of the extrusion diameter over the layer height, 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 height. 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 fill density ratio 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 fill density ratio means the filaments will be far away from each other, the object will be leaky and light. The fill density ratio with the default extrusion settings is around 0.68.

### Print Statistics

Default is on.
When the 'Print Statistics' checkbox is on, the statistics will be printed to the console.

### Save Statistics

Default is off.
When the 'Save Statistics' checkbox is on, the statistics will be saved as a .txt file.

## Gcodes

An explanation of the gcodes is at:
http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter
and at:
http://reprap.org/bin/view/Main/MCodeReference
A gode example is at:
http://forums.reprap.org/file.php?12,file=565

## Examples

Below are examples of statistic being used. These examples are run in a terminal in the folder which contains Screw Holder_penultimate.gcode and statistic.py. The 'Save Statistics' checkbox is selected.
> python statistic.py
This brings up the statistic dialog.
> python statistic.py Screw Holder_penultimate.gcode
Statistics are being generated for the file /home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/models/Screw Holder_penultimate.gcode
Cost
Machine time cost is 0.31$.
Material cost is 0.2$.
Total cost is 0.51$.
Extent
X axis extrusion starts at 61 mm and ends at 127 mm, for a width of 65 mm.
Y axis extrusion starts at 81 mm and ends at 127 mm, for a depth of 45 mm.
Z axis extrusion starts at 0 mm and ends at 15 mm, for a height of 15 mm.
Extruder
Build time is 18 minutes 47 seconds.
Distance extruded is 46558.4 mm.
Distance traveled is 58503.3 mm.
Extruder speed is 50.0
Extruder was extruding 79.6 percent of the time.
Extruder was toggled 1688 times.
Operating flow rate is 9.8 mm3/s.
Feed rate average is 51.9 mm/s, (3113.8 mm/min).
Filament
Cross section area is 0.2 mm2.
Extrusion diameter is 0.5 mm.
Extrusion fill density ratio is 0.68
Material
Mass extruded is 9.8 grams.
Volume extruded is 9.1 cc.
Meta
Text has 33738 lines and a size of 1239.0 KB.
Version is 11.09.28
Procedures
carve
bottom
preface
inset
fill
multiply
speed
temperature
raft
skirt
dimension
bookend
Profile
UM-PLA-HighQuality
Slice
Edge width is 0.72 mm.
Layer height is 0.4 mm.

Previous / Next / Contents

Modules

``

__init__ fabmetheus_utilities.archive cStringIO | fabmetheus_utilities.euclidean fabmetheus_utilities.gcodec math | fabmetheus_utilities.settings skeinforge_application.skeinforge_utilities.skeinforge_polyfile skeinforge_application.skeinforge_utilities.skeinforge_profile | sys

Classes

``

StatisticRepository
StatisticSkein

class StatisticRepository
`` | `A class to handle the statistics settings.`

Methods defined here:

__init__(self)
  `Set the default settings, execute title & settings fileName.`

execute(self)
  `Write button has been clicked.`

class StatisticSkein
`` | `A class to get statistics for a gcode skein.`

Methods defined here:

__init__(self)

addLine(self, line)
  `Add a line of text and a newline to the output.`

addToPath(self, location)
  `Add a point to travel and maybe extrusion.`

extruderSet(self, active)
  `Maybe increment the number of times the extruder was toggled.`

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

getLocationSetFeedRateToSplitLine(self, splitLine)
  `Get location ans set feed rate to the plsit line.`

helicalMove(self, isCounterclockwise, splitLine)
  `Get statistics for a helical move.`

linearMove(self, splitLine)
  `Get statistics for a linear move.`

parseLine(self, line)
  `Parse a gcode line and add it to the statistics.`

Functions

``

getNewRepository()
  `Get new repository.`

getWindowAnalyzeFile(fileName)
  `Write statistics for a gcode file.`

getWindowAnalyzeFileGivenText(fileName, gcodeText, repository=None)
  `Write statistics for a gcode file.`

main()
  `Display the statistics dialog.`

writeOutput(fileName, fileNamePenultimate, fileNameSuffix, filePenultimateWritten, gcodeText='')
  `Write statistics for a skeinforge gcode file, if 'Write Statistics File for Skeinforge Chain' is selected.`

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)