Gcode-nachbearbeitung.sh
Folgendes Linux-Bash-Script erlaubt das automatische Bearbeiten des von Eagle produzierten G-Codes. Die Dateien sollten im aktuellen Verzeichnis liegen und "bottom.ncd", "top.ncd", "drills.ncd" und "board.ncd" heißen. Die Ausgabe-Dateien erhalten die Extension ".gcode".
Wer kein Linux hat, kann allen Dateien von Hand folgenden Header hinzufügen:
M3005 S6 ; enable debug output M3060 ; print firmware version G90 ; absolute coordinates M3153 ; output matrix M3141 ; turn z compensation on
sowie jeweils bei den ersten G00 und G01 Befehlen hinten die passenden Feedrate anfügen (immer F30 außer bei den Bohrungen, dort F200). Das Script ist etwas "intelligenter" und fügt schnellere Feedrates bei allen G00-Befehlen ein, man müsste allerdings anschließend jeweils beim darauffolgenden G01-Befehl wieder die langsamere Feedrate anfügen. Das lohnt sich von Hand vermutlich eher nicht.
#!/bin/bash for i in bottom top drills board ; do FeedG0=500 FeedG1=30 if [ $i == drills ]; then FeedG0=500 FeedG1=200 fi echo "Eingabe-Datei: ${i}.ncd" echo "Ausgabe-Datei: ${i}.gcode" echo "Feedrate fuer G0: ${FeedG0}" echo "Feedrate fuer G1: ${FeedG1}" sleep 1 cat - ${i}.ncd > ${i}.gcode <<EOF % M3005 S6 ; enable debug output M3060 ; print firmware version G90 ; absolute coordinates M3153 ; output matrix M3141 ; turn z compensation on EOF sed -i ${i}.gcode -e 's/^G00 Z00.*$/G00 Z0.5/' -e 's/^G01.*$/\0 F'${FeedG1}'/' -e 's/^G00.*$/\0 F'${FeedG0}'/' \ -e 's/^M74$/% \0/' -e 's/^M71$/% \0/' -e 's/^M48$/% \0/' -e 's/^M999.*$/% \0/' \ -e 's/^M30 .*$/% \0/' -e 's/^G36 .*$/% \0/' -e 's/^T.*$/% \0/' done