UGS/Fusion 360 Z axis problem

I’m trying to run a job created with Fusion 360 (Carbide 3D post) and UGS. When I start the job the first thing it does is raise the Z axis until it hits the limit switch, then halts. I tried a different post processor with the same result. Carbide Motion will run the job, but I can’t use it since I’m using the Beaver HDZ (CM can’t handle the additional Z travel so it cuts air). Anyone have an idea? Here’s the start of the gcode.

(Texas Bottle Opener)
(T001 D=0.125 CR=0 - ZMIN=0 - flat end mill)
G28 G91 Z0

(2D Pocket1)
S20000 M3
G0 X4.6145 Y4.8432
G1 Z0.6 F20
Z0.5125 F4
X4.6147 Y4.8429 Z0.5101
X4.615 Y4.8425 Z0.5077
X4.6169 Y4.8405 Z0.5037

Hi Reid

Are you using the Stroom post processor?


I’m using the one found on the C3D wiki. Not familiar with the Stroom one.

Scroll right to the bottom of the instructions:

FWIW, that’s also listed on the wiki: — free / opensource / documented Post-Processor which translates RPM values into dial-settings for Dewalt and Makita trim routers, and will alert you and recommend solutions for some errors in a design.

along w/ some footnote links and links to alternate versions.

Thanks. Recreated the gcode with Stroom. Different error now. Thanks for being patient as I learn!

This is getting really frustrating. I disabled soft limits ($20=0) and the machine is trying to drive the Z axis through the bottom of the wasteboard when I start the job, even though my zero is a couple of inches above the workpiece for testing.

Soft limits in Grbl shouldn’t be enabled when working w/ Carbide Motion.

Most likely you’ve got a mismatch between where zero is set in your file, and where you’re setting it relative to your stock, please see:

1 Like

Thanks Will and Luke. I did have zero set incorrectly in the file (was set to bottom of stock). I also had Fixtures checked but not configured. I think the combination of those two things helped. The job will at least start to run. Headed back down to the shop to try it for real. I appreciate all the help.

1 Like

The great thing about CNC is that the machine will execute the instructions exactly as sent to it when things are working properly.

The awful thing about CNC is that the machine will only work correctly when all the instructions are correct and everything is set up and working properly — and there isn’t the sort of awareness or feedback or pausing which one has in handwork.

1 Like

Well, that didn’t work out like I planned. :confused: Job ran, first operation was to cut 2 pocket holes through the 1/2" stock. They were each about 1mm deep. Then a 2D contour which cut too high. I aborted the job.

I deleted the CAM setup in Fusion 360 and am starting over with that part. The model looks fine, and simulation looked good too. I’ve cut this shape before, although it was not the same Fusion 360 file, so I probably have a few errors somewhere. I’ll keep trying, but the CAM settings in Fusion 360 are really confusing me.

1 Like

If you want share the fusion file with me and I’ll take a look

1 Like

Sounds like there might be a zeroing issue, but, as Luke said, share the Fusion file.


I put this project away for a couple of days. I was able to get it to run perfectly this time. Several things I did differently this time. I deleted the toolpaths and started over on those, making sure all my settings were as accurate as I know how to make them. I also switched to a new 2 flute flat 1/8" end mill. That made a big difference in quality of the cut with no tear out. The edges aren’t very smooth, so I’ll experiment a little with that. The problem with the Z raising up to hit the limit switch was a problem in the toolpath. Retract height for some reason defaulted to a large number.

Thanks everyone for your assistance!


Ha! Yes, I know this answer! It drove me nuts for a day while I figured it out.

Take out this line “G28 G91 Z0”, save, and it works perfectly. I had to dig into this using Fusion 360, post processing into GRBL, and then using UGS.

Do you have a G28 set? That line just moves Z to its G28 location.

@neilferreri is on point as usual. I had the same issue the first time I used the Fusion360 post (that has this line that you removed) AND after I upgraded to the HDZ. Turns out, I had not redefined/reset my G28 reference, so the command was trying to reach a Z position that was no longer reachable mechanically.

A better fix than removing the line is to home and then type:


This will set/reset your G28 home position, (among which the Z0 that the G28 G91 Z0 wants to reach), and all will be good.


Interesting, I didn’t find that solution in my search and I hadn’t run into an issue just removing that line. UGS would actually flag errors if I didn’t remove that line. The other issue I found are tool changes. I had to make a folder to remove those since UGS didn’t know what to do with them.

I took care of that tool change issue by telling UGS to ignore them:

in the Options/UGS/Controller options menu, you can declare a “regular expression pattern remover”, and just fill it with “M6 T1”. Boom, no more need to hack your generated g-code files, UGS will ignore these lines.


Here’s a F360 CAM post that gives the options to:
Use G28 or not
Use Tools or not (will omit the M6 commands if not)
Return to work zero or not

Just remove the “.zip” from the extension (it’s not actually zipped). (17.8 KB)