#!/usr/bin/perl -i.before_postproc
# Author : David Sherwood
# Version : 1.0
# Copyright : none.
#
# Slice3R GCODE laser cutter post-processor
use strict;
use warnings;
# read stdin and any/all files passed as parameters one line at a time
while (<> ) {
if (/G11/) {
# if we have an un-retraction line, replace it with laser power on
print "M400 ; wait for moves to finish\nM104 S100 ; laser on\n";
}
elsif (/G10/) {
# if we found a retraction line, replace it with laser power off
print "M104 S0 ; laser off\n";
}
elsif (/G92/) {
# if we found an extruder reset command line, remove it
print "";
}
elsif (/M190/) {
# if we found a heat bed command line, remove it
print "";
}
else {
print or die $!;
}
}
####
G92 E0 ; want to remove all G92 lines (works now)
T1
G1 Z0.050 F7800.000
G10 ; retract
G92 E0
G1 Z0.150 F7800.000
G1 X14.725 Y-8.975 F7800.000
G1 Z0.050 F7800.000
G11 ; unretract
G92 E0
G1 X14.725 Y8.975 E0.01465 F120.000
G10 ; retract
G92 E0
G1 Z0.150 F7800.000
G1 X-9.585 Y-0.615 F7800.000
G1 Z0.050 F7800.000
G11 ; unretract
G92 E0
####
T1
G1 Z-0.050 F7800.000
M104 S0 ; laser off
G1 Z-0.150 F7800.000
G1 X14.725 Y-8.975 F7800.000
G1 Z-0.050 F7800.000
M400 ; wait for moves to finish
M104 S100 ; laser on
G1 X14.725 Y8.975 F120.000
M104 S0 ; laser off
G1 Z-0.150 F7800.000
G1 X-9.585 Y-0.615 F7800.000
G1 Z-0.050 F7800.000
M400 ; wait for moves to finish
M104 S100 ; laser on