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.