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.

Programing Example

prg_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

Use of diacritical marks and special characters
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.

Programing Example

prg_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

Inverted text
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:

Programing Example

prg_example

Placeholders

; use placeholders

L CYCLE [NAME  = "SysMillEngrave.ecy"                            \

          @P1  = 0                                               \

          @P2  = 2                                               \

          @P3  = 1                                               \

          @P4  = 0.2                                             \

          @P11 = 2000                                            \

          @P12 = 1000                                            \

          @P21 = "heute ${date}"  ( engrave current date ) \

          @P24 = TRUE              ( use placeholders     ) \

          @P53 = 2                                               \

        ]

M30

Using a placeholder
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

Programing Example

prg_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

Use placeholders for free parameters
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.

Character box with auxiliary lines
Character box with auxiliary lines

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

Possible reference points
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.

Programing Example

prg_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

Example of reference point (centre, centre) where (1, -0.25)
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.

Example of an arc layout, circle centre point is below the text
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.

Programing Example

prg_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

Reference point (centre, bottom) and circle centre point (0, -2)
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

Programing Example

prg_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

Reference point (centre, bottom) and circle centre point (1, -1)
Reference point (centre, bottom) and circle centre point (1, -1)

Example: Reference point (left, bottom)

Programing Example

prg_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

Reference point (left, bottom) and circle centre point (0, -2)
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”.

Programing Example

prg_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

Circle centre point is above text
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"

Programing Example

prg_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

Font size via the height of "X"
Font size via the height of "X"

Example: width of letter "X"

Programing Example

prg_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

Font size via the width of "X"
Font size via the width of "X"

Example: height of entire text

Programing Example

prg_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

Font size via the height of the entire text
Font size via the height of the entire text

Example: width of entire text

Programing Example

prg_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

Font size via the width of the entire text
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.

Programing Example

prg_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

Comparison between proportional font (top) and non-proportional font (bottom)
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

Programing Example

prg_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

Mirror text character by character in X
Mirror text character by character in X

Example: Mirror in X, complete

Programing Example

prg_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

Mirror complete text in X
Mirror complete text in X

Example: Mirror in Y

Programing Example

prg_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

Mirror text in Y
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

Programing Example

prg_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

Text with normal spacing (top) and slightly increased spacing (bottom)
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.

Programing Example

prg_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

Staircase effect
Staircase effect