Fusion Manufacture
Talk shop with the Fusion (formerly Fusion 360) Manufacture Community. Share tool strategies, tips, get advice and solve problems together with the best minds in the industry.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

G-Code from fusion causing table to lose Z ref during cutting

Message 1 of 28
1470 Views, 27 Replies

G-Code from fusion causing table to lose Z ref during cutting

I've contacted Autodesk Customer support via email and was told, yes this looks like a post processor issue.

So here's the deal,

We recently got our CNC router table moving and it's doing wonderfully when we use G-Code generated by Sheetcam, however both the Mach3 and Mach4 post processors cause the machine to lose Z ref. Meaning that Mach4 thinks the tool is anywhere up to 4" + or - where it actually is as cutting goes along. 


Details of the machine:

ESS SmoothStepper

C11G-Board from CNC4PC controlling drivers

DYN4 Drivers and Servos.


Anyone heard of this sort of issue before? SheetCAM is able to produce G-Code that the machine doesn't have any issues with.

Message 2 of 28

Almost forgot, attached an example that makes the machine lose its Z.

Message 3 of 28
in reply to: JennayOakHill

Hi @JennayOakHill ,


Nothing stuck out to me in your NC code that might cause this issue. Do you know what line of code this occurred on? and are you aware of any other differences between the working code and this code? Like length of file? or differences in G code?



Will Watkins

Message 4 of 28
in reply to: will_1

This from the autodesk support folks:

delete this in the NC code in all spots where it shows up and carefully take a trial in the machine.

G28 G91 Z0.


Did so and the problem appears to have ceased, which makes me wonder why those codes ended up producing this issue.

Message 5 of 28

The G28 G91 Z0. code takes the Z to the machine home position. Does the machine have limit switches and are you homing the machine or are you setting a safe machine home manually(G53)? My guess would be you're hitting the hard limits of your machine and losing steps. Could also be a rapid Z is causing the problem and your accelerations and max steps need tuning up.



Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


Message 6 of 28

We have limits on the machine and it has not hit them, additionally we are running servos, not steppers so  unlikely that is the problem, additionally if that alone were the issue g-code from Sheetcam would be having the same issue.

I'm working hard to try and follow all this, g-code isn't all that native to me. 


 Now, my understanding is that the machine does not have a 'home' command. It certainly does not recall where it is when you cut it on, it just assumes that where ever it is is the machine zero on boot. The guys that did the retrofit didn't feel it was necessary I guess.


Regardless, I hope I've followed your line of questions and answered them or at least given more information to mull over.


Message 7 of 28

When you say the machine has limits do you mean limit switches? I built a small engraving machine using mach 3, I fitted limit switch so when I start the machine I home it and it goes to the limit switches and set the home position (G53). When the G91 G28 G0 Z0. line runs the machine goes to the machine zero for a tool change. after the tool change the new tool height is called and carys on from there. Never had any  problems with Z wander and I only have steppers, there's nothing in the G code that's going to change the Z height.


There is an option to use clearance height for tool changes but you will need to be careful not to hit limits and it can be a problem if the next tool is a lot longer than the previous.




Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


Message 8 of 28

Correct, we have limit switches. If it hits a switch it stops. 

As stated though, the issue appears to have been resolved.

Message 9 of 28

The issue has not been resolved it has been worked around, I am getting sick of people telling people to remove those lines did they explane what G28 does or did they give you some info on it?


When you shut the machine down for the night then the next day that you come in are the dros showing the same position as when you closed it down?


If you do a G53 Z0 as a test what happens then a G28 G91 Z0?


Now if you move the Z-axis then hit home all or just the Z-axis does it goto the same places as the G53 test.


All this is up to you to do if you do not want to don't.


This bit

G20 inch units/imperial/American units 
G28 G91 Z0. goto Z home
G90" Absolute programming 


Here is the info on G28

Win10 pro | 16 GB ram | 4 GB graphics Quadro K2200 | Intel(R) 8Xeon(R) CPU E5-1620 v3 @ 3.50GHz 3.50 GHz

Daniel Lyall
The Big Boss
Mach3 User
My Websight, Daniels Wheelchair Customisations.
Facebook | Twitter | LinkedIn

Message 10 of 28
in reply to: daniel_lyall

All I can say on this matter is


i run Mach 4

i have 9 limit switches (prox) on xyz home and over travel on each axis



i have no trouble with the standard Mach 4 post

yes I have it modded to enable a axis 


I do think you need to look into the root cause as I do not think it’s g28 playing up 

I suspect it’s more a mechanical problem than gcode 

deleting a normal bit of code in my humble opinion is a bandaid not a fix 

Mac Studio M1Max and MacBook Pro M1
Message 11 of 28

By far my favorite reply so far. I'll admit I DO want to know why it's being silly like this. I'll poke at it with a sharp stick later today and see what shakes on it.

Message 12 of 28

Alright, went out and ran the comparison of g53 z0 vs. g28 g91 z0 and it was illuminating.

G53 Z0 only moved the Z axis, while G28 G91 Z0 moved the Z axis up and down and changed the value of the machine coordinates and left the work coordinates alone.

Bit weird.

Message 13 of 28

That is definitely wrong, so it is an issue with G28 after all in Fusion or Mach3, you can set a goto position with G28 inside of Mach3.

