Skip to content

Commit

Permalink
New post-processing script to calculate flow information from G-code
Browse files Browse the repository at this point in the history
  • Loading branch information
alranel committed Nov 5, 2012
1 parent 68e1eda commit ab6b611
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions utils/post-processing/flowrate.pl
@@ -0,0 +1,39 @@
#!/usr/bin/perl -i

#
# Post-processing script for calculating flow rate for each move

use strict;
use warnings;

my $E = 0;
my ($X, $Y);
while (<>) {
if (/^G1 X([0-9.]+) Y([0-9.]+).*? E([0-9.]+)/) {
my ($x, $y, $e) = ($1, $2, $3);
my $e_length = $e - $E;
if ($e_length > 0 && defined $X && defined $Y) {
my $dist = sqrt( (($x-$X)**2) + (($y-$Y)**2) );
if ($dist > 0) {
my $flowrate = sprintf '%.2f', $e_length / $dist;
s/(\R+)/ ; XY dist = $dist ; E dist = $e_length ; E\/XY = $flowrate mm\/mm$1/;
}
}
$E = $e;
$X = $x;
$Y = $y;
}
if (/^G1 X([0-9.]+) Y([0-9.]+)/) {
$X = $1;
$Y = $2;
}
if (/^G1.*? E([0-9.]+)/) {
$E = $1;
}
if (/^G92 E0/) {
$E = 0;
}
print;
}

__END__

0 comments on commit ab6b611

Please sign in to comment.