Parameters

Required input parameters

Input parameters

Description

@P1

Workpiece surface, Z position (absolute)

@P2

Retraction plane, Z position (absolute)

@P3

Safety clearance above workpiece (unsigned), Z distance (relative to the reference plane/machining height)

@P4

Engraving depth in workpiece (unsigned), Z distance (relative to the reference plane)

@P21

to engraving text

@P53

Font size

Optional input parameters

Input parameters

Description

@P11

Feed rate for Z infeeds, F word

@P12

Feed rate for engraving movements, F word

@P13

Subroutine executed at start of engraving

@P14

Subroutine executed at end of engraving

@P15

Subroutine executed at start of each character

@P16

Subroutine executed at end of each character

@P17

Subroutine executed at start of each path

@P18

Subroutine executed at end of each path

@P23

Invert text (default value = FALSE)

@P24

Use placeholders (default value = FALSE), see also @P101 to @P103

@P31

Arrangement (default value = 0)

0: rectangle

1: arc, circle centre point below text

2: arc, circle centre point above text

@P32

Arrangement parameter 1

if @P31 = 1 or 2, then X position of circle centre point

@P33

Arrangement parameter 2

if @P31 = 1 or 2, then Y position of circle centre point

@P41

Reference point (default value = 6)

0: top left

1: top centre

2: top right

3: centre left

4: centre centre

5: centre right

6: baseline left

7: baseline centre

8: baseline right

9: bottom left

10: bottom centre

11: bottom right

@P42

Reference point, X position (default value = V.A.ACT_POS.X = current position)

@P43

Reference point, Y position (default value = V.A.ACT_POS.Y = current position)

@P52

Determining font size (default value = 0)

0: height of letter "X"

1: width of letter "X"

2: height of entire text

3: width of entire text

@P54

Font weight (default = calculation from engraving depth)

Can be specified instead of the engraving depth together with the point angle of the engraving tool.

@P55

Point angle of the engraving tool

Can be specified instead of the engraving depth together with the font weight.

@P61

non-proportional font (default text = FALSE)

@P62

mirror each letter in X direction (default value = FALSE)

@P63

mirror each letter in Y direction (default value = FALSE)

@P64

additional X offset for each letter (default value = 0)

@P65

additional Y offset for each letter (default value = 0)

@P71

Type of output (default value = 0)

0: G code, machine is moved

1: no output, for calculations, size requests, etc.

@P101

free parameter

@P102

free parameter

@P103

free parameter

It is recommended to use the Syntax check to verify whether the input parameters are correctly assigned.

Encoding the NC program

The text “ISG kernel” consists of only ASCII characters. Nothing else needs to be considered when encoding the NC program that calls up the engraving cycle.

However, if you want to use diacritical marks or other special characters, the NC program must be saved in the Windows-1252 encoding.

Programming Example

Engraving special characters

; call engraving cycle for text with special characters
; !!Save the NC program in Windows-1252 encoding!!
L CYCLE [NAME  = "SysMillEngrave.ecy"                      \
          @P1  = 0                                         \
          @P2  = 2                                         \
          @P3  = 1                                         \
          @P4  = 0.2                                       \
          @P11 = 2000                                      \
          @P12 = 1000                                      \
          @P21 = "Brühe €1.95"  ( Text with special characters ) \
          @P53 = 2                                         \
        ]
M30
Parameters 1:
Use of diacritical marks and special characters

The supplied standard font supports all printable characters in the Windows-1252 character set.

Subroutines

The parameters @P13 to @P18 can specify subroutines that execute specific results.

Subroutines enable various technologies during engraving,

e.g. the engraving cycle can be used for milling machines as well as for laser or plasma cutting machines. Subroutines @P17 and @P18 could enable or disable the laser.

Invert text

If @P23 is set to TRUE, the input text is output inverted.

Programming Example

Invert text