If G53 worked correctly you will need to use G53 at the start or a say G0 Z20 this would be fine as long as it is above any obstacles, you don't have to but for safety, sake having a lift of the Z-axis before any move from other axes will save you from breaking cutters, destroy or damaging the machine damaging the workpieces and or dragging the cutter across the workpieces.

That's what it is there for moving the Z-axis out of the way we get at least 4 posts a month where a person does not home the machine(steppers), or they removed G28 or G53 and they go off because the cutter drag across the workpieces and stuffed it, why it happens no Z-axis move before an X and Y move.

Win10 pro | 16 GB ram | 4 GB graphics Quadro K2200 | Intel(R) 8Xeon(R) CPU E5-1620 v3 @ 3.50GHz 3.50 GHz

Daniel Lyall
The Big Boss
Mach3 User
My Websight, Daniels Wheelchair Customisations.
Facebook | Twitter | LinkedIn

Message 14 of 28

Well it looks like I was wrong.

I did exactly what Autodesk told me to do, and this one is still giving the sawtooth, regardless of my using g28 or g53.

I guess I didn't let the test run long enough to verify correctly, that's all on me getting over excited I think.

I've attached the file that I was expecting to work to cut a short river segment. You can see the Z losing height after traveling to the next cut.

The g-code was created using the 3dAdaptive clearing. 

Message 15 of 28

Didn't attach, trying again.

Message 16 of 28
in reply to: JennayOakHill



Looking at the code you uploaded I don`t see anything wrong with it, 3D Adaptive goes to a depth that is set for the "Maximum Roughing Stepdown" and then works it way back up to the previous DOC in small steps as set in the "Fine Stepdown" so yes the code is making your machine go from say Z-2.0 for the "Roughing Stepdown" back up to Z-0.025 if that is what the "Fine Stepdown" is set to, see attached image below.3D Adaptive Settings.jpg

Bottom line, there is absolutely nothing wrong with the code from Fusion or your machine, that is the way that 3D Adaptive works, however there is an option there to select "Order by Depth" that should make the code be generated so that it only steps down and not down and then up.

Hope that helps a little





Message 17 of 28
in reply to: engineguy

Made those changes, will run on a scrap chunk and see if it finishes it flat.

This wouldn't explain why the Z-Ref keeps changing though.

Message 18 of 28
in reply to: JennayOakHill



Yes it does, look at the two sections of code below, one is the feed from one Roughing down to the next Roughing level, the second one is the Fine stepping up from the second Roughing level back up to the first Roughing level, as I explained earlier that is what 3D Adaptive does.

I am assuming that your SheetCAM doesn`t have a similar toolpath, if that is the case then you would not have seen this particular behaviour before.

Having said that I don`t see how that could be a problem, it will remove the material as required.

Have you tried any other toolpath for this job? Maybe 2D Adaptive Clearing will do the job ??


It is always best to upload the Fusion file that you are having an issue with, if you are not sure how to do it try this :-

Go to File>Export>Select f3d format and save to a location on your computer, then on your next post attach the file.



X2.8883 Y28.2422 Z-0.3582 In this block of code it is going down to Roughing DOC,that will be feeding to the next level
X2.8879 Y28.2436 Z-0.3646
X2.8874 Y28.2455 Z-0.3708
X2.8868 Y28.2479 Z-0.3769
X2.886 Y28.2508 Z-0.3827
X2.8851 Y28.2542 Z-0.3882
X2.8842 Y28.2581 Z-0.3934
X2.883 Y28.2624 Z-0.3982
X2.8818 Y28.267 Z-0.4026
X2.8805 Y28.2721 Z-0.4066
X2.8792 Y28.2774 Z-0.4101
X2.8777 Y28.283 Z-0.4132
X2.8762 Y28.2889 Z-0.4157
X2.8746 Y28.2949 Z-0.4176
X2.873 Y28.3011 Z-0.419
X2.8714 Y28.3074 Z-0.4199
X2.8698 Y28.3137 Z-0.4202

X-1.7493 Y24.9499 Z-0.419 In this block of code it is rising up from the Roughing DOC, that will be the Fine steps
X-1.7434 Y24.9477 Z-0.4176
X-1.7375 Y24.9455 Z-0.4157
X-1.7318 Y24.9434 Z-0.4132
X-1.7264 Y24.9414 Z-0.4101
X-1.7212 Y24.9395 Z-0.4066
X-1.7164 Y24.9377 Z-0.4026
X-1.7118 Y24.936 Z-0.3982
X-1.7077 Y24.9344 Z-0.3934
X-1.704 Y24.9331 Z-0.3882
X-1.7007 Y24.9318 Z-0.3827
X-1.6978 Y24.9308 Z-0.3769
X-1.6955 Y24.9299 Z-0.3708
X-1.6936 Y24.9292 Z-0.3646
X-1.6923 Y24.9287 Z-0.3582
X-1.6915 Y24.9284 Z-0.3517
X-1.6912 Y24.9283 Z-0.3452

Message 19 of 28
in reply to: engineguy

So your contention is that there is nothing wrong?

Message 20 of 28
in reply to: engineguy

I'm not posting the actual file, copyright issues are a thing. 

So here's a photo of what you get if you just let the machine run to finish:



Link to a video of it cutting air while thinking it's 0.25 down into the material.


I don't care about fault, I just need it to work.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report