I've got a small laser machine, with a 2.5 watt laser diode. I'm trying to cut 3mm wood and from testing small square cuts, I know it takes 7 passes to cut cleanly through the wood.

The problem is when I try to do that on a larger size. For example, I'm trying to cut a rounded rectangle that that is 177mm wide by 133mm high. The laser tracks correctly, pass after pass, until about the 4 or 5 track, then upon starting that 4th or 5th track, the laser ends short about 1 or 2mm in the Y axis. So now its starting to cut from the 0,0 reference, across to the right, but not on Y0, but about Y1 or Y2.

Here is my gcode to make one pass and it is just duplicated 7 times. So its the same code for each pass.

On the 4th or sometimes 5th pass, that last previous line: G03 X002.50 Y000.00 I002.50 J000.00 F110 ( polyline0010 ) that Y000.00 ends just short of that, like Y001.00 or Y002.00.

I took off my belts and checked the X and Y axis for freedom and they were both free for their full travel. I don't have a Z axis. I checked the roller wheels and they were snug. I cleaned the rail guides. I re-installed the belts and gave it a go but still could not get 7 passes to lay over each other exactly the same way, for 7 passes.

Can someone suggest what else I can try? I'm not sure if this is a hardware/frame issue or a gcode issue that getting funky after making so many passes.

Thanks for any help...

Code:
G90 ( absolute positioning )
G21 ( units: mm )
G01 X000.0 Y000.0 F6400 ( home )


G01 X002.50 Y000.00 F6400 (laser head positioning )
M03 S255 ( power on )
G01 X174.50 Y000.00 F110
G03 X177.00 Y002.50 I000.00 J002.50 F110
G01 X177.00 Y130.50 F110
G03 X174.50 Y133.00 I-002.50 J000.00 F110
G01 X002.50 Y133.00 F110
G03 X000.00 Y130.50 I000.00 J-002.50 F110
G01 X000.00 Y002.50 F110
G03 X002.50 Y000.00 I002.50 J000.00 F110 ( polyline0010 )
M05 S0 ( power off )


G01 X000.0 Y000.0 F6400 ( home )
M30 ( end of program )