Last Updated or created 2022-07-09
For my winerack i engraved some wooden panels.
When doing so, i needed to fix the height of the engraver to get the focus of the beam right.
At start i removed all Z positions from the GCODE file after calibrating. Later i used a script wrote that fixed the height setting to 110.
#!/bin/bash # Usage: confirm height focus at 110 # ./scriptname filetofix.gcode myz=110 cat "$1" | sed s/Z1/Z${myz}/g | sed s/Z6/Z${myz}/g > "fixed.$1"
Another tool i made is the one below, it takes a GCODE file, calulates where the borders are (min/max x and y)
And sets the FAN2 (laser intensity to a minimum)
After that it generates GCODE to draw a box wherein the to be engraved object is made
Now you can run the GCODE file multiple times to position it on the wood to you can get the minimum of spoils.
#!/bin/bash # Usage: scriptname file.gcode # It wil create a pointtest file for test running myz=110 MAXX=$(cat "$1" | grep "G0 X" | awk '{ print $2 }' | cut -c2- | sort -n | tail -1) MINX=$(cat "$1" | grep "G0 X" | awk '{ print $2 }' | cut -c2- | sort -n | head -1) MAXY=$(cat "$1" | grep "G0 X" | awk '{ print $3 }' | cut -c2- | sort -n | tail -1) MINY=$(cat "$1" | grep "G0 X" | awk '{ print $3 }' | cut -c2- | sort -n | head -1) cat > "pointtest - $1" << EOF ;BingoStart G90 M17 Z G0 F3000 G0 Z${myz} F3000 M18 Z G0 X${MINX} Y${MINY} M106 S2 G0 F3000 G0 X${MINX} Y${MAXY} M106 S2 G0 F3000 G0 X${MAXX} Y${MAXY} M106 S2 G0 F3000 G0 X${MAXX} Y${MINY} M106 S2 G0 F3000 G0 X${MINX} Y${MINY} M106 S2 G0 F3000 G0 X${MINX} Y${MAXY} M106 S2 G0 F3000 G0 X${MAXX} Y${MAXY} M106 S2 G0 F3000 G0 X${MAXX} Y${MINY} M106 S2 G0 F3000 G0 X${MINX} Y${MINY} M106 S2 M107 ;end EOF
GCODES
- M17 Z – disable Z movement
- G0 – rapid move
G0 X100 Y100 (Goto 100,100)
G0 F3000 (speed) - M106 – set fan speed (I my case, this is laser intensity)
M106 – S2 - G90 – set absolute coordinates
- M107 – fan off
More info about gcodes: http://www.science.smith.edu/cdf/pdf_files/Techno_GCODE%20Commands.pdf