What is the purpose of the O number at the start of a G-code program?
The O number is the program number or ID. It helps the CNC machine identify and select the program to run, like a name tag for the program.
Click to reveal answer
beginner
What does the G00 command do in a G-code program?
G00 tells the machine to move the tool quickly to a new position without cutting. Think of it as moving your hand fast to a new spot before starting to draw.
Click to reveal answer
beginner
Why is it important to have a M30 command at the end of a G-code program?
M30 signals the end of the program and resets the machine to the start. It’s like saying "I’m done" so the machine knows to stop and get ready for the next job.
Click to reveal answer
intermediate
What role do G-codes and M-codes play in a G-code program?
G-codes control the tool’s movements and actions (like moving, cutting), while M-codes control machine functions (like turning the spindle on/off). Together, they tell the machine what to do step-by-step.
Click to reveal answer
intermediate
Explain the typical structure order of a simple G-code program.
A simple G-code program usually starts with the program number (O), then setup commands (like tool selection and spindle on), followed by motion commands (G00, G01), and ends with the program stop command (M30).
Click to reveal answer
What does the O1000 line represent in a G-code program?
ATool number
BProgram number or ID
CSpindle speed
DFeed rate
✗ Incorrect
The O number is the program ID used to identify the program.
Which command moves the tool quickly without cutting?
AG01
BM30
CG00
DM03
✗ Incorrect
G00 is the rapid positioning command for fast moves without cutting.
What does the M30 command do?
AStarts the spindle
BChanges tool
CMoves tool to home
DEnds the program and resets
✗ Incorrect
M30 ends the program and resets the machine for the next run.
Which codes control machine functions like spindle on/off?
AM-codes
BG-codes
CT-codes
DF-codes
✗ Incorrect
M-codes control machine functions such as spindle and coolant.
What is the correct order in a simple G-code program?
AProgram number, setup commands, motion commands, end command
BEnd command, motion commands, setup commands
CMotion commands, program number, end command
DSetup commands, end command, program number
✗ Incorrect
A typical program starts with the program number, then setup, motion, and ends with the stop command.
Describe the main parts of a G-code program and their purpose.
Think about how the program starts, what it does, and how it finishes.
You got /4 concepts.
Explain the difference between G-codes and M-codes in a G-code program.
One controls motion, the other controls machine actions.
You got /3 concepts.
Practice
(1/5)
1. What is the correct way to start a G-code program?
easy
A. Write G90 as the first line
B. Start with the command M30
C. Use G01 to start the program
D. Begin with a program number like O1000
Solution
Step 1: Identify the program start syntax
G-code programs start with a program number, usually written as O1000 or similar.
Step 2: Understand the role of other commands
M30 ends the program, G01 and G90 are motion and positioning commands, not start markers.
Final Answer:
Begin with a program number like O1000 -> Option D
Quick Check:
Program start = O1000 [OK]
Hint: Program always starts with O-number like O1000 [OK]
Common Mistakes:
Confusing M30 as start instead of end
Using motion commands as start
Skipping program number line
2. Which of the following lines correctly ends a G-code program?
easy
A. G00 X0 Y0
B. O1000
C. M30
D. G90
Solution
Step 1: Identify the program end command
The command M30 is used to stop and end a G-code program.
Step 2: Differentiate from other commands
G00 moves the tool, G90 sets positioning mode, and O1000 is a program number, not an end command.
Final Answer:
M30 -> Option C
Quick Check:
Program end = M30 [OK]
Hint: Program ends with M30 command [OK]
Common Mistakes:
Using motion commands as program end
Confusing program number with end command
Omitting M30 at program end
3. Given the following G-code snippet, what is the tool's final position?
O1000
G90
G00 X10 Y5
G01 X20 Y15 F100
M30
medium
A. X20 Y15
B. X10 Y5
C. X0 Y0
D. X100 Y100
Solution
Step 1: Trace the tool movements
G00 X10 Y5 moves the tool rapidly to X=10, Y=5. Then G01 X20 Y15 F100 moves it linearly to X=20, Y=15.
Step 2: Identify final position before program end
The last position command is G01 X20 Y15, so the tool ends at X=20, Y=15.
Final Answer:
X20 Y15 -> Option A
Quick Check:
Last move = X20 Y15 [OK]
Hint: Final position is last coordinate command before M30 [OK]
Common Mistakes:
Confusing rapid move (G00) as final position
Ignoring linear move (G01)
Assuming start position is final
4. Identify the error in this G-code program snippet:
O2000
G01 X10 Y10
G90
M30
medium
A. G90 should come before G01 for positioning mode
B. M30 is used incorrectly
C. Missing program start number
D. No error, program is correct
Solution
Step 1: Check command order for positioning
G90 sets absolute positioning and should be set before any move commands like G01.
Step 2: Analyze the given order
The program moves with G01 before setting G90, which can cause unexpected positioning behavior.
Final Answer:
G90 should come before G01 for positioning mode -> Option A
Quick Check:
Set positioning mode before moves [OK]
Hint: Set G90 before moves to avoid positioning errors [OK]
Common Mistakes:
Placing G90 after move commands
Ignoring command order importance
Assuming M30 ends program incorrectly
5. You want to write a G-code program that sets absolute positioning, moves the tool to X=50 Y=50 at feed rate 200, then ends the program. Which is the correct structure?
hard
A.
O3000
G01 X50 Y50 F200
G90
M30
B.
O3000
G90
G01 X50 Y50 F200
M30
C.
G90
O3000
G01 X50 Y50 F200
M30
D.
O3000
M30
G90
G01 X50 Y50 F200
Solution
Step 1: Confirm program start and positioning
The program must start with a program number O3000 and set absolute positioning G90 before moves.
Step 2: Check move command and program end
G01 X50 Y50 F200 moves the tool at feed rate 200, and M30 ends the program properly.
Final Answer:
O3000
G90
G01 X50 Y50 F200
M30 -> Option B
Quick Check:
Start with O-number, set G90, move, then M30 [OK]
Hint: Start with O-number, set G90, move, then M30 to end [OK]
Common Mistakes:
Placing M30 before moves
Setting G90 after moves
Starting without program number
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.