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:

Release Note

release_note

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

Programing Example

prg_example

Inserting chamfers and roundings (G301/G302)

Chamfer: 90° corner with 2 straight lines (I=20 is specified for a chamfer 20x45°)

N100  G00  G91  X100  Y0

N110  G01           Y100 F200

N120  G301 I20

N130                X-60

N140  G00  G90  X0  Y0

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

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.

Release Note

release_note

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

Programing Example

prg_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

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

Rounding is programmed by:

Syntax:

#RND=..

Specify radius in [mm, inch]

non-modal

Programing Example

prg_example

Rectangular pocket with 2 chamfers (#CHR, #CHF) and 2 roundings (# RND) with specific feedrates

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