Cnc tool changes

I was wondering what the right way is to handle tool changes for the cnc tool head

For reference I am using a snapmaker 2.0 A250 and Fusion 360.

I am post processing the tool paths into separate .cnc files for each time I need to change the tool.

My main question is what is the best way to set the Z axis work origin for the second or third etc. file (since some of the material has already been milled away so you cant set it by lowering the bit right above the material, and the cnc bits may be different lengths so you cant keep it the same as the first file)

This is the best thought I had so far
-When you set the work origin for the first file record the X, Y, and Z values
-For the second file, set the work origin to the same X and Y values, and adjust the Z value based on the difference in height of the cnc bits (so if the new bit is 5mm longer, set the Z value to be 5mm higher)

The only possible issue I see with this is if when changing the cnc bit I put the second bit into the collet a slightly different depth than the first bit. In theory if the back of the cnc bits are parallel with the back of the collet (as the manual says to) then they should be in the collet roughly the same depth so I dont think this would be a problem.

How have other people handled this issue?

See the post @sdj544 references. That has a lot more tips. Including answers to the questions you ask.

In short: make sure you always have a place where the z-height remains stable and doesn’t get milled away. Otherwise it’s impossible to do that accurately. (This is not necessarily your work origin, but that does make it easier/less prone to errors)

You could use a post elsewhere on the board to set the Z height.

Put your stock material on the board
Set origin including the Z height.
Out of the way of the stock screw in a flat head screw post into the base board.
Move the head without changing the Z height to the screw and screw up so it touches the tool and is at exactly the same height as the stock you have set as the origin. Don’t do anything to change the set origin.
Do your first passes including surfacing the top of the stock removing the original origin.
Change the bit.
Move the new bit so it touches the screw (Z height is now the same as the origin).
Move X & Y to zero origin on the console.
Set as new origin.
Do the next pass with the new bit.

For a post a 4mm screw with the head removed would work fine.

Why bother with such a complex setup?

Often there is a spot of your stock that is not milled away somewhere that can be used for z-height at all times.

If not set your z-origin at the bottom of your stock.

You can set your x, y and z-origin all separately if you want. You do need to be careful to not accidentally push the go to work origin in those cases or you do end up running your tool into the material and possibly breaking your bit or worse.

Or a spare piece of stock of the same height off to the side.
-S

Both options are good but using a post is easy, the explanation way exceeds the effort. :smiley: If you surface your complete piece of stock and dont have an off cut or dont want to go to the effort of securing that offcut and using exactly the same process detailed above to set the Z height, it works works just fine. Post or piece of spare stock, just the same process.

Setting the origin at the bottom of the stock is in my head even more complex. You have to set the X&Y somewhere on the stock and the Z on the base board or you set the origin (XY&Z) on the base board away from the stock which people find confusing.

With CNC there always seem to be many ways to things and you just have to find one that works for you and is repeatable.

@sdj544
Thank you so much all of this advice was very helpful. I had three questions about the way you do this.

  1. You mention that if the origin will be milled away to use some other part of the stock (which wont be milled away) to set the Z origin height. I think thats a perfect way to set the Z height for all of the passes after the first one (once the origin point has been milled away). For the first one pass Id imagine youd always want to set it based on the origin itself and not some other point. Namely because to set the Z based on another point, you would need to find the Z height at that other point, lift the Z axis, move the X and Y to the origin positions, and re-lower the Z height to the measured height (allowing you to click set origin while in that position). The problem with this is when setting the Z height to set it like 3d printing I use the .1mm increments to fine-tune the height. My concern is if the piece of wood I am carving isnt perfectly flat, say if the origin is .1mm taller than the other point, then when trying to lower the Z axis to the measured height of the other point at the X and Y of the origin, the bit may hit the wood and you wouldnt be able to actually set it to that other point’s height. In future passes since the material at the origin is milled out we would be able to set the Z height based on the other point at the origin X and Y. This makes it seem like for the first pass youd need to do it based on the origin, and for additional passes youd need to do it based on another point (for the height)- am I missing something? Id hope the difference in height of the first and second passes (based on the difference of the origin and other points heights) isn’t enough to matter? You mentioned theres been times you originally set it based on the origin height and had to use another point for another pass and didnt have issues doing that so im hoping setting it based on the origins height for the first pass and another un-milled point’s height for additional passes will be fine.

  2. You mention cutting the tabs out as the first cut. I have found that I usually need to do one cut prior to anything else (and would include the tabs cut). Say my wood is 25 mm and my bit is 20mm long out of the collet. You cant simply cut all the way through this because the spindle would make contact with the wood before you made it all the way through and prevent you from going deeper. So, if my final product is only going to be 15mm tall, my first cut will be to cut down the wood to 15 mm in a region that extends beyond what I am cutting (extends by enough to leave clearance for the spindle). This leaves enough clearance for the bit to make it to the bottom of the wood without the spindle hitting the wood. It seems I would still need to do this cut first and then could do the tabs cut out second (which is convenient because they are both flat end bits so doing them together is one less tool change). Since it would be the same tool, any reason not to have these two cuts in one .cnc file? Also have you found a need to do initial clearing out cuts like this and how have you handled it?Also, because of this it seems like the tallest object you can cut out would slightly less than the length of your cnc bit out of the collet- is that correct?

  3. If you first use cnc bit A, then cnc bit B, then cnc bit A, when setting the origin for cnc bit A for the second time do you re-measure out what the Z axis origin should be since the depth of the bit in the collet may have changed, or do you just set it to what it was the first time you used that bit?

  1. You can set any of the origins separately at any point. If my wood isn’t flat and I’m worried about it (I need a flat part to remain) then I do a milling pass to flatten it before I do anything else. (And/or I’ve already milled my wasteboard (or a piece on top of it) so I know it’s flat.) After the milling pass then I start over and set my z height according to my flat milled stock.

  2. There are no hard and fast rules as every project is different. You should usually get your piece of material close to the thickness you need first. I was just saying that you’d assume that cutting out the contour seems like a last step, but that there are reasons (which I shared) for it to be first. You could have the cuts in one cnc file but fusion doesn’t handle it this way. You’d have to manually combine. So it’s just easier to create two separate files and run them back to back.

  3. Any time you change a bit you have to calibrate z. You shouldn’t be bottoming out the bit in the spindle. It should be flush with the collet bottom (or slightly below if you’re trying to get every bit of length you can).

