Bird
Raised Fist0
CNC Programmingscripting~5 mins

In-process measurement in CNC Programming

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

In-process measurement helps check parts while they are being made. It stops mistakes early and saves time.

When you want to check the size of a part during machining to avoid errors.
When you need to adjust the tool automatically based on measurements.
When making many parts and want to keep them all accurate.
When the part shape is complex and needs frequent checking.
When you want to reduce waste by catching problems early.
Syntax
CNC Programming
G65 P9810 Q1 R0.5 ; Call probe macro to measure diameter
G65 P9810 Q2 R0.1 ; Call probe macro to measure length

G65 calls a macro program for measurement.

P is the macro program number, Q selects the measurement type, and R sets the probe offset.

Examples
This measures the diameter of a hole using the probe with 0.5 mm offset.
CNC Programming
G65 P9810 Q1 R0.5
This measures the length of a part with a 0.1 mm probe offset.
CNC Programming
G65 P9810 Q2 R0.1
This measures the depth of a pocket using the probe offset by 0.2 mm.
CNC Programming
G65 P9810 Q3 R0.2
Sample Program

This program moves the tool, measures a hole diameter, then adjusts the tool offset to correct size.

CNC Programming
O1000 (In-process measurement example)
G21 (Set units to mm)
G90 (Absolute positioning)
G54 (Work coordinate system)

; Move to start position
G0 X50 Y50 Z10

; Measure diameter
G65 P9810 Q1 R0.5

; Use measurement result to adjust tool offset
#100 = #5060 (Measured diameter)
#101 = 10.0 (Target diameter)
#102 = #101 - #100
G10 L10 P1 R[#102] (Adjust tool offset)

M30 (End program)
OutputSuccess
Important Notes

Probe macros vary by machine; check your CNC manual for exact codes.

Always set correct probe offsets to avoid crashes.

Use measurement results to automate corrections and improve quality.

Summary

In-process measurement checks parts during machining.

It uses probe macros like G65 with parameters to measure size.

Results help adjust tools and keep parts accurate.

Practice

(1/5)
1. What is the main purpose of in-process measurement in CNC machining?
easy
A. To speed up the machine spindle rotation
B. To check the part dimensions during machining to ensure accuracy
C. To change the tool automatically
D. To cool down the cutting tool

Solution

  1. Step 1: Understand in-process measurement

    In-process measurement is used to check the size or position of a part while it is being machined.
  2. Step 2: Identify the main goal

    The goal is to ensure the part is accurate and meets specifications by measuring it during machining.
  3. Final Answer:

    To check the part dimensions during machining to ensure accuracy -> Option B
  4. Quick Check:

    In-process measurement = Checking part size during machining [OK]
Hint: In-process means measuring while machining, not before or after [OK]
Common Mistakes:
  • Confusing measurement with tool changes
  • Thinking it controls spindle speed
  • Assuming it cools the tool
2. Which of the following is the correct syntax to call a probe macro with parameters in CNC code?
easy
A. G65 P9000 X10 Y20 Z5
B. G65 P9000, X10, Y20, Z5
C. G65(P9000 X10 Y20 Z5)
D. G65 P9000; X10 Y20 Z5

Solution

  1. Step 1: Recall G65 macro call syntax

    The G65 command calls a macro with parameters listed after it separated by spaces, no commas or parentheses.
  2. Step 2: Check each option

    G65 P9000 X10 Y20 Z5 uses correct syntax: G65 P9000 X10 Y20 Z5. Others use commas, parentheses, or semicolons which are incorrect.
  3. Final Answer:

    G65 P9000 X10 Y20 Z5 -> Option A
  4. Quick Check:

    G65 macro call uses spaces, no commas [OK]
Hint: G65 macro calls list parameters with spaces only [OK]
Common Mistakes:
  • Adding commas between parameters
  • Using parentheses around parameters
  • Separating parameters with semicolons
3. Given this CNC snippet for in-process measurement:
G65 P9000 X50 Y25 Z-5
IF[#506 EQ 1] THEN
GOTO 100
ENDIF
GOTO 200
100 M30

What happens if the probe detects the part correctly (sets #506 to 1)?
medium
A. The program continues to line 200
B. The program repeats the probe command
C. The program stops immediately with an error
D. The program jumps to line 100 and ends

Solution

  1. Step 1: Understand the IF condition

    If variable #506 equals 1, the program executes GOTO 100.
  2. Step 2: Follow the program flow

    When #506 is 1, the program jumps to line 100, which contains M30 (program end).
  3. Final Answer:

    The program jumps to line 100 and ends -> Option D
  4. Quick Check:

    Probe success (#506=1) triggers jump to end [OK]
Hint: IF #506=1 means probe success, jump to end [OK]
Common Mistakes:
  • Assuming program continues to line 200
  • Thinking it causes an error stop
  • Believing it repeats the probe command
4. Identify the error in this CNC in-process measurement code snippet:
G65 P9000 X30 Y15 Z-3
IF[#506 = 1] THEN
GOTO 150
ENDIF
medium
A. The GOTO command should be lowercase
B. The G65 command is missing the P code
C. The IF condition uses a single '=' instead of 'EQ' for comparison
D. The Z value cannot be negative

Solution

  1. Step 1: Check IF condition syntax

    CNC macro IF conditions require 'EQ' for equality, not a single '=' which is assignment.
  2. Step 2: Verify other parts

    G65 has P9000, GOTO is case-insensitive, and Z can be negative for probe approach.
  3. Final Answer:

    The IF condition uses a single '=' instead of 'EQ' for comparison -> Option C
  4. Quick Check:

    Use 'EQ' for equality in IF, not '=' [OK]
Hint: Use 'EQ' for equality in CNC IF, '=' is assignment [OK]
Common Mistakes:
  • Using '=' instead of 'EQ' in IF
  • Thinking GOTO case matters
  • Believing negative Z is invalid
5. You want to measure a part diameter during machining and adjust the tool offset automatically if the diameter is too large. Which approach best uses in-process measurement macros?
hard
A. Use G65 to probe diameter, compare measurement, then update tool offset with G10 if needed
B. Use G65 to probe diameter and immediately stop the machine if size is off
C. Manually measure after machining and adjust tool offset in next run
D. Use G65 to probe diameter but ignore the measurement results

Solution

  1. Step 1: Use G65 macro to measure diameter

    G65 calls a probe macro to measure the part size during machining.
  2. Step 2: Compare measurement and adjust tool offset

    If the diameter is too large, use G10 command to update the tool offset automatically to correct the size.
  3. Final Answer:

    Use G65 to probe diameter, compare measurement, then update tool offset with G10 if needed -> Option A
  4. Quick Check:

    Probe with G65, adjust offset with G10 for accuracy [OK]
Hint: Probe then adjust offset automatically for best accuracy [OK]
Common Mistakes:
  • Stopping machine immediately without adjustment
  • Ignoring measurement results
  • Adjusting tool offset manually after machining