Inserting chamfers and roundings (G301/G302) (#FRC/#CHR/#CHF/#RND)

Syntax:

G301

Inserting chamfers

Both functions are effective between two motion blocks

G302

Inserting roundings

G301 inserts a straight line at the identical angle of inclination to the adjacent contour elements (chamfers).

G302 inserts an arc with a tangential transition to the two adjacent contour elements (roundings).

These functions are non-modal and generate precisely one insertion segment (arc or straight line). G301/G302 blocks may be only written between blocks with active G functions of the group "G00, G01, G02/G03 except for G05”.

The I word programmed in the same NC block defines the rounding size or the chamfer width of the insertion segments in [mm, inch]. The I word remains stored and active. This means that I word need no longer be programmed in the following G301/G302 at the same radius or same chamfer width.

In the initial programming of G301/G302, an I word unequal to zero must be programmed in the NC block, otherwise an error message is output (error which leads to abortion of decoding).

Effectiveness of path feedrate in an inserted chamfer or rounding segment:

Specific chamfer or rounding feedrate:

As of Build V3.1.3057.04, an active feedrate can only be programmed in the inserted chamfer or rounding segment together with a specified chamfer or rounding.

Syntax:

#FRC=..

Feedrate in inserted chamfer or rounding segment using the F word unit (e.g. mm/min)

non-modal

Programming Example

Inserting chamfers and roundings (G301/G302)

N100  G00  G91  X100  Y0
N110  G01           Y100 F200
N120  G301 I20
N130                X-60
N140  G00  G90  X0  Y0
Inserting chamfers and roundings (G301/G302) (#FRC/#CHR/#CHF/#RND) 1:

Rounding: rectangular pocket with corner radius 20 mm, length 200 mm, width 100 mm, segment-specific feedrates

Default:
Alternatively:
N100  G00   X0   Y0
N100  G00   X0   Y0
N110  G01   X200     F200
N110  G01   X200      F200
N120  G302  I20      F150
N120  G302  I20      #FRC=150
N130           Y100  F200
N130         Y100
N140  G302           F150
N140  G302           #FRC=150
N150        X0       F200
N150         X0
N160  G302           F150
N160  G302           #FRC=150
N170           Y0    F200
N170         Y0
N180  G302           F150
N180  G302           #FRC=150
N190       X40       F200
N190         X40
Inserting chamfers and roundings (G301/G302) (#FRC/#CHR/#CHF/#RND) 2:

The chamfer or rounding is always added in the plane in which the second motion block is programmed.

Example A:

Example B:

N100  G18  X20
N100  G18  X20
N110  G19
N110  G301 I5
N120  G301 I5
N120  G19
N130  Y20 Z20
N130  Y20 Z20

Example A and B both yield the same result, contouring in the Y-Z plane.

As of Build V3.1.3057.04 there are additional options to program chamfers and roundings:

Extended G functions G301 and G302:

Chamfers and roundings are programmed as additional values with G301 and G302. Chamfers and rounding values must always be specified in [mm, inch]; they are non-modal.

G301 and G302 can be programmed directly in the first motion block. A separate NC block is not required.

Syntax:

G301=..

Insert chamfers specifying the chamfer in [mm, inch]

non-modal

G302=..

Insert radii specifying the radius in [mm, inch]

non-modal

Programming Example

Inserting chamfers and roundings (G301/G302)

Rectangular pocket with 2 chamfers (G201) and 2 roundings (G302) with specific feedrates

N05  G17 G00 G90 X0 Y0
N10  G01 F2000 X100       G301=20 #FRC=500
N20                 Y100  G302=20 #FRC=1000
N30            X0         G301=20 #FRC=500
N40                 Y0    G302=20 #FRC=1000
N50  X40
N50  M30
Inserting chamfers and roundings (G301/G302) (#FRC/#CHR/#CHF/#RND) 3:

Programming chamfers and roundings with # commands:

Chamfers and roundings are programmed as additional values with# commands. Chamfers and rounding values must always be specified in [mm, inch]; they are non-modal.

# commands can be programmed directly in the first motion block. A separate NC block is not required.

A chamfer can be programmed in two ways: either by specifying

Syntax:

#CHR=..

Specify chamfer width in [mm, inch]

non-modal

#CHF=..

Specify chamfer length in [mm, inch]

non-modal

Inserting chamfers and roundings (G301/G302) (#FRC/#CHR/#CHF/#RND) 4:

Rounding is programmed by:

Syntax:

#RND=..

Specify radius in [mm, inch]

non-modal

Inserting chamfers and roundings (G301/G302) (#FRC/#CHR/#CHF/#RND) 5:

Programming Example

N05  G17 G00 G90 X0 Y0
N10  G01 F2000 X200       #CHR=20 #FRC=500
N20                 Y100  #RND=20 #FRC=1000
N30            X0         #CHF=35 #FRC=500
N40                 Y0    #RND=20 #FRC=1000
N50            X40
N60  M30
Inserting chamfers and roundings (G301/G302) (#FRC/#CHR/#CHF/#RND) 6: