What's new
What's new

Can someone help me understand offsets?

Cole2534

Diamond
Joined
Sep 10, 2010
Location
Oklahoma City, OK
Have quite a bit of machining experience, but this is my first jump into CNC work. I understand the concepts, I'm just not sure how or when to apply them.

Let's assume I'm going face off some square stock, then drill a couple holes and mill a slot. I know I need to set the Z offset to establish a relationship between the tool points, what's the best way to do that?

Also, how do I zero the stock's location?

Super basic stuff, but as I understand it the Z where the big crashes occur.

Sent from my SM-G930R4 using Tapatalk
 
Let's see if I have a handle on this-

I need my fixture offset values to align with my work coordinate system. That will inform the machine of the part's origin with respect to the fixture.

From there I touch the tools off at some position in Z so that the tool points are at the stock top, whether directly or through some compensation factor. T# should nearly always match H#.

CRC means I can program along edge lines and the control will offset tool radius so as not to over-complicate the programming.

Is that a down/dirty understanding?
 
Lets slow down for a second.

What machine and what control are you running? Some are a lot easier than others.
 
The machine doesn't understand anything besides it's own location. So the offsets tell it what to use as a reference. You will always have a point at which you set your origin in CAM. It's completely arbitrary and you will get various answers, so I will explain roughly how I do it. I typically use the 'carrier' method of machining, since it works for most of what I do, so the top of the jaw is what the raw stock sits on and is also where I touch off my tools. I set my Z zero in CAM at the left corner bottom of my stock typically (which is typically your first work offset - G54). If possible, you want to use the fixed jaw or something else that doesn't move. Z zero is the point at which you reference your tools.

You can use something like the Edge gauge.

Pro Touch Off Gage 04-000 - Edge Technology

This is calibrated to 4.00". So, you would put that on top of the surface you want to be Z zero (for me it's on top of my hard jaw). I then touch off my tools. I use a Fadal and it already has a macro that I can tell it I'm using a 4" block and it will automatically compensate and add another 4". So, you could do that, use a 1" gauge block, a piece of paper, whatever you want as long as you are using something you know the thickness of and can subtract out that value. The key to avoiding crashes is consistency. Do the same thing, same method as much as possible. Obviously there are exceptions when you can't for whatever reason, but then you should understand why you are using a different method.

So, if you touch off at the top of your parallels/jaws/'bottom of stock' that is your Z zero. If you share tools between operations and need to machine something in another location with a tool that was touched off there, your Z offset would be whatever the height difference is. If you make a set of soft jaws in a second vise and the pocket is now 1" lower than your touch off location, your offset would be Z -1.000 and the XY coordinates for that offset, say G55, would tell it where that next location is. The same logic applies to any other offsets. XY is going to be the machine location in space that you want the machine to go for that offset. Z will be the height difference from your original location. Not to confuse you, but say you use 5 tools on the first operation and then 1 tool on the second not used in the first. If you touch of that one tool at your Z CAM reference for your second op, the Z would be zero since it's only referencing where is was touched off and it doesn't carry any info from the first operation.

Hope all that sort of makes sense. Once you do it a few times and wrap your head around it, it gets easier. You ultimately just want to make sure what you are referencing in CAM and outputting matches what you are telling the machine those locations are. There are a bunch of other ways to do it.

If you are loading a bunch of tools and making one part, you can throw your block in the vise, pick up the center top of your stock, touch all your tools to that center top and make sure the center top is your origin in CAM. Then your XY would be whatever machine coordinates are the center point of the block and your Z would still be zero.
 
That makes total sense. I think my description above was too vague.


Sent from my SM-G930R4 using Tapatalk

Yea, so XY is pretty self explanatory. The crashes moving XY usually seem to be from either modifying Z values without paying attention and not retracting enough or not accounting for a fixture/clamps/material in the way. So you program and then forget that you have your material clamped down and not in a vise and you rapid into the clamps. Z issues almost always seem to be either fat fingering an offset, forgetting to change an offset from a previous setup/tools (like changing a tool in a pocket and not changing the offset) or not picking up a new fixture offset.

The best thing you can do is turn rapids down, slow feeds and watch your distance to go when proving out a program.
 