-S

1 Like

@sdj544
That all makes sense. I didn’t realize you could set the origins separately, will check that out.

Being able to set the origins separately would then allow the user to find a point that never gets milled and use that to consistently set the Z axis properly for every pass- thats perfect. Im using planks of wood for now, so not perfectly flat but not too far off either. In any case, the full top layer is milled away so the face of the final object will be flattened regardless. Given all of that is there any reason to need to pre-flatten the wood, or can I just set the origins as you described and start with my first cut without pre-flattening?

In regards to bottoming out what I meant was with the drill bit flush with the collet as described in the manual it sticks down from the bottom 20mm (20mm below the black collet nut). Thus, if the wood is 25mm thick and you tried to drill a hole straight down all 25mm, the black collet nut would hit the wood around the hole before the bit made it 25mm deep since the bit only sticks 20mm down from the black collet nut. Based on that it seems the maximum height/depth of any carve would be the amount that the bit sticks down from the collet nut?

Also, in Fusion 360, if you hold down command (control on windows) and select multiple tool passes and then go to actions, post process it will create one G code file for multiple passes.

No, as long as you have a consistent spot to calibrate your z-height for changing bits if required. If you you don’t need bit changes, no real issue.
In Fusion you can add a bit of excess stock on top anyway to makes sure the (uneven) top layer gets cleared.

It all depends on the type of work you are doing.

Yes
And beware you don’t run in any clamps or stuff to hold your workpiece down when getting that low. (been there done that)

If your bit’s cutting radius is the same size or larger than the shank, then yes.
If your bit is tapered, say a 3.175mm shank but a 1mm cutting diameter. You’re limited to the length before where it starts to taper. Otherwise you’ll have deflection on steep walls.
Some of this is dependent on project. With relief it generally doesn’t matter because you aren’t doing extreme depth changes. It’s on contours or holes or deep pockets that you’ll run into the edges.

-S

I have several questions after reading this thread concerning changing tools between paths. For this discussion, lets assume 2 paths with a tool change.

  1. I am assuming from the thread that when the machine stops after path #1 that the x-y-z work origin is still maintained. I had assumed not and reset my x-y-z work origin again. This obviously creates problems when the work origin has been cut away during the first path. Using the left corner on my first project, I still had an edge I could judge from, but obviously this will create some error that is a problem for vcarve inlays which I am doing.

  2. I am assuming from the thread that when the first path is complete, that you adjust the z axis to zero using a designated point on the project that is not been machined. Choosing the same spot between paths maintains consistency. Once you have the z zeroed with the card, how to do you zero on the hand controller? I assume you can set z zero independent of the x and y on the controller?

  3. It has been stated that you should not use the go-to work origin button after setting the new Z, since you will crash the bit. Why would this happen if the work origin now has a new Z zero point? It should go to the new zero you set for z axis I would think?

  4. I am assuming that is long as I do not shut the controller off between paths it maintains the x-y-z work origin of the first path?

markus4e

  1. For CNC the SM saves the work origin (I wish it did this for laser too) I take a picture just to be safe.

  2. Not sure by your question, but you adjust z after tool change and starting next path. You can set x,y,z independently. Swipe left on the 4 selections on controller.

  3. I don’t think this was ever said. (Point it out and I’ll edit it) Don’t use go to after changing bit until you set new z (unless you’re going from a larger bit to a smaller one and you know it’s shorter)

  4. It usually saves it even after power off. But that’s why I take a picture. Also, my machine has good repeatability. If I crash the tool head, then I need to go home and when I go back to work origin it’s the same. Not sure QC on SM allows everyone’s to do that.

-S

I think he’s referring to this comment of me:

It can happen if you would have your work-origin at the bottom.

Yes, in that case it would be a bad thing.
That’s one reason that I’ve never used bottom as my work origin. You really have to be extra sure all your settings are right if you do that.
-S

I agree with @sdj544. I don’t like bed level origin for CNC. All your settings have to be right and when your tool origin is below stock the chance of running into it are high unless you know exactly what you are doing and if you do you don’t use stock bottom as your origin. :grinning:

I think everyone agrees that using the bed level is often not the preferred option :slight_smile:

The only reason why you would want to do it, is if you’re need to create something with an exact thickness and it’s not flat on top or bottom. (you mill one side flat, flip it over and then ,ill to exact size).
But even in that scenario my preferred way of working would be to mill one side flat, flip it over, mill the other side flat. Measure thickness and mill away the excess you still have.

If you’re carving something across the entire surface, I would prefer to use the suggestion of @sdj544 to use an extra piece of stock material with a known thickness for z-height measurements.

There might be scenarios to use the bed as measuring point, but I think most of us would try to work around those, just to avoid other potential problems.