📖 Scenario: You are programming a CNC milling machine. The machine moves its cutting tool along three main directions called axes: X (left-right), Y (front-back), and Z (up-down). You will write simple code to control these axes to move the tool to specific positions.
🎯 Goal: Build a simple CNC program that sets initial positions for the X, Y, and Z axes, defines a safe height, moves the tool to a target position, and then prints the final position of the tool.
📋 What You'll Learn
Create variables for the X, Y, and Z axes positions with exact values
Create a variable for a safe height value
Write code to move the tool to a new position using the axes variables
Print the final position of the tool in the format: 'Tool position: X=..., Y=..., Z=...'
💡 Why This Matters
🌍 Real World
CNC milling machines use X, Y, and Z axes to control the cutting tool's position precisely. Programming these movements correctly is essential for making accurate parts.
💼 Career
Understanding machine axes and how to control them is a fundamental skill for CNC programmers and manufacturing engineers.
Progress0 / 4 steps
1
Set initial positions for X, Y, and Z axes
Create three variables called X, Y, and Z and set them to 0, 0, and 5 respectively. These represent the starting positions of the milling tool.
CNC Programming
Hint
Think of X and Y as the flat surface directions, and Z as the height above the surface.
2
Define a safe height for tool movement
Create a variable called safe_height and set it to 10. This is the height the tool moves up to avoid hitting the workpiece when moving horizontally.
CNC Programming
Hint
Safe height is higher than the starting Z position to avoid collisions.
3
Move the tool to a new position using axes variables
Write code to move the tool up to safe_height, then move horizontally to X = 20 and Y = 15, and finally move down to Z = 2. Update the variables X, Y, and Z accordingly.
CNC Programming
Hint
Move up first, then move X and Y, then move down.
4
Print the final position of the tool
Write a print statement that outputs the final position of the tool in the format: Tool position: X=20, Y=15, Z=2 using the variables X, Y, and Z.
CNC Programming
Hint
Use an f-string to include variable values inside the print statement.
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
Step 1: Understand axis directions in milling
The X and Y axes control horizontal movements, while the Z axis controls vertical movement.
Step 2: Identify the axis for up and down movement
The Z axis moves the tool up and down, controlling cutting depth.
Final Answer:
Z axis -> Option B
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
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.
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.
Final Answer:
G01 X10 Y20 Z-5 -> Option C
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
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.
Step 2: Identify final coordinates after last command
The last command sets position to X=10, Y=10, Z=-3.
Final Answer:
X=10, Y=10, Z=-3 -> Option A
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
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).
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.
Final Answer:
Missing Z coordinate in first line causes unexpected Z position -> Option A
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?