Bird
Raised Fist0
CNC Programmingscripting~5 mins

Variables (#1, #2) in programs in CNC Programming

Choose your learning style10 modes available
Introduction

Variables like #1 and #2 store numbers that can change during a CNC program. They help make the program flexible and easier to change.

When you want to reuse a number in different parts of the CNC program.
When you need to do simple math like adding or subtracting values.
When you want to change one value and have it update many commands automatically.
When you want to store a measurement or position temporarily.
When you want to make the program easier to read and understand.
Syntax
CNC Programming
#1 = 10
G01 X#1 Y#2
#2 = #1 + 5
Variables start with a # sign followed by a number, like #1 or #2.
You can assign values using '=' and use variables in commands by writing #number.
Examples
Set variable #1 to 20, then move X axis to 20 and Y axis to 0.
CNC Programming
#1 = 20
G01 X#1 Y0
Set #1 to 5, then #2 to 15 (5 + 10), then move X to 15.
CNC Programming
#1 = 5
#2 = #1 + 10
G01 X#2
Set #1 to 100, #2 to 70 (100 - 30), then move Y to 70.
CNC Programming
#1 = 100
#2 = #1 - 30
G01 Y#2
Sample Program

This program shows how to set variables #1 and #2, use them to move the machine, then change #1 and move again.

CNC Programming
O1000 (Simple program using variables #1 and #2)
#1 = 50 (Set #1 to 50)
#2 = 20 (Set #2 to 20)
G00 X0 Y0 (Move to start)
G01 X#1 Y#2 F100 (Move to X=50, Y=20 at feed 100)
#1 = #1 + 10 (Add 10 to #1)
G01 X#1 Y#2 (Move to X=60, Y=20)
M30 (End program)
OutputSuccess
Important Notes

Variables can only hold numbers, not text.

Changing a variable updates all places where it is used after the change.

Use comments to explain what variables mean for easier reading.

Summary

Variables #1, #2 store numbers to use in CNC commands.

They make programs flexible and easier to change.

You assign values with '=', and use variables by writing #number.

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