Fusion 360 > Xcarve Zero/Retract issue - Help! :)

Been using fusion 360 for a while now but finally decided to use the CAM portion with my xcarve.

I’m making a custom Mechanical Keyboard case, and plan to use a jig for easy alignment/flipping for making multiple in the future.

I’d like to be able to zero my spindle to the jig (x, y, and z), rather than the stock. This means my z zero will be lower than the top of the stock.

So ideally, once my zero is set and I start the carve, it would first retract to the safe height then move to ramp in location.

But as you can see in the images below, when I imported the G-Code into Easel it’s moving directly from my XYZ zero, THROUGH the workpiece, to the starting location.

Is there a way to do this in fusion 360 / easel? Would I have to insert custom G-Code? or with the Xcarve am I forced to set my Z zero to top of the stock?

Thank you for the help!

Time to move on from Easel.

I like CNCjs.

CNCjs looks pretty nice. Does it support the Xcontroller? Or would I need to build/buy separate hardware?

No new hardware needed. Just install, connect, and have fun!

it looks like you have your zero set at the waste board height and not the material height. if that is what you have then you will have the same problem when you import this g-code into any program.

I would try to set the start or origin to the top of the material you want to carve.

I would suggest that you watch this video from Evan And Katelyn https://www.youtube.com/watch?v=iqnvzxuXFTQ
at around the 3:40 mark they explain how to set the start point for the x carve.

1 Like

Take a look at MeshCam. It will take an STL or a DXF format drawing. It is pretty reasonably priced and very powerful, as well as being user friendly. I am just a satisfied customer. It looks like you can try it free for 15 days without limitations.

He does, but that won’t be an issue in other senders. I do it all the time.

So you are saying that other senders automatically know that your zero is set at and can change tool paths by what method?

If I understand correctly when the g-code is generated it is a coordinate system based on moves in a flat plane in the X and Y and the layered with the same grid on the Z.

so if I generated g-code that told the machine to move 2 inches to the positive on the X and 2 inches in the positive on the Y and then lower 0.25 inches on the Z and then move 0.25 negative on the X that tool path would not change no matter what sender I use.

what problem the original poster has might be corrected by using a different program to generate the g-code, but I do not see how the sender (which only moves the machine by what the g-code says) would change the path of the code.

without changing the way he is generating the g-code to work with his machine set-up then he will continue to have this problem. If not please explain where I have been confused about how this works.

by the way, I have used CNCjs and have no problem with it. just that I do not understand how using that program as a sender would have any change on the problem.

Short answer (sorry…busy):

Easel adds motion to the beginning and end of your gcode.

Fusion will generate gcode that will work with sender that doesn’t add motion.

I’ll give it a shot, Thanks!

You would be correct that my goal is not to zero @ the workpiece, but also not the wasteboard, rather a jig that sits on top of my wasteboard for flipping / 2 sided machining.

This jig will be machined in place, and screwed down to the wasteboard. That way it will be reliable geometry that the router has machined, so it’s ideal for repeatability/accuracy.

The reason why I want this is because the raw stock will be varying thicknesses, and not particularly square from the lumbermill. So if I flipped the workpiece over and aligned it with the dowels, I still would not have geometry that I could referenced for an accurate zero.

Ideally, this could just be done with offsets or a pre-retract g-code function or something. But if need be I suppose I could simply zero it to the jig, and manually jog it over into the correct pre-start position.

Idk, what are your thoughts?

There is nothing wrong with doing it that way.

you will just need to make sure that you change your g-code to reflect the difference in height of the stock you are cutting.

again it has always been my understanding that g-code will simply move the machine in the directions that it sends, nothing more nothing less.

but if you are generating your code to start from a fixed point and then move into the stock you need to make the CAM program understand that this is the move you want. it will then generate g-code accordingly.

it sounds like you might benefit from watching some videos on work zero and machine zero and safety height.

Just want to make sure that everyone understands that I am not bashing any programs over any others as they all have there place when used correctly. but they all will just do what they are programed to do.

Exactly, but easel adds gcode.

My point is that easel appends your good gcode with motion that assumes zero is at the top of the stock. Fusion 360 will generate gcode that does exactly what @AustinShaner wants to do. But using easel may cause a crash. It’d be an extra step to make sure easel had a safe height that was your stock thickness plus your safe height. And a failed carve in easel would assuredly cause a crash on all but the thinnest stock when zero is at the bottom.

Set your zero in fusion and on your machine to the same place and you’ll be ok (if you don’t use easel)

2 Likes

I would really like Inventables to verify that when importing g-code that Easel as a sender appends your good g-code with motion that assumes zero is at the top of the stock. I have never experienced this.

1 Like

You guys had me doubting myself:
easel safe height at default (0.15") shouldn’t come in to play on imported gcode. I did not want to return to zero.

My test file (imagine 32mm thick stock with Z-zero at wasteboard):
G21
G1 Z35 F200
G1 X50Y50
Z30
X0
Y0
X50
Y50
Z35
M30

Easel Sent (reverse order, so top was last line sent and bottom was first line sent…bold are appended by Easel, and are also bit smashing crashes):
G0 X0.00000 Y0.00000
G1 Z0.15000 F9.0
G90
G20
M30
Z35
Y50
X50
Y0
X0
Z30
G1X50Y50
G1Z35F200
G21
G1 Z0.15000 F9.0
G90
G20

Been this way as long as I’ve been around here.

2 Likes

Did I read this correctly?

After the L shape was carved, the bit plunged back into the workpiece to .15 and rapid back to zero (through the workpiece)? I’m assuming because Easel thinks the .15 is the safe height even though the program was technically carving above it?’

Apologies, not great at reading/writing custom g-code yet.

You got it (except it’s a square :wink:)

Ahh yes, I see that now! thanks!

So I suppose as a temporary workaround (until I play around with alternative software) I could just set a custom safe height in Easel of my 1" stock + a safe height?

To be clear, you can use easel with gcode that’s for a Z zero at the surface of your wasteboard. You just need to set your safety height, in Easel, to be a safe height above your wasteboard.
Now, if Easel balks or you cancel the carve, you’ll have issues. Last I checked, on a cancelled carve Easel will move the machine to .25" above Z zero and return to X0Y0. Potential for disaster. Not worth it. Use a different sender.

2 Likes