Bird
Raised Fist0
CNC Programmingscripting~10 mins

Machine axes (X, Y, Z for milling) in CNC Programming - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Machine axes (X, Y, Z for milling)
Start
↓
Set X axis position
↓
Set Y axis position
↓
Set Z axis position
↓
Move tool to (X,Y,Z)
↓
Perform milling operation
↓
End
The flow shows setting each axis position (X, Y, Z) step-by-step, then moving the tool to that position to perform milling.
Execution Sample
CNC Programming
G01 X10 Y20 Z-5 F100
; Move tool to X=10, Y=20, Z=-5 at feed rate 100
This command moves the milling tool linearly to position X=10, Y=20, Z=-5 at a speed of 100 units per minute.
Execution Table
StepCommand PartAxisValueActionTool Position After
1G01N/AN/ASet linear move mode(0,0,0)
2X10X10Set X axis target to 10(10,0,0)
3Y20Y20Set Y axis target to 20(10,20,0)
4Z-5Z-5Set Z axis target to -5(10,20,-5)
5F100N/A100Set feed rate to 100(10,20,-5)
6Execute moveX,Y,Z(10,20,-5)Move tool to (10,20,-5)(10,20,-5)
7EndN/AN/AMovement complete(10,20,-5)
💡 Tool reached target position (10,20,-5), movement complete.
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 4Final
X010101010
Y00202020
Z000-5-5
Feed RateDefaultDefaultDefault100100
Tool Position(0,0,0)(0,0,0)(0,0,0)(10,20,-5)(10,20,-5)
Key Moments - 2 Insights
Why does the tool position update only after all axes are set, not after each axis command?
Because the machine waits to receive all axis positions before moving the tool in one smooth motion, as shown in execution_table step 6 where the move happens after all axes are set.
What does a negative Z value mean in milling?
A negative Z value means the tool moves down below the surface level to cut into the material, as seen in step 4 where Z is set to -5.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the tool position after step 3?
A(10,0,0)
B(0,20,0)
C(10,20,0)
D(0,0,0)
💡 Hint
Check the 'Tool Position After' column in row for step 3.
At which step does the tool actually move to the target position?
AStep 6
BStep 4
CStep 5
DStep 7
💡 Hint
Look for the row where action says 'Move tool to (10,20,-5)'.
If the Z value was set to 0 instead of -5, what would change in the execution table?
AX and Y values would be zero
BTool position after step 4 would be (10,20,0)
CFeed rate would change
DNo change at all
💡 Hint
Check how Z value affects tool position in variable_tracker after step 4.
Concept Snapshot
Machine axes X, Y, Z define tool position in 3D space.
Commands set target positions for each axis.
Tool moves after all axes are set, in a smooth linear path.
Negative Z means cutting down into material.
Feed rate controls movement speed.
Example: G01 X10 Y20 Z-5 F100 moves tool to (10,20,-5) at speed 100.
Full Transcript
This visual execution shows how a milling machine moves its tool using X, Y, and Z axes. First, the machine sets the X position to 10, then Y to 20, and Z to -5, which means the tool moves down into the material. The feed rate is set to 100 units per minute. The tool does not move until all axis positions are set, then it moves smoothly to the target point (10,20,-5). The execution table tracks each step, showing how variables change and when the tool moves. This helps beginners understand how machine axes control tool movement in milling.

Practice

(1/5)
1. Which axis controls the up and down movement of the milling tool in CNC programming?
easy
A. Y axis
B. Z axis
C. X axis
D. A axis

Solution

  1. Step 1: Understand axis directions in milling

    The X and Y axes control horizontal movements, while the Z axis controls vertical movement.
  2. Step 2: Identify the axis for up and down movement

    The Z axis moves the tool up and down, controlling cutting depth.
  3. Final Answer:

    Z axis -> Option B
  4. Quick Check:

    Z axis = vertical movement [OK]
Hint: Remember Z is vertical, X and Y are horizontal [OK]
Common Mistakes:
  • Confusing X or Y for vertical movement
  • Thinking A axis is vertical
  • Mixing axis directions
2. Which of the following is the correct G-code command to move the tool in a straight line to X=10, Y=20, Z=-5?
easy
A. G02 X10 Y20 Z-5
B. G00 X10 Y20 Z-5
C. G01 X10 Y20 Z-5
D. G03 X10 Y20 Z-5

