SCOTT'S WORLD
← Back to Blog

CNC Coordinate Systems and Work Offsets Explained

Dr. Scott is not a licensed medical, legal, or financial professional. Content on this site is educational and informational only. Always do your own due diligence and consult qualified experts before making decisions based on the material here.

Part 3 of the CNC Machining Mini-Course. Start with Part 1 if you're just joining.

---

Here's something that trips up beginners every time: a CNC machine doesn't know where your part is. It knows where it is — relative to its own home position — but it has no idea that you clamped a 4-inch aluminum block in the vise three inches from the left side of the table. You have to tell it where your part is. That's what coordinate systems and work offsets are for.

When I was running my shop, coordinate setup mistakes were the most common source of crashes and scrapped parts, especially with new operators. Understanding this concept completely is non-negotiable.

---

The Machine Coordinate System (MCS)

Every CNC machine has a fixed machine home position — usually a corner or a specific point in the machine's travel envelope. When you power on the machine and do a "home" or "reference" cycle, the machine drives its axes to known positions (typically limit switches) and establishes zero from there.

This is the Machine Coordinate System (MCS) — also called the machine zero or machine home. It's fixed and never changes. The machine always knows where it is relative to this point.

The axes:

  • X — left/right on a mill
  • Y — front/back on a mill
  • Z — up/down on a mill (Z+ is up, away from the part)

On a lathe:

  • Z — along the length of the part (spindle axis)
  • X — radial distance (controls diameter; X+ moves the tool away from the part centerline)

---

The Work Coordinate System (WCS)

You don't write programs relative to machine home. You write programs relative to a work zero — a reference point on (or relative to) your actual part.

This work zero is typically placed at a corner of the part, or at the center, depending on part geometry and programmer preference. When you write G-code that says "move to X0 Y0," you mean "move to the work zero," not to machine home.

The connection between work zero and machine home is the work offset.

Common Work Offsets: G54 Through G59

Most CNC controllers (Haas, Fanuc, PathPilot) support multiple work coordinate systems, named G54 through G59 (and often more — G54.1 P1 through P48 on extended systems).

  • G54 is the most commonly used work offset
  • G55, G56, G57... allow multiple setups on the same table — useful for fixtures that hold several parts at once

When your program says `G54`, it tells the machine: "all coordinates from this point forward are relative to the G54 work offset." The controller looks up that offset, adds it to the machine position math, and the machine ends up at the right place on your part.

---

Setting Work Offsets: Probing and Edge Finding

To set a work offset, you need to find where your part is in machine space. Two main methods:

Edge Finder

A mechanical or electronic edge finder is a cylindrical tool you put in the spindle. At low RPM, you jog the machine until the edge finder touches each side of your part. When it makes contact, you note the machine coordinate and do the math to find the corner (accounting for the edge finder's radius — typically 0.100").

I used Haas machines with Renishaw probes in my shop eventually, which made this much faster — but learning to use an edge finder manually teaches you the fundamentals better than any probe will.

Spindle Probe

A probing routine uses a touch probe in the spindle to automatically locate your part, calculate offsets, and write them directly into the work offset registers. Haas has built-in probing cycles. Tormach PathPilot has a probe workflow too. Fast, accurate, great for production. Learn manual edge finding first.

---

Tool Length Offsets

There's a second offset you need to understand: the tool length offset (TLO).

When you put a tool in the spindle, that tool has a specific length. A 2-inch endmill and a 4-inch endmill, both in the same tool holder, will have different nose positions at the same Z machine coordinate. If you don't account for this, your Z depths will be wrong — sometimes dangerously wrong.

Tool length offsets tell the machine how long each tool is. You measure the length (using a tool setter, a probe, or a known reference surface) and store it in the tool offset table. When a program calls `T1 H1` (tool 1, height offset 1), the controller applies that stored length correction.

How Tool Length Is Measured

The most common method in a small shop:

1. Touch the tool tip to a known surface (often the top of a 1-2-3 block on the table)

2. Note the Z machine coordinate at that moment

3. Enter it as the tool length offset

Production shops use a tool presetter — a standalone device that measures tool length outside the machine, so you're not consuming spindle time on measurement.

---

Z Zero: Where Does Your Program Think the Top of the Part Is?

One of the most common setup decisions: where is Z zero on your part?

Top of part (most common for milling): Z0 is the top surface of the stock. All cuts go in the Z-minus direction. This is intuitive — you're always cutting down into the material.

Top of fixture / vise jaws: Z0 is at the datum of the fixturing, not the actual stock surface. Requires knowing exact stock height.

Bottom of part: Z0 is the finished floor. Less common in general machining.

For beginners: put Z zero at the top of your stock. It's the simplest mental model and the most forgiving if stock height varies slightly.

---

The Full Coordinate Chain

Here's the complete picture, from machine power-on to a tool touching your part at the right location:

1. Machine powers on → axes reference home → Machine Coordinate System established

2. You clamp your part in the vise → use edge finder or probe → find work zero location in machine coordinates

3. You enter those coordinates into the G54 offset table

4. You measure each tool's length → enter into tool offset table

5. Program calls `G54` → machine now interprets all X/Y/Z coordinates relative to your part

6. Program calls `T1 H1` → machine applies tool length correction in Z

7. Program says `G00 X1.0 Y0.5 Z0.1` → machine moves to that exact location on your part

Every step in that chain matters. Miss one and you're either air-cutting an inch above your part, or you're burying a tool into the vise at full rapid speed.

I've seen both happen. Neither is fun.

---

Practical Tips From the Shop

Always verify your offsets before cutting. After setup, jog the machine to X0 Y0 in the work offset and visually confirm the spindle is over the expected corner. Then bring Z down slowly (without a tool if possible) and confirm Z0 is at the top of your material.

Write it down. Keep a setup sheet for every job. Which offset? Where's X0 Y0? What's the stock Z height? When you run that job again in six months, you'll thank yourself.

Understand what "rapid" means. G00 (rapid motion) is the machine's fastest movement speed — typically 500–800 IPM on a Haas. If your offsets are wrong, rapid moves will slam the tool into your part faster than you can hit e-stop. This is how crashes happen.

Use a safe Z height. Always include a "clearance plane" move in your programs — a Z height well above your part and fixtures where the machine can move in X/Y at rapid without hitting anything. G00 Z1.0 (one inch above Z zero) before every XY move is a good habit.

Next post we get into G-code itself — the actual language the machine reads.

Dr. Scott

CommentsMEMBERS ONLY· COMING SOON

Silver Membership — Coming Soon

Members will be able to comment on every post.
Members also get a random monthly ebook discount, early access to new content, and more.

Learn More in Shop →

Stay in the loop

New posts and drops — no spam, ever.

🏆 Active Giveaway — Free to Enter

Win NBA game tickets. Two sweepstakes running. No purchase necessary.

Enter Now →

COOKIE NOTICE

Scott's World uses browser storage to remember your preferences and help the site behave consistently. No analytics or marketing cookies are active right now. If tracking or analytics are added later, this policy will be updated.

Privacy Policy