Table of Contents
IntroductionManual Operation & Start-up Procedures
Programming in the ISO (EIA-274-d or G-code) Format
Canned Cycles
Subroutines (Macros) and Loops
Console Editing
Setting Tool Length Offsets (TLOs)
Running Programs
Data Transfer PC<---> CNC
Back to Heidenhain Pgrm and Op Instr home page
Credits and Copyright Information

Bridgeport Heidenhain CNC Mill
Programming & Operating Instructions

Demo CNC Program
for the Heidenhain/Bridgeport Interact Controller

ISO (RS-274-D) FORMAT

Click here for a complete, dimensioned drawing of the demo part
Click here or on the figure for a PDF version of the complete, dimensioned part drawing
PDF files require the Free Adobe Acrobat Reader
Click here for free Adobe Acrobat Reader

Back to the top of this page

G-Codes Used

G00 = Rapid travel
G01 = two- or three-axis linear move at feedrate
G02 = clockwise circular interpolation
G03 = counter clockwise circular interpolation
G07 = single axis linear move at feedrate
G16 = polar arc
G17 = X/Y plane; Z-axis = spindle
G25 = corner rounding with R
G38 = Stop--as for tool or part change
G40 = Tool radius compensation cancel
G70 = Inch format
G76 = Rectangular pocket canned cycle
G78 = Circular pocket canned cycle
G79 = Cycle call
G83 = Drill canned cycle (peck & no peck)
G90 = Absolute positioning
G91 = Incremental positioning
G98 = Preface to define label (subroutine or loop)
G99 = Tool definition preface

Back to the top of this page

Cannned Cycle Parameter Identification

G83 Drill Cycle
P01 = Clearance plane to Z-zero; set at zero
P02 = Hole depth
P03 = Peck increment
P04 = Dwell (sec)
P05 = Drill feedrate

G77 (CW) & G78 (CCW) Circular Pocket Cycle
P01 = Clearance plane to Z-zero; set at zero
P02 = Pocket depth
P03 = Peck increment
P04 = Downfeed feedrate
P05 = Pocket radius
P06 = X/Y feedrate

G75 (CW) & G76 (CCW) Rectangular Pocket Cycle
P01 = Clearance plane to Z-zero; set at zero
P02 = Pocket depth
P03 = Peck increment
P04 = Downfeed feedrate
P05 = 1st (longer) side axis & length
P06 = 2nd (shorter) side axis & length
P07 = X/Y feedrate

Back to the top of this page

M-Codes Used

M03 = Spindle on
M25 = Retract quill
M30 = Rewind memory = end of MAIN program

Back to the top of this page

Cutting Tools

T1 = 120 degree point engraving cutter for border
T2 = 1/4" stubby drill
T3 = 90 degree engraving tool for triangles
T4 = 3/8" 2-flute end mill for circular pockets
T5 = 1/2" 2-flute end mill for rectangular pocket

Back to the top of this page

Demo Program in ISO Format

Note
All comments ('$' and subsequent characters) must be removed
prior to uploading program into the Heidenhain controller.
Click here to download a zipped copy of 274UTILS

%1 G70			$ Program #1; Inch
N10 G99 T1 L-2 R+0.	$ Define T1; TLO; Radius
N20 G99 T2 L-2 R+0.25	$ Define T2; TLO; Radius
N30 G99 T3 L-2 R+0.	$ Define T3; TLO; Radius
N40 G99 T4 L-2 R+0.1875	$ Define T4; TLO; Radius
N50 G99 T5 L-2 R+0.25	$ Define T5; TLO; Radius
N60 G17 G00 G90 X+0 Y+0 M25 $ Z=Spndl; X/Y@Origin;Retract quill
N70 T1 S1000 		$ Activate T1's TLO; RPM
N80 G38 		$ Stop--for tool change
N90 L10 		$ Call label (subr) 10 = border
N100 T2 G17 S2000 	$ Activate T2's TLO; Z=spindle; RPM
N110 G38 		$ Stop--for tool change
N120 G00 G90 X+3 Y+10 	$ Rapid X/Y to 1st hole location
N130 Z+0.1		$ Rapid Z down to clearance plane
N140 G83 P01 0 P02 +0 P03 +0 P04 0 P05 200 $ Define drill cycle
N150 G79 M03		$ Cycle call (drills hole); spindle on
N160 G98 L20		$ Define label 20 (a loop)
N170 G91 X+0.5 M99 	$ Rapid incr. X.5; cycle call (dr. hole)
N190 L20.13 		$ Call label 20 as loop w/ 13 repeats
N200 G00 G90 X+0 Y+0 M25 $ Retract quill; rapid to origin
N210 T3 G17 S3000 	$ Activate T3's TLO; Z-axis=spindle; RPM
N220 G38 		$ Stop--for tool change
N230 L30		$ Call label (subroutine) 30--triangles
N240 T4 G17 S2000 	$ Activate T4's TLO; Z-axis=spindle; RPM
N250 G38		$ Stop--for tool change
N260 L40		$ Call label (subroutine) 40--cir. pocket
N270 T5 G17 S2000	$ Activate T5's TLO; Z-axis=spindle; RPM
N280 G38		$ Stop--for tool change
N290 L50		$ Call label (subr.) 50--rect. pocket
N300 G38 M30		$ Stop; rewind memory
			$ End of Main Program