Cole2534,

It sounds like you've already grasped the concepts, but I'll just toss a couple of drawings in here for good measure (picture worth 1000 words?):

Tool offsets:

Personally, when setting up a job, I load the tools into the machine, and set the tool lengths first, before setting the work offsets. (just my habit). You can set tools to the top of your blank, to the step on a vise jaw, the table, a 1/2/3 block, or use something like the Edge Technology tool setter. (Some/many machines have automatic "tool setters" mounted to the table, which will automate some/all of the tool length setting process, and there are even "offline toolsetters", but we won't talk about those methods now.)

IF the Z origin of your part in CAM is at the top of the blank of material, AND you touch off each tool to the top of your blank, then the Z value in your work offset (probably G54) will be zero.

In the first image below, I've sketched out 2 other possible scenarios:

1) Let's say you touch your tools to the top of a 1/2/3 block instead of the top of your blank. And let's say the 2" direction of the 1/2/3 block is "shorter" than the top of your blank (like in the image). Then the G54 Z value (in work offset table) will be positive by the amount shown by the green arrows. That must be measured "somehow" to obtain that value. -- (once again: this assumes that your Z origin is at the top of the blank) -- So, you could determine this distance by taking one of the tools you have already set to your 1/2/3 block, touching it off on the blank, and then getting the difference between those two numbers. Heck... you could slide the 1/2/3 block over next to your blank, and just use a depth mic and measure from top of blank to top of 1/2/3 block. Doesn't really matter how you do it, but all those tool lengths that have been set to something OTHER than the part need to be "shifted" back up to the top of the blank.

2) In the same image, the red arrow point to a slightly different scenario, and this is how I set tools on my Haas. I set the tools to the table. I do this by using a gauge (similar to the one made by Edge, but mine happens to be 3" tall when the indicator reads zero). Then after I've touched off all the tools to the gauge, I subtract 3" from every value that has been set in the tool table. Now all my tools are set to the table. If the tools were all long enough, I could theoretically jog down and actually touch the table with the tools, and get this same number that I end up with after subtracting the 3". So in this second scenario, the positive value that is entered in the G54 Z work offset is shown by the red arrows.

The above 2 approaches are nearly identical, but illustrate that it really doesn't matter WHAT you set your tools to, as long as you can measure/obtain that "difference" in height between what you set your tools to, and where the Z-origin is on your part in your CAM system. Once again though: if the tools have been touched off (measured) to the same surface as the origin in CAM (e.g. the top of the blank), then there will be no measurement necessary to "shift" the tool lengths -- G54 Z will be zero. A note on this: the Z origin can be pretty much anywhere! Top of the blank (which has "stock" to machine away), top of the "model", jaw of a vise, some surface on a fixture plate... whatever works for the approach to the design and the CAM. "Most" people start by using "top of the blank", and by touching tools directly on that surface, but other methods often allow a bit more freedom in things like re-using tools for other jobs (leaving tools in the machine's tool changer).


Work offsets:

In the second image, the top end of the blue line represents "HOME" on the machine, and this is typical for just about every Haas 3-axis VMC, and may be the same on your Fadal. That red line is pointing to the location that is X0, Y0, and Z0 as far as "machine" coordinates. So the spindle is in the top-right corner of the machine, and everything is going to be a negative value from there (MUCH easier to think about the spindle moving even though it's the table that's moving in X and Y on most machines).

In this scenario, I want to put my work offset at the center of the blank in both X and Y. So... doesn't matter how it's done: (edge-finder, probe, eyeball, tip of a drill lining up with a scratch line on the blank, etc.), but the X value in the work offset (likely: G54 X) will be a negative value (the distance shown by the pink arrows). The Y value in the work offset table will be a negative value shown by the green arrows. Easy.

Just like in the tool offsets, the X and Y work offsets can be pretty much anywhere! Vise jaw, fixture, anything you want, as long as the X/Y point set in the work offset table is at the same spot where the X/Y origin is in the CAM process.
_ _ _ _ _

There is one other thing I'd like to recommend -- always Always ALWAYS dry run a job "up in the air". (sorry, it's a phrase I use over and over at the college where I volunteer). haha!