Solution

  1. Step 1: Identify G-code commands for movement

    G01 is used for linear (straight line) movement at controlled feed rate. G00 is rapid move, G02 and G03 are circular moves.
  2. Step 2: Match command with desired straight line move

    To move in a straight line to X=10, Y=20, Z=-5, use G01 with those coordinates.
  3. Final Answer:

    G01 X10 Y20 Z-5 -> Option C
  4. Quick Check:

    G01 = linear move [OK]
Hint: G01 means straight line move, G00 is rapid move [OK]
Common Mistakes:
  • Using G00 for cutting moves
  • Confusing G02/G03 with linear moves
  • Omitting Z coordinate
3. What will be the final position of the tool after executing the following commands?
G01 X5 Y5 Z0
G01 X10 Y5 Z-3
G01 X10 Y10 Z-3
medium
A. X=10, Y=10, Z=-3
B. X=10, Y=5, Z=-3
C. X=5, Y=5, Z=-3
D. X=10, Y=10, Z=0

Solution

  1. Step 1: Trace each G01 command's effect on position

    First move: X=5, Y=5, Z=0. Second move: X=10, Y=5, Z=-3. Third move: X=10, Y=10, Z=-3.
  2. Step 2: Identify final coordinates after last command

    The last command sets position to X=10, Y=10, Z=-3.
  3. Final Answer:

    X=10, Y=10, Z=-3 -> Option A
  4. Quick Check:

    Final position = last command coordinates [OK]
Hint: Last G01 command sets final position [OK]
Common Mistakes:
  • Ignoring Z coordinate changes
  • Mixing up command order
  • Assuming position resets
4. Identify the error in this CNC code snippet:
G01 X15 Y10
G01 Z-2
G01 X20 Y15 Z-2
medium
A. Missing Z coordinate in first line causes unexpected Z position
B. Z coordinate cannot be negative
C. G01 cannot be used multiple times consecutively
D. X and Y coordinates must be integers

Solution

  1. Step 1: Analyze the first G01 command

    The first line moves X and Y but omits Z, so Z stays at previous value (unknown or last set).
  2. Step 2: Understand impact of missing Z coordinate

    Omitting Z means the tool may not move vertically as expected, causing potential errors in cutting depth.
  3. Final Answer:

    Missing Z coordinate in first line causes unexpected Z position -> Option A
  4. Quick Check:

    Omitting axis coordinate keeps previous value [OK]
Hint: Always specify Z if vertical position changes [OK]
Common Mistakes:
  • Thinking negative Z is invalid
  • Believing G01 can't repeat
  • Assuming coordinates must be integers
5. You want to mill a square pocket 10 units wide and 10 units long, starting at X=0, Y=0, and cutting down 2 units deep. Which sequence of commands correctly moves the tool to mill the pocket edges at depth?
hard
A. G00 Z-2 G01 X10 Y0 G01 X10 Y10 G01 X0 Y10 G01 X0 Y0 G01 Z0
B. G01 X0 Y0 G01 X10 Y0 G01 X10 Y10 G01 X0 Y10 G01 X0 Y0 G01 Z-2 G01 Z0
C. G00 Z-2 G01 X10 Y0 G01 X10 Y10 G01 X0 Y10 G01 X0 Y0 G00 Z0
D. G01 X0 Y0 Z-2 G01 X10 Y0 Z-2 G01 X10 Y10 Z-2 G01 X0 Y10 Z-2 G01 X0 Y0 Z-2 G01 Z0

Solution

  1. Step 1: Set cutting depth before horizontal moves

    To cut at depth, Z must be set to -2 before moving in X and Y axes.
  2. Step 2: Move tool around square edges at constant depth

    Commands must keep Z at -2 while moving X and Y to mill the pocket edges.
  3. Step 3: Retract tool after finishing

    Return Z to 0 to lift the tool safely after cutting.
  4. Final Answer:

    G01 X0 Y0 Z-2 G01 X10 Y0 Z-2 G01 X10 Y10 Z-2 G01 X0 Y10 Z-2 G01 X0 Y0 Z-2 G01 Z0 -> Option D
  5. Quick Check:

    Set Z depth first, move XY at depth, then retract [OK]
Hint: Set Z depth before XY moves, retract after [OK]
Common Mistakes:
  • Moving XY before setting Z depth
  • Using rapid moves (G00) for cutting
  • Changing Z during XY moves
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard