Bird
Raised Fist0
CNC Programmingscripting~10 mins

Tool length offset (G43) in CNC Programming - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Tool length offset (G43)
Start Program
↓
Call Tool with T-code
↓
Activate G43
↓
Apply Tool Length Offset H-code
↓
Machine moves with adjusted Z position
↓
Continue machining
↓
End Program
The CNC program calls a tool, activates G43 to apply the tool length offset stored in the specified H register, adjusting the Z-axis position before machining.
Execution Sample
CNC Programming
T1 M06
G43 H01 Z50.0
G01 X100 Y100 Z-10 F200
Select tool 1, apply tool length offset from H01, move to position with adjusted Z.
Execution Table
StepCommandActionTool Length Offset (H)Z Position Before OffsetZ Position After OffsetNotes
1T1 M06Tool 1 selected and changed---Tool ready for use
2G43 H01 Z50.0Activate tool length offset using H01H01=20.050.030.0Z adjusted by subtracting offset 20.0
3G01 X100 Y100 Z-10 F200Move to X100 Y100 Z-10 with offset appliedH01=20.0-10-30.0Z moves relative to offset, actual position is -10 - 20 = -30
4Program EndStop machining---End of program
💡 Program ends after machining moves with tool length offset applied
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
ToolNone1111
H01 (offset)20.020.020.020.020.0
Z PositionUndefinedUndefined30.0-30.0-30.0
Key Moments - 2 Insights
Why does the Z position change after applying G43 H01 Z50.0?
Because G43 applies the tool length offset stored in H01 by subtracting it from the programmed Z value, adjusting the tool tip position correctly as shown in execution_table step 2.
What happens if you forget to specify the H code with G43?
The machine won't know which tool length offset to apply, so the Z position won't adjust correctly, possibly causing incorrect machining depth. This is implied by the need for H01 in step 2.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the Z position after applying G43 H01 Z50.0?
A70.0
B50.0
C30.0
D-20.0
💡 Hint
Check step 2 in the execution_table for Z Position After Offset
At which step does the tool length offset get applied?
AStep 2
BStep 3
CStep 1
DStep 4
💡 Hint
Look for G43 command in the execution_table
If the offset in H01 was 25.0 instead of 20.0, what would be the Z position after applying G43 H01 Z50.0?
A30.0
B25.0
C75.0
D50.0
💡 Hint
Subtract the new offset 25.0 from Z 50.0 as in step 2
Concept Snapshot
G43 applies tool length offset stored in H register.
Syntax: G43 Hxx Znnn
Z position is adjusted by subtracting offset.
Always specify H code with G43.
Used after tool change (T-code).
Ensures correct tool tip position.
Full Transcript
This visual execution trace shows how the CNC command G43 applies a tool length offset. First, the program selects a tool with T1 M06. Then, G43 H01 Z50.0 activates the offset stored in H01, which is 20.0 units. The Z position is adjusted by subtracting this offset from the programmed Z value, changing from 50.0 to 30.0. Next, the machine moves to X100 Y100 Z-10, which after offset becomes Z-30.0. The program ends after these moves. Key points include always specifying the H code with G43 and understanding that the offset adjusts the Z position to ensure the tool tip is at the correct height for machining.

Practice

(1/5)
1. What is the main purpose of the G43 command in CNC programming?
easy
A. To apply the tool length offset for accurate tool positioning
B. To start the spindle rotation
C. To stop the coolant flow
D. To change the feed rate

Solution

  1. Step 1: Understand the role of G43

    The G43 command is used to apply the tool length offset, which adjusts the tool's position based on its length.
  2. Step 2: Compare with other commands

    Other commands like spindle start or coolant control do not relate to tool length offset.
  3. Final Answer:

    To apply the tool length offset for accurate tool positioning -> Option A
  4. Quick Check:

    G43 = Tool length offset application [OK]
Hint: G43 always adjusts tool length, not spindle or coolant [OK]
Common Mistakes:
  • Confusing G43 with spindle or coolant commands
  • Thinking G43 changes feed rate
  • Ignoring the tool length offset purpose
2. Which of the following is the correct syntax to apply tool length offset number 5 in a CNC program?
easy
A. G43 H5
B. G43 T5
C. G54 H5
D. G40 H5

Solution

  1. Step 1: Identify correct G43 syntax

    The G43 command uses the letter H followed by the offset number to apply the tool length offset.
  2. Step 2: Eliminate incorrect options

    G43 T5 is incorrect because T selects the tool, not the offset. G54 is for work offsets, and G40 cancels tool radius compensation.
  3. Final Answer:

    G43 H5 -> Option A
  4. Quick Check:

    G43 uses H for offset number [OK]
Hint: G43 always pairs with H for tool length offset number [OK]
Common Mistakes:
  • Using T instead of H for offset number
  • Confusing G43 with G54 or G40
  • Omitting the H letter
3. Given the CNC line G43 H3 Z50.0, what does this command do?
medium
A. Cancels tool length offset and moves to Z=50.0
B. Applies tool length offset 3 and moves the tool to Z=50.0
C. Moves the tool to Z=3.0 without offset
D. Applies tool length offset 50 and moves to Z=3.0

Solution

  1. Step 1: Interpret G43 H3

    G43 applies the tool length offset number 3 from the tool table.
  2. Step 2: Understand Z50.0 movement

    The tool moves to the position Z=50.0 after applying the offset.
  3. Final Answer:

    Applies tool length offset 3 and moves the tool to Z=50.0 -> Option B
  4. Quick Check:

    G43 H3 sets offset 3, Z=50.0 moves tool [OK]
Hint: H number is offset, Z is position after offset applied [OK]
Common Mistakes:
  • Mixing offset number with Z coordinate
  • Thinking G43 cancels offset
  • Swapping offset and position values
4. Identify the error in this CNC line: G43 T2 Z100.0
medium
A. Z100.0 is invalid coordinate
B. Missing spindle speed command
C. G43 cannot be used with Z axis
D. T2 is incorrect; should use H2 for tool length offset

Solution

  1. Step 1: Check G43 syntax

    G43 requires an H number to specify the tool length offset, not T.
  2. Step 2: Validate other parts

    Z100.0 is a valid coordinate, G43 can be used with Z axis, spindle speed is unrelated here.
  3. Final Answer:

    T2 is incorrect; should use H2 for tool length offset -> Option D
  4. Quick Check:

    G43 needs H, not T, for offset [OK]
Hint: Use H, not T, with G43 for offset number [OK]
Common Mistakes:
  • Using T instead of H with G43
  • Assuming Z coordinate is invalid
  • Thinking spindle speed is mandatory here
5. You want to move the tool to Z=10.0 with tool length offset 7 applied, but the machine crashes because the offset was not set. Which CNC line correctly fixes this?
hard
A. G54 H7 Z10.0
B. G40 H7 Z10.0
C. G43 H7 Z10.0
D. G43 T7 Z10.0

Solution

  1. Step 1: Identify correct command for tool length offset

    G43 with H7 applies the tool length offset number 7.
  2. Step 2: Confirm movement to Z=10.0

    The Z10.0 moves the tool to the correct position after applying the offset.
  3. Step 3: Eliminate incorrect options

    G40 cancels offsets, T7 is wrong for offset, G54 is work offset, not tool length offset.
  4. Final Answer:

    G43 H7 Z10.0 -> Option C
  5. Quick Check:

    Use G43 H7 to apply offset before moving [OK]
Hint: Always use G43 H# before moving to apply tool length offset [OK]
Common Mistakes:
  • Using G40 which cancels offsets
  • Using T instead of H for offset
  • Confusing work offset (G54) with tool length offset
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