N310 G98 L10		$ Define label (subr) 10--border
N320 G00 G90 X+1	$ Rapid X to LH border w/Y @ origin
N330 Z+0.1 M03		$ Rapid Z down to Z+.100; spindle on
N340 G07 Z+0 F200	$ Feed Z down to cutting plane @ 20 IPM
N350 G01 X+1 Y+11 F400	$ Linear feed LH border @ 40 IPM
N360 G25 R1		$ Corner round w/1" radius
N370 G01 X+11 Y+11	$ Linear feed upper border
N380 G02 X+12 Y+10 R+1	$ Arc w/end point & radius
N390 G07 Y+2		$ Linear feed RH border
N400 I+11 J+2		$ Circle (arc) center location
N410 G02 X+11 Y+1	$ Arc w/end point & using center loc.
N420 G07 X+2		$ Linear fed lower border
N430 I+2 J+2		$ Polar pole location
N440 G16 R+1 H-180	$ Polar arc cut
N450 G00 G91 X-0.1	$ Incr. rapid pull away from LH border
N460 G00 G90 X+0 Y+0 M25 $ Retract quill; rapid to origin
N470 G98 L0		$ End of subroutine 10

N480 G98 L30		$ Define label (subr) 30--triangles
N490 G00 G90 X+3.5 Y+8.5 $ Rapid X/Y to 1st triangle center
N500 Z+0.1 M03 		$ Rapid Z down to clearance plane
N510 L3			$ Call subr. 3--triangle geometry
N520 G00 G90 X+9.5 Y+8.5 $ Rapid X/Y to 2nd triangle center
N530 L3			$ Call subr. 3--triangle geometry
N540 G00 G90 X+9.5 Y+3	$ Rapid X/Y to 3rd triangle center
N550 L3			$ Call subr. 3--triangle geometry
N560 G00 G90 X+3.5 Y+3	$ Rapid X/Y to 4th triangle center
N570 L3 		$ Call subr. 3--triangle geometry
N580 G00 G90 X+0 Y+0 M25 $ Retract quill; rapid to origin
N590 G98 L0 		$ End of subroutine 30

N600 G98 L3 		$ Define label (subr.) 3--triangle geom.
N610 G00 G91 X-0.839 Y-0.4844 $ Rapid X/Y to triangle LH corner 
N620 G07 G90 Z+0 F200 	$ Feed Z down to cutting plane
N630 G01 G91 X+1.678 F400 $ Feed incr along base
N640 X-0.839 Y+1.4532 	$ Feed incr along RH slope to apex
N650 X-0.839 Y-1.4532 	$ Feed incr along LH slope to base
N660 G00 G91 Z+0.1 	$ Incr. raise cutter to clearance plane
N670 G00 G91 X+0.839 Y+0.4844 $ Rapid X/Y to triangle center.
N680 G98 L0 		$ End of subroutine 3

N690 G98 L40 		$ Define label (subr.) 40--cir. pockets
N700 G00 G90 X+3.5 Y+6 	$ Rapid to LH pocket center
N710 Z+0.1 		$ Rapid Z-axis down to clearance plane
N720 G78 P01 0 P02 +0 P03 +0 P04 100 P05 1 P06 200 $ Def. pocket cycle
N730 G79 M03 		$ Cycle call; spindle on (mill 1st pkt)
N740 G00 G90 X+9.5 Y+6 M99 $ Rapid to & mill RH pocket.
N750 X+0 Y+0 M25 	$ Retract quill; rapid to origin
N760 G98 L0 		$ End of subroutine 40

N770 G98 L50 		$ Define label (subr.) 50--rect. packet
N780 G00 G90 X+6.5 Y+6 	$ Rapid X/Y to pocket center
N790 Z+0.1 		$ Rapid Z-axis down to clearance plane
N800 G76 P01 0 P02 +0 P03 +0 P04 100 P05 X+3 P06 Y+2 P07 400 $ Def. pock
N810 G79 M03 		$ Cycle call; spindle on
N820 X+0 Y+0 M25 	$ Retract spindle; rapid to origin
N830 G98 L0 		$ End of subroutine 50

N9999 %1 G70		$ End of program incl/subroutines

Back to the top of this page

Last updated on Jan. 17, 2005, by Bill Hemphill