; call engraving cycle for inverted text
L CYCLE [NAME  = "SysMillEngrave.ecy"             \
          @P1  = 0                                \
          @P2  = 2                                \
          @P3  = 1                                \
          @P4  = 0.2                              \
          @P11 = 2000                             \
          @P12 = 1000                             \
          @P21 = "ISG kernel"                     \
          @P23 = TRUE           ( invert text ) \
          @P53 = 2                                \
        ]
M30
Parameters 2:
Inverted text

Placeholders

If @P24 is set to TRUE, placeholders can be used in the transferred text. For example, to engrave the current date, the placeholder ${date} can be used:

Programming Example

Placeholders

; use placeholders
L CYCLE [NAME  = "SysMillEngrave.ecy"                            \
          @P1  = 0                                               \
          @P2  = 2                                               \
          @P3  = 1                                               \
          @P4  = 0.2                                             \
          @P11 = 2000                                            \
          @P12 = 1000                                            \
          @P21 = "today ${date}"  ( engrave current date ) \
          @P24 = TRUE              ( use placeholders     ) \
          @P53 = 2                                               \
        ]
M30
Parameters 3:
Using a placeholder

Placeholders supported include

Placeholders

Example

Description

${date}

03/12/2021

current date, YYYY-MM-DD

${time}

17:15:43

current time, hh:mm:ss

${now}

2021-12-03 17:15:43

current date and time, YYYY-MM-DD hh:mm:ss

${year}

2021

current year, YYYY

${month}

12

current month, MM

${day}

03

current day, DD

${hour}

17

current hour, hh

${min}

15

current minute, mm

${sec}

43

current second, ss

${file}

SysMillEngraveDemo.nc

Filename of the calling NC main program

${prog}

EngraveDemo

Name (%…) of the calling NC main program

${1}

11

Value of cycle parameter @ P101

${2}

22

Value of cycle parameter @ P102

${3}

33

Value of cycle parameter @ P103

Programming Example

Placeholders

; use placeholders for free parameters
L CYCLE [NAME   = "SysMillEngrave.ecy"               \
          @P1   = 0                                  \
          @P2   = 2                                  \
          @P3   = 1                                  \
          @P4   = 0.2                                \
          @P11  = 2000                               \
          @P12  = 1000                               \
          @P21  = "${1} + ${2} = ${3}"               \
          @P24  = TRUE     ( use placeholders ) \
          @P53  = 1                                  \
          @P101 = 11       ( free parameter      ) \
          @P102 = 22       ( free parameter      ) \
          @P103 = 33       ( free parameter      ) \
        ]
M30
Parameters 4:
Use placeholders for free parameters

Layout and reference point

The parameter @P31 determines the layout of the engraved text.

Linear (default value)

By default @P31 = 0 the text is output in one line in the usual form. The surrounding character box is positioned by a reference point. The following intersections are possible as a reference point.

Parameters 5:
Character box with auxiliary lines

The reference point is specified by the parameter @P41 and can assume the following values.

Parameters 6:
Possible reference points

The reference point coordinates (X, Y) are specified by (@P42, @P43). By default these parameters are pre-assigned the current axis positions.

Programming Example

Engrave linear

; reference point (centre, centre) where (1, -0.25)
L CYCLE [NAME  = "SysMillEngrave.ecy"                           \
          @P1  = 0                                              \
          @P2  = 2                                              \
          @P3  = 1                                              \
          @P4  = 0.2                                            \
          @P11 = 2000                                           \
          @P12 = 1000                                           \
          @P21 = "ISG kernel"                                   \
          @P41 = 4               ( reference point, centre, centre ) \
          @P42 = 1               ( reference point X coordinate ) \
          @P43 = -0.25           ( reference point Y coordinate ) \
          @P53 = 2                                              \
        ]
M30
Parameters 7:
Example of reference point (centre, centre) where (1, -0.25)

Arc

Where @P31 = 1 and @P31 = 2, the characters can be arranged in the form of an arc.

Parameters 8:
Example of an arc layout, circle centre point is below the text

In addition to the reference point R, the parameters (@P32, @P33) specify the circle centre point M.

Programming Example

Engrave in arc

; reference point (centre, bottom) and circle centre point (0, -2)
L CYCLE [NAME  = "SysMillEngrave.ecy"                           \
          @P1  = 0                                              \
          @P2  = 2                                              \
          @P3  = 1                                              \
          @P4  = 0.2                                            \
          @P11 = 2000                                           \
          @P12 = 1000                                           \
          @P21 = "abcde"                                        \
          @P31 = 1               ( circle layout               ) \
          @P32 = 0               ( circle centre point X        ) \
          @P33 = -2              ( circle centre point Y        ) \
          @P41 = 10              ( reference point centre, bottom ) \
          @P42 = 0               ( reference point X            ) \
          @P43 = 0               ( reference point Y            ) \
          @P53 = 2                                              \
        ]
M30
Parameters 9:
Reference point (centre, bottom) and circle centre point (0, -2)

When reference point and circle centre point are identical, an error is output.

Example: varied circle centre point

Programming Example

Engrave in arc

; reference point (centre, bottom) and circle centre point (1, -1)
L CYCLE [NAME  = "SysMillEngrave.ecy",                          \
          @P1  = 0                                              \
          @P2  = 2                                              \
          @P3  = 1                                              \
          @P4  = 0.2                                            \
          @P11 = 2000                                           \
          @P12 = 1000                                           \
          @P21 = "abcde"                                        \
          @P31 = 1               ( circle layout               ) \
          @P32 = 1               ( circle centre point X        ) \
          @P33 = -1              ( circle centre point Y        ) \
          @P41 = 10              ( reference point centre, bottom ) \
          @P42 = 0               ( reference point X            ) \
          @P43 = 0               ( reference point Y            ) \
          @P53 = 2                                              \
        ]
M30
Parameters 10:
Reference point (centre, bottom) and circle centre point (1, -1)

Example: Reference point (left, bottom)

Programming Example

Reference point (left, bottom)

; reference point (left, bottom) and circle centre point (0, -2)
L CYCLE [NAME  = "SysMillEngrave.ecy"                           \
          @P1  = 0                                              \
          @P2  = 2                                              \
          @P3  = 1                                              \
          @P4  = 0.2                                            \
          @P11 = 2000                                           \
          @P12 = 1000                                           \
          @P21 = "abcde"                                        \
          @P31 = 1               ( circle layout               ) \
          @P32 = 0               ( circle centre point X        ) \
          @P33 = -2              ( circle centre point Y        ) \
          @P41 = 9               ( reference point left, bottom ) \
          @P42 = 0               ( reference point X            ) \
          @P43 = 0               ( reference point Y            ) \
          @P53 = 2                                              \
        ]
M30
Parameters 11:
Reference point (left, bottom) and circle centre point (0, -2)

Example: Circle centre point is above text

In the above examples, the circle centre point was always below the text. Therefore, the text start and end were both with “curved downwards”. Use @P31 = 2 to achieve the opposite effect. The circle centre point is above the text and the text ends are “curved upwards”.

Programming Example

Circle centre point above text

; circle centre point is above text
L CYCLE [NAME  = "SysMillEngrave.ecy"                          \
          @P1  = 0                                             \
          @P2  = 2                                             \
          @P3  = 1                                             \
          @P4  = 0.2                                           \
          @P11 = 2000                                          \
          @P12 = 1000                                          \
          @P21 = "abcde"                                       \
          @P31 = 2               ( circle layout 2            ) \
          @P32 = 0               ( circle centre point X     ) \
          @P33 = 2              ( circle centre point Y     ) \
          @P41 = 1               ( reference point, centre, top ) \
          @P42 = 0               ( reference point X            ) \
          @P43 = 0               ( reference point Y            ) \
          @P53 = 2                                             \
        ]
M30
Parameters 12:
Circle centre point is above text

Font size

The font size can either be specified directly or derived from another size. The parameter @P52 determines how the font size is calculated. The following options are available.