If you DO set your tools to the "top of the blank", and say... the "deepest" any tool is going to go might be a drill that drills 1" deep, then just put a positive value of 2" in the G54 Z work offset. Now your program will run up in the air without touching anything. I encourage students to dry run either 2" or 3" up, because then it's simple to stop the machine at any point, and slide either the 2" or the 3" direction of a 1/2/3 block under the tip of the tool to make sure it's not hitting a vise jaw or something like that.

If you set your tools to something other than the part, then you can always ADD a few inches to the G54 Z value, dry run your part, and then subtract the value and cut your part. Some machines are set up to allow the use of G52, which will "comp" the G54 value. I prefer to use this method if available, because then the user is not messing with a previously set value in G54. Cell phone cameras can be a best friend -- snap a quick photo of the work offset page, and if any values have been messed with, it's easy to go back and compare to a photo.

OK... none of this may have been necessary for you, but I've been thinking about this stuff for the... "just starting out" crowd for a while.

:)

heights.jpg

work offsets.jpg
 
Last edited:
I think you guys are making this too difficult. Offsets are just the difference between the programmed numbers and the real numbers.

For example - tool offset. If the part program is written for a 4" long drill, and the one you have is 3.5" long, then you need a .5" positive offset. If it is 4.2" long then you need a .2" negative offset.

Work offsets - if the locating spot on your part is programmed at 2,3,5 but it is sitting on the table at machine coordinates of 3,5,7, then you need work offsets to account for the difference.

That's all that offsets are - the difference between what the part program is written for, and what you have in the real world when you make the parts.

In the olde dayes, before offsets, you had to place the part on the table exactly where the program was written and the tools had to be preset to be at the correct number. You don't really need them, but they sure are convenient.
 
Cole2534,

...snip

That is exactly what I needed to tie it all together. Thank you very much!

The Fadal coordinates are pretty easy, home is the cold start position which is X0, Y0, dead center of the table, and Z0 is the tool change position which is way up there in the clouds.

Call me a wussy, but I'm going to prove out some programs with the spindle off and a marker in a collet.
 
2) In the same image, the red arrow point to a slightly different scenario, and this is how I set tools on my Haas. I set the tools to the table. I do this by using a gauge (similar to the one made by Edge, but mine happens to be 3" tall when the indicator reads zero). Then after I've touched off all the tools to the gauge, I subtract 3" from every value that has been set in the tool table. Now all my tools are set to the table. If the tools were all long enough, I could theoretically jog down and actually touch the table with the tools, and get this same number that I end up with after subtracting the 3". So in this second scenario, the positive value that is entered in the G54 Z work offset is shown by the red arrows.

Cole, on your Fadal, the machine will do it for you. If you use the utilities menu under the tool offsets page, it will prompt you about which tools you want to touch off and the height of the touch off block you are using. It makes it really easy to set from 1 tool to and entire magazine. I think the only thing easier would be a in machine automatic setter. It goes really quick. Check out this vid. He also has a lot of others for very practical and basic info about setting up and running a Fadal. I have the exact same control if you have questions. There's a lot of info on this board too with people that know them really well.

YouTube
 
.....

There is one other thing I'd like to recommend -- always Always ALWAYS dry run a job "up in the air". (sorry, it's a phrase I use over and over at the college where I volunteer). haha!

Fine for rookies or during training but not the best way to hold onto your job so maybe not always.
Like we have the money to waste doing such, perhaps you'd like to get paid 1/2 your hourly rate which is what you do to the job being run.
Bob
 
That is exactly what I needed to tie it all together. Thank you very much!

The Fadal coordinates are pretty easy, home is the cold start position which is X0, Y0, dead center of the table, and Z0 is the tool change position which is way up there in the clouds.

Call me a wussy, but I'm going to prove out some programs with the spindle off and a marker in a collet.


On the older Japax wire machines, the "graphics" were a pencil in a holder and paper taped to the back of the machine on a little table, literally!! :eek:

If you are hand coding I guess your approach is ok, but if you have cad/cam a decent (don't 'need' vericut, just something) sim will go a long ways.
 








 
Back
Top