Is there a way to get it to reverse these automatically? I hate having to edit the file every time, and eventually i’m going to forget and break a tool or mess up some nice wood.
What post processor (pp) are you using? From the GCode it looks like you are using F360 hobby edition with the Guffy pp. The Guffy pp doesn’t handle this.
The first move is normally a G0 but F360 Hobby forces this to be a cutting G1 move. If it was a Rapid move the post processor woudl first move up to Z16.
Yes, using the Fusion personal edition, and the post processor listed on the milling basics page. Thanks for the help, I’ll give it a shot and report back.
Yes, it is now correct - though see my other comments below.
The problem was not that your first two lines were reversed, the problem was that the first line was a G1 cut command (F360 hobby forces all G0 Rapid moves to G1 cuts). The result of this was that when it was trying to reach the start of the cut (X81.9 Y125.387 Z16) it was moving horizontally while slowly moving up to Z16. This resulted in your dragging.
By allowing the PP to convert G1s to G0s it looks for the first move of a cut (which is taking it to the starting location) and changes this to a G0 Rapid move. If you had the full F360 this is what it would have been. G0s are implemented in the PP to always move vertically first and then in a second command move horizontally - this safely moves you to Z16 first and then to X81.9 Y125.387 in the second G0 - thereby no longer dragging.
; First G1 → G0
G0 Z16
G0 X81.9 Y125.387 F2500
The G1 Z7.32 F600 in the next line is F360 moving down from the Clearance plane to the plane it uses just before cutting.
You can optimize some of the other G1s by having them also converted to G0s by changing the Safe Z height and enabling the allow vertical flag in the Map section.
Note: you may want to check your 0,0,0 origin in your model. The PP assumes it is at the top of the material. Your first plunge move only goes down to Z1.955 and then starts cutting. This is OK if that is what you mean to do - as long as you set your top of the material not at 0,0,0 in F360. If this is the case then make sure you change SafeZ to ensure it is above your material. The way it is right now the GCode looks like it is cutting in the air but that depends on where your origin is - if it is not at the top though make sure you adjust SafeZ otherwise a cutting G1 could be converted to a Rapid G0. Since we know that your first move was to Z16 if you want to ensure the mapping never happened (other than the first move) then set SafeZ to 17 and it will never trigger a conversion.
You may also want to consider enabling the scaling of the feedrates in the PP. You have G1 cuts (for example in the first Movement_Lad_In that are moving in the X axis and Z axis at the same time. The feedrate will be the last one used which in this first case will be F508. This may be faster than your Z axis can handle (mpcnc can move/cut faster in XY then Z). I can’t tell without doing the math as it depends on the ratio of X’s travel distance vs Z.
Finally, you may want to enable the flag that forces the feedrate to always be output. Marlin doesn’t understand G0 feedrates separately from G1 feedrates and this can lead to issues.