Value of @P52

Meaning

0 (default)

height of letter "X"

1

width of letter "X"

2

height of entire text (in linear layout)

3

width of entire text (in linear layout)

The corresponding size is then specified in @P53.

Example: height of letter "X"

Programming Example

height of letter X

; font size via the height of "X"
L CYCLE [NAME  = "SysMillEngrave.ecy"            \
          @P1  = 0                               \
          @P2  = 2                               \
          @P3  = 1                               \
          @P4  = 0.2                             \
          @P11 = 2000                            \
          @P12 = 1000                            \
          @P21 = "Xylophone"                    \
          @P52 = 0             ( height of “X”   ) \
          @P53 = 2            ( font size 1 ) \
        ]
M30
Parameters 13:
Font size via the height of "X"

Example: width of letter "X"

Programming Example

width of letter X

; font size via the width of "X"
L CYCLE [NAME  = "SysMillEngrave.ecy"            \
          @P1  = 0                               \
          @P2  = 2                               \
          @P3  = 1                               \
          @P4  = 0.2                             \
          @P11 = 2000                            \
          @P12 = 1000                            \
          @P21 = "Xylophone"                    \
          @P52 = 1             ( width of “X”    ) \
          @P53 = 2            ( font size 1 ) \
        ]
M30
Parameters 14:
Font size via the width of "X"

Example: height of entire text

Programming Example

height of entire text

; font size via the height of the entire text
L CYCLE [NAME  = "SysMillEngrave.ecy"                      \
          @P1  = 0                                         \
          @P2  = 2                                         \
          @P3  = 1                                         \
          @P4  = 0.2                                       \
          @P11 = 2000                                      \
          @P12 = 1000                                      \
          @P21 = "Xylophone"                                \
          @P52 = 2            ( height of entire text ) \
          @P53 = 2            ( font size 1 )  \
        ]
M30
Parameters 15:
Font size via the height of the entire text

Example: width of entire text

Programming Example

width of entire text

; font size via the width of the entire text
L CYCLE [NAME  = "SysMillEngrave.ecy"                        \
          @P1  = 0                                           \
          @P2  = 2                                           \
          @P3  = 1                                           \
          @P4  = 0.2                                         \
          @P11 = 2000                                        \
          @P12 = 1000                                        \
          @P21 = "Xylophone"                                \
          @P52 = 3            ( width of entire text ) \
          @P53 = 4            ( font size 4 )           \
        ]
M30
Parameters 16:
Font size via the width of the entire text

Non-proportional font

The parameter @P61 switches over to non-proportional font. In this mode, all characters have the same width.

Programming Example

Non-proportional font

; proportional font
L CYCLE [NAME  = "SysMillEngrave.ecy"              \
          @P1  = 0                                 \
          @P2  = 2                                 \
          @P3  = 1                                 \
          @P4  = 0.2                               \
          @P11 = 2000                              \
          @P12 = 1000                              \
          @P21 = "floor"                           \
          @P42 = 0       ( reference point X       ) \
          @P43 = 1.5     ( reference point Y       ) \
          @P53 = 2                                 \
          @P63 = FALSE   ( proportional font ) \
        ]
 
; non-proportional font
L CYCLE [NAME  = "SysMillEngrave.ecy"                   \
          @P1  = 0                                      \
          @P2  = 2                                      \
          @P3  = 1                                      \
          @P4  = 0.2                                    \
          @P11 = 2000                                   \
          @P12 = 1000                                   \
          @P21 = "floor"                                \
          @P42 = 0       ( reference point X        ) \
          @P43 = 0       ( reference point Y            ) \
          @P53 = 2                                      \
          @P61 = TRUE   ( non-proportional font ) \
        ]
M30
Parameters 17:
Comparison between proportional font (top) and non-proportional font (bottom)

Mirror font

The parameters @P62 and @P63 can mirror the characters in the X and Y directions.

Example: Mirror in X, character by character

Programming Example

