INTRODUCTION:
Before you cut any metal on a VMC, you need to teach the machine where your part and tools are – that’s called taking offsets. There are two main types: the work offset (like G54), which tells the machine where the part's zero point is located on the table, and tool length offsets, which tell the machine how long each tool is relative to the spindle gauge line. For a rough block that needs facing, you have two ways to remove material from the top surface. Manually, you would first set your work offset by touching the top of the block with the tool (using a piece of paper or a probe) and recording that Z value into G54. Then, switch to JOG or HANDLE mode, start the spindle, and carefully move the tool across the top of the block, taking light passes until the entire surface is clean – this gives you direct feel but takes patience. The programming method is more efficient: after setting the same offset, you load or write a short facing program (e.g., a G81 or a simple G01 loop that travels back and forth) into memory, switch to AUTO or MDI, and let the machine run the facing cycle automatically. No matter which method you choose, always keep your hand near the feed hold button. And finally, the RESET key – it's your emergency brain reset. Pressing it stops all motion, cancels any active commands, and puts the control back into a neutral state. Use RESET when you see something wrong, when a program is stuck, or before you switch modes. It does not turn off the machine, but it clears the current thought process. The golden rule for a new operator: practice taking offsets slowly, test your facing pass in the air (above the part), and remember that RESET is your friend – not a sign of failure, but a tool for staying safe.
Taking Offset:
Taking offsets is one of the most critical steps in CNC machining. If your offsets are wrong, the machine will cut in the wrong place, or worse, crash. There are two types of offsets you must set before running any program. One is Work Coordinate Offset (WCS - G54) which tells the machine where the raw material (X0, Y0, Z0) is located on the table. And second is Tool Length Offset which tells the machine the exact length of each individual tool.
Here is the professional, step-by-step practical guide on how to take both offsets on a VMC.
1. Taking X and Y Work Offsets:
Here you find two opposite edges, let the machine calculate the distance between them, and split that distance exactly in half.Switch to MDI mode and Type M03 S1000 ; and press Cycle Start button, this will start spindle. You can start spindle only if you are using edge finder.
If you are new operator and if you are doing this process with a standard cutting tool like an end mill or a solid test bar instead of a spring-loaded edge finder, DO NOT spin the spindle. Keep the spindle completely stationary (M05) to avoid chipping the tool or gouging your workpiece face.
Switch to JOG mode and slowly bring the tool down so it is deep enough to touch the face of the block. now move the tool to the left side of your raw material.
Switch to HANDLE (MPG) mode at x10 multiplier. Slowly move the tool in the +X direction toward the left face of the part.
Drop down to x1 multiplier as you get very close. Watch the tip carefully. Move the axis until the tool just makes contact with the first side (Side A).
Once the tool is touching Side A, do not move the machine. Look at your controller screen.
Press the POS (Position) hard key. Press the RELATIVE softkey on the screen so you can see your relative coordinate display.
Now in typing bar, Press the letter key of the axis you are setting (e.g., X). Once you type X, the X on display will start blinking.
Press the ORIGIN or PRESET softkey, then EXECUTE softkey. Your relative display for that axis will now read 0.000. You have just told the controller: "Remember this exact spot as my starting point."
Now carefully move the Z-axis straight up so the tool clears the top of the workpiece. Move the axis across the block to the completely opposite side i.e. Side B.
Move the Z-axis back down to the exact same depth you used on the first side. Now slowly move the axis until the tool makes contact with Side B.
Look back at your Relative Coordinate display. Because you zeroed it at Side A, the screen is now showing you the exact total distance the machine traveled from Side A to Side B.
e.g. Let's say your relative display reads X 110.000 mm.
To find the exact middle of the block, take the value on your relative screen and divide it by 2.
e.g. 110.000 / 2 = 55.000 mm.
Now that 55.0 mm is our coordinates of center of X axis. Using your HANDLE (MPG) wheel, slowly back the machine away from the part face and move it until your Relative Coordinate display reads exactly that halved number you just calculated i.e. X 55.000.
When your screen reads exactly that half-value, the centerline of your spindle is sitting exactly in the dead center of your workpiece.
Now that the spindle is perfectly centered, you need to store this position into the machine’s permanent memory.
Press the OFFSET/SETTING hard key on your panel. Press the WORK softkey to view your work coordinate offsets (G54, G55, etc.).
Use the cursor arrow keys to highlight the axis you are setting under your target offset (e.g., G54 X). So we will position our arrow in G54 -> X.
Type the letter of the axis followed by zero: X0. Press the MEASURE softkey at the bottom of the screen. The controller will automatically pull the machine's current absolute position and overwrite the registry. Your machine now knows exactly where the center of the part is.
Apply the same process to the Y-Axis.
Advantages of this method is that you do not need to do any addition or subtraction for your tool. Because you are touching opposite faces with the exact same side of the tool, the tool radius cancels itself out perfectly during the division step. The center of the spindle aligns perfectly with the center of the workpiece block every single time.2. Taking Z Work Offsets:
Taking your Z-axis offset correctly ensures your tools don't smash into the workpiece or cut too shallow. Here is the exact step-by-step workflow to set your Z offsets safely.Setting the Tool Length Offset (TLO) for Each Tool:
The goal here is to measure the exact distance from the spindle face to the tip of each individual tool and store it in the Tool Geometry register (H code).
Ensure the spindle is completely stopped (M05). Clean the part of your raw workpiece which you want to be your Z0 usually the top face of your raw material block.
Switch the machine to JOG mode. Carefully bring the tool down until it is hovering roughly 10--15 mm right above the plunger of the tool setter block.
Switch to HANDLE (MPG) mode at the x10 multiplier. Slowly wind the Z-axis down. Now take piece of paper and place it between tool and job.
Drop down to the x1 multiplier and slowly wind the Z-axis down, while moving paper back and forth.
The moment paper stops moving, do not move machine. Look at your controller screen.
Press the OFFSET/SETTING hard key on your panel. Press the OFFSET softkey and navigate to the GEOMETRY tab.
Move your cursor down to the tool number you are setting (e.g., G01 for Tool 1).
Type Z and then press the INP-C. (Input Register) or MEASURE softkey. If INP-C option is not visible then press OPRT key, it will become visible.
Repeat this exact same process for Tool 2, Tool 3, and so on, touching each one to the exact same 50mm block on top of the workpiece and saving their values in their respective geometry rows (G02, G03, etc.).
BUT YOU SHOULD SET YOUR G54 Z TO 0 BEFORE CYCLE START.
Safety Checklist Before Pressing Cycle Start:
Once your X, Y, and Z numbers are written into the controller, verify them with this quick check. In MDI mode, call your tool and run a safe positioning code like:G90 G54 G00 X0 Y0 ;
The tool should move directly over the center/corner of your raw block.
Then type: G43 H01 Z100.0 ; (Assuming Tool 1).
The machine will apply your tool length offset and bring the tool tip down. Take a physical steel scale or ruler and check if the distance between the tool tip and your raw stock looks like exactly 100 mm. If it matches, your offsets are perfect!
You can also type Machine Coordinates directly into the WORK Offset (G54):
If you find the center of your workpiece in X and Y, look at your machine coordinates, and see:Machine Coordinates: X-400.500 & Y-200.300
Instead of typing X0.0 ---> MEASURE, you can do this:
Go to the WORK offset page (G54). Move the cursor to the X column. Type -400.500 and press the INPUT softkey.
Move the cursor to the Y column. Type -200.300 and press the INPUT softkey.
Why this works?
The G54 page is designed to hold the raw distance from Machine Home to your Work Zero. By typing the machine coordinates directly and pressing INPUT, you are manually entering that distance. The machine now knows exactly where your center is.
2. Typing Machine Coordinates directly into the TOOL GEOMETRY (Z):
This is where you have to be extra careful depending on how your specific shop sets up its Z-axis workflow. If you bring Tool 2 down to touch the top of the job, and your machine coordinate reads -300.200 mm, you can absolutely type -300.200 directly into the Row 02 Geometry column and press INPUT.But remember the Master Z Rule we discussed earlier:
If your G54 Z is set to 0.0: Typing the true machine coordinate (-300.200) directly into the tool geometry table will work perfectly. When the program calls G54 and G43 H02, it will go exactly to the top of your job.
If your shop uses a 50mm gauge block: If you touched a 50mm block instead of the bare metal, you cannot type -300.200. You have to manually do the math first: $-300.200 - 50.000 = -350.200 mm, and then type that number into the tool table.
Facing of rough block by manually and programming:
First, create a simple, dedicated program just for the facing operation. Do not mix it with your main CAM program.Switch the mode dial to EDIT. Press the PROG key, type an unused program number (e.g., O0099;), and press INSERT. Type out a safe, simple multi-pass zigzag program.
Here is a standard template for a 100 mm * 100 mm block using a 60 mm Face Mill (Tool 1).
O0099 (RAW BLOCK FACING) ;
G21 G90 G40 G80 ; (Safety Block)
T01 M06 ; (Load Face Mill)
M03 S1200 ; (Start Spindle)
G54 G00 X-50.0 Y20.0 ; (Position safely off the left edge)
G43 H01 Z0.0 M08 ; (Bring tool to your Rough Z-Zero)
G01 X150.0 F500 ; (Pass 1 across the block)
G00 Z5.0 ; (Retract Z)
X-50.0 Y-20.0 ; (Move back to left side, shift Y down)
G00 Z0.0 ; (Bring Z back down)
G01 X150.0 F500 ; (Pass 2 across the block)
G00 Z100.0 M09 ; (Safe Z Retract, Coolant Off)
M05 ; (Spindle Stop)
M30 ; (Program End and Reset)
Taking the Rough Offsets:
Because the block is rough, you don't care about micron-accuracy right now. You just want to establish a safe reference point so the cutter removes the top skin.
For X and Y:
Use your midpoint method or an eye-estimation to find the approximate center of the rough block. Move the tool there, go to G54, type X0.0 --> MEASURE, and Y0.0 --> MEASURE. As long as your face mill is wide enough to cover the material, being off by 1-2 mm on a rough block will not matter.
For Z:
Switch to HANDLE mode. Move your face mill directly over the highest physical spot on the rough top surface of the block.
Slowly lower the tool until it is just barely touching that highest peak (you can use a piece of paper between the tool and the block & when the paper traps, stop).
Look at your machine coordinate (e.g., -250.0). Go to your Tool Geometry (H01), type Z, and press MEASURE.
Because the surface is uneven, you want to make sure the first cut doesn't plunge too deeply into a hidden high spot. Go to your G54 Z work offset page, type 2.0, and press +INPUT.
Why do we add 2.0mm to G54 Z?
This shifts your entire program 2 mm higher into the air. When you run the program, the tool will execute its path 2 mm above the peak you measured, acting as a safe "air cut" or a very light skimming pass so you can see exactly how uneven the block is without overloading the cutter.Switch the mode dial to AUTO (or MEM). Ensure program O0099 is selected on the screen.
Turn Single Block (SBK) ON and drop your Rapid/Feed overrides to 25%. Press Cycle Start to step through the safe approach. Once the tool begins moving across the part safely, turn Single Block OFF and let it complete the facing pass.
If the block was very rough and sections are still black or un-machined, do not rewrite the program! Simply go back to your G54 Z page, type -0.5, press +INPUT, which drops the tool down by 0.5 mm, and press Cycle Start to run the program again. Repeat this until the top face is perfectly flat, smooth, and clean.
Now you have a perfectly flat, shiny, and precise top face. Leave your standalone facing program O0099 behind in the memory.
Switch to EDIT mode and open your main program number i.e. the heavy toolpath you transferred from PowerMill.
Now that the surface is perfectly flat, bring your master setup tool down to touch this beautiful new clean face. Re-take your final, high-precision X, Y, and Z offsets at this exact location.
Reset your G54 Z back to 0.0, and switch to AUTO --> CYCLE START
Manual Edge-to-Edge Facing Pass Method:
Instead of using a predefined offset, you use the machine's current Machine Coordinates (or your Relative Display) to find the physical boundaries of your block, and you write those raw numbers directly into your manual program.How to do this?
Switch to HANDLE mode. Move your face mill to the front-left corner of the rough block. Position it so the cutter is hanging in the air, cleared roughly 10 mm to the left (-X) and 10mm forward (-Y) from the material.Slowly lower the Z-axis until the bottom of the face mill insert is just barely skinning the highest peak of the rough metal.
Stop the machine right there. Look at your controller screen:
• Press the POS hard key, then select the RELATIVE softkey.
• Press X --> ORIGIN (or 0).
• Press Y --> ORIGIN (or 0).
• Press Z --> ORIGIN (or 0).
Your relative screen now reads X0.000, Y0.000, Z0.000. This air-pocket corner is now your temporary program start point.
Turn the handwheel in the +X direction to move the cutter all the way across the block until it fully clears the right edge. Look at your relative display. Let's say it reads X 160.000. Write that number down! This is your cutting length.
Before writing any program and play AUTO, bring the tool tip back to the exact physical front-left corner location.
Writing the Multi-Depth Incremental Program:
Switch to EDIT mode and open a new program (e.g., O0111). Because we are not using G54 or G53, we will keep the machine in Incremental Mode (G91) for the cutting loop.Here is how you structure 4 passes of depth, taking down 0.5 mm per pass (total 2.0 mm removal):
Here we assume that you already called your specific tool and it is spinning. Since your tool is already hovering at your starting point and the spindle is already spinning at your desired RPM, your program can jump straight into the action:
If you want, then you can also add spindle spinning program.
O0112 (ZIGZAG MULTI DEPTH FACING) ;
G21 G40 G80 ; (Standard Safety Block)
THE MACHINE STARTS CUTTING IMMEDIATELY FROM HERE
G91 G01 Z-0.5 F200 ; (PASS 1: Plunge 0.5mm deep at the front-left corner)
X160.0 F500 ; (Cut from Left to Right)
G01 Z-0.5 F200 ; (PASS 2: Plunge another 0.5mm deeper right here on the right edge)
X-160.0 F500 ; (Cut backward from Right to Left)
G01 Z-0.5 F200 ; (PASS 3: Plunge another 0.5mm deeper back on the left edge)
X160.0 F500 ; (Cut forward from Left to Right again)
G01 Z-0.5 F200 ; (PASS 4: Final 0.5mm plunge)
X-160.0 F500 ; (Final cut backward from Right to Left)
(SAFE EXIT)
G90 G00 Z100.0 M09 ; (Switch back to absolute mode to lift Z completely clear)
M05 ; (Spindle Stop)
M30 ; (Program End and Reset)
If you wanted cleaner surface finish, you should keep machining in one direction by lifting the tool up and ran back in the air because we wanted to perform Climb Milling.
Before you switch to AUTO mode and hit Cycle Start, you must manually use your JOG/HANDLE wheel to bring the tool tip back to the exact physical front-left corner location where you cleared your relative display screen in Step 1.
If you press Cycle Start while the spindle is parked somewhere else (like near the tool changer or mid-table), the program will immediately plunge down right there and run its 160 mm cutting loop blindly in the air or into a fixture wall.
To bring your tool back to that exact starting location before hitting Cycle Start, you have two choices: you can do it manually using the Relative Screen.
Switch your dial to HANDLE (MPG) mode. Look only at the RELATIVE coordinate column on your screen (ignore Absolute and Machine coordinates).
Select the X-axis on your handwheel pendant. Turn the wheel until the Relative X display reads exactly 0.000. Select the Y-axis. Turn the wheel until the Relative Y display reads exactly 0.000. Select the Z-axis. Turn the wheel until the Relative Z display reads exactly 0.000.
Once all three letters on your Relative screen read 0.000, your tool tip is hovering back at your exact front-left safety corner. Your spindle is spinning, and you are 100% safe to press Cycle Start.
Because this program contains no coordinate system references (G54 or G53), the machine has no idea where it is on the table when you hit start. It relies entirely on where the tool is sitting at that exact second.
Always keep your Feedrate Override at 0%, press Cycle Start, and slowly dial it up to confirm the tool paths are moving exactly over the block as intended!
You can absolutely do your facing completely manually using just the HANDLE (MPG) wheel! In fact, manual facing is a very common skill used by CNC machinists to quickly clean a block without typing a single line of G-code.
Before moving anything, you must get the tool spinning in the correct direction. Clamp your rough block securely in the vise.
Switch your machine dial to MDI mode. Press the PROG key and type your spindle command: M03 S1200 ;
Press INSERT, then press Cycle Start. Your face mill is now spinning safely at 1200 RPM.
Position the Tool at the Starting Corner:
Now you will manually position your tool at your front-left safety clearance point.Switch the machine dial to HANDLE mode. Select X on your handwheel and jog the tool to the left, completely clear of the block. Select Y and align the cutter so it covers the front strip of the material you want to cut. Select Z and bring the tool down until it is hovering just slightly above the highest peak of your rough material.
To make sure you take even depth cuts, you need a visual marker on your screen. Look at your control panel. Press the POS hard key, then select the RELATIVE softkey. Press Z, then press the ORIGIN (or 0) softkey.
Your Relative Z display now reads 0.000. This is your starting top surface reference.
Now you are ready to cut. Follow these steps carefully to ensure a smooth, professional finish:
Turn your handwheel selector to Z. Click the wheel down into the negative direction by -0.5 mm. Look at your Relative screen to confirm it reads exactly Z -0.500.
Feed Across the X-Axis :
Switch your handwheel selector to X and select the x100 multiplierTurn the wheel clockwise smoothly to feed the cutter from left to right across the block. Try to turn the wheel at a steady, continuous speed i.e. roughly 1 to 2 turns per second.
If you stop turning mid-cut, the tool will dwell in one spot, creating heat and leaving a visible gouge mark on your finish. Keep cranking until the face mill completely exits the right side of the metal block into clear air.
Shift the Y-Axis for the Next Pass:
If your block is wider than your face mill, you cannot just turn around and go back. You need to shift over:
While the tool is hanging in the air on the right side, switch your handwheel to Y. Turn the wheel to move the tool backward (+Y) by about 70% of tool diameter (e.g., if using a 63mm cutter, shift Y by about 40--45 mm). This ensures a clean overlap.
Switch your handwheel back to X. Turn the handwheel counter-clockwise smoothly to feed the tool backward from right to left across the block until it clears the left edge.
After one layer of material from job is removed, we still need to remove depth:
Bring the tool completely off the left side of the part. Switch to Z.
Look at your Relative display (which says -0.500) and click the wheel down another 5 divisions until it reads -1.000.
Repeat your X and Y feeding steps exactly like before.
Once your face is completely shiny and clean, switch your handwheel to Z, wind it up cleanly into the air, switch to MDI mode, and type M05; to stop the spindle.
RESET KEY:
The RESET key is the operator's main tool for clearing machine’s current state. Think of it as a "Stop and Clear" button. It doesn't delete programs or wipe out your offsets, but it instantly forces the CNC controller to drop whatever it is currently doing or thinking and return to a clean, baseline state.When you press the RESET key, the controller immediately stops executing G-code, shuts off all active internal calculations, and resets its system pointers.
It performs the following automatic actions:
• Instantly halts any feeding or rapid movements (G01, G00, G02, G03).
• Moves the flashing yellow cursor in your active program all the way back to the very first line i.e. the program head or O number.
• Clears any active canned cycles (G81, G83, etc.) and resets non-modal commands.
• On many machine configurations, pressing reset will automatically shut off the spindle rotation (M05) and turn off the coolant pump (M09) as a safety precaution.
How an Operator Uses the RESET Key?
A machinist uses the RESET key dozens of times throughout a shift. Here is the complete list of practical everyday applications on the shop floor:1. Stopping an Incorrect or Dangerous Movement:
If you press Cycle Start on a new PowerMill toolpath or an MDI line and notice the tool moving in the wrong direction, pressing RESET is your fastest way to stop a minor mistake before it becomes a major crash.
2. Rewinding a Program to the Beginning:
When a machining cycle finishes completely or you stop a program halfway through to inspect a part, the cursor sits at the bottom of the code. To prepare the machine to run the next raw block, the operator hits RESET to instantly jump the cursor back to the top line so it is ready for the next cycle.3. Clearing Alarms and Error Codes:
Whenever the machine hits a soft limit like an overtravel axis limit, encounters a syntax error in your code, or experiences a minor system fault, a flashing red alarm will pop up on the screen and lock the panel. Once you physically fix the issue such as jogging the axis out of the limit switch, pressing RESET clears the alarm message and unlocks the controller screen.
4. Clearing the MDI Input Buffer:
If you are typing a temporary line of code in MDI mode and make a complete mess of the block, or decide you don't want to run those commands anymore, hitting RESET wipes the temporary MDI scratchpad clean so you can start typing fresh.5. Resetting G-Code Modal Defaults:
If a previous program left the machine locked into an unusual state—like leaving it in Incremental mode (G91) or an alternate feed-per-revolution mode (G95)—pressing RESET instantly restores the controller back to its standard factory default startup modes usually Absolute $G90$, Feed-per-minute $G94$, and Inch/Metric defaults.While the RESET key is incredibly useful, using it carelessly can create dangerous setups. Keep thesethings in mind:
If you hit RESET while a tool is deep inside a pocket or threading a hole, the machine stops instantly exactly where it stands. It will not lift the tool up. Because the spindle stops spinning immediately after, you can easily snap a carbide tool or lock an end mill inside the workpiece. Always try to use FEED HOLD first, handle the tool out of the tight spot manually, and then press RESET.
0 Comments