Bird
Raised Fist0
CNC Programmingscripting~3 mins

Why Variables (#1, #2) in programs in CNC Programming? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if one small change could fix your whole CNC program instantly?

The Scenario

Imagine you are manually setting the same measurement over and over on a CNC machine for each part. You have to remember each value and type it carefully every time.

The Problem

This manual method is slow and easy to mess up. One wrong number means a wrong cut, wasting material and time. It's hard to keep track of changes across many parts.

The Solution

Using variables like #1 and #2 lets you store values once and reuse them. Change the variable once, and all related steps update automatically, saving time and avoiding mistakes.

Before vs After
✗ Before
G01 X10 Y20
G01 X10 Y20
G01 X10 Y20
✓ After
#1=10
#2=20
G01 X#1 Y#2
G01 X#1 Y#2
G01 X#1 Y#2
What It Enables

Variables make your CNC programs flexible and easy to update, so you can quickly adapt to new sizes or shapes without rewriting everything.

Real Life Example

When making a batch of parts with slightly different sizes, you just change the variable values once, and the CNC machine adjusts all cuts automatically.

Key Takeaways

Manual value entry is slow and error-prone.

Variables store values to reuse and update easily.

They make CNC programs faster to write and safer to run.

Practice

(1/5)
1. What is the main purpose of variables like #1 and #2 in CNC programs?
easy
A. To display messages on the screen
B. To create new tools for the machine
C. To control the speed of the machine
D. To store numbers that can be used and changed in the program

Solution

  1. Step 1: Understand variable role in CNC

    Variables like #1 and #2 hold values that can be reused and changed, making the program flexible.
  2. Step 2: Compare options to variable purpose

    Only To store numbers that can be used and changed in the program describes storing numbers for use and change, which matches variable use.
  3. Final Answer:

    To store numbers that can be used and changed in the program -> Option D
  4. Quick Check:

    Variables store numbers = A [OK]
Hint: Variables store values to reuse and change easily [OK]
Common Mistakes:
  • Thinking variables create tools
  • Confusing variables with machine speed control
  • Assuming variables display messages
2. Which of the following is the correct way to assign the value 50 to variable #1 in a CNC program?
easy
A. #1 = 50
B. set #1 50
C. #1 := 50
D. assign #1 50

Solution

  1. Step 1: Recall CNC variable assignment syntax

    In many CNC programming dialects, variables are assigned values using ':=' like #1 := 50.
  2. Step 2: Check each option

    Only #1 := 50 uses the correct syntax with ':='. Others use incorrect or unsupported commands.
  3. Final Answer:

    #1 := 50 -> Option C
  4. Quick Check:

    Assignment uses ':=' = A [OK]
Hint: Use ':=' to assign values to variables [OK]
Common Mistakes:
  • Using '=' instead of ':='
  • Using 'set' or 'assign' commands incorrectly
  • Omitting the '#' before variable number
3. Given the CNC program snippet:
#1 = 10
#2 = 5
G01 X#1 Y#2

What will be the command sent to the machine?
medium
A. G01 X#1 Y#2
B. G01 X10 Y5
C. G01 X15 Y0
D. G01 X5 Y10

Solution

  1. Step 1: Identify variable values

    #1 is assigned 10 and #2 is assigned 5.
  2. Step 2: Substitute variables in command

    Replace #1 with 10 and #2 with 5 in G01 X#1 Y#2, resulting in G01 X10 Y5.
  3. Final Answer:

    G01 X10 Y5 -> Option B
  4. Quick Check:

    Substitute #1=10, #2=5 = B [OK]
Hint: Replace variables with their values in commands [OK]
Common Mistakes:
  • Leaving variables as #1 and #2 in output
  • Adding values instead of substituting
  • Swapping variable values incorrectly
4. Identify the error in this CNC program snippet:
#1 = 20
#2 30
G01 X#1 Y#2
medium
A. Missing '=' sign in second variable assignment
B. Variables cannot be used in G01 commands
C. Variable numbers must be greater than 2
D. G01 command syntax is incorrect

Solution

  1. Step 1: Check variable assignments

    The first line assigns #1 = 20 correctly. The second line is missing '=' between #2 and 30.
  2. Step 2: Verify other statements

    Variables can be used in G01 commands, variable numbers can be #1 or #2, and G01 syntax is correct.
  3. Final Answer:

    Missing '=' sign in second variable assignment -> Option A
  4. Quick Check:

    Assignment needs '=' = A [OK]
Hint: Check all assignments have '=' sign [OK]
Common Mistakes:
  • Ignoring missing '=' sign
  • Thinking variables can't be used in commands
  • Assuming variable numbers must be higher
5. You want to move the CNC tool to X=15 and Y=25, but want to easily change these values later. Which program snippet correctly uses variables #1 and #2 for this?
hard
A. #1 = 15
#2 = 25
G01 X#1 Y#2
B. G01 X15 Y25
C. #1 = 25
#2 = 15
G01 X#2 Y#1
D. #1 = 15
#2 = 25
G01 X#2 Y#1

Solution

  1. Step 1: Assign variables to desired coordinates

    Assign #1 = 15 for X and #2 = 25 for Y to match the target position.
  2. Step 2: Use variables correctly in G01 command

    Use G01 X#1 Y#2 to move tool to X=15 and Y=25 using variables.
  3. Final Answer:

    #1 = 15
    #2 = 25
    G01 X#1 Y#2
    -> Option A
  4. Quick Check:

    Variables match coordinates = D [OK]
Hint: Assign variables to coordinates, then use in command [OK]
Common Mistakes:
  • Swapping variable values and positions
  • Using variables without assignment
  • Writing coordinates directly without variables
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