Mirror in X - character by character

; mirror in X, character by character
L CYCLE [NAME  = "SysMillEngrave.ecy"                   \
          @P1  = 0                                      \
          @P2  = 2                                      \
          @P3  = 1                                      \
          @P4  = 0.2                                    \
          @P11 = 2000                                   \
          @P12 = 1000                                   \
          @P21 = "ISG kernel"                           \
          @P53 = 2                                      \
          @P62 = TRUE            ( mirror text in X ) \
        ]
M30
Parameters 18:
Mirror text character by character in X

Example: Mirror in X, complete

Programming Example

Mirror in X - mirror

If only @P62 is used to mirror in X, only each character is mirrored separately, but the order of the characters remains unchanged. To mirror the text completely, use @P23 in addition for text inversion.

; mirror in X, complete
L CYCLE [NAME  = "SysMillEngrave.ecy"                   \
          @P1  = 0                                      \
          @P2  = 2                                      \
          @P3  = 1                                      \
          @P4  = 0.2                                    \
          @P11 = 2000                                   \
          @P12 = 1000                                   \
          @P21 = "ISG kernel"                           \
          @P23 = TRUE            ( invert text      ) \
          @P53 = 2                                      \
          @P62 = TRUE            ( mirror text in X ) \
        ]
M30
Parameters 19:
Mirror complete text in X

Example: Mirror in Y

Programming Example

Mirror in Y

; mirror in Y
L CYCLE [NAME  = "SysMillEngrave.ecy"                   \
          @P1  = 0                                      \
          @P2  = 2                                      \
          @P3  = 1                                      \
          @P4  = 0.2                                    \
          @P11 = 2000                                   \
          @P12 = 1000                                   \
          @P21 = "ISG kernel"                           \
          @P53 = 2                                      \
          @P63 = TRUE            ( mirror text in Y ) \
        ]
M30
Parameters 20:
Mirror text in Y

Letter spacing

Character spacing can be influenced by the parameters @P64 in X and @P65 in Y.

Example: X spacing with large tool radius

It may be advantage to increase the spacing, especially in X, if large tool radii are used

Programming Example

X spacing with large tool radius

; normal spacing in X
L CYCLE [NAME  = "SysMillEngrave.ecy"                  \
          @P1  = 0                                     \
          @P2  = 2                                     \
          @P3  = 1                                     \
          @P4  = 0.2                                   \
          @P11 = 2000                                  \
          @P12 = 1000                                  \
          @P21 = "ISG kernel"                          \
          @P42 = 0             ( reference point X     ) \
          @P43 = 1.5           ( reference point Y     ) \
          @P53 = 2                                     \
          @P64 = 0             ( normal X spacing ) \
        ]
 
; adapt spacing in X
L CYCLE [NAME  = "SysMillEngrave.ecy"                         \
          @P1  = 0                                            \
          @P2  = 2                                            \
          @P3  = 1                                            \
          @P4  = 0.2                                          \
          @P11 = 2000                                         \
          @P12 = 1000                                         \
          @P21 = "ISG kernel"                                 \
          @P42 = 0             ( reference point X            ) \
          @P43 = 0             ( reference point Y            ) \
          @P53 = 2                                            \
          @P64 = 0.1           ( increase X spacing by 0.1 ) \
        ]
M30
Parameters 21:
Text with normal spacing (top) and slightly increased spacing (bottom)

Example: Y spacing for staircase effect

A staircase effect is obtainable with a Y offset.

Programming Example

Y spacing for staircase effect

; staircase effect in Y
L CYCLE [NAME  = "SysMillEngrave.ecy"           \
          @P1  = 0                              \
          @P2  = 2                              \
          @P3  = 1                              \
          @P4  = 0.2                            \
          @P11 = 2000                           \
          @P12 = 1000                           \
          @P21 = "ISG kernel"                   \
          @P53 = 2                              \
          @P65 = 0.1            ( Y spacing ) \
        ]
M30
Parameters 22:
Staircase effect