VISI CAM PostProcessor

Download as pdf or txt
Download as pdf or txt
You are on page 1of 193

Post Processor

CAM
Post-processor for VISI 2021.0

Macro language variables

1
Post Processor

CAM ........................................................................................................................................................ 1
Post-processor for VISI 2021.0 ............................................................................................................... 1
Macro-language variables in Vero Post Processor ........................................................................... 6
Various ..................................................................................................................................................................... 6
Operation type - TYPM ............................................................................................................................................ 9
Operation subtype - OPTYPE................................................................................................................................ 12
General coordinates variables ............................................................................................................................... 14
General WorkFile & Project information variables ................................................................................................. 14
Fixed cycles variables ............................................................................................................................................ 15
Gun drilling parameters. ........................................................................................................................................ 16
Tools variables ....................................................................................................................................................... 21
Cutting condition variables ..................................................................................................................................... 24
Feed table in NC file. ............................................................................................................................................. 25
Face variables and management .......................................................................................................................... 29
Operation variables. ............................................................................................................................................... 37
MACOUT and MDRILL functions........................................................................................................................... 38
Mathematical function in macro-language and main syntax rules. ........................................................................ 45
String variable ........................................................................................................................................................ 48
Free user Variables ............................................................................................................................................... 49
Sub-program and label management .................................................................................................................... 49
Drill group management SPLITD and DSPPRI ..................................................................................................... 51
Split the drill cycle SPLITG .................................................................................................................................... 52
Commands for file management in VP .................................................................................................................. 53
Vero Post Processor rules to assign a name to NC file. ....................................................................................... 56
Vero Post Processor section list $..... . .................................................................................................................. 63
Vero Post Processor setting variables. .................................................................................................................. 67
Python use in Vero Post Processor. ...................................................................................................................... 68
Bounding box variable sets.................................................................................................................................... 72
Tool-path bounding box: ............................................................................................................... 72
Stock bounding box ...................................................................................................................... 73
First tool-path point ....................................................................................................................... 74
Helix variables........................................................................................................................................................ 75
Setting in Vero Post Processor ......................................................................................................... 78
Range for spindle speed management. ................................................................................................................. 78
Arc Helix management Vp_Arc_Small_Tolerance, MAXRD, SPLITC. .................................................................. 79
NEW VARIABLES STARTING FROM VERSION 10.1 ....................................................................... 81
New SPLITD variable (for Drilling Obstacle Management) ................................................................................... 81
New ASSREF variable ........................................................................................................................................... 81
New MAXRD variable ............................................................................................................................................ 81
New SISTER_TOOL Section ................................................................................................................................. 81
New Variable ENHWPL ......................................................................................................................................... 82
New VARIABILI XCX XCY XCZ YCX YCY YCZ ZCX ZCY ZCZ ........................................................................... 83
NEW VARIABLES STARTING FROM VERSION 11.2 ....................................................................... 84
New Variables HTOLL VTOLL............................................................................................................................... 84
New Variables AXAXIS ABSREF ........................................................................................................................ 84
New Variable REMARK ........................................................................................................................................ 84
NEW VARIABLES STARTING FROM VERSION 11.3 ....................................................................... 84
New Variable ASSREF ......................................................................................................................................... 84
NEW VARIABLES STARTING FROM VERSION 12.1 ....................................................................... 84
New Variable GUIDEP .......................................................................................................................................... 85
New Variable VOVERS ........................................................................................................................................ 85
New Variable HSTEP ........................................................................................................................................... 85
New Variable VSTEP ............................................................................................................................................ 85
New Variable VSTEPL .......................................................................................................................................... 85
NEW VARIABLES STARTING FROM VERSION 13 .......................................................................... 86
New Variables for Helix management .................................................................................................................. 86
NEW VARIABLES STARTING FROM VERSION 13 .1 SP1 ............................................................... 87
NEW VARIABLES STARTING FROM VERSION 14.0.02.07 ............................................................. 88

2
Post Processor
New Variables for Toolpath Bounding Box .......................................................................................................... 88
NEW VARIABLES STARTING FROM VERSION 14.0.03.07 ............................................................. 89
New Variable “SPLITG” to spilt Drilling cycles output ........................................................................................... 89
NEW VARIABLES STARTING FROM VERSION 15.0.02.08 ............................................................. 90
New Variable to print the “Bounding box”model box” information ......................................................................... 90
New Variable to print special information at the start of the NC file ...................................................................... 91
New Variable ANGMOD to switch on/off the standard calculate routine for the Face angle. ............................... 91
NEW VARIABLES STARTING FROM VERSION 16.0 ....................................................................... 91
Increase Tool position number. ............................................................................................................................. 91
New variables to print the sum of the all operations post processed. ................................................................... 91
New variables to print the next tool. ...................................................................................................................... 91
New variable to print the tool path operation length. ............................................................................................. 91
New variable TLSDUP to print the TLIST with the duplicate tool. ......................................................................... 91
New variable to know the machine setting. ........................................................................................................... 91
New Default for Variable “ANGMOD” .................................................................................................................... 92
New Variables to manage the rotation angle A and B ........................................................................................... 92
New Variable DSPPRI to manage the priority to create a sub program in the Drill Cycle .................................... 94
New Variables to print in absolute the first toolpath position ................................................................................. 95
New Variables to print in relative the first tool-path position .................................................................................. 96
New Variables AGNROT to print the Rotation angle around Z. ............................................................................ 96
NEW VARIABLES STARTING FROM VERSION 16.0.02.09 ............................................................. 97
Improvement the compensation management in XYZ movement. ....................................................................... 97
Coordinates printed check. .................................................................................................................................... 97
New variables TYPEOR . ...................................................................................................................................... 98
NEW VARIABLES STARTING FROM VERSION 16.0.03.09 ............................................................. 98
New variables FANGA, FANGB . .......................................................................................................................... 98
NEW VARIABLES STARTING FROM VERSION 16.0.04.09 ............................................................. 99
New section sequence between drill cycle. ........................................................................................................... 99
NEW VARIABLES STARTING FROM VERSION 17.0 ..................................................................... 100
Improvement the sections checked by the “Coordinates printed check” . ........................................................... 100
Improvement the Helix approach for the Pock operation. ................................................................................... 101
Restored the section “$GOTO_Z_WRK” called in the Z approach move in Mill . ............................................... 102
Restored the tool change setting – TCM variables in the macro-language. ....................................................... 103
Restored the VAOPT management. .................................................................................................................... 104
Eliminate the assignment for the variables XT YT ZT in the section $STARTFACE . ........................................ 104
Add a new section $REMARK. ............................................................................................................................ 105
Add a new function to manage the operation sub-program STYPO. .................................................................. 105
Add a new function CHKOUT to disable the check of the Coordinates printed check. ....................................... 106
Add a new variables TLMES to print the tool name. ........................................................................................... 106
NEW VARIABLES STARTING FROM VERSION 17.0.09.09 ........................................................... 107
Improvement to generate a empty line. ............................................................................................................... 107
NEW VARIABLES STARTING FROM VERSION 17.0.10.09 ........................................................... 107
Feed table in NC file. ........................................................................................................................................... 107
Improvement in the function STYPO. .................................................................................................................. 111
Changed the default value on CHKOUT variable. ............................................................................................... 111
NEW VARIABLES STARTING FROM VERSION 17.0.11.09 ........................................................... 112
New variable SNOANG – value of relative origin number. .................................................................................. 112
Restore the variable NBPTS. ............................................................................................................................... 112
New variable NBTETH. ........................................................................................................................................ 113
Restored the reset of Z value for a sub program manage by STYPM=1 or 2. .................................................... 113
NEW VARIABLES STARTING FROM VERSION 17.0.02.10 ........................................................... 114
Improvement in variable TYPM. .......................................................................................................................... 114
New variables to define the approach\retract type – APPMET \ RETMET. ........................................................ 115
Improvement the unit check for the Vero Post interface. .................................................................................... 116
Bug-fixing for the variables NSTA........................................................................................................................ 116
NEW VARIABLES STARTING FROM VERSION 17.0.03.10 ........................................................... 117
Improvement in the stock bounding box management. ....................................................................................... 117
Chamfering improvement in ZL and XL. .............................................................................................................. 118
Improvement a new free customer variables in the macro-language.................................................................. 118

3
Post Processor
Bug-fixing when elaborate a Drill operation that used a Mill Tool. ...................................................................... 118
New variable OFMODE. ...................................................................................................................................... 119
New variable INSPRG. ........................................................................................................................................ 120
Improvement the variable HOVERS, VOVERS, HSTEP, VSTEP and VSTEPL for the ISO
Machining and 5axis operation. ........................................................................................................................... 120
Improvement in the variables PARTMT. .............................................................................................................. 120
NEW VARIABLES STARTING FROM VERSION 17.0.04.10 ........................................................... 121
New variables EDISRD. ....................................................................................................................................... 121
Bug-fixing in the feed-rate table functionality. ...................................................................................................... 121
NEW VARIABLES STARTING FROM VERSION 17.0.06.10 ........................................................... 121
Bug-fixing for the project Stock bounding box calculation. .................................................................................. 121
NEW VARIABLES STARTING FROM VERSION 18.0 ..................................................................... 122
New functionality “MACOUT” to manage CNC pock/mill cycles. ........................................................................ 122
Extend the functionality of ZS and ZR to the milling operation. ........................................................................... 131
Restored the Drill Cycle management without the Face management. .............................................................. 133
Improvement in variable SPLITD. ........................................................................................................................ 134
New warning message box.................................................................................................................................. 136
APPMET and RETMET improvement. ................................................................................................................ 138
NEW VARIABLES STARTING FROM VERSION 18.0.09.10 ........................................................... 139
Improvement in the main sub-program management. ........................................................................................ 139
Improve to store the NC output filename . ........................................................................................................... 143
Improve in the function SPLITD. .......................................................................................................................... 144
Improve in the function MDRILL. ......................................................................................................................... 146
Improvement the SPLITD=2 in the function STYPC. .......................................................................................... 149
Improve a new variable “CYCRAP“ to print\don’t print the GOTO_xx_RAP in the Drill & MillDrill
operations. ........................................................................................................................................................... 150
Improvement a new parameter, to manage a maximum value, for a split arc tolerance. .................................... 150
Bug-fixing in the variable NEXTT......................................................................................................................... 151
Link to NC Speed stand alone. ............................................................................................................................ 152
NEW VARIABLES STARTING FROM VERSION 18.0.11.10 ........................................................... 156
Bug-fixing for the variables NBS. ......................................................................................................................... 156
Improvement the variable MACTOL for the new Aggregate operation. .............................................................. 156
Bug fixing for the drill cycle variables XL ZL. ....................................................................................................... 156
NEW VARIABLES STARTING FROM VERSION 18.0.02.11 ........................................................... 156
New variables MINALN in macro-language. ........................................................................................................ 156
NEW VARIABLES STARTING FROM VERSION 19.0 ..................................................................... 157
Improvement in function SPLID=2. ...................................................................................................................... 157
New variable CYCCLE. ....................................................................................................................................... 159
Bug-fixing on T variable printed in channel #18 @18. ......................................................................................... 159
New parameter to change the default NC filename............................................................................................. 159
New group management functionality. ................................................................................................................ 161
New variable SECSEQ. ....................................................................................................................................... 164
Improvement in the command WRT_FORM. New variable LINNUM. ............................................................... 165
Improvement in the command TLSDUP. ............................................................................................................. 165
Modify in SPLITD and DSPPRI management. .................................................................................................... 166
Add a safety check, test if value exceed the limit for given channel. .................................................................. 166
NEW VARIABLES STARTING FROM VERSION 19.0.09.11 ........................................................... 167
Improvement in function MACOUT. ..................................................................................................................... 167
Improvement the string variables available in macro-language. ......................................................................... 168
New variable CCFUNC. ....................................................................................................................................... 168
NEW VARIABLES STARTING FROM VERSION 19.0.11.11 ........................................................... 168
Improvement in function MACTOL. ..................................................................................................................... 168
New parameter TAPPTY. .................................................................................................................................... 168
New parameter CDIAM. ....................................................................................................................................... 168
NEW VARIABLES STARTING FROM VERSION 19.0.02.12 ........................................................... 169
Improvement a new parameter NOCHANCHK. .................................................................................................. 169
Improvement in DELETE and RENAME command ............................................................................................ 169
Bug fixing in recall $STARTFACE. ...................................................................................................................... 169
Bug fixing in Store NC name. .............................................................................................................................. 169

4
Post Processor
Bug fixing to print integer figure when "number of integer figures”>7. ................................................................ 169
NEW VARIABLES STARTING FROM VERSION 20.0 ..................................................................... 170
Improvement Python call in macro-language. ..................................................................................................... 170
Improvement in STYPM=1 or 2. .......................................................................................................................... 170
NC store filename automatically manage the extension change. ....................................................................... 171
Improvement in CLOSE command. ..................................................................................................................... 171
New section EXITPP. .......................................................................................................................................... 171
Bug-fixing in TTIME, PTIME, TTIMEA and PTIMEA. .......................................................................................... 171
Improvement in time calculation, for rapid and 3D rapid movements in tool-path. ............................................. 172
New variables RTIME,MTIME and LENR. ........................................................................................................... 172
Bug-fixing in WRT_FORM. .................................................................................................................................. 173
Improvement the new 5axis tool type. ................................................................................................................. 173
Improvement in variable R . ................................................................................................................................. 173
Improvement in NBPTS. ...................................................................................................................................... 173
Improvement in Post Processor DEBUG mode. .................................................................................................. 173
Add a new variable OPTYPE. .............................................................................................................................. 174
Bug-fixing in Drill Cycle management in ABS reference. .................................................................................... 174
NEW VARIABLES STARTING FROM VERSION 20.0.11.12 ........................................................... 175
Improvement in CAM Setup and project information. .......................................................................................... 175
NEW VARIABLES STARTING FROM VERSION 21.0 ..................................................................... 177
Improvement, to generate sub-programs, also with only one repetition.............................................................. 177
Improvement for the incremental coordinates managements. ............................................................................ 177
Improvement for sub-programs managements. .................................................................................................. 178
New variable RTCP to manage this machine configuration. ............................................................................... 178
New value for TLSDUP. ....................................................................................................................................... 179
NEW VARIABLES STARTING FROM VERSION 2016 R1 ............................................................... 179
Improvement in function STYPM. ........................................................................................................................ 179
Extended the value management functionality in incremental mode. ................................................................. 179
NEW VARIABLES STARTING FROM VERSION 2016 R2 ............................................................... 180
Bug-fixing in variables ZL. ................................................................................................................................... 180
Improvement in alert message. ........................................................................................................................... 180
NEW VARIABLES STARTING FROM VERSION 2017 R1 ............................................................... 180
Enhancement MACTOL for 2.5axis operation. .................................................................................................... 180
Enhancement for incremental programming. ...................................................................................................... 181
NEW VARIABLES STARTING FROM VERSION 2017 R2 ............................................................... 181
Enhancement new parameter for MACOUT and MDRILL management. ........................................................... 181
NEW VARIABLES STARTING FROM VERSION 2019 R1 ............................................................... 181
Change in debug parameter DEBDP behaviour. ................................................................................................. 181
New parameter CMPTOL. ................................................................................................................................... 182
Bug-fixing for “SPLITG” parameter. .................................................................................................................... 183
MAXRD function improve also for helix geometry. .............................................................................................. 183
Bug fixing for Chamfering parameter in macro language. ................................................................................... 184
NEW VARIABLES STARTING FROM VERSION 2020.0 ................................................................. 184
New flag parameter MOVNMG. ........................................................................................................................... 184
Bug fixing for Helix feed table management. ....................................................................................................... 185
New parameters KINBAS, NAXES and AXCONF. .............................................................................................. 185
NEW VARIABLES STARTING FROM VERSION 2020.1 ................................................................. 187
New parameter for gun drilling option. ................................................................................................................. 187
NEW VARIABLES STARTING FROM VERSION 2021.0 ................................................................. 189
New parameter for gun drilling option. ................................................................................................................. 189

5
Post Processor

Macro-language variables in Vero Post Processor


Various
ALFA comment or machine blocks. It returns initialized as a string in all SECTIONS where
a string variable is expected (operation description – tool description – etc.).
ID program identifier (not used in Visi Machining)
NODEF numerical user free variable, usually is set equal to 999999. Value that indicate that a
parameter is not defined. This variable is used to make macrolanguage test more
understandable.
EV numerical user free variable
TYPG go to type
1,TO_AP
2,AP_PF
4,TO_PF
5,PF_RP
7,FROM_RP
8,FROM_PF
9,Z_DEPT
10,CH
12,Z
13,GOIN
14,UP_TO_RA
15,UP_TP_FINAL_Z
16,CYC_RET_Z
17,GOTO_SD
18,GOTO_Z_START
21,GOTO_5_AXE
23,NORMAL_3AXIS
TYPM operation type. #Operation type
OPTYPE read the operation subtype.stored in WKF file Add a new variable OPTYPE.
TYPNO next step inside single operation:
40 tool change
41 change face
42 new operation
43 elementary operation
44 goto
45 tool path XYZAB
46 tool path 2D on profile
47 goto on technological point
48 reference element
49 block begin
50 block end
51 new machining
52 fixed cycle
53 tool parameter change
54 path tool 3D
55 technological parameter
56 manual technology

6
Post Processor
99 null

ZMIN minimum Z level, reached by tool. This variable print the minimum Z reached by the
tools from starting to the current toolpath position, so its value depends also on
operations before the current one.

LENW total working tool length (cutting LENgth Working). In this value is also called the 3D
rapid movement length and not the normally rapid movements (print from a following
variable).
LENR total rapid tool length (cutting LENgth Rapid).
LEN length of a last movement. Normally used in $GOTO_... sections or other movement
sections. Store only the length of one movement.

TTIME Total time. When generate a NC file, Vero Post Processor calculates and store the tool
feed time in this variable. Manage also the 3D rapid in feed mode.
To print the all operations tool feed time, we must used item on the “$ENDPP” section.
If you use this variable, at the end of operation, you print the partial time. We can’t use
this variables with “SPLITC=1 or 2” and “SPLITM=1 or 2”, the value print is wrong.
The advice sections to use this variable are:
• $OPERATION_END – print the partial tool feed time, up to that operation.
• $ENDPP – print the total tool feed time.
• $END – print the total tool feed time.
RTIME Rapid Time. When generate a NC file, Vero Post Processor calculates and store the
tool rapid time in this variable. The rapid feed used is store in the machine parameters.
To print the all operations tool feed time, we must used item on the “$ENDPP” section.
The advice sections to use this variable are:
• $OPERATION_END – print the partial tool rapid time, up to that operation.
• $ENDPP – print the total tool rapid time.
• $END – print the total tool rapid time.
MTIME Machining Total time. When generate a NC file, Vero Post Processor calculates and
store the tool feed time + 3D rapid time + rapid time.
To print the all operations total machining time, we must used item on the “$ENDPP”
section. If you use this variable, at the end of operation, you print the partial time.
The advice sections to use this variable are:
• $OPERATION_END – print the partial tool feed time, up to that operation.
• $ENDPP – print the total tool feed time.
• $END – print the total tool feed time.
PTIME Partial time. This variable is equal to the TTIME, but it’s reset each tool change (its
value is reset in the $STARTOOL section). We can’t use this variables with “SPLITC=1
or 2” and “SPLITM=1 or 2”, the value print is wrong. Manage also the 3D rapid in feed
mode.
The advice sections to use this variable are:
• $ENDTOOL – print the partial tool feed time
• $END – print the partial tool feed time
• $OPERATION_END – print the partial tool feed time
TIME machining sequential time (block by block). To print the total\tool time at the start of NC
file, you must use the following parameters:

7
Post Processor
PTIMEA contains the single operation tool feed time, read from a tool-path. This value is equal
to the Visi-Machining tool-path query “?”. The advice sections to use this variable are:
• $STARTPP – print the first operation feed time
• $OPERATION_BEGIN – print the next operation feed time
TTIMEA contains the sum of all operations time, read from a tool-path. This value is equal to
the Visi-Machining tool-path query “?”.The advice section to use this variable is:
• $STARTPP – print the total feed time

N value for a number blocks.


NMAX maximum number blocks.
NSTA start number block.
FLIST generate face list
TLIST generate tool list
NEXTT next tool number add @18NEXTT after $STARTTOOL
MAXRD check arch radius (if RC>MARD the arc will be splitted) default value=1000mm

TINT indicate the helix rotation CW \ CCW 2 \ 3

GENPP print the post processor CFG file name.

DATE print the data of NC file creation with next format day/month/year.
If we need to print the date in different format for example month/day/year we can use
the next macro-language line commands.
STRPRINT(STRNA,DATE[4-6],DATE[1-3],DATE[7-]);
@1N "(PROGRAMMED DATE : " STRNA ")";

HOUR print the time of NC file creation.

8
Post Processor

Operation type - TYPM


Note: OPTYPE read/print CAM operation SubType from VISI.

Operation Type OPTYPE TYPM Comments


Roughing 148
Deep cavity Roughing 148
HM Rib Machining 2102 20 Available from 19.0.07.11
HM Roughing 2103 Available from 19.0.09.11
Roughing V21 562 Available from 21.0
Constant Z 125 -
Deep cavity Constant Z 125 Available from 19.0.07.11
HM Constant Z 2104 Available from 19.0.07.11
Waterline V21 525 21 Available from 21.0
Waterline evo V21 501 Available from 21.0
Const Z hybrid V21 2104 Available from 21.0
Waterline rest V21 560 Available from 21.0
Parallel Plane 149
Raster V21 549 Available from 21.0
22
Raster rest V21 561 Available from 21.0
Contour rest 2106 Available from 2018 R2
Raster Spiral 149
Spiral/radial V21 550 23 Available from 21.0
Morph V21 551 Available from 21.0
1 Leading Curve 149 24 Expired in 10
2 Leading Curve 149 25
Contour projection 149
26
Projection V21 552 Available from 21.0
ISO Machining 336 27
Rest Material 401
28 Available from 21.0

Pencil Milling 402 29


Constant stepover 122
Step & shallow 400 30
Constant step V21 522 Available from 21.0
Rest Roughing 31 Expired
Radial 149 32 Expired
Tracing 3D 119 33 Expired
Planar Face Machining 144 Available from 12
34
Planar V21 544 Available from 21.0
Corner rest material 28 Available from 13 - Expired
Rest material COMBI 60 Available from 11.2 - Expired in 18.0
Finishing COMBI 61 Available from 11.2 - Expired in 18.0
Aggregate 2000 Available from 18.0
Complex surface 336 Available from 13.1 – Expired in 16
machining (ex undercut) 62
ISO-Machining 336

9
Post Processor
Adaptive Roughing 147 64 Available from 14
Engraving Machining 63 Available from 14 – Expired in 19

4 AXIS Machining 55 Available from 13.1


5 AXIS MAchining 333 53 Available from 13.1
3D to 5 axis conversion 335 57 Available from 13.1
3D rest material to 5 axis
58 Available from 13.1 – Expired in 15
conversion
Converted CX CY CZ 299 67 Available from 13.1

298 Available from 16


Link between operation 99
From VISI 21.1 assign typm=99
Milling 240 Expired in 16
Gen Milling 240 Available from 16 – expired in 21
HS Milling 810 Available from 16 – expired in 21
Interactive Milling 260 Available from 18.0
1
Mill D45 240 Available from 21 – expired in VISI 2017 R2
Profiling 4002 Available from 2017 R1
2.5axis Remachining D45 261 Available from 21 – expired in VISI 2017 R2
Remachining 4004 Available from VISI 2017 R2
240 Expired in 16
Quick Milling 2

Milling By Successive Expired in 16


3
Passes
Pocketing Spiral 241 Expired in 16
Hs pocketing 807 Available from 16 – expired in 21
Hs face mill 808 Available from 16 – expired in 21
Pocket classic D45 241 4 Available from 21
Facemill classic D45 259 Available from 21– expired in VISI 2019 R1
Facemill 4006 Available from VISI 2019 R1
Pocketing 4001 Available from 2017 R1
Gen Pocketing Zig Zag 241 4 Available from 16 – expired in 21
Gen Pocketing not Zig 241
5 Available from 16 – expired in 21
Zag
Pocketing Zig Zag 241 5 Expired in 16
Quick Pocketing 241 6 Expired in 16
Facemill Spiral 241 7 Expired in 16
Facemill Zig Zag 241 8 Expired in 16
Facemill by Points
9 Expired in 16
Manual operation
Drilling Cycles 150 10
Gun Drilling 150 50 From release 12.2
Plane Section 244
Expired in 16
Gen Plane Section 244
11 Available from 16 – expired in 21
Gen Profile & section 263
Available from 21
D45
Revolution 257 12 Expired in 16

10
Post Processor
Gen Revolution 257 Available from 16 – expired in 21
Gen Revolution D45 257 Available from 21
Open Pock 241 13 Expired in 16
Extrusion 256 Expired in 16
Gen Extrusion 256 14 Available from 16 – expired in 21
Gen Extrusion D45 256 Available from 21
Helicoidal Mill 255 Expired in 16
15
GEN Helicoidal Mill 255 Available from 16 – expired in 21
Mill Thread 258 Expired in 16
Gen Mill Thread 258 Available from 16 – expired in 21
16
HS Mill Thread 809 Available from 16 – expired in 21
Mill Thread D45 258 Available from 21
Blending 242 Expired in 16
Gen Blending 242 17 Available from 16 – expired in 21
Gen Blending D45 263 Available from 21
Chamfer 243 Expired in 16
Gen Chamfer 243 Available from 16 – expired in 21
18
Gen Chamfer D45 262 Available from 21
Chamfering 4005 Available from 2018 R1
Mill Drill 240 19 Expired in 16

11
Post Processor

Operation subtype - OPTYPE


Note: OPTYPE read/print CAM operation SubType from VISI.

List the operations used in Visi 2019 R1.


Operation OPTYPE Comments
Name___________
Drill cycle
All drill cycles 150
Gun drilling 150
Standard 2D
Profiling 4002 Available from 2017 R1
Pock Classic D45 241 Available from 21
Pocketing 4001 Available from 2017 R1
Facemill 4006 Available from 2019 R1
Extrusion D45 256 Available from 21
Revolution D45 257 Available from 21
Thread mill D45 258 Available from 21
Interactive milling 260 Available from 21
Remachining 4004 Available from 2017 R2
Chamfering 4005 Available from 2018 R1
Blending D45 263 Available from 21
Profile & section 264
Available from 21
D45
Link between operation 298

3D
Roughing V21 562 Available from 21.0
HM rib machining 2102 Available from 19.0.09.11
HM roughing 2103 Available from 19.0.09.11
HM constant Z 2104 Available from 19.0.09.11
Adaptive roughing 147
Raster V21 549 Available from 21.0
Spiral/Radial V21 550 Available from 21.0
Morph V21 551 Available from 21.0
Projection V21 552 Available from 21.0
Waterline V21 525 Available from 21.0
Waterline evo V21 501 Available from 21.0
Const Z hybrid V21 2104 Available from 21.0

12
Post Processor
Planar V21 544 Available from 21.0
Constant step V21 522 Available from 21.0
ISO-Machining 336
Raster restV21 561 Available from 21.0
Waterline rest V21 560 Available from 21.0
Rest material 401

Pencil 402

Contour rest 2106 Available from 2018 R2

Converted to
299
CxCyCz
5axis 333
4axis 334
Auto tilting
335
Converted to 5ax
Standard 3D operation
Rough 148
Deep Cavity-
Roughing
Raster 149

Constant Z 125
Deep Cavity-
Constant Z
Planar faces 144

Aggregate 2000
Constant stepover 122

Steep / shallow 400


Tracing 3D 119

-Relatedtopics-
#Add a new variable OPTYPE.

13
Post Processor
Various
General coordinates variables

N variable for block number.


X X co-ordinate.
Y Y co-ordinate.
Z Z co-ordinate.
A A angular value.
B B angular value
C C angular value
U U co-ordinate
V V co-ordinate.
W W co-ordinate
XC circle centre X co-ordinate
YC circle centre Y co-ordinate.
ZC circle centre Z co-ordinate.
RC circle radius (with sign +ccw -cw).
XOLD previous X co-ordinate value.
YOLD previous Y co-ordinate value.
ZOLD previous Z co-ordinate value.
AOLD previous A angular value.
BOLD previous B angular value.
COLD previous C angular value.
UOLD previous U co-ordinate value.
VOLD previous V co-ordinate value.
WOLD previous W co-ordinate value.
COSX (P) directional X cosine (or CRX for ECS).
COSY (Q) directional Y cosine (or CRY for ECS).
COSZ (R) directional Z cosine.
ROTA angle of axial rotation
ROTAO previous angle of axial rotation
AROUND axes of rotation 0=X 1=Y 2=Z
STAN start arc angle
ENAN end arc angle

General WorkFile & Project information variables

NOMP write the name of the NC file


EXT write the extension of the NC file
WORKF write the name and extension of the WKF file

14
Post Processor

Fixed cycles variables

XS,YS,ZS coordinates of start from fixed cycle.


XL,YL,ZL coordinates of end from fixed cycle.
XR,YR,ZR coordinates of return from fixed cycle.
PCS first chip break distance to clear shaving (PARAM1).
PC Z increment in fixed cycle (PARAM2).
PCD stationary time for chip breaking (PARAM3).
NBPTS total number points of fixed cycle.
NRIP if zero disables fixed cycles for return to safety plane.
PITCH thread pitch.
RHO polar coordinate module (mm\inch). This value is calculated on the drill CAM-Setup
(the machine setting “Output from ABS coordinates” change the reference origin).
THETA polar coordinate angle (radiant). This value is calculated on the drill reference CAM-
Setup (the machine setting “Output from ABS coordinates” change the reference
origin).

n.b.
The coordinates XS,YS,ZS,XL,YL,ZL,XR,YR,ZR are calculate in the ABS plane.
-Related topics-
#Bug fixing for the drill cycle variables XL ZL.
#Restored the Drill Cycle management without the Face management.

15
Post Processor

Gun drilling parameters.


From VISI 2020.1 the gun drilling parameters are defined in section “$OPERATION_BEGIN”.

GDRILL = Gun DRILL method 0=Never (default value) 1=Always or ratio (when gun drilling is
activated). The combo box has 3 value but this parameter is used to indicate if gun
drilling is ON or OFF.
GDRSPH = Gun Drill Reduce Speed in Pilot Hole flag
GDSPIL = Gun Drill Speed in PILot hole
GDREVP = Gun Drill REVersed rotation in Pilot hole
EDISRD = gun drill Entry DIStance at ReDuced f/s ( % )
GDSLOD = Gun Drill SLOwing Distance (%)
GDSPED = Gun Drill SPEeding Distance (%)
GDESPD = Gun Drill Extra SPeeding Distance
GDRFSD = Gun Drill Reduce Feed within Speeding Distance flag
GDSLOF = Gun Drill SLOwing delta F (%)
GDSLOS = Gun Drill SLOwing delta S (%)
GDRFHB = Gun Drill Reduce Feed at Hole Bottom flag
GDSDHB = Gun Drill Slowing Distance at Hole Bottom (%)
GDDHBF = Gun Drill Disengage Hole Bottom Flag
GDTDHB = Gun Drill Tool Disengage Hole Bottom
GDRCOF = Gun Drill Retraction Coolant Off Flag
GDRCOD = Gun Drill Retraction Coolant Off Distance (%)
GDFFRF = Gun Drill Feed in Final Retraction Flag
GDPOPT = Gun Drill Points OPTimisation

16
Post Processor

The geometric feature and the tool-path parameters are print in macro language section
“$GUNDRILLING_START”.

FEASTY FEAture Sub-Type


-1=DEFAULT
0=BLIND
1=THROUGH
4=CONIC TIP
5=BOTTOM RADIUS

XS,YS,ZS coordinates of start from fixed cycle.


GDEDPX, GDEDPY and GDEDPZ are the coordinates of point generated from EDISRD
GDEDPX Gun Drill Entry Distance Point coordinate X at reduced F/S %
GDEDPX Gun Drill Entry Distance Point coordinate Y at reduced F/S %
GDEDPX Gun Drill Entry Distance Point coordinate Z at reduced F/S %
XL,YL,ZL coordinates of end from fixed cycle.
XR,YR,ZR coordinates of return from fixed cycle.

17
Post Processor
$GUNDRILLING_START

This section includes the following points.


Previous points are managed from $GOTO_XY_RAP $GOTO_Z_RAP

18
Post Processor

$GUNDRILLING_DRILL

This section includes the following points.


All feed movements until the end of the drilling.

19
Post Processor

$GUNDRILLING_END

This section includes the following points.


The optional retract movement in feed and all the retraction movements until the clearance plane.

-Related topics-
New variables EDISRD.
New parameter for gun drilling option 2020.1.
New parameter for gun drilling option 2021.0.

20
Post Processor

Tools variables

ALFA is used in the different sections to print always description (tool name, operation type,
remark etc.).
ASSREF print in the ISO file the “Tool Holder Assembly” name.
D tool diameter.
CANG tool tip angle
CDIAM tool tip diameter
CH tool safety distance.
CLNT coolant type of coolant.
0 = off
1 = Jet
2 = Fog
3 = Center
4 = Jet + Fog + Cent
5 = Jet + Fog
6 = Jet + Cent
7 = Fog + Cent
8--->xxx free user define
CORRD diameter corrector number.
CORRL length corrector number.
GUIDEP print in the ISO the information about the Tool guide point.
=0 means Tool Tip
=1 means Tool Centre
T tool number.
TCM indicator of tool change 0=manual / 1=automatic.
TLEN tool length.
NBTCH total number of tool changes.
NEXTT next tool number.
NTLRF print the value of TLREF for the next tool
NTLRFB print the value of TLREFB for the next tool
R tool radius. Print a tool tip fillet radius for a following tools type:
7,Corner rounding cutter. DBT_MILL_CORNER_ROUND
8,Ball nose cutter. DBT_MILL_BALL_NOSE
9,Radiused cutter. DBT_MILL_RADIUSED
16,Ball conic cutter DBT_MILL_BALL_CONIC
17,Lollipop cutter DBT_MILL_LOLLIPOP
18,Radiused T-slot cutter DBT_MILL_RADIUSED_TSLOT
19,Bull conic cutter DBT_MILL_BULL_CONIC
20,Radiused Dove cutter DBT_MILL_RADIUSED_DOVE
21,Barrel cutter DBT_MILL_BARREL
22,Convex Tip cutter DBT_MILL_CONVEX_TIP
23,Radiused chamfer cutter DBT_MILL_RADIUSED_CHAMFER

TLTY tool type.


0,drilling. DBT_TYPE_DRILL
1,milling. DBT_TYPE_MILL
2,reaming. DBT_TYPE_REAM
3,tapping. DBT_TYPE_TAPP
4,other. DBT_TYPE_MEASURE

21
Post Processor
TLIST print the list of all used tool in the NC file. The Tool is sort for position number. In the
macro-language we must create the section $TOOLLIST.
TLSDUP change the function of TLIST.
= 0 – TLIST print the tool list without the duplicate tools, sort in ascending
= 1 – TLIST print the tool list with the duplicate tools, sort in ascending
= 2 – TLIST print the tool list with the duplicate tools, sort equal to CAM
Navigator tree
= 3 – TLIST print the tool list without the duplicate tools, sort equal to CAM
Navigator tree
= 4 - TLIST print the tool list of project tool crib
TLREF print the internal code1 (Tool_InternalCode1)
TLREFB print the internal code2 (Tool_InternalCode2)
TLSUPP print the tool supplier code 1 (Tool_SupplierCode1)
TOOLMT print tool material
TOVERH print the value associated to the “Overhang length” variable.
TPRSET print the value associated to the “ Presetting length” of the tool.
TLMES print the tool name when the variable ALFA have other message called.
TLTS tool subtype.
for drilling.
0,Centre drill DBT_DRILL_CENTRE
1,Drill DBT_DRILL_HELICOIDAL
2,Chamfering drill DBT_DRILL_POINTER
3,Flat bottom drill DBT_DRILL_PLANE
4,Drill 2 diameters DBT_DRILL_TWODIAM

5,U drill DBT_DRILL_SPADE


6,Spade drill DBT_DRILL_MAXTYPES
for milling
0,Face mill – insert DBT_MILL_MILLCUT_EI

1,Facemill DBT_MILL_MILLCUT_SEI
2,Slot drill. DBT_MILL_SLOT_DRILL
3,End mill. DBT_MILL_END_MILL
4,T-Slot cutter. DBT_MILL_T_SLOT
5,Counterbore cutter. DBT_MILL_COUNTERBORE
6,Chamfering cutter. DBT_MILL_CHAMFER
7,Corner rounding cutter. DBT_MILL_CORNER_ROUND
8,Ball nose cutter. DBT_MILL_BALL_NOSE
9,Radiused cutter. DBT_MILL_RADIUSED
10,Diesinking cutter. DBT_MILL_CONIC
11,Routing cutter. DBT_MILL_ROUTER
12,Special. DBT_MILL_SPECIAL1

13,Back spotfacing cutter. DBT_MILL_BACKSPOT


14,Dovetail cutter. DBT_MILL_REV_CONIC
15,Rip-r cutter. DBT_MILL_SLOT_DRILL_ROUGH
16,Ball conic cutter DBT_MILL_BALL_CONIC
17,Lollipop cutter DBT_MILL_LOLLIPOP

18,Radiused T-slot cutter DBT_MILL_RADIUSED_TSLOT

22
Post Processor
19,Bull conic cutter DBT_MILL_BULL_CONIC

20,Radiused Dove cutter DBT_MILL_RADIUSED_DOVE


21,Barrel cutter DBT_MILL_BARREL
22,Convex Tip cutter DBT_MILL_CONVEX_TIP
23,Radiused chamfer cutter DBT_MILL_RADIUSED_CHAMFER

for reamer.
0,Reamer. DBT_REAM_FIXEDDIAM
1,Adjustable reamer DBT_REAM_ADJDIAM
2,Boring bar DBT_REAM_BORINGBAR

for tapping
0,Tap DBT_TAPP_TAPPING
1,Mill thread DBT_TAPP_MILLTHREAD

ULEN print the tool usable length.

23
Post Processor

Cutting condition variables


TFUNC - print the value of TOOL setting stored in Vero Tool. The default value for this
variables is 0.

Rough TFUNC =1
Semi Finishing TFUNC =2
Rough + Semi Finishing TFUNC =4
Finishing TFUNC =3
Rough + Finishing TFUNC =4
Semi Finishing + Finishing TFUNC =4
Rough + Semi Finishing + Finishing TFUNC =4
If customer manually create the tool and don’t load item from Vero Tool DB,
TFUNC=0.

CCFUNC - print the value of TOOL setting stored in the operation cutting conditions.
Roughing CCFUNC = 1
semi-finishing CCFUNC = 2
Finishing CCFUNC = 3

CLNT coolant type of coolant.


0 = off
1 = Jet
2 = Fog
3 = Center
4 = Jet + Fog + Cent
5 = Jet + Fog
6 = Jet + Cent
7 = Fog + Cent
8--->xxx free user define
S spindle speed.
F feed rate.
M M function for spindle rotation (3=CW 4=CCW 5=undefined).

24
Post Processor

Feed table in NC file.


This improvement need to have the possibility to define a feed-rate variable and inside ISO call the
variable instead of the feed-rate value directly. This option is useful to change the feed by to edit the
NC file. At the start of all operation there is the variables assignment; customers can easily modify
these lines to change the feed in all operation.
The feed-rate variables management is enabled by the presence inside CFG of a new section
"$FEEDLIST" ... without it, all should work as old way. The "$FEEDLIST" section is called by the
variables “FEDLST” and is called once for every feed variable needed for current operation.
Example of the section $FEEDLIST for a Heidenhain CFG:
$......
vara=0
FEDLST

$FEEDLIST
'Automaticaly numbering
'@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR ";" "(" #50 @50FMOV ")"
'Automaticaly numbering without remark for the movement type
'@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR ";"
'write the variables with a notes of the movement type
'assignement to FIDX a customization value for the FMOV type, vara is a security value to manage
the double Working Feed
(FMOV==19)? FIDX=1 'Feed into material - Approch feed in Z
(FMOV==16)? FIDX=2 'Approch feed
(FMOV==01)?( vara==0)? FIDX=3 'Working feed
(FMOV==01)?( vara>0)? FIDX=VFI+10 'Working feed
(FMOV==03)? FIDX=7 '5axis Transition feed
(FMOV==32)? FIDX=4 'Retract feed
(FMOV==33)? FIDX=5 'Retract feed in Z
(FMOV==09)? FIDX=6 'Optimized rapid feed
(FMOV==01)? vara= vara +1
(FMOV==19)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Feed into material - Approch feed
in Z : "
(FMOV==16)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Approch feed :"
(FMOV==01)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Working feed :"
(FMOV==03)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; 5Axis Transition Feed :
"
(FMOV==32)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Retract feed :"
(FMOV==33)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Retract feed in Z :"
(FMOV==09)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Optimized rapid feed :"

vara must be transformed in a customer variables of a macro language.

There are also 54 new variables:


FIDX is the index of feed-rate variable.
FVAR is the feed-rate value.
FMOV is the movement type for that feed.
FEDLST call the section $FEEDLIST (you can’t use this variable in the
section “$STARTPP”.
FEDVAR if the section “$FEEDLIST” is called its value is 1, if the
section “$FEEDLIST” isn’t called its value is 0.

In the following list, you can see the FMOV value:

25
Post Processor

16: Entry feed (mm\min)

1: Feed (mm\min)

32: Retract feed (mm\min)

19: Feed into material (mm\min)

3: Transition feed (mm\min)

9: Optimized rapid feed (mm\min)

33: Retract feed in Z (only for 3axis


operation)

The output will be something like:


0 BEGIN PGM FQ MM
1; ISO FILE FQ.HNC
2; WKF FILE FQ.WKF
3 BLK FORM 0.1 Z X-56,495 Y-56,495 Z+10,000
4 BLK FORM 0.2 X+0,000 Y+0,000 Z+60,000
5 ;END MILL DIAM 10 LENGH 100
6 FN 0 : Q101 = 750;
7 FN 0 : Q102 = 1200;
8 FN 0 : Q103 = 2500;
9 FN 0 : Q104 = 200;
10 TOOL CALL 6 Z S2500
11 CYCL DEF 32.0 TOLERANCE
12 CYCL DEF 32.1 T0.01
13 L Z+100,000 R0 FMAX M13 FMAX
14;-
15; MILL
16 L X-7,500 Y-50,000 R0 FMAX
17 L Z+60,000 FMAX
18 L FMAX
19 L Z+52,000 FMAX
20 L Z+47,142 FQ1
21 L X-3,750 Y-56,495 RL FQ2
22 CC X-7,500 Y-50,000
23 C X+0,000 Y-50,000 DR+
24 L Y+0,000 FQ3
25 L X-50,000
26 CC X-50,000 Y-7,500
27 C X-56,495 Y-3,750 DR+
28 L X-50,000 Y-7,500 R0 FMAX
29 L Z+52,000 FMAX
30 L X-7,500 Y-50,000 FMAX
31 L Z+49,142 FMAX
……..

Than you will need to print the feed-rate variables where needed:
$GOTO_XY_WRK
@1N #2 @2(0) @5X @6Y @35(0) @16F @50FIDX
You must remove the old command to print the feed and add the new channel and variables.

26
Post Processor
The channels #50, #51 and #52 use in the example, to print the feed-rate variables and the values
aren’t obligatory they are only an advice.

27
Post Processor
Note
The Vero Post Processor check the feed-rate sated in the NC file and automatically assign the
incremental number by the variable FIDX. Not all operation uses the same type of feed.
The manual feed change adds in the tool-path by the command “Edith tool-path” are elaborate in the
execution sequence.
You can use the variable TYPM to activate\deactivate the feed table function for a different operation
type.

28
Post Processor

Face variables and management

Plane management
The Cam Setup parameter “Work-plane relative coordinates” manage the call of the
different “Function and format plane”.

XY Z- = plane 0 G17
YZ X- = plane 1 G19
XZ Y- = plane 2 G18
XY Z+ = plane 3
YZ X+ = plane 4
XZ Y+ = plane 5

For example the following settings call the plane 1.


N.b.
The “Output without angles” parameter must be disabling. The plane management
must be run the “$STARTFACE” section in macro-language. The plane-management
set the following variable AXES.
AXES work- plane variable
XY Z- =0

YZ X- =1
XZ Y- =2
XY Z+ =3

YZ X+ =4
XZ Y+ =5

The variable AXES is define in the “$STARTFACE” section.

Example of a standard test in the macro-language to management a G17 – G18 –


G19.
$STARTFACE
(AXES==0)?@35(17)
(AXES==1)?@35(19)
(AXES==2)?@35(18)
(AXES==3)?@35(17)
(AXES==4)?@35(19)
(AXES==5)?@35(18)

29
Post Processor
$START_PF_COR_LFT
(AXES>=0)?(AXES<=2)? VP=41
(AXES>=3)?(AXES<=5)? VP=42
@1N @2(1) @3(VP) @5X @6Y @7(Z) @30(CORRD+VB) FEED SPEED
VP=0
$START_PF_COR_RGT
(AXES>=0)?(AXES<=2)? VP=42
(AXES>=3)?(AXES<=5)? VP=41
@1N @2(1) @3(VP) @5X @6Y @7(Z) @30(CORRD+VB) FEED SPEED
VP=0

$PF_ARC_XY_CCW
(AXES>=0)?(AXES<=2)? VP=3
(AXES>=3)?(AXES<=5)? VP=2
@1N #2 @2(VP) #5 @5X #6 @6Y #21 @21(XC-XOLD) #22 @22(YC-YOLD) FEED
SPEED
VP=0

$PF_ARC_XY_CW
(AXES>=0)?(AXES<=2)? VP=2
(AXES>=3)?(AXES<=5)? VP=3
@1N #2 @2(VP) #5 @5X #6 @6Y #21 @21(XC-XOLD) #22 @22(YC-YOLD) SPEED
FEED
VP=0

Project parameters.

REFWPF REFerence Workplane Project Flag = variabile "PRJ_UseSubOriginFlag"


(numerical)
Print the value of “Activate WPL” flag. 0=disabled 1=enabled.
REFWP REFerence Workplane Project = variabile "SUB_Orig_Description" (string)
Print the work plane description.

REFWPF

REFWP

30
Post Processor
Machine parameters.
These parameters allow to know the main machine parameters setting.
They are useful to change the NC output according to the machine configuration.

KINBAS

NAXEX AXCONF

KINBAS = KINematic BASed machine setting (0=NO 1=YES)


NAXES = Number of machine AXES (3=”3axis”, 4=”4axis” and 5=”5axis”)
AXCONF = machine AXis CONFiguration (0="Head/head", 1="Head/table", 2="Table/table" )
The value of these parameters is available in the $STARTPP section of macro-language.
Normally these parameters are used to manage a test with the macro language Logical function .

31
Post Processor
VAOPT Virtual angle method

ZX [quadrant] =0
ZY [quadrant] =1
Z(-X) [quadrant] =2
Z(-Y) [quadrant] =3

ZX =4
ZY =5
Z(-X) = 6
Z(-Y) = 7
The VAOPT default value is 0.
With these 2 variables, it’s possible to control directly the parameters available in the machine
configuration.

“AXAXIS” : expired in VISI 2020.0


“ABSREF” : if = 1 the output is respect the Absolute origin
if = 0 the output is respect the Relative origins (Faces)

These new parameters have priority to the following machine setting, present in the version V15 and
following.

ABSREF

RTCP

32
Post Processor
Tool parameters

XT X for tool change set in machine parameter.


YT Y for tool change set in machine parameter.
ZT Z for tool change set in machine parameter.
IPTC indicates next tool change operation 1=true 0=false.

XT YT ZT

XROT X retract clearance for table rotation set in cam setup.


YROT Y retract clearance for table rotation set in cam setup.
ZROT Z retract clearance for table rotation set in cam setup.

XROT YROT
ZROT

33
Post Processor
CAM SETUP PARAMETERS
ALFA write in $STARTFACE the CAM Setup comment

A Mechanical angle for the primary rotation axis.


B Mechanical angle for the secondary rotation axis.

AV Virtual angle for axis C (calculate respect to ZX).


Virtual angle for axis C (calculate respect to ZY).
BV Virtual angle for axis A (calculate respect to ZX).
Virtual angle for axis B (calculate respect to ZY).

AERR Angle error for the primary rotation axis.


BERR Angle error for the secondary rotation axis.

AGNROT Rotation angle around Z.

ANGSYN ANGles SYNchronisation = variabile "FCS_AnglesSynchonization" (numerical)


Print the value of “Activate WPL” flag, in cam setup parameters.
0=Not aligned
1=Aligned

MECANG MEChanical ANGle choice = variabile "FCS_TestAnglePair" (numerical)


Print the value of “Mechanical angle choise”.
0=First solution
1=Second solution
2=Free

SNOANG Relative origin number value


If “Output without angle=1” SNOANG=999999
If “Output without angle=0” and “Relative origin number=0” SNOANG=0
If “Output without angle=0” and “Relative origin number=1” SNOANG=1

ORIG work-piece origin.


FACE use face indicator (0=no use faces 1=use faces in work)
PAL palette number (value passed from the face input dialog box).
XOR X origin (distance between face origin and absolute origin or reference WPL).
YOR Y origin (distance between face origin and absolute origin or reference WPL).
ZOR Z origin (distance between face origin and absolute origin or reference WPL).

OX origin number X axis.


OY origin number Y axis.
OZ origin number Z axis.

REFWSF = REFerence Workplane Setup Flag = variabile "FCS_UseSubOriginFlag" (numerical)


Print the value of “Activate WPL selection” flag. 0=disabled 1=enabled.

REFWS = REFerence Workplane Setup = variabile "SUB_Orig_Description" (string)


Print the work plane description.

RTCP = Rotary Tool Centre Point compensation capacity.


0 = none
1 = partial
2 = partial (Tool length=0)
3 = partial (Rotation center=0)

34
Post Processor

VAOPT

ALFA
ORIG
SNOANG

XROT YROT ZROT

AXES

MECANG
A B
AERR BERR

ANGSYN

AV BV

AGNROT

Distance between cam


setup and WPL reference
are XOR YOR ZOR .
REFWSF

REFWS

35
Post Processor
The 3 angles that describe the orientation of CAM setup in the Cartesian space (Euler angles) are
print in the follow parameters. In VISI user can display this angle with the command “Tip data”.

TORELA rotation angle A from absolute TO RELative camsetup

TORELB rotation angle B from absolute TO RELative camsetup

TORELC rotation angle C from absolute TO RELative camsetup

TOABSA rotation angle A from relative camsetup TO ABSolute

TOABSB rotation angle B from relative camsetup TO ABSolute

TOABSC rotation angle C from relative camsetup TO ABSolute

Proper Euler angles geometrical definition.


The xyz (fixed) system is shown in blue,
the XYZ (rotated) system is shown in red.
The lines node (N) is shown in green.

Post processor set these parameters in the macro-language section “$STARTFACE”.


Example of them use.
@1N " (UPR,0,XYZ,UVW," #14 @14(TOABSA) "," #14 @14(TOABSB) "," #14 @14(TOABSC) ;

-Related topics-
#New VARIABILI XCX XCY XCZ YCX YCY YCZ ZCX ZCY ZCZ
#New Variables AXAXIS ABSREF
#New Variable ASSREF
#New Variables ANGROT to print the Rotation angle around Z.
#New variable to know the machine setting.
#New Default for Variable “ANGMOD”
#New Variables to manage the rotation angle A and B
#New Variables to print the Virtual angles pair.
#Restored the VAOPT management.
#Eliminate the assignment for the variables XT YT ZT in the section $STARTFACE .
#New variable SNOANG.

36
Post Processor

Operation variables.
The variable “REMARK” allows to print in the ISO file the operation Comment

The variable “HOVERS” allows to print in the ISO file the value set for “side allowance”.

The variable “VOVERS” allows to print in the ISO file the value set for “bottom allowance”.

The variable “HSTEP” allows to print in the ISO file the value set for “Horizontal Step over”.

The variable “VSTEP” allows to print in the ISO file the value set for “Vertical Step down”.

The variable “VSTEPL” allows to print in the ISO file the value set for “Last Pass Z” . Please not that
this is used only by 2D operations.

The variable “MACTOL” allows to print in the ISO file the value set for “V3AX_StepMachTolerance”
and “V2AX_StepMachTolerance”.
This information is useful for a CNC machine that need to optimized the speed and feed on tool-path
generated as curves.
This parameter is available on all 3 axis operations and on new 2.5 axis operations.
• Pocketing. OPTYPE=4001
• Profiling. OPTYPE=4002
• Remachining. OPTYPE=4004
• Chamfering. OPTYPE=4005

-Related topics-
#New Variable HOVERS
#Improvement the variable HOVERS, VOVERS, HSTEP, VSTEP and VSTEPL for the ISO Machining
and 5axis operation.

37
Post Processor

MACOUT and MDRILL functions.


Next functions transform normal toolpath output in CNC macro.
MDRILL Mill DRILL
MDRILL = 0 does not manage the mill drill macro, generates the normal output G2/G3.
MDRILL = 1 to generate mill drill macro only when the tool-path start from hole centre.
MDRILL = 2 always generate the mill drill macro.

$CYC_MDRILL_PIC

Possible example (section to be add before the drilling cycles section):

'Mil Drill handling


$CYC_MDRILL_PIC
SET_GOTO_ZR
@1N @4(98+(ZR==ZS)) #3 @3(73) SET_VA_XY_CYC #7 @7ZL #25 @25ZS #27 @27PCS #16
@16F @51VK
VCI=73
VZI=ZR
VWI=ZS
MACOUT MACro OUTput

This function generates a special NC output file that calls a pock/mill macro using the CNC language.
This is useful to transform a standard tool-path for a
figure (rectangle, slot and hole) in a single CNC
macro.
Using this NC output the machine worker can easily
modify the main operation parameter (step over, step
down, oversize, tool diameter etc.).

Now we explain how the Vero Post can provide in


output to CNC the instructions to machine some
standard pocks.

At the moment the managed pock are rectangular


(with or without fillet on corners), circular and slot;
rectangular and slot pock can be rotated in XY plane.
The pocks with islands are automatically excluded by the macro management; the same for the open
pock.

Some new macro-language variables have been created to allow the generation and personalization
of pock machine cycles:
MACOUT MACro OUTput: 0 or 1
0=macro disable
1=macro enabled
You can insert this variable in the macro-language or in the PP INFO of the operation cutting
condition.

This option works for following operations:


FACEMILL HS and Standard
POCK HS and Standard
POCKETING
MILL HS and Standard
PROFILING
Standard HELICOIDAL MILL
MILL THRED HS and Standard ) (this operation call the Mill macro sections)
POCK DRILL
MILL on Hole (the function MDRILL has priority to MACOUT)

38
Post Processor
PROFILING on Hole (the function MDRILL has priority to MACOUT)
CHAMFER (in this case the variables ZL describe the chamfer depth) (this operation call the Mill
macro sections)
FILLET (this operation call the Mill macro sections)
When Cam can’t compute a toolpath for all features, Vero Post can anyway create the macro for all
features, but a warning message box is displayed to indicate this critical condition. Obviously in this
case the needed sections must be present to generate a valid output.

If there aren’t the needed sections in the macro-language, the Vero Post will output the standard
toolpath movements.
The Mill multi-passes use a specific section, if the CNC macro doesn’t manage the mill multi-passes,
we can remove these sections to obtain a normal output without macro management.

Macro language sections to manage the pock operations


$RECTANGULAR_POCK
$CIRCULAR_POCK
$SLOT_POCK

Macro language sections to manage the mill operations


$RECTANGULAR_MILL
$CIRCULAR_MILL
$SLOT_MILL

Macro language sections to manage the mill on hole operations


$CIRCULAR_MILLDRILL

Macro language sections to manage the mill multi-passes operations


$RECTANGULAR_MILLMULTIPASS
$CIRCULAR_MILLMULTIPASS
$SLOT_MILLMULTIPASS

--- General parameter ---


FENTRY ENTRY Feed
CUTMET CUTting METhod
ENTMET ENTry METhod
This parameter can have 3 values.
ENTMET output value Operation parameter
V2AX_PlungeMethod
0 0 = auto
1 = ramping
1
2 2 = dismissed (in old pock VISI20 was
Zig-Zag).
3 = Helical
4 = Plunging

39
Post Processor

FEASTY Hole FEAture Sub-Type


-1=DEFAULT

0=BLIND

1=THROUGH

4=CONIC TIP

5=BOTTOM RADIUS

-Related topics-
Improvement in function MACOUT.
Enhancement new parameter for MACOUT and MDRILL management.

pock geometric parameters for macro (see image for description)


--- Rectangular manage parameters ---
PKLEN PocK LENgth
PKWIDT PocK WIDTh
PKCRAD PocK Corner RADius
PKDPTH PocK DePTH

PocK ReFerence 'A' point (left bottom point)


PKRFAX
PKRFAY
PKRFAZ

PocK ReFerence 'B' point (rectangle centre)


PKRFBX
PKRFBY
PKRFBZ

40
Post Processor

41
Post Processor
PKROT PocK ROTation angle

PocK ReFerence 'A' point (left bottom point)


PKRFAX
PKRFAY
PKRFAZ

PocK ReFerence 'O' point (left bottom point before the rotation)
PKRFOX
PKRFOY
PKRFOZ

42
Post Processor
Slot parameters:
PKLEN PocK LENgth
PKWIDT PocK WIDTh
PKDPTH PocK DePTH
PKROT PocK ROTation angle

PocK ReFerence 'A' point (left arc centre)


PKRFAX
PKRFAY
PKRFAZ

PocK ReFerence 'B' point (right arc centre )


PKRFBX
PKRFBY
PKRFBZ

43
Post Processor
Circular parameters:
PKDIAM PocK DIAMeter (circular pock)
PKDPTH PocK DePTH

PocK ReFerence 'B' point (arc centre)


PKRFBX
PKRFBY
PKRFBZ

44
Post Processor

Mathematical function in macro-language and main syntax rules.


There aren’t functions to work on the character string.
There are the following functions to work on the numerical string.
List of OPERATIONS.
= assign.
+ add.
- subtract.
* multiplication.
/ division.
• abs( ... ) extract the absolute value of a number
• int( ... ) integer part of a number
• rnd( ... ) (dismissed from VISI 21.0)round a number example 2.95 = 2.9
• sqr( ... ) the root of a number
• sgn( ... ) analyse a number and check the sign + or – and give 1 or -1

NODEF is a numerical user free variable, usually is set equal to 999999. Value that indicate
that a parameter is not defined. This variable is used to make macrolanguage test
more understandable.
For example tool change position has not been set it is possible to test
NODEF=999999
. . . . .
(ZT=NODEF)?

List of TRIGONOMETRIC functions.


• sin( ... ) sine of angle
• asn( ... ) arc-sine of angle
• cos( ... ) cosine of angle
• acs( ... ) arc-cosine of angle
• tan( ... ) tangent of angle
• atn( ... ) arc tangent of angle
• rad( ... ) degree --→radiant
• deg( ... ) radiant--→ degree

List of LOGIC functions


< less than.
> greater than.
<= less or equal than.
>= greater or equal than.
== equal.
!= not equal.
This logic function can also be used in a statement like (Variable1==Variable2). If the result is true
a value 1 is returned if false a value 0 is returned.
The LOGIC function “== equal” and “!= not equal” may be affected in their operation by the
following parameter.

45
Post Processor

CMPTOL COMparison TOLerance


This variable is initialised with the old value used by source code (that is 1e-5), but can be modified at
any time by macrolanguage; the tolerance value used in the test is the value the variable has at that
moment, so it's possible, for example, set a tolerance value locally for just one section, for example:
$STARTFACE
CMPTOL=0.0000001
(ZCZ==1)?(XCX==1)?VFH=1 'CLAMP
(ZCZ==1)?(XCX!=1)?VFH=2 'CLAMP
CMPTOL=0.00001

The following INSTRUCTIONS are specific statements to indicate the FUNCTIONS output for block
generation.

@ nnVAR or @nn(mm)
Combines numerical values with an output symbol which is associated by a specific
channel.
@ symbol to indicate a channel.
nn channel number to be recalled.
VAR numeric variable whose value has to be combined with the
recalled channel function
(mm) constant value to be combined with the recalled channel function.
EXAMPLE:
The channel 5 is combined with the symbol X .
@5(100) the post processor produces X100
@5X The variable X represents a PROCESSOR co-ordinate
X ( eg.X=20).
the post processor produces X20
#nn
Forces the output in the next block @nn(mm) or @nnVAR for the function and the value
combined by a specific channel(nn). This is the case of non modal functions that must be
outputted also if they are the same as the previous.
# character to select the channel.
nn channel number to force the output.
EXAMPLE.
@5(100) the post processor produces X100
#5 @5(100) the post processor again produces X100

#nn=VAR or #nn=mm
Forces the value combined with channel nn to the value mm or a specifiied variable value.
This is a case where you know that there is a function that will be generated because it has a
different value with respect to the previous one but you do not want to output it.
# character to select the channel.
nn channel number to be forced.
= assignment.
VAR numeric variable whose value is assigned to the specified channel.
(mm) numeric value to assign to the specified channel.
EXAMPLE.
#5=7 @5(7) in the post processor the symbol X combined with the
value 7 will not be generated because the channel 5 has already been
assigned the value 7 with the instruction #7=5.

46
Post Processor

VAR=#nn
Assignment of a variable to the last numeric value used by the
channel nn (old value of nn).

VAR generic variable to which the old value of the channel nn will
be assigned.
= assignment.
#nn old value for the nn code nn.
“xxxx”
Generation of a string by a fixed set of characters.

“ open the phrase.


xxxx the phrase.
” close the phrase.

(condition1)? (condition2)? ….? Instruction1A;[instruction1B]: instruction2


Command to execute conditional instructions.

(condition) expression for the control of the condition.


? instruction1A;intruction1B if the condition is true then
instruction1A [and 1B] are executed.
: instruction2A;intruction2B if the condition is false then the
group 2 of instruction are executed.
; separator to generate more than 1 block at the first or second condition.

‘ comment
the ‘ character indentifies the start of a comment.
Example:
Check if a value of Z has a decimal or is an entire number
((INT(Z))==Z)?"print the following command if it’s ENTIRE number"#7 @7(Z)
((INT(Z))<Z)? "print the following command if it isn’t ENTIRE number"#7 @7(Z)
or you can write in this other mode
((INT(Z))==Z)?”if it’s entire”… : “if it isn’t entire”;

-Related topics-
New parameter CMPTOL.

47
Post Processor

String variable
ALFA is used in the different sections to print always description (tool name, operation type,
remark etc.).

EDIT print a remark input by customer during the Post Processor execution. This command
can be inserting in middle to other command. Ex. @28VT "(" EDIT "-" WORKF ")"
During the pp execution, Post Processor ask the input string and display the previous
line | O1 ( |

TLMES print the tool name when the variable ALFA have other message called.

TLREF print the internal code1 (Tool_InternalCode1)


TLREFB print the internal code2 (Tool_InternalCode2)

STRPRINT This command allows to create in the ISO code a personalised string taking the
information from the fixed variables WORKF, PRJ, GRPNAM, “…user string…”.
As for the “Main filename” also for the STPRINT command it is possible to
identify the character to extract from the original string using the instruction
[from-to] (example: [3]extract the 3rd character, [-3] extract from start to 3rd
character, [3-] extract from 4th character to end.

It is possible to define 3 different string in the same macro-language by using the


following variables:
STRNA STRNB STRNC STRND STRNE STRNF STRNG STRNH STRNI STRNK
STRNJ STRNL STRNM STRNN STRNO STRNP

See example below:


Project name= P-AA6MOD3
Group name= TOP-PIECE
Wanted string in the ISO code= A00-996_cam\3\P-AA6MOD3_TOP-PIECE.jt

In the macro-language the STRPRINT variable is defined in the following way:


Where:

STRPRINT(STRNA, PRJ[3],"00-
99\",PRJ[5],"_cam\",PRJ[9],"\",PRJ,"_",GRPNAM,".jt")
STRINA: defines the first available string
PRJ[3]: extracts the 3rd letter from the project name (“A”)
“00-99\”: print exactly this (user) string
PRJ[5]: extracts the 5th letter from the project name (“6”)
“_cam\”: print exactly this (user) string
PRJ[9]: extracts the 9th letter from the project name (“3”)
“\”: print exactly this (user) string
PRJ: extracts the all letters from the project name (“P-AA6MOD3”)
“_”: print exactly this (user) string
GRPNAM: extracts the all letters from the group name (“TOP-PIECE”)
“.jt”: print exactly this (user) string

the result in the ISO code will be :

A00-996_cam\3\P-AA6MOD3_TOP-PIECE.jt

REFWP REFerence Workplane Project = variabile "SUB_Orig_Description" (string)


Print the work plane description.
REFWS REFerence Workplane Setup = variabile "SUB_Orig_Description" (string)
Print the work plane description.

48
Post Processor

Free user Variables


There are 3 free variable family set.
VA→VW
VAI→VWI
VAH→VWH
There are 3 other variables free : OX, OY and OZ.

-Related topics-
#Improvement a new free customer variables in the macro-language.

Sub-program and label management


There are the following default variables to generate by Vero Post Processor a sub-program or label
in the NC files.
STYPC = Subprogram TYPe Cycle
STYPM = Subprogram TYPe Mill

0 1 2 3 4
STYPC only for no labels on cycle subprogram on
drill operation label/subprogra cycle
m
STYPM only for no labels on subprogram on labels on subprogram on
mill operation label/subprogra mill/pock mill/pock mill/pock mill/pock
m

STYPM function manage specific section in macro language to create label/sub-program for 2.5axis
mill and pock operation type.
There are 2 type of tool-path the mill/pock D45 (start from VISI 2016 R1) and mill/profiling/pocketing.
The value 1 and 2 use the following sections for mill/profiling/pocketing.
$START_SUB_MILL
$END_SUB_MILL
$CALL_SUB_MILL

For mil/pock D45 is used the following sections. If there is not these sections label/sub-program are
not manage.
$START_SUB_MILL_ENH
$END_SUB_MILL_ENH
$CALL_SUB_MILL_ENH

The value 3 and 4 use the following sections for all tool-path type.
$START_SUB_MILL
$END_SUB_MILL
$CALL_SUB_MILL

STYPM and STYPC generate a label\sub-program without the rapid movement.

There are some variables to supply need information in the macro-language.


Only for the option STYPM=1, label management.
NBS – Number Block of the Start label block
NBE - Number Block of the End label block
Definition $START_SUB_MILL $END_SUB_MILL $CALL_SUB_MILL With
section STYPM=

NBS Initialized Available Available Only = 1


NBE - Available Initialized Only = 1
NRIP Initialized Reset to 0 Available 12

49
Post Processor
STYPO = Subprogram TYPe Operation
The function STYPO generate a operation label or sub-program of the operations copied in an other
Cam Setup without the geometry.

Note.
Main rules to use the function STYPC, STYPM and STYPO:
• These variables must be set in 'OPERATION_BEGIN' section (or before)
• These variables can’t be modified between 'OPERATION_BEGIN' and 'OPERATION_END'
sections.
• During the same Vero Post execution these variables can be set to 1 or to 2; options can’t be
mixed together.
• If these variable is set to 2 and then is modified during execution, it must be set again to 2 in
‘ENDPP’ section (or before). If variable is set to 1, is not necessary set it again to 1 in
'ENDPP' because it is managed differently.

-Related topics-
#Drill group management SPLITD and DSPPRI
#Improvement in the function STYPO.
#Restored the reset of Z value for a sub program manage by STYPM=1 or 2.
#New Variable to manage the priority to create a sub program in the Drill Cycle
#New variable INSPRG.
#Bug-fixing for the variables NBS.
# Improvement in STYPM=1 or 2.
# Improvement for sub-programs managements.
# Improvement in function STYPM.
#Modify in the STYPM, STYPC and SPLITD.

50
Post Processor

Drill group management SPLITD and DSPPRI


Main rules:
These parameters can only running in section $STARTPP.
There were some critical conditions when these options, are used after the $STARTPP section.

DSPPRI Drill SubPrograms PRIority


Set the different modality available to group the Drill point in the drill cycle and sub-
program\label. This variable can change the result, obtain by STYPC.
= 1 priority to subprograms with more points
= 2 priority to subprograms called more times
DSPPRI

SPLITD SPLIT Drill - manage the split of the drill cycle.


=0 use the group created by DSPPRI (use for Heidenhain or Selca).
=1 split each drill in a single drill operation (use for old Heidenhain TNC 145 that can
manage only one point for each drill cycle).
=2 split when there is a Z change in the drill cycle (use for FANUC that can’t manage
the different ZS and ZR in the same drill cycle).
SPLITD CYCRAP

-Related topics-
#New Variable DSPPRI to manage the priority to create a sub program in the Drill Cycle
#New SPLITD variable (for Drilling Obstacle Management)
#Improve a new variable “CYCRAP“ to print\don’t print the GOTO_xx_RAP in the Drill & MillDrill
operations.
#Improve in the function SPLITD.
#Improve in the function MDRILL.
#Sub-program and label management
#Improvement in function SPLID=2.
#Improvement the SPLITD=2 in the function STYPC.
#New variable CYCCLE.
#Modify in the STYPM, STYPC and SPLITD.

51
Post Processor

Split the drill cycle SPLITG

The variable “SPLITG” define the output type for drill cycles: use cnc macros or linear movements.

SPLITG SPLIT in Gxx movements the drill cycle.


SPLITG can have the following value:
=0 :no split ( output is made always by macro). This is the default value.
=1 : split always
=2 : split only on rotated origins not orthogonal when CAM setup origin management
is OFF

Rules.
• SPLITG (=1) is enabled by macrolanguage and disabled by operation parameter: SPLITG is
enabled and stays enabled at the end of the operation.
• SPLITG (=1) is enabled by macrolanguage and enabled by operation parameter: same
condition than before
• SPLITG (=0) is disabled by macrolanguage and enabled by operation parameter: SPLITG is
enabled and is disabled at the end of the operation.
• SPLITG (=0) is disabled by macrolanguage and disabled by operation parameter: SPLITG is
disabled
• SPLITG (=2) is enabled by macrolanguage and the operation parameter: SPLITG is ignored.

-Related topics-
New Variable “SPLITG” to spilt Drilling cycles output
Bug-fixing for “SPLITG” parameter.

52
Post Processor

Commands for file management in VP


Vero Post Processor can automatically manage 2 types of files, that we can use in the macro-
language to generate a NC sub-program file or auxiliary file.

Temporary file; are automatically manage by macro language and we are created in the temporary
cache path, by macro language we can rename and save this files.
Ex. WRT_FORM(1,@18T) write in the file temporary1 the tool number
A usually use of this file is create a main file to call the NC sub-program file generate by DIVFIL
command.

NC program files list; when Vero Post break the NC file and create a new file with the SPLIT or
DIVFIL command automatically assign a name to the new file from the original input NC filename.
Ex. Original file name is “PIECE_A.NC”, this file must be split in 5 NC file, the standard NC file list
generated by Vero Post is:
PIECE_A.NC
PIECE_A1.NC
PIECE_A2.NC
PIECE_A3.NC
PIECE_A4.NC
From the Visi 18.0.09.10 there is a new option to manage in a different way this list. #Improvement in
the main sub-program management.

Commands Description
DIVFIL Create a new NC program. The name of the
new file is automatically management by Vero
Post Processor. In macro-language this
command call the section $END_DIV_FILE and
$START_DIV_FILE.
INPNAM Customer can edit the NOMP string during the
Post Processor execution.
Command to manage a temporary file
OPEN(filenumber) open a file
CLOSE(filenumber) close a file
READ(filenumber) read from a file
DELETE(filenumber) delete a temporary file or file
WRT_FORM(filenumber, @1N "TEST") write a format string on given file number
RENAME(filenumber,”O”,NOMP,".nc") Rename a temporary file and save item in the
NC file path
RD_FORM(filenumber) read from given file number and write in output
NC file (call the section "$APPEND_READ"
and use item to format the text)
$APPEND_READ called from "RD_FORM"; format a line in output
(using 'ALFA' variable)
%READFILE("drive:\\path\\filename") import a file inside NC

n.b. use the double “ \\ “


%DECLARE string file="drive:\\path\\filename"; define a string variable for filename

n.b. use the double “ \\ “


EXEC(drive:\\path\\filename.exe) Run an external program, we can’t add a
parameter for this external exe.

n.b. use the double “ \\ “

53
Post Processor
DIVFIL
Create a new program and after that all NC block are printed in the new sub-program. The NC file
name is automatically assigned by Vero Post Processor. In macro-language this command call the
section $END_DIV_FILE and $START_DIV_FILE.
DIVFIL or (macro language test)?DIVFIL

OPEN
Open a temporary file.
OPEN(1)

CLOSE
Close a temporary file. Before, to execute a RENAME or other command in the temporary file, we
must close the temporary file.
CLOSE(1)
CLOSE(NOMP,”.”,EXT)
CLOSE(0) close a main NC file. N.b. In new section $EXITPP main NC file is automatically
close.
If the file is in the same path of NC file created, we can skip the path.
The deleted file must be closed by the command CLOSE.

READ
READ(..number..) read a temporary file.
READ(1)
READ(NOMP,”.”,EXT)
If the file is in the same path of NC file created, we can skip the path.
The deleted file must be closed by the command CLOSE.

DELETE
Delete a temporary file.
DELETE(1)
The deleted file must be closed by the command CLOSE.
Delete a file.
DELETE(…file name and path…)
DELETE(NOMP,”.”,EXT)
If the file is in the same path of NC file created, we can skip the path.
The deleted file must be closed by the command CLOSE.

WRT_FORM
Write instruction or a section result in a temporary file. The temporary files are automatically
management by Vero Post and are manage from macro language by a number (Ex. 2 manage the file
temporary2 created in the temporary cache path)

WRT_FORM(.write in temporary file number…, print command or section)


Example use:
WRT_FORM(1, section ); write in the file temporary_1 the result of section specified.
Ex. WRT_FORM(1, STARTTOOL);
WRT_FORM(1, " remark" ); write a fixed remark WRT_FORM(1, " G54" );
WRT_FORM(1, #18 @18(T) ); write the value of variable “T” with the channel number 18.

RENAME
RENAME(1,………………….) (only from 18.0.09.10) to rename the temporary file. Normally the
temporary file is the main NC file. This command is usually use in the section “$CLOSEDPP”.
Example :
RENAME(1,”O”,NOMP,".nc")
Rename the temporary file number 1 in “O NCfilename.nc”
In the previous expression you can use all variables normally manage in the macro-language
(ex. WKF=name of wkf file).

54
Post Processor
RD_FORM
Before this command we must close the temporary file.
RD_FORM(filenumber)
RD_FORM(1).

$APPEND_READ
This section is absolutely necessary for the previous function RD_FORM.
$APPEND_READ
ALFA

%READFILE
Import an Asci file inside the NC file.
%READFILE("drive:\\path\\filename")
%READFILE("C:\\VISI19\\POSTP\\MACRO.TXT")

%DECLARE
This function defines a string usable by %READFILE function.
%DECLARE string file="drive:\\path\\filename";
%READFILE(file);
ex.
%DECLARE string file=”%READFILE("C:\\VISI19\\POSTP\\MACRO.TXT"
%READFILE(file);

EXEC
Command for run an external programs.
EXEC(drive:\\path\\filename.exe)"

-Related topics-
#Improvement in DELETE and RENAME command .

55
Post Processor

Vero Post Processor rules to assign a name to NC file.


Before Visi18 VP automatically set as proposed NC name, the wkf file name. If customer doesn't save
the wkf file, Vero Post proposes "noname".
From Visi18, in Solmach.cfg, there is new option that activates a function to memorize the NC name
and path, into the operations. If customer re-execute on the same operation(s) a Post Porcessor, VISI
propose the previous NC name.

Before Visi18 there is a fixed rule to generate the NC name of sub-programs; VP add an incremental
number at the end of proposed NC name.
Ex. If customer set NCname.nc as NC file and VP CFG macro-language, create a sub-programs with
a command DIVFIL, the generated file were:
NCname01.nc
NCname02.nc
NCname03.nc
….. the temporary file only can has a fixed name.

Now there are the following variable to manage the NC name in the macro-language:
NOMP:
defines the “Main filename” in the macro-language, read in the CFG “Main filename”
parameter.

NCFNAM:
defines the “Path folder + Main filename” in the macro-language, read in the CFG “Main
filename” parameter.

SPNAME:
Defines the “Subprograms filename” in the macro-language, read in the CFG “Sub-program
filename”

SPNUM:
Defines the “Subprograms filename” in the macro-language, with a incremental number.

In Visi18 and Visi19 were improved in the VP CFG file, a new parameters to increase the name
management.
This improvement starts in Visi 18.0 and was complete in this update.
For some machine type (Makino or Yasda), is needed to generate a main program and one sub-
program for every tool or operation.
This management is indispensable when CNC has a small internal memory and use an external hard-
disk to store the programs. In this case the CNC call the main program inside its memory and then
call the sub-program inside the external disk (these names must follow specific rules).
With the previous macro-language version, we can create a temporary file with main information but
we can’t rename item and we had a limitation in the sub-program names (the incremental number is
add at the end of the input file name).
In the main program is useful print the following information:
- cutting condition (only if create one sub-program for operation)
- tool call
- face setting
- call of sub-program
Normally the sub-programs only can use numbers in them name and they must have a fixed number
of characters in them name. Frequently customer want manage automatically the increase of sub-
programs number.

56
Post Processor
To manage these new functionalities, there is a new menu in the Vero Post Processor

interface.

The default set is “Old management” that


preserves the NC output file, manage by the old
PP configuration file. With “Old management”
the input file name isn’t change.

With the other 2 options, the input NC filename


is management by Vero Post Processor that adds the numeric part at the end of the name. The
standard input NC name is automatically truncated following the setting “Filename total length”. If
“Filename total length” is equal to 0 or minor than “Filename numeric length”, all WKF file name
characters are used to created the NC file name.
Old management – NC file name is automatically set equal the WKF file name.

Alphanumeric + Numeric - NC file name is automatically set equal the WKF file name and Vero Post
Processor add at the end of this name, the number memorize in the parameter “First subprogram
number”. Customer can change this name, but must insert at the end the numbers set in “Filename
numeric length”.

Numeric – NC file name is automatically set equal the number memorize in the parameter “First
subprogram number”. In this modality the first letter (default “O”) is always used as initial letter of the
main and subprogram file names. Customer must insert only a numbers in the NC file name.

“Numeric” option: Vero Post Processor reads numeric value from parameter “First subprogram
number”. If “Remember last subprogram number” parameter is activated, the “First subprogram
number” is automatically updated at every Post Processor execution and it’s stored the last created
subprogram.
To restart or modify the “First subprogram number” customer can use the Vero Post Processor” menu
or modify the number at the end of the default suggested output file name.

57
Post Processor
Ex. PP suggests “Piece-01225” but customer can edit in “Piece-0001” or “Piece-1” to restart
subprograms number.

With the “Alphanumeric + numeric” option, customer can choose the output NC filename without
restrictions. The ”Numeric” option specifies that the last chars of filename must be composed only by
numbers; Vero Post Processor will reset subprogram number in case of a invalid filename.
N.b.
The numbers at the end of the NC file-name are obligatory (ex. To set the number 25 if “Filename
numeric length=4” customer must write ………….0025.nc).
If the “File total length” is smaller than “Filename numeric length”, the NC FILE length is free, Vero
Post use all WKF file name

58
Post Processor

Different cases management by this improvement.


Old/Standard management Numeric Alphanumeric + Numeric
Input file name O1225 Input file name O1225 Input file name
PIECE_A3C-O1225.NC

O1225 Temporary file O1225.nc main PIECE_A3C-1225.NC main


Save in NOMP Save in NOMP Save in NOMP

O12251 sub-program O1226 sub-program PIECE_A3C-1226 sub-p


call by DIVFIL call by DIVFIL call by DIVFIL
O12252 …….. O1227 …….. PIECE_A3C-1227
O12253 O1228 PIECE_A3C-1228
O12254 O1229 PIECE_A3C-1229
O12355 O1230 PIECE_A3C-1230
Save in NOMP Save in SPNAME Save in SPNAME

O1225.nc main PIECE_A3C-1225.NC main


Normally the “Use first file-name for Save in NOMP (You can’t use this Save in NOMP (You can’t use this
main” must be disabling. name only if the main has a different name only if the main has a different
extension to sub-program) extension to sub-program)
O1225 sub-program PIECE_A3C-1225 sub-p
call by DIVFIL call by DIVFIL
O1226 …….. PIECE_A3C-1226
O1227 PIECE_A3C-1227
O1228 PIECE_A3C-1228
O1229 PIECE_A3C-1229
Save in SPNAME Save in SPNAME

N.b.
The input file name is always assign to the main program. If customer insert at the end of the input file
name a valid number, this number is used to start sub-programs, in other case Vero Post use the
proposed number.
With “Main management=numeric” the first character “O” is automatically add.

59
Post Processor

Tips & Tricks


If you set “Main management=Numeric” and disable “Use first file-name for main” you can obtain that
Visi automatically propose NC file-name numeric (ex. O0025). In the macro-language you must use
NOMP to assign the internal program number ex.
%
O0025 -------
……
If you activated the option “Remember last sub-program number” you obtain an automatically
increase of the proposed number.
#Commands for file management

In Visi19 was improve the group management and was increase the VP CFG setting to manage the
NC name.
It is possible to define how VP generates the NC file name in the “Main\sub-programs” window from
the “General configuration” parameters:

In the “Main filename” and “subprograms filename” fields it is possible to set the following variables:

• - empty line - :the main program (temporary file) is delete at the end of Post
Processor. In the macro-language the variable NOMAIN is set to 1.
• WORKF :NC filename is taken from the “work file” name
• PRJ :NC filename is taken from the Project name
• GRPNAM :NC filename is taken from the Group name
• SPNUM :NC filename is defined by an incremental number. The starting
number is defined in the parameter “First sub-program number”. If the option “Remember
last sub-program number” is switched on, then the number is automatically update to the
last Sub-program number. This value isn’t automatically increased if there is the “NC
name” saved in the CAM Navigator tree. This variable is type string; if you have need in
the macro-language as same variable type numeric you can use SPROGN Sub
PROGram Number.
• “…user string…”: NC filename is defined by the user.
Only for “Main filename”:
• ENGINR : NC filename is taken from the “project author”
• LIBRAR : NC filename is taken from the “tool crib name”
• MACHIN : NC filename is taken from the “machine name”
• PARTMT : NC filename is taken from the “part material”
Only for “Subprograms filename”:
• ALFA : NC filename is taken from the “operation description in the cam
navigator tree”
• REMARK : NC filename is taken from the “operation comment”
• TLREF : NC filename is taken from the “tool internal code1”
• TLREFB : NC filename is taken from the “tool internal code2”
• ASSREF : NC filename is taken from the “tool assembly name”
• TLMES : NC filename is taken from the “tool name”
• TOOLMT : NC filename is taken from the “tool material”

VP allows to define more than one variable, allowing the generation of very complex strings, if
necessary. Each variable must be separated by the character “,” (comma).

60
Post Processor

Example:

Wkf filename=pippo
Project name= roger
Wanted NC filename= pippo__roger

Define “Main filename” in this way:


WORKF,"__",PRJ

Result will be: pippo_roger

Note:
“Main filename” field is not mandatory and can be empty for special application.

Consider that, if necessary, it is also possible to truncate the string taken from the system, allowing to
generate a very personalised NC filename.

For the fixed variables WORKF, PRJ, GRPNAM, it is possible to specify a special instruction that tell
the system how to manipulate the string.

The syntax is the following:

Variable[“instruction”]
Where “instruction” is a range that identify the character to extract from the original string:

[from char. – to char.]


See example below:

Wkf filename=pippo

Main filename= WORKF[2-4] : from 2 th to 4 th char. → result= ipp


Main filename= WORKF[4] : only 4th char. → result= p
Main filename= WORKF[2-] : from 2th to end → result= ippo
Main filename= WORKF[-3] : from first to 3rd → result= pip

Macro language variables details:

NOMP:
defines the “Main filename” in the macro-language

SPNAME:
Defines the “Subprograms filename” in the macro-language
Available fixed variable for “main filename” and “subprograms filename”.

New section in macro-language:

$GROUP_BEGIN:

61
Post Processor
This section is recalled when there is a group. It’s immediately recalled after the section
$STARTPP. Normally we can insert the command DIVFIL in this section, to manage sub-
programs for group.

$GROUP_END :
This section close the group.

New variable in macro-language:

NOMAIN:
MAIN program Not generate – if the parameter “Main filename” is empty, the main program is
delete and this variable value is 1. This is useful to manage a test in the macro-language.
Example:
(NOMAIN==1)?@1N #20 @20(30); -→ M30; close a program
(NOMAIN==0)?@1N #20 @20(99); -→ M99; close a sub-program

GRPMOD:
GRouP MODe – if =0 means that there are not groups. If =1 means that there are one or
more groups.

GRPOPE:
GRouP OPErations – represent the number of operations in the current group

-Related topics-
Visi18
#Improvement in the main sub-program management.
#Improve to store the NC output filename .
Visi19
#New parameter to change the default NC filename.
#New group management functionality.

62
Post Processor

Vero Post Processor section list $..... .


The following post processor system sections can’t be recalled from a user section.

$STARTPP

$ENDPP

$CLOSEDPP

$STARTTOOL

$ENDTOOL

$OPERATION_BEGIN

$OPERATION_END

$GOTO_XY_RAP

$GOTO_XY_WRK

$GOTO_Z_RAP

$GOTO_Z_WRK

$GOTO_XYZAB_RAP

$GOTO_XYZAB_WRK

$MVT_4AXES_RAP

$MVT_4AXES_WRK

$GOTO_XYZ_COS_RAP

$GOTO_XYZ_COS_WRK

$SISTER_TOOL

$START_PF_NO_COR

$END_PF_NO_COR

$START_PF_COR_LFT

$START_PF_COR_RGT

$END_PF_COR

$PF_SEGMENT

$PF_ARC_XY_CCW

$PF_ARC_XY_CW

$PF_ARC_XZ_CCW

63
Post Processor
$PF_ARC_XZ_CW

$PF_ARC_YZ_CCW

$PF_ARC_YZ_CW

Section for helix management


$HELICAL_XYZ

$LOOP_HELICAL

$SPLIT_HELICAL

$END_HELICAL

Section for drill management


$GOTO_START_CYC

$CYC_CENT

$CYC_DRILL

$CYC_DRILL_PIC

$CYC_DRILL_PEC

$CYC_C_BORE_IN

$CYC_C_BORE_OUT

$CYC_REAM_BORE_R

$CYC_REAM_BORE_SF

$CYC_REAM_BORE_F

$CYC_REAM_D_FIX_R

$CYC_REAM_D_FIX_SF

$CYC_REAM_D_FIX_F

$CYC_REAM_D_EXP_R

$CYC_REAM_D_EXP_SF

$CYC_REAM_D_EXP_F

$CYC_TAPP

$CICLI_MACH

$CYC_XY

$CYC_XY_RA

$CYC_END

$GUN_DRILL

64
Post Processor

Face management
$ORIGINI

$STARTFACE

$ENDFACE

$FACELIST

Tool management
$TOOL

$TOOLLIST

$SISTER_TOOL

Label and sub-program management


$START_SUB_MILL

$END_SUB_MILL

$CALL_SUB_MILL

$START_SUB_CYC

$END_SUB_CYC

$CALL_SUB_CYC

$SET_DIV_FILE

$START_DIV_FILE

$END_DIV_FILE

Group management (available from Visi 19.0)


$GROUP_BEGIN

$GROUP_END

Special section
$REMARK

$SPECIAL

$COOLANTPP

65
Post Processor
Special section for MDRILL and MACOUT and FEEDLIST
$CYC_MDRILL_PIC

$CIRCULAR_MILLDRILL

$RECTANGULAR_POCK

$CIRCULAR_POCK

$SLOT_POCK

$RECTANGULAR_MILL

$CIRCULAR_MILL

$SLOT_MILL

$RECTANGULAR_MILLMULTIPASS

$CIRCULAR_MILLMULTIPASS

$SLOT_MILLMULTIPASS

$FEEDLIST

66
Post Processor

Vero Post Processor setting variables.


There are some variables that define in the section $STARTPP can change the standard section
sequence or activate a special functionality.
STYPM Subprograms TYPe for Mill
STYPC Subprograms TYPe for Cycle
STYPO Subprograms TYPe for Operation
DSPPRI Drill Sub-Programs PRIority
SELCA SELCA=… set a number of decimals, to add in the channels 5,6,7,21,22,23.
The allowed decimals, it’s change only in the compensated (G41/42) tool-
path.
SPLITD SPLIT Drill - manage the split of the drill cycle.
SPLITG SPLIT cycle in block G – use\don’t use the drill cycle
SPLITH SPLIT Helicoidal in =0 G2 G3 output =1 G1 output
CYCRAP CYCle RAPid movement, use\not use $GOTO_..._RAP for cycle
MDRILL Macro for DRILL
NMAX Maximum blocks Number
NOCHANCHK NO CHANnel CHecKAdd, To disable the test if value exceed the limit for
given channels
NODEF numerical user free variable, usually is set equal to 999999. Value that
indicate that a parameter is not defined. This variable is used to make
macrolanguage test more understandable.
MAXRD if RC>MARD the arc will be split, default=1000mm
CHKOUT CHecK OUTput printed from the sections
SECSEQ SECtion SEQuence for the section $ENDTOOL
MACOUT MACro OUTput
LINNUM LINe NUMbering modality in temporary file
SPLITC SPLIT Circle in segment-insert in section $PF ARC

67
Post Processor

Python use in Vero Post Processor.


Now in the Vero Post Processor macro-language, we can call a python functions (bug-zilla 21513).
All macro-language variables are sending to python, that can reassign them value.
Python function is called from each macro-language section.
Python function is useful to create a special routine to create a special output in the NC file.

Post Processor read the python functions in a new cfg section or in an external file *.py.
Post Processor looks python file with a same name of *.cfg file used (n.b. the names must have the
same uppercase/lowercase letters, not use a sub-path with character “.” ).
With a new Post Processor command “Setup\Macrolanguage and Python”, customer can edit the
internal python code. If there isn’t the internal python section, Post Processor found the external *.py
file and integrate this file in *.cfg file.

Customer can run a python function, by the new macro-language command:


PYTHON(…python functions );
Ex. PYTHON(VeroPostSetOutputNcFilename)

There is a new special section in macro-language, that call a python function, before the NC filename
request. In this section is available a variable NCFNAM, that store the NC filename and path. Python
function can change the path and NC filename generate for default by Visi.

$INITPP
python(py_INITPOST) ---------------- mandatory function to run python
PYTHON(VeroPostSetOutputNcFilename);

In other section you can read and write all macro-language variables.

List of special commands in python:


- import VEROPOST
Call a post processor variables and function for python. Must be always present, on the start
python file.
- python variable name = PP['macro-language variable name']
Store a macro-language variable in a python variable name.
NCFILENAME = PP['NCFNAM']
- PP[' macro-language variable name '] = python variable name
Store a python variable value in a macro-language variable
PP['NCFNAM'] = NCFILENAME
- VEROPOST.BlockOut('...macro-language command to write a block…')
Write in the NC File with the same macro-language syntax.
VEROPOST.BlockOut('@1N #18 @18T @19(6) STAMPADESCRTL;')
- VEROPOST.Message('..1st variable …., 2nd variable')
Display a Vero Post Processor message box, can use the macro-language variables.
VEROPOST.Message('"WORKF filename: ", WORKF')
N.b. write character “’” only one time to separate the 1st and 2nd variable.

68
Post Processor

- VEROPOST.EditVar(MYDict)
Ex.
def EditVariable():
MYDict = dict()
MYDict['COMMENT'] = 'test edit by python'
MYDict['VALUE'] = '1.234'
VEROPOST.EditVar(MYDict) # edit variable value
VAR = MYDict['VALUE']
VAR1 = '" '
VAR1 += VAR
VAR1 += ' "'
PP['STRNG'] = VAR
return 0L

Example files:
In the macro-language do you add the following commands to call the example python function:

$STARTPP
……………………………………………………..
PYTHON(print_data);
@1N STRNH;
PYTHON(WriteBlock);
…………
PYTHON(DisplayMessage);

69
Post Processor
Python example file:

Mandatory functions

70
Post Processor

Tool to debug python.


To write in a file (ex. ……pythonlog.txt) the value of variable call in python, you can use the following
routine.

Output file generated from this routine:

VeroPostSetOutputNcFilename - begin
0 ('TLSDUP', 0.0)
1 ('CYCCLE', 0.0)
2 ('DELAY', 0.0)
3 ('STRNN', '')
……..
467 ('ZCZ', 0.0)

VeroPostSetOutputNcFilename - end
0 ('TLSDUP', 2.0)
1 ('CYCCLE', 0.0)
2 ('DELAY', 0.0)
3 ('STRNN', '')
………………
467 ('ZCZ', 1.0)

-Related topics-
#Improvement Python call in macro-language.

71
Post Processor

Bounding box variable sets.


Tool-path bounding box:
The bounding box include feed and rapid movements.

Tool-path Bounding box from the Current Work Plane


Tool-path bounding box for all operations related to relative origin - are computed analysing all the
tool-paths from relative work-plane active at the moment the Post is executed (this variables were use
in the MILL5). If you use this variable the advice is set the absolute origin before to execute the Post
Processor.
It’s calculated only one time, on the $STARTPP section.
BXMIN: print the minimum X value
BYMIN: print the minimum Y value
BZMIN: print the minimum Z value
BXMAX: print the maximum X value
BYMAX: print the maximum Y value
BZMAX: print the maximum Z value

Tool-path Bounding box from the Absolute origin.


Tool-path bounding box for all operations related to absolute origin - are computed as tool-path's
maximum bounding box from all absolute bounding box passed to Post in following parameters (for
every operation): inside section "{OPERATION PARAMETERS?}" - or analysing the tool-paths (feed
and rapid movements) if no parameter is passed.
It’s calculated only one time, on the $STARTPP section.
BAXMIN: print the minimum X value
BAYMIN: print the minimum Y value
BAZMIN: print the minimum Z value
BAXMAX: print the maximum X value
BAYMAX: print the maximum Y value
BAZMAX: print the maximum Z value

Tool-path Bounding box from the operation CAM Setup


Tool-path bounding box for current operation related to relative origin - are loaded from relative
bounding box passed to Post in following parameters (for every operation): inside section
"{OPERATION PARAMETERS?}" - or are computed analysing the toolpath (feed and rapid
movements) for current operation from relative workplane if no parameter is passed.
It’s calculated for each operation, on the $OPERATION_BEGIN section.
BOXMIN: print the minimum X value
BOYMIN: print the minimum Y value
BOZMIN: print the minimum Z value
BOXMAX: print the maximum X value
BOYMAX: print the maximum Y value
BOZMAX: print the maximum Z value

72
Post Processor

Stock bounding box


Now when in the CAM Project there is a stock, these variables print the bounding box in the
$STARTPP section.
If there isn’t a stock in the Project, PP check the first operation and this is a 3D Rough read the
bounding box of this operation stock.
If the 3D rough hasn’t a stock or is a different type of operation PP read the tool-path bounding box.
In the $ OPERATION_BEGIN there isn’t change.
For all operation PP check the operation and this is a 3D Rough read the bounding box of this
operation stock.
If the 3D rough hasn’t a stock or is a different type of operation PP read the tool-path bounding box.

Stock Bounding box from the Absolute origin.


stock bounding box for all operations respect to absolute origin - are computed as maximum
bounding box from all absolute bounding box passed to Post in following parameters (for every
operation): inside section "{OPERATION PARAMETERS?}" - or analysing the toolpaths (only
feed movements) if no parameter is passed.
It’s calculated only one time, on the $STARTPP section.
SAXMIN: print the minimum X value
SAYMIN: print the minimum Y value
SAZMIN: print the minimum Z value
SAXMAX: print the maximum X value
SAYMAX: print the maximum Y value
SAZMAX: print the maximum Z value

Stock Bounding box from the operation CAM Setup


Stock bounding box for current operation respect to relative origin - are loaded from relative
bounding box passed to Post in following parameters (for every operation): inside section
"{OPERATION PARAMETERS?}" - or are computed analysing the tool-path (only feed
movements) for current operation from relative work-plane if no parameter is passed.
It’s calculated for each operation, on the $OPERATION_BEGIN section.
SOXMIN, SOYMIN, SOZMIN, SOXMAX, SOYMAX, SOZMAX
SOXMIN: print the minimum X value
SOYMIN: print the minimum Y value
SOZMIN: print the minimum Z value
SOXMAX: print the maximum X value
SOYMAX: print the maximum Y value
SOZMAX: print the maximum Z value

Note.
All these function does not manage the tool centre management. Z value is always refer to tool tip.

73
Post Processor

First tool-path point


These new variables are useful when the PP manage the axis rotation.

You can obtain the coordinate of the first toolpath position refer to the absolute origin and not to the
toolpath origin. You can use the following variables in the section "OPERATION_BEGIN".
It’s calculated for each operation, on the $OPERATION_BEGIN section.
FAMOVX coordinate X of the first toolpath point refer to the absolute origin
FAMOVY coordinate Y of the first toolpath point refer to the absolute origin
FAMOVZ coordinate Z of the first toolpath point refer to the absolute origin

You can obtain the coordinate of the first tool-path position refer to the relative origin and not to the
tool-path origin. You can use the following variables in the section "OPERATION_BEGIN".
It’s calculated for each operation, on the $OPERATION_BEGIN section.
FRMOVX coordinate X of the first tool-path point refer to the relative origin
FRMOVY coordinate Y of the first tool-path point refer to the relative origin
FRMOVZ coordinate Z of the first tool-path point refer to the relative origin

Note.
All these function does not manage the tool centre management. Z value is always refer to tool tip.

-Related topics-
#Improvement in the stock bounding box management.
#New Variables for Toolpath Bounding Box
#New Variable to print the “model box” information
#New Variables to print in absolute the first toolpath position
#New Variables to print in relative the first tool-path position

74
Post Processor

Helix variables.
In the way to manage helix in the output, it is necessary to add the section $HELICAL_XYZ.
If the section “$HELICAL_XYZ” is not present in the cfg, than the helix movement will be outputted in
linear interpolation.
List of variables for helix:
X,Y,Z : end helix coordinates
XC, YC : Helix centre coordinates
ZC : Toolpath end Z coordinate
RC : helix radius
NRIP : Number of pitches
TINT : helix direction. TINT=2 means CW, TINT=3 means CCW
SPLITH : allow to split or not the helix. If “SPLITH”=1 the output is G1
RHO : Polar coordinates “Module”
THETA : Polar coordinates “Angle”
STAN : Start angle
ENAN : End angle

For the 3D toolpath, the value print for the variable “ZC” is equal to the value print for the variable
“Z”.
The angle value are expressed in “radiant” (RAD). To convert the value in “degrees” (DEG) it is
necessary use the following formula:
[Angle]DEG = [Angle]RAD*180/
= 3.141592653589

-Related topics-
#New Variables for Helix management
#Improvement the Helix approach for the Pock operation.
MAXRD function improve also for helix geometry.

75
Post Processor

Post Processor DEBUG mode.


The variable DEB turn on\off the Post Processor debug mode (DEB – DEBug mode).
= 0 no debugging, NC output file is normally generated.
= 1 print in the NC output file the macro-language sections.
= 2 print in the NC output file the macro-language sections and variables assignment.
= 3 print in the NC output file when a section is called and when is leaving from a section.
= 4 print in the NC output file all the information from parser, it’s useful to understand the flow of
macro-language code.

Example of output with 0:


………..
N7 G0 X53.306 Y44.963
………..

Example of output with 1:


$GOTO_XY_RAP
@1N #2 @2(0) #5 @5X #6 @6Y
N7 G0 X53.306 Y44.963

Example of output with 2:


$GOTO_XY_RAP
X =53.306
Y =44.963
TYPG = 1.000
RHO =69.737
THETA = 0.701
FIDX =999999.000
FVAR =999999.000
FMOV =999999.000
@1N #2 @2(0) #5 @5X #6 @6Y
N7 G0 X53.306 Y44.963

Example of output with 3:


Calling section 'GOTO_XY_RAP' id:'9'.
$GOTO_XY_RAP
X =49.993
Y = 2.369
TYPG = 1.000
RHO =50.049
THETA = 0.047
FIDX =999999.000
FVAR =999999.000
FMOV =999999.000

@1N #2 @2(0) #5 @5X #6 @6Y


N7 G0 X49.993 Y2.369
End section 'GOTO_XY_RAP' - Returning to caller.

76
Post Processor
Example of output with 4:
Calling section 'GOTO_XY_RAP' id:'9'.
$GOTO_XY_RAP
X =49.993
Y = 2.369
TYPG = 1.000
RHO =50.049
THETA = 0.047
FIDX =999999.000
FVAR =999999.000
FMOV =999999.000

@1N #2 @2(0) #5 @5X #6 @6Y


-> @ 1 N # 2 @ 2 ( 0 ) # 5 @ 5 X # 6 @ 6 Y
N7 G0 X49.993 Y2.369
End section 'GOTO_XY_RAP' - Returning to caller.

DEBDP – DEBug Decimal Place – change the decimal number displayed in the variables value
assigned.
In VISI 2019 R1 the variable has changed a little the meaning; before it was adding 2 decimal digits to
the values printed in debug, now it add a variable number of decimal digits depending on the variable
itself; so if DEBDP is set to 0, values printed in debug will show 3 digits in mm or 5 digits in inches,
but using DEBDB is possible add more digits to have a better idea of what is happening inside
macrolanguage core

Next the new behaviour


DEBDP value Result in mm Result in inch
0 $GOTO_XY_RAP $GOTO_XY_RAP
X =49.992 X =49.99257
Y =2.369 Y =2.36916
In mm display 3 decimals. In inch display 5 decimals.

1-2-3-4-5 ….. 10 $GOTO_XY_RAP $GOTO_XY_RAP


X =49.992 xxxxxxx X =49.99257xxxxxxxx
Y =2.369xxxxxxx Y =2.36916xxxxxxx
In mm display In inch display
3+(DEBDP value) decimals. 5+(DEBDP value) decimals.

-Relatedtopics-
#Improvement in Post Processor DEBUG mode.
Change in debug parameter behaviour.

77
Post Processor

Setting in Vero Post Processor

Range for spindle speed management.


In Visi 17 is restore the range for spindle speed.
When you want use this option, you must set the “Min spindle speed” = 0 and “Max spindle speed” >
to the max speed value sated in the range.

Vero post processor approximate for excess and print the “Machine
code” set for the speed approximated.

78
Post Processor

Arc Helix management Vp_Arc_Small_Tolerance, MAXRD, SPLITC.


The Vero Post Processor can split in segments, arc or helix that can generate a problem, in the NC
file execution on the CNC.
Vero Post Processor can chose the danger arcs\helixes by two different method:
1. by length
2. by max radius
By length:
In the Vero Post Processor menu configuration you can set the “Small arc tolerance”. All arcs\helixes
with a length =< to the set value are split.
The arcs are split by Vero Post Processor functionality; customers can set the “split arc tolerance” in
the following menu.

The Helixes are split by Visi Machining, you can see the split tool-path in tool-path laboratory.

by max radius:
In the macro-language you can set the variable “MAXRD” in the section “$STARTPP”.
MAXRD - check arch radius (if RC>MAXRD the arc will be split) default value=1000mm.
MAXRD = MAXimum RaDius allow in NC code
This function is activated for arcs and helix.

There is a special function that runs only for arcs.


SPLITC - split arc in segments. You can use this function in the sections $PF_ARC_XY_CCW,
$PF_ARC_XY_CW, $PF_ARC_XZ_CCW, $PF_ARC_XZ_CW, $PF_ARC_YZ_CCW,
$PF_ARC_YZ_CW.
You can insert in this previous section a test as the following:
(RC<0.6)?SPLITC
This function is only activated for arcs.

If in the macro-language there aren’t the following sections: $PF_ARC_XY_CCW,


$PF_ARC_XY_CW, $PF_ARC_XZ_CCW, $PF_ARC_XZ_CW, $PF_ARC_YZ_CCW,
$PF_ARC_YZ_CW , all arcs are split in segments.

79
Post Processor
-Related topics-
#New variables MINALN in macro-language.
#Improvement a new parameter, to manage a maximum value, for a split arc tolerance.
MAXRD function improve also for helix geometry.

80
Post Processor

NEW VARIABLES STARTING FROM VERSION 10.1

New SPLITD variable (for Drilling Obstacle Management)

Unfortunately not all the CNC are following standard rules.


A new variable named SPLITD has been defined. This variable will split the drilling as singles drills, as
in the past before the obstacle management introduction.

The new variable loads the section:

1) CYC_XY if all the points are on the same Z

2) CYC_XY_RA if an obstacle needs to be jumped.

In this way it will be possible to correctly (and quickly) define the drill cycles for all the old CNC (for
example TNC) by setting the variable SPLITD to 1 in the $STARTPP section.

$STARTPP
SPLITD=1

When SPLITD variable is set to 1, the subprograms generation is not allowed. For this reason the
STYPC variable is automatically forced to 0.

New ASSREF variable


A new variable named MAXRD has been defined inside PP's DLL .
The variable “ASSREF” allows to print in the ISO file the “Tool Holder Assembly” name.
-Related topics-

New MAXRD variable

A new variable named MAXRD has been defined inside PP DLL.


MAXRD is internally tested and compared with the arcs radius generated by the tool-path. If the
radius value (RC) is greater than the MAXRD assigned value, the arc is automatically spitted by
segments..
The MAXRD default value is 1000 (mm).
Normally the NC can execute circular interpolation of arcs with a maximum radius value: if this value
exceeded a warning is generated On the NC and the Machine Tool will be stopped.
Using this variable inside the $START_PP section, It is possible to solve this inconvenience.

New SISTER_TOOL Section

Starting from release 10.1 the new operations 3D tool path computing can check the tool life to
manage the Sister Tool. After each tool path splitting due to tool life programmed with the sister tool
management, the post processor will recall a new section called $SISTER_TOOL. This new section
could be useful to force a Machine tool stop (M00) to allow the tool change.

Example:
$SISTER_TOOL
@1N "M00"

81
Post Processor

NEW VARIABLES STARTING FROM VERSION 11.1

New section to generate macro from the “MillDrill”


New variable “MDRILL” to switch the output:
MDRILL = 0 to generates G2/G3
MDRILL = 1 to generates macro

$CYC_MDRILL_PIC

Possible example (section to be add before the drilling cycles section):

'Mil Drill handling


$CYC_MDRILL_PIC
SET_GOTO_ZR
@1N @4(98+(ZR==ZS)) #3 @3(73) SET_VA_XY_CYC #7 @7ZL #25 @25ZS #27 @27PCS #16
@16F @51VK
VCI=73
VZI=ZR
VWI=ZS

-Related topics-
#Improve in the function MDRILL.
#Improve a new variable “CYCRAP“ to print\don’t print the GOTO_xx_RAP in the Drill & MillDrill
operations.
#Improvement in function MACOUT.

New Variable ENHWPL


The variable “ENHWPL” allows the arcs management on work plane like G18, G19, ( Output relative
to the Absolute origin)
It’s necessary set in the STARTPP section, the variable ENHWPL (enhanced work plane
management) = 1

82
Post Processor

New VARIABILI XCX XCY XCZ YCX YCY YCZ ZCX ZCY ZCZ
The variables “XCX” “XCY” “XCZ” “YCX” “YCY” “YCZ” “ZCX” “ZCY” “ZCZ” determine the directions of
the 3 vectors which represents the rotated origin in the space.
Practically, the 3 elements on X (XCX, XCY,XCZ), gives the vectorial direction of the X axis of the
face that is post processed.
The same thing is for the Y and Z axis (YCX,YCY,YCZ e ZCX,ZCY,ZCZ)

-Related topics-
#Face variables and management

83
Post Processor

NEW VARIABLES STARTING FROM VERSION 11.2

New Variables HTOLL VTOLL


“HTOLL”: tolerance to filter the tool-path points on the type movement $GOTO_XY. Check the
difference in Z between the previous point and the actual point.
“VTOLL”: tolerance to filter the tool-path points on the type movement $GOTO_Z. Check the
difference in XY between the previous point and the actual point.
When the tool-path movements exceed these tollerance, Vero Post Processor call the section
GOTO_XYZAB_WRK.

New Variables AXAXIS ABSREF


With these 2 variables, it’s possible to control directly the parameters available in the GENPP.PAR
“AXAXIS” : if = 1 rotation allowed only around the X axis,
if = 0 rotation allowed on any axes
“ABSREF” : if = 1 the output is respect the Absolute origin
if = 0 the output is respect the Relative origins (Faces)

This new parameters have priority to the following machine setting, present in the version V15 and
following.

-Related topics-
#Face variables and management

New Variable REMARK


The variable “REMARK” allows to print in the ISO file the operation Comment

NEW VARIABLES STARTING FROM VERSION 11.3

New Variable ASSREF


The variable “ASSREF” allows to print in the ISO file the “Tool Holder Assembly” name.

-Related topics-
#Face variables and management

NEW VARIABLES STARTING FROM VERSION 12.1

84
Post Processor
New Variable GUIDEP
The variable “GUIDEP” allows to print in the ISO the information about the Tool guide point.

If GUIDEP =0 means Tool Tip

If GUIDEP =1 means Tool Centre

New Variable HOVERS


The variable “HOVERS” allows to print in the ISO file the value set for “Horizontal side allowance”.

New Variable VOVERS


The variable “VOVERS” allows to print in the ISO file the value set for “Vertical bottom allowance”.

New Variable HSTEP


The variable “HSTEP” allows to print in the ISO file the value set for “Horizontal Step over”.

New Variable VSTEP


The variable “VSTEP” allows to print in the ISO file the value set for “Vertical Step down”.

New Variable VSTEPL


The variable “VSTEPL” allows to print in the ISO file the value “Last Pass Z” . Please not that this is
used only by 2D operations.

85
Post Processor

NEW VARIABLES STARTING FROM VERSION 13

New Variables for Helix management


In the way to manage helix in the output, it is necessary to add the following section in the
configuration file, $HELICAL_XYZ.
If the section “$HELICAL_XYZ” is not present in the cfg, than the helix movement will be outputted in
linear interpolation (as in previous versions).

List of variables for helix:

X,Y,Z : end helix coordinates


XC, YC : Helix centre coordinates
ZC : Toolpath end Z coordinate
RC : helix radius
NRIP : Number of pitches
TINT : helix direction. TINT=2 means CW, TINT=3 means CCW
SPLITH : allow to split or not the helix. If “SPLITH”=1 the output is G1
RHO : Polar coordinates “Module”
THETA : Polar coordinates “Angle”
STAN : Start angle
ENAN : End angle

For the 3D toolpath, the value print for the variable “ZC” is equal to the value print for the variable
“Z”.

The angle value are expressed in “radiant” (RAD). To convert the value in “degrees” (DEG) it is
necessary use the following formula:

[Angle]DEG = [Angle]RAD*180/

= 3.141592653589

86
Post Processor

NEW VARIABLES STARTING FROM VERSION 13 .1 SP1

New Variable TOVERH and TPRSET

TOVERH : allows to print the value associated to the “ Overhang length” variable.

TPRSET : allows to print the value associated to the “ Presetting length” of the tool.

By this 2 new variables it is also possible to compute the value for the “Gouge length”, very useful for
the Kinematic simulation when the option “True ISO code simulation” is selected.

See details in the below image to better understand the meaning of these variables:

87
Post Processor

NEW VARIABLES STARTING FROM VERSION 14.0.02.07

New Variables for Toolpath Bounding Box

Has been added 6 new variables, that allow printing the toolpath bounding box from the Absolute
origin.

BAXMIN: print the minimum X value

BAYMIN: print the minimum Y value

BAZMIN: print the minimum Z value

BAXMAX: print the maximum X value

BAYMAX: print the maximum Y value

BAZMAX: print the maximum Z value

Note: the reference work plane for the variables BXMAX, BYMAX, … is the current work plane.

The reference work plane for the variables BOXMAX, BOYMAX, … is the work plane used by the
operation.

-Related topics-
#Improvement in the stock bounding box management.
#Bounding box variable sets.

88
Post Processor

NEW VARIABLES STARTING FROM VERSION 14.0.03.07

New Variable “SPLITG” to spilt Drilling cycles output

The variable “SPLITG” define the output type for drill cycles: use cnc macros or linear movements.

SPLITG SPLIT in Gxx movements the drill cycle.


SPLITG can have the following value:
=0 :no split ( output is made always by macro). This is the default value.
=1 : split always
=2 : split only on rotated origins not orthogonal when CAM setup origin management
is OFF

Rules.
• SPLITG (=1) is enabled by macrolanguage and disabled by operation parameter: SPLITG is
enabled and stays enabled at the end of the operation.
• SPLITG (=1) is enabled by macrolanguage and enabled by operation parameter: same
condition than before
• SPLITG (=0) is disabled by macrolanguage and enabled by operation parameter: SPLITG is
enabled and is disabled at the end of the operation.
• SPLITG (=0) is disabled by macrolanguage and disabled by operation parameter: SPLITG is
disabled
• SPLITG (=2) is enabled by macrolanguage and the operation parameter: SPLITG is ignored.

-Related topics-
Split the drill cycle SPLITG
Bug-fixing for “SPLITG” parameter.

89
Post Processor

NEW VARIABLES STARTING FROM VERSION 15.0.02.08

New Variable to print the “Bounding box”model box” information


The old variable to manage the toolpath box are:
All bounding box here are related to toolpaths.
BXMIN, BYMIN, BZMIN, BXMAX, BYMAX, BZMAX
toolpath bounding box for all operations related to relative origin - are computed analysing all
the toolpaths from relative workplane active at the moment the Post is executed (this variables were
use in the MILL5). If you use this variable the advice is set the absolute origin before to execute the
Post Processor.

Now there are a lot of different variables:


1)
BOXMIN, BOYMIN, BOZMIN, BOXMAX, BOYMAX, BOZMAX
toolpath bounding box for current operation related to relative origin - are loaded from relative
bounding box passed to Post in following parameters (for every operation): inside section
"{OPERATION PARAMETERS?}" - or are computed analysing the toolpath (feed and rapid
movements) for current operation from relative workplane if no parameter is passed.
2)
BAXMIN, BAYMIN, BAZMIN, BAXMAX, BAYMAX, BAZMAX
toolpath bounding box for all operations related to absolute origin - are computed as toolpath's
maximum bounding box from all absolute bounding box passed to Post in following parameters (for
every operation): inside section "{OPERATION PARAMETERS?}" - or analysing the toolpaths
(feed and rapid movements) if no parameter is passed.
3)
SOXMIN, SOYMIN, SOZMIN, SOXMAX, SOYMAX, SOZMAX
stock bounding box for current operation respect to relative origin - are loaded from relative
bounding box passed to Post in following parameters (for every operation): inside section
"{OPERATION PARAMETERS?}" - or are computed analysing the toolpath (only feed
movements) for current operation from relative workplane if no parameter is passed.
4)
SAXMIN, SAYMIN, SAZMIN, SAXMAX, SAYMAX, SAZMAX
stock bounding box for all operations respect to absolute origin - are computed as maximum
bounding box from all absolute bounding box passed to Post in following parameters (for every
operation): inside section "{OPERATION PARAMETERS?}" - or analysing the toolpaths (only
feed movements) if no parameter is passed.

-Related topics-
#Improvement in the stock bounding box management.
#New Variables for Toolpath Bounding Box

90
Post Processor

New Variable to print special information at the start of the NC file

Added some new macro language variables:


"PRJ" : the project name
"ENGINR" : Engineer; the project author (default: user logged in Windows)
"LIBRAR" : local library name
"MACHIN" : machine tool description
"PARTMT" : part material (only for MS) #New variable PARTMT.
"TOOLMT" : tool material (only for MS)
"TLSUPP" : tool supplier (only for MS)
"THSUPP" : tool holder supplier (only for MS)
"THREF" : tool holder reference (only for MS)

New Variable ANGMOD to switch on/off the standard calculate routine for the Face
angle.

Normal the Vero Post Processor use an internal routine to calculate the rotation face angle. The
standard routine isn’t ok for all cases, with the new parameter “ANGMOD” you can disable the
standard calculate routine and use a customizable routine in macro-language (in this case we must
add a new routine).
ANGMOD=0 use default calculation routine
ANGMOD=1 turn off the standard calculation routine

NEW VARIABLES STARTING FROM VERSION 16.0

Increase Tool position number.


Increase the digits to 6 ex. T999998 for the variable T that print the tool numbers.
Note: 999999 is undefined setting.

New variables to print the sum of the all operations post processed.
NBOPE - number of operations.

New variables to print the next tool.


NTLRF - print the value of TLREF for the next tool
NTLRFB - print the value of TLREFB for the next tool

New variable to print the tool path operation length.


LENWOP - length work operation. Print the length of a single operation.

New variable TLSDUP to print the TLIST with the duplicate tool.
TLSDUP - change the function of TLIST.
TLSDUP = 0 – TLIST print the tool list without the duplicate tools
TLSDUP = 1 – TLIST print the tool list with the duplicate tools

#Improvement in the command TLSDUP.


#Tools variables

New variable to know the machine setting.


VAOPT - print the combo-box value in the machine

91
Post Processor

In the section “$TEST_ROT_VIRTUALE” you have the following value:


VAR1=0
(VAOPT==0)?VAR1=1 ' ZX Positive quadrant
(VAOPT==2)?VAR1=1 ' ZX Negative quadrant
(VAOPT==4)?VAR1=1 ' ZX Ccw
(VAOPT==6)?VAR1=1 ' ZX Cw
(VAOPT==1)?VAR1=2 ' ZY Positive quadrant
(VAOPT==3)?VAR1=2 ' ZY Negative quadrant
(VAOPT==5)?VAR1=2 ' ZY Ccw
(VAOPT==7)?VAR1=2 ' ZY Cw

-Related topics-
#Face variables and management

New Default for Variable “ANGMOD”


Now the default value for ANGMOD is 1. Before Visi 16.0 the default was 0.
On the Visi 16 the angle values are calculated by CAM and doesn’t need execute these calculates by
Vero Post Processor macro language. In Visi 16 the recommended system is use the angles calculate
by CAM.
ANGMOD=0 use the Vero Post Processor internal calculation routine
ANGMOD=1 use the CAM calculation routine

-Related topics-
#Face variables and management

New Variables to manage the rotation angle A and B


AERR = represent the angle error for the primary rotation axis
BERR = represent the angle error for the secondary rotation axis

When in the machine configuration has been set then angle step (or index) for the rotation axis:

in the Cam-Setup property you can see the “Angle pair errors” .

example :
If the “Angle step=1.5” and “Current angle pair=-16.87” the “Angle pair errors” is equal (16.87-
16.5=0.37). In this case in the macro language the variable AERR=0.37. You can use these variables
in the section $STARTFACE.

92
Post Processor
“Virtual angle pair” is the geometrical angles need to generate the CAM Setup by the Absolute origin.

The “Virtual angles pair” change value with the parameter “Virtual angle method” in the “Machine
configuration”.

AV = Virtual angle for axis C (calculate respect to ZX)


BV = Virtual angle for axis A (calculate respect to ZX)

AV = Virtual angle for axis C (calculate respect to ZY)


BV = Virtual angle for axis B (calculate respect to ZY)

-Related topics-
#New Variables to print the Virtual angles pair.
#Face variables and management

93
Post Processor

New Variable DSPPRI to manage the priority to create a sub program in the Drill
Cycle
Drill SubPrograms PRIority.
When in a CFG is activate the option “STYPC=1” or “STYPC=2” this variable manage the sub-
program creation.
The DSPPRI can have 2 value 1 or 2, the default value is 2.
DSPPRI=1 Vero post-processor read the list of point and create a sub-program when there are a
group of point with 2 or more drill operation.
DSPPRI=2 Vero post-processor have as priority to ask a sub-program a more often.
Example:
‘list operation

1’ operation - Centre

2’ operation – Drill diam. 6mm

3’ operation – Drill diam. 20mm

4’ operation – Bore

‘ With DSPPRI=1 Vero post processor

create a sub-program for the 1’ and 2’ operation

94
Post Processor

don’t create sub-program for the 3’ operation

don’t create sub-program for the 4’ operation

‘ With DSPPRI=2 Vero post processor

create sub-program use by the 1’ 2’ and 3’ operation

create sub-program use by the 1’ 2’ and 4’ operation

-Related topics-
#Drill group management SPLITD and DSPPRI
#Improvement in the function STYPO.
#Restored the reset of Z value for a sub program manage by STYPM=1 or 2.
#New Variable to manage the priority to create a sub program in the Drill Cycle
#New variable INSPRG.

New Variables to print in absolute the first toolpath position


These new variables are useful when the PP manage the axis rotation.
You can obtain the coordinate of the first toolpath position refer to the absolute origin and not to the
toolpath origin. You can use the following variables in the section "OPERATION_BEGIN".
FAMOVX coordinate X of the first toolpath point refer to the absolute origin
FAMOVY coordinate Y of the first toolpath point refer to the absolute origin
FAMOVZ coordinate Z of the first toolpath point refer to the absolute origin

95
Post Processor

New Variables to print in relative the first tool-path position


These new variables are useful when the PP manage the axis rotation.
You can obtain the coordinate of the first tool-path position refer to the relative origin and not to the
tool-path origin. You can use the following variables in the section "OPERATION_BEGIN".
FRMOVX coordinate X of the first tool-path point refer to the relative origin
FRMOVY coordinate Y of the first tool-path point refer to the relative origin
FRMOVZ coordinate Z of the first tool-path point refer to the relative origin

New Variables AGNROT to print the Rotation angle around Z.


AGNROT (AliGN ROTation) print in the section "STARTFACE" the value of “Rotation angle around
Z”.

-Related topics-
#New Variables to manage the rotation angle A and B
#Face variables and management

96
Post Processor

NEW VARIABLES STARTING FROM VERSION 16.0.02.09

Improvement the compensation management in XYZ movement.


The HS mill operation can call the compensation (G41/G42) on a XYZ movement(option ramp). In
previous version the Vero Post Processor don’t print this command and the HS operation in some
condition don’t call the compensation.
The pp must use the standard section used for a normal operation that call the G41/42 function in a
horizontal movement :
$START_PF_NO_COR
..............
$END_PF_NO_COR
..................
$START_PF_COR_LFT
....................
$START_PF_COR_RGT
.........................
$END_PF_COR
...................

-Related topics-
Coordinates printed check.

Coordinates printed check.


Add a new automatic check, to verify if the old CFG print the Z movement in the previous section.
Probably in the old CFG there isn’t the Z print in the previous section.
When there is a XYZ movement and the PP call this section, the PP must be check if there is the print
of the Z movement @7Z, the PP must generate an error.

-Related topics-
Improvement the sections checked by the “Coordinates printed check” .

97
Post Processor

New variables TYPEOR .


This variables indicate the state of the parameter “UseRelativeOrigine” in the operation CAM Setup,
when you have activate the option “Activate WPL selection”.
Only in the previous case this variable is print.

$STARTFACE
…………………..
TYPEOR= 1.000

NEW VARIABLES STARTING FROM VERSION 16.0.03.09

New variables FANGA, FANGB .


These variables indicate the inclination of the first operation movement.
Together with variables FAMOVX, FAMOVY, FAMOVZ, you can use the variables FANGA
and FANGB in the section “OPERATION_BEGIN”, before this improvement you have this value only
in the section “GOTO_XYZAB_RAP”.

98
Post Processor

NEW VARIABLES STARTING FROM VERSION 16.0.04.09

New section sequence between drill cycle.


Now at start of a drill cycle the sequence of the macro-language section is:

‘new section sequence ‘old section sequence


$OPERATION_BEGIN $OPERATION_BEGIN
$SPECIAL $SPECIAL
$GOTO_XY_RAP
$GOTO_START_CYC
$GOTO_Z_RAP
$COOLANT_ON
$GOTO_START_CYC
$COOLANT_ON $CYC_DRILL
$CYC_DRILL $CICLI_MACH
$CICLI_MACH

The sections $ GOTO_Z_RAP and $GOTO_XY_RAP are used to connect the previous operation to
the current ... the order in which are called depends on last Z of previous operation and first Z of
current operation.
Until release 16 this behaviour was valid for all operations but drill cycles ... starting from release 17
this behaviour is valid also for drill cycles.

-Related topics-
#Improve a new variable “ “ to print\don’t print the GOTO_xx_RAP in the Drill operations.

99
Post Processor

NEW VARIABLES STARTING FROM VERSION 17.0

Improvement the sections checked by the “Coordinates printed check” .


Improvement the section checked by the function Coordinates printed check .
Now all macro-language sections are checked excluded the following sections:

$STARTPP $CYC_CENT
$ENDPP $CYC_DRILL
$CLOSEDPP $CYC_DRILL_PIC
$STARTTOOL $CYC_DRILL_PEC
$ENDTOOL $CYC_C_BORE_IN
$STARTFACE $CYC_C_BORE_OUT
$ENDFACE $CYC_TAPP
$TOOLLIST $CYC_REAM_BORE_R
$FACELIST $CYC_REAM_BORE_SF
$SPECIAL $CYC_REAM_BORE_F
$OPERATION_BEGIN $CYC_REAM_BORE_FI
$OPERATION_END $CYC_REAM_D_FIX_R
$START_SUB_MILL $CYC_REAM_D_FIX_SF
$END_SUB_MILL $CYC_REAM_D_FIX_F
$CALL_SUB_MILL $CYC_REAM_D_EXP_R
$GOTO_START_CYC $CYC_REAM_D_EXP_SF
$GOTO_END_CYC $CYC_REAM_D_EXP_F
$CYC_XY $END_SUB_CYC
$CYC_XY_RA $CALL_SUB_CYC
$CYC_END $START_DIV_FILE

$END_DIV_FILE
$FEEDLIST
This automatic check is extended to found error in the NC file generated by mistake in the macro-
language. This is a useful security check to prevent error in the NC file.

-Related topics-
Changed the default value on CHKOUT variable.

100
Post Processor

Improvement the Helix approach for the Pock operation.


To improvement the Helix management, in the Pock approach movement of a HS Pock, we are
improving the following changes.
If in the macro-language you activate “SPLITH=0” on the VISI 17 you obtain the helix in the NC file
(ex. G3 X-15. Y40. I-5. J0. Z0.), in VISI 16 you can’t.
Now at start of a pock operation the sequence of the macro-language section is:
with SPLITH=0 with the Helix management
‘new section sequence
$SPECIAL ‘old section sequence
$STARTFACE $SPECIAL
$SPECIAL $STARTFACE
$STARTTOOL $SPECIAL
$SPECIAL $STARTTOOL
$OPERATION_BEGIN $SPECIAL
$SPECIAL $OPERATION_BEGIN
$GOTO_XY_RAP $SPECIAL
$SPECIAL $GOTO_XY_RAP
$GOTO_Z_RAP $SPECIAL
$SPECIAL $GOTO_Z_RAP
$GOTO_Z_RAP $SPECIAL
$SPECIAL $GOTO_Z_RAP
$PF_SEGMENT $SPECIAL
$SPECIAL $PF_SEGMENT
$SPECIAL $SPECIAL
$SPECIAL
$HELICAL_XYZ
$PF_SEGMENT
$SPECIAL
$PF_SEGMENT
$SPECIAL
$PF_SEGMENT
……..
In this case the output is equal to SPLITH=1.

with SPLITH=1 without the Helix management

‘new section sequence ‘old section sequence


$SPECIAL
$SPECIAL
$STARTFACE
$STARTFACE
$SPECIAL
$STARTTOOL $SPECIAL
$SPECIAL $STARTTOOL
$OPERATION_BEGIN $SPECIAL
$SPECIAL $OPERATION_BEGIN
$GOTO_XY_RAP $SPECIAL
$SPECIAL $GOTO_XY_RAP
$GOTO_Z_RAP $SPECIAL
$SPECIAL $GOTO_Z_RAP
$GOTO_Z_RAP $SPECIAL
$SPECIAL $GOTO_Z_RAP
$PF_SEGMENT $SPECIAL
$SPECIAL $PF_SEGMENT
$SPECIAL $SPECIAL
$SPECIAL $SPECIAL
$GOTO_XYZAB_WRK $SPECIAL
$PF_SEGMENT

101
Post Processor
Note: the Helix movement translate in segment in Visi 17, are management by the section
“$GOTO_XYZAB_WRK”.

Restored the section “$GOTO_Z_WRK” called in the Z approach move in Mill .


In Visi 16 was change the section that is called to print the Z work movement in the mill operation.
Now in Visi 17 is restored the correct section, same to Visi 15 and previous.

‘new section sequence ‘ visi 16 section sequence


$SPECIAL $SPECIAL
$STARTFACE $STARTFACE
$SPECIAL
$SPECIAL
$STARTTOOL
$STARTTOOL
$SPECIAL
$OPERATION_BEGIN $SPECIAL
$SPECIAL $OPERATION_BEGIN
$GOTO_XY_RAP $SPECIAL
$GOTO_Z_RAP $GOTO_XY_RAP
$SPECIAL $GOTO_Z_RAP
$GOTO_XY_RAP $SPECIAL
$SPECIAL $GOTO_XY_RAP
$GOTO_Z_WRK $SPECIAL
$SPECIAL $PF_SEGMENT
$START_PF_COR_LFT $SPECIAL
$START_PF_COR_LFT

102
Post Processor

Restored the tool change setting – TCM variables in the macro-language.


Tool change = automatic → TCM = 1
Tool change = manual → TCM = 0
The variables TCM is initialized as 0 in the Vero Post Processor macro-language, it write in the
following section, only when it’s different from the initialized value.

$QUESTIONS
……………………..
TCM = 1.000
In VISI 16.xx the tool change setting disappears from machine menu configuration.
In VISI 17 this setting is restored.

103
Post Processor

Restored the VAOPT management.


In Visi 16 and 17 the “Virtual plane” management is set in the machine parameters. Before, in Visi 15,
the “Virtual plane” management was set in the face parameter.
The Vero Post Processor of Visi 16 don’t manage the variable VAOPT.

ZX [quadrant] =0
ZY [quadrant] =1
Z(-X) [quadrant] =2
Z(-Y) [quadrant] =3

ZX =4
ZY =5
Z(-X) =6
Z(-Y) =7

The VAOPT default value is 0.

-Related topics-
#Face variables and management

Eliminate the assignment for the variables XT YT ZT in the section $STARTFACE .


In Visi 16 and 17 the “Tool change position” was eliminate from the CAM Setup menu in Visi. The
value of the “Tool change position” is send to the Vero Post Processor with a value equal 0. In this
case in the section “$STARTFACE“ the value of the XT YT and ZT are set equal 0, and the value call
in the section “$STARTPP” are re-write.
Now the Vero Post Processor don’t read the value of XT YT and ZT memorize in the CAM Setup but
only read the value called in the machine parameters.

104
Post Processor

Add a new section $REMARK.


When we add a Remark in the tool-path, now Vero Post Processor call the new section $REMARK.
Example of application:

$REMARK
"(FREE CUSTOMER REMARK: " ALFA “)”
- output file -
....
N14 G1 Z230.97 F750
(FREE CUSTOEMR REMARK: FIRST)
(FREE CUSTOEMR REMARK: SECOND)
N15 G17 X-95.671
....

N.b.
If in the section “Post-processor information” you write a NC code between “M00” it’s directly print in
the NC file. If you don’t use “…” you must write a variable use in the Vero Post Processor macro
language to execute a special function (ex. VA=1).

Add a new function to manage the operation sub-program STYPO.


This new function is similar to "STYPM" (mill) e "STYPC" (drill).
The value is the same for all variables:
0= function disable, NC output file without label or sub-program
1= generate the label
2= generate the sub-program
All functions use the same following sections: "START_SUB_MILL", "END_SUB_MILL" e
"CALL_SUB_MILL".
The function STYPO generate a operation label or sub-program of the operations copied in an other
Cam Setup without the geometry.

The label or sub-program start/end with the following sections:


$START_SUB_MILL
$GOTO_XY_RAP

105
Post Processor
………
$GOTO_Z_RAP
$END_SUB_MILL

Note
When the option “STYPO” is activated the option “STYPM” and “STYPC” are automatically disable.
The “STYPO” have priority on the “STYPM” and “STYPC”.

This function run when in the Cam Setup is activated the Origin.

If the post processor check a distance between the first operation start position and the origin of Cam
Setup, if there are a difference between the main operation and the duplicated operation, the STYPO
function is disable.
For example if customer have duplicated some operations and after use the command “Move CAM-
setup” can disable the STYPO functionality.

-Related topics-
#Improvement in the function STYPO.
#Restored the reset of Z value for a sub program manage by STYPM=1 or 2.
#New Variable to manage the priority to create a sub program in the Drill Cycle
#New variable INSPRG.

Add a new function CHKOUT to disable the check of the Coordinates printed check.
In the Visi 17 was added a new security check Coordinates printed check, on the movement sections.
This check automatically verifies if all coordinate is formatted by the section. If one or more coordinate
aren’t formatted by a section, the Vero Post Processor generate an alarm same the following:

The default value for the variables CHKOUT is 1, check function activated. If you want disable this
check you must set in the macro-language CHKOUT=0 in the section “$STARTPP”.
Topic correlated.

-Related topics-
#Changed the default value on CHKOUT variable.

Add a new variables TLMES to print the tool name.


This variables call the tool name in the section $STARTTOOL.
TLMES is useful to print the tool name when the variable ALFA have an other message called. ALFA
is used in the different sections to print always description (tool name, operation type, remark etc.).

106
Post Processor

NEW VARIABLES STARTING FROM VERSION 17.0.09.09

Improvement to generate a empty line.


Starting from version 17.09.09 to generate an empty line you can use the following command line:
"";.
This improvement is useful to solve a RS232 C transmission problems or a special CNC need that
must have some empty line at the start /end of the NC file.
Example:
$HEADER
"";
“”; in this way we can print a empty line only with the ASCI characters 10 13
Note: before this update, was necessary to insert a space always:
" ";

NEW VARIABLES STARTING FROM VERSION 17.0.10.09

Feed table in NC file.


This improvement need to have the possibility to define a feed-rate variable and inside ISO call the
variable instead of the feed-rate value directly. This option is useful to change the feed by to edit the
NC file. At the start of all operation there is the variables assignment; customers can easily modify
these lines to change the feed in all operation.
The feed-rate variables management is enabled by the presence inside CFG of a new section
"$FEEDLIST" ... without it, all should work as old way. The "$FEEDLIST" section is called by the
variables “FEDLST” and is called once for every feed variable needed for current operation.
Example of the section $FEEDLIST for a Heidenhain CFG:
$......
vara=0
FEDLST

$FEEDLIST
'Automaticaly numbering
'@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR ";" "(" #50 @50FMOV ")"
'Automaticaly numbering without remark for the movement type
'@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR ";"
'write the variables with a notes of the movement type
'assignement to FIDX a customization value for the FMOV type, vara is a security value to manage
the double Working Feed
(FMOV==19)? FIDX=1 'Feed into material - Approch feed in Z
(FMOV==16)? FIDX=2 'Approch feed
(FMOV==01)?( vara==0)? FIDX=3 'Working feed
(FMOV==01)?( vara>0)? FIDX=VFI+10 'Working feed
(FMOV==03)? FIDX=7 '5axis Transition feed
(FMOV==32)? FIDX=4 'Retract feed
(FMOV==33)? FIDX=5 'Retract feed in Z
(FMOV==09)? FIDX=6 'Optimized rapid feed
(FMOV==01)? vara= vara +1
(FMOV==19)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Feed into material - Approch feed
in Z : "
(FMOV==16)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Approch feed :"
(FMOV==01)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Working feed :"
(FMOV==03)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; 5Axis Transition Feed :
"
(FMOV==32)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Retract feed :"
(FMOV==33)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Retract feed in Z :"
(FMOV==09)?@1N " FN 0 :" #51 @51FIDX " = " #52 @52FVAR "; Optimized rapid feed :"

107
Post Processor

vara must be transformed in a customer variables of a macro language.

There are also 54 new variables:


FIDX is the index of feed-rate variable.
FVAR is the feed-rate value.
FMOV is the movement type for that feed.
FEDLST call the section $FEEDLIST (you can’t use this variable in the
section “$STARTPP”.
FEDVAR if the section “$FEEDLIST” is called its value is 1, if the
section “$FEEDLIST” isn’t called its value is 0.

In the following list, you can see the FMOV value:

16: Entry feed (mm\min)

1: Feed (mm\min)

32: Retract feed (mm\min)

19: Feed into material (mm\min)

3: Transition feed (mm\min)

9: Optimized rapid feed (mm\min)

33: Retract feed in Z

The output will be something like:


0 BEGIN PGM FQ MM
1; ISO FILE FQ.HNC
2; WKF FILE FQ.WKF
3 BLK FORM 0.1 Z X-56,495 Y-56,495 Z+10,000
4 BLK FORM 0.2 X+0,000 Y+0,000 Z+60,000
5 ;END MILL DIAM 10 LENGH 100
6 FN 0 : Q101 = 750;
7 FN 0 : Q102 = 1200;
8 FN 0 : Q103 = 2500;
9 FN 0 : Q104 = 200;
10 TOOL CALL 6 Z S2500
11 CYCL DEF 32.0 TOLERANCE
12 CYCL DEF 32.1 T0.01
13 L Z+100,000 R0 FMAX M13 FMAX
14;-
15; MILL
16 L X-7,500 Y-50,000 R0 FMAX
17 L Z+60,000 FMAX
18 L FMAX
19 L Z+52,000 FMAX
20 L Z+47,142 FQ1
21 L X-3,750 Y-56,495 RL FQ2
22 CC X-7,500 Y-50,000
23 C X+0,000 Y-50,000 DR+
24 L Y+0,000 FQ3
25 L X-50,000
26 CC X-50,000 Y-7,500
27 C X-56,495 Y-3,750 DR+

108
Post Processor
28 L X-50,000 Y-7,500 R0 FMAX
29 L Z+52,000 FMAX
30 L X-7,500 Y-50,000 FMAX
31 L Z+49,142 FMAX
……..

Than you will need to print the feed-rate variables where needed:
$GOTO_XY_WRK
@1N #2 @2(0) @5X @6Y @35(0) @16F @50FIDX
You must remove the old command to print the feed and add the new channel and variables.

The channels #50, #51 and #52 use in the example, to print the feed-rate variables and the values
aren’t obligatory they are only an advice.

109
Post Processor

Note
The Vero Post Processor check the feed-rate sated in the NC file and automatically assign the
incremental number by the variable FIDX. Not all operation use the same type of feed, for example :
- Drill use only:
o 19: Feed into material Entry feed (mm\min)
o 1: Feed (mm\min)
- 2D HS Face Mill use only:
o 19: Feed into material Entry feed (mm\min)
o 16: Entry feed (mm\min)
o 1: Feed (mm\min)
- 2D Pock use only:
o 19: Feed into material Entry feed (mm\min)
o 16: Entry feed (mm\min)
o 1: Feed (mm\min)
- 2D MILL use:
o 19: Feed into material Entry feed (mm\min)
o 16: Entry feed (mm\min)
o 1: Feed (mm\min)
o 32: Retract feed (mm\min)
o 33: Retract feed in Z (mm\min)
- 3D finishing use:
o 19: Feed into material Entry feed (mm\min)
o 16: Entry feed (mm\min)
o 1: Feed (mm\min)
o 32: Retract feed (mm\min)
o 33: Retract feed in Z (mm\min)
o 9: Optimized rapid feed (mm\min)
- etc….
The manual feed change adds in the tool-path by the command “Edith tool-path” are elaborate in the
execution sequence.
You can use the variable TYPM to activate\deactivate the feed table function for a different operation
type.

N.B.
When in the Pock mill6 the parameter “V2AX-RoudingMethod” is activated, the Engine generate a
second “working feed” on the fillet generated on the tool-path.

110
Post Processor

-Related topics-
#Bug-fixing in the feed table functionality.
# Bug fixing for Helix feed table management.

Improvement in the function STYPO.


Before the 17.0.10.09 the STYPO=1 or 2 automatically disable the options “STYPM” and “STYPC”.
Now all option can work together.

-Related topics-
#Restored the reset of Z value for a sub program manage by STYPM=1 or 2.
#New Variable to manage the priority to create a sub program in the Drill Cycle
#New variable INSPRG.

Changed the default value on CHKOUT variable.


In a lot of CFG there are special elaborations on the coordinates X Y Z and the Coordinates printed
check generate a useless alarms.

Now the CHKOUT default value is 0 = disable.


There is an improvement in the Coordinates printed check, now if CHKOUT=0 the Vero Post
Processor executed only the Z coordinates check only for the HS Milling operations.
It’s needed to execute this check on the HS mill operations to verify the missing Z printed in old CFG.
Normally the Z coordinate isn’t print in the sections list in Improvement the compensation
management in XYZ movement. .

-Related topics-
#Add a new function CHKOUT to disable the check of the Coordinates printed check.

111
Post Processor

NEW VARIABLES STARTING FROM VERSION 17.0.11.09

New variable SNOANG – value of relative origin number.


The new variables SNOANG indicate the setting of the CAM Setup “Relative origin number” activate
switch (internal variables “UseRelativeOrigin”).

SNOANG is printed in the following sections:


“$STARTPP” its value is set to “SNOANG = 999999.000”
“$STARTFACE” its value result from the 2 following parameters
Output without angle
Relative origin number ON\OFF
“$ENDFACE” its value is set to “SNOANG=999999.000”

SNOANG=999999.000
Don’t use the “$STARTFACE”.

SNOANG= 0.000

SNOANG= 1.000

SNOANG=999999.000
Use the “$STARTFACE”.

Restore the variable NBPTS.


NBPTS print the number of the drill cycle points. It’s useful to print a comment in the drill operation
and it’s important to correctly terminate the drill cycle in the NC file.
From Visi 16.0 to Visi 17.0.10.09 the variables NBPTS don’t run.
In previous version this information is write in the tool-path, now the Vero post processor found this
information in the tool-path.

112
Post Processor

New variable NBTETH.


NBTEHT print the number of teeth read in the tool parameters.

This variables is available on the section $STARTPP and $STARTTOOL.


This variables is useful to create a special tool setting cycle in the NC file, that need of this
information.

Restored the reset of Z value for a sub program manage by STYPM=1 or 2.


The improvement, to manage the Z in the sections “$START_PF_COR_LFT” and
“$START_PF_COR_LFT”, generate a problem in a option STYPM=1 or 2. In a Z level sub-program
the PP print the Z value when there is an arc and this is an error. This improvement is need for the HS
mill operations.
The problem bug-fixing is the following
%
O1 ( OUTPUT FILE NAME - SUB.NC)
( WKF FILE NAME - SUB.WKF)
( DATE - 11/26/09)
G0 G40 G80 G90 G98 G17
G54
(END MILL DIAM. 10.)
T6 M06
M3 S2500
G80 G90
(- )
( MILL)
G0 X0. Y32.5
G0 G90 G43 Z10. H6
Z4.
G1 Z-1. F1000
M98 P100
Z-2.
M98 P100

113
Post Processor
Z-3.
M98 P100
Z-4.
M98 P100
Z-5.
M98 P100
Z-6.
M98 P100
Z-7.
M98 P100
Z-8.
M98 P100
Z-9.
M98 P100
Z-10.
M98 P100
G0 Z10.
G80 M05
O100
G1 G17 G41 X5.745 Y37.321 D6
G3 X0. Y40. I-5.745 J-4.821
G1 Z-1. ----- in a Z level sub program, there should be Z value.
X-40. F2000
Y-40.
X40.
Y40.
X0.
G3 X-5.745 Y37.321 I0. J-7.5 F1000
G1 G40 X0. Y32.5
M99
G28 G91 Y0.
M30
%

Now Vero Post disables the Z format only for the Z level sub programs.

-Related topics-
#Improvement in the function STYPO.
#New Variable to manage the priority to create a sub program in the Drill Cycle
#New variable INSPRG.

NEW VARIABLES STARTING FROM VERSION 17.0.02.10

Improvement in variable TYPM.


Now the variables TYPM is call in the section "$STARTTOOL". It’s useful use this variable in the
section "$STARTTOOL" for the feed table.
List of the operation type management by TYPM.
Example of application with a feed table:
VEI=INP(FEED TABLE 0=off, 1=on only for 2D MILL and 3D mill, 2=on also for drill operation)

'ask the $FEEDLIST section


(VEI==1)?(TYPM!=10)?(TYPM!=50)?VFI=0
(VEI==1)?(TYPM!=10)?(TYPM!=50)?FEDLST
(VEI==2)?VFI=0
(VEI==2)?FEDLST

114
Post Processor

New variables to define the approach\retract type – APPMET \ RETMET.


These new variables define the type of approach \ retract set in the Mill operations. These are useful
to generate a macro NC command by the Cam Mill operations.
These variables are call in the section $OPERATION BEGIN.
These variables describe the following operation parameters:
for a Mill mill6 are:

for a HS mill are:

115
Post Processor
Approach Method:
the new variable is APPMET (APProach METhod) and can hold one of this values:

0 : line and plunge setting (HS mill)


1 : direct setting (Standard mill)
2 : perpendicular setting (Standard mill) OR perpendicular and plunge setting (HS mill)
3 : circular setting (Standard mill) OR circular and plunge setting (HS mill)
4 : helical setting (Standard mill) OR line and helical setting (HS mill)
5 : parallel and plunge setting (HS mill)
6 : parallel and helical setting (HS mill)
7 : perpendicular and helical setting (HS mill)
8 : circular and helical setting (HS mill)

Retract Method:
the new variable is RETMET (RETract METhod) and can hold one of this values:

0 : line setting (HS mill)


1 : direct setting (Standard mill)
2 : perpendicular setting (Standard mill) OR perpendicular setting (HS mill)
3 : circular setting (Standard mill) OR circular setting (HS mill)
4 : parallel setting (HS mill)

-Related topics-
#APPMET and RETMET improvement.

Improvement the unit check for the Vero Post interface.


Now Vero Post Processor interface check the unit (mm \ inch) set in the Visi-machining and read\write
the tolerance in dedicated section.

[VEROPOST_mm]
# Max_Feedrate = 10000 ;
# Min_Feedrate = 0.1 ;
# Small_Arc_Tolerance = 0.1000000015 ;
# Split_Arc_Tolerance = 0.001 ;
[VEROPOST_inch]
# Max_Feedrate = 393.7007874 ;
# Min_Feedrate = 0.0039370079 ;
# Small_Arc_Tolerance = 0.0039370079 ;
# Split_Arc_Tolerance = 0.0000393701 ;

Before this update, Vero Post Processor correctly read these information when execute the post
processor, but in interface only write in the [VEROPOST_mm].

Bug-fixing for the variables NSTA.


The variable NSTA must set the first start number for a number bolck. Normally
customer sets this variables in $STARTPP.

Ex. NSTA=10
The NC file output must be
%
O1
N10
N11
N12
N13
N14
N15

116
Post Processor

NEW VARIABLES STARTING FROM VERSION 17.0.03.10

Improvement in the stock bounding box management.


Now the following variables group:
SOXMIN, SOYMIN, SOZMIN, SOXMAX, SOYMAX, SOZMAX
stock bounding box from relative work-plane.

SAXMIN, SAYMIN, SAZMIN, SAXMAX, SAYMAX, SAZMAX


stock bounding box from ABS work-plane.
Now when in the CAM Project there is a stock, these variables print the bounding box in the
$STARTPP section.
If there isn’t a stock in the Project, PP check the first operation and this is a 3D Rough read the
bounding box of this operation stock.
If the 3D rough hasn’t a stock or is a different type of operation PP read the tool-path bounding box.

In the $ OPERATION_BEGIN there isn’t change.


For all operation PP check the operation and this is a 3D Rough read the bounding box of this
operation stock.
If the 3D rough hasn’t a stock or is a different type of operation PP read the tool-path bounding box.

-Related topics-
#New Variables for Toolpath Bounding Box
#New Variable to print the “model box” information

117
Post Processor

Chamfering improvement in ZL and XL.


Normally this variables are used in the Drill operation to print the depth and the inclination in X of the
hole.
Now also indicate the chamfer dimension set in the operation parameters.

ZL

XL
This variables is update in $STARTPP if the Chamfer operation is the first and in the $SPECIAL
section before the $OPERATION_BEGIN.

Improvement a new free customer variables in the macro-language.


The new free variables are the following:
VAH VBH VCH VDH VEH VFH VGH VHH VIH VKH VJH VLH VMH VNH VOH VPH VQH VRH VSH
VTH VUH VVH VXH VYH VZH VWH
These are numerical variables.

-Related topics-
#Free user Variables

Bug-fixing when elaborate a Drill operation that used a Mill Tool.


When customer generates a drill operation and used a mill tool, the PP generate a wrong output and
display the following windows alert.

118
Post Processor
New variable OFMODE.
The variable “OFMODE” allows to print in the ISO file the value set for “
When customer generates a mill or similar operation this variables print the following value to indicate
the tool offset application type:

Mill and Fillet


1 = profile offset
2 = profile corrected
3 = none

Chamfer
1 = profile offset
2 = profile corrected

Mill thread
1 = profile offset
3 = none

HS Mill
1 = profile offset
3 = none

This variable is useful to print the right value, in the NC file, for the tool diameter. For example in the
Selca iso language the “G49 I…..” (G49 I….. normally is the tool diameter).

119
Post Processor

New variable INSPRG.


The variable “INSPRG” indicate if the NC file manages a sub program or a main program.
0 normally main program - STYPM=0 and STYPC=0
1 sub program STYPM=1 or 2 and STYPC=1 or 2
This is useful to the programmer to generate a different “if” in the section that generated sub program
and main program.

-Related topics-
#Restored the reset of Z value for a sub program manage by STYPM=1 or 2.
#New Variable to manage the priority to create a sub program in the Drill Cycle

Improvement the variable HOVERS, VOVERS, HSTEP, VSTEP and VSTEPL for the
ISO Machining and 5axis operation.
Now the variable “HOVERS”, “VOVERS”, “HSTEP”, “VSTEP” and “VSTEPL” also run for the ISO
Machining and 5axis operation.

-Related topics-
#New Variable HOVERS
#New Variable VOVERS
#New Variable HSTEP
#New Variable VSTEP
#New Variable VSTEPL

Improvement in the variables PARTMT.


Now this variable print the piece material set in the project parameters.
In the macro language you can use this variable in each section, same to the other “string” variable.

-Related topics-
#New Variable to print special information at the start of the NC file

120
Post Processor

NEW VARIABLES STARTING FROM VERSION 17.0.04.10

New variables EDISRD.


This new variable prints the “Entry distance at reduced F\S (%)” value.
It needs to set a specific parameter in the drill hole with the option gun drilling.
This variables is set in the $OPERATION_BEGIN

-Related topics-
Gun drilling parameters.
New parameter for gun drilling option.

Bug-fixing in the feed-rate table functionality.


Before this update the feed table set for a operation generated on a rotate CAM Setup is wrong.
There is an error in the type of feed memorize in the tool-path.
To obtain a correct NC output file we must re-build the operation created in a previous update.

-Related topics-
#Feed-rate table in NC file.

NEW VARIABLES STARTING FROM VERSION 17.0.06.10

Bug-fixing for the project Stock bounding box calculation.


In the following variable is call the tool-path bounding box and not the project stock bounding box.
SOXMIN, SOYMIN, SOZMIN, SOXMAX, SOYMAX, SOZMAX
SAXMIN, SAYMIN, SAZMIN, SAXMAX, SAYMAX, SAZMAX

-Related topics-
#New Variable to print the “model box” information
#New Variables for Toolpath Bounding Box

121
Post Processor

NEW VARIABLES STARTING FROM VERSION 18.0

New functionality “MACOUT” to manage CNC pock/mill cycles.


This function generates a special NC output file that calls a pock/mill macro using the CNC language.
This is useful to transform a standard tool-path for a
figure (rectangle, slot and hole) in a single CNC
macro.
Using this NC output the machine worker can easily
modify the main operation parameter (step over, step
down, oversize, tool diameter etc.).

Now we explain how the Vero Post can provide in


output to CNC the instructions to machine some
standard pocks.

At the moment the managed pock are rectangular


(with or without fillet on corners), circular and slot;
rectangular and slot pock can be rotated in XY plane.
The pocks with islands are automatically excluded by the macro management; the same for the open
pock.

Some new macro-language variables have been created to allow the generation and personalization
of pock machine cycles:
MACOUT MACro OUTput: 0 or 1
0=macro disable
1=macro enabled
You can insert this variable in the macro-language or in the PP INFO of the operation cutting
condition.

This option works for following operations:


FACEMILL HS and Standard
POCK HS and Standard
MILL HS and Standard
Standard HELICOIDAL MILL
MILL THRED HS and Standard ) (this operation call the Mill macro sections)
POCK DRILL
MILL on Hole (the function MDRILL has priority to MACOUT)
CHAMFER (in this case the variables ZL describe the chamfer depth) (this operation call the Mill
macro sections)
FILLET (this operation call the Mill macro sections)

122
Post Processor
When Cam can’t compute a toolpath for all features, Vero Post can anyway create the macro for all
features, but a warning message box is displayed to indicate this critical condition. Obviously in this
case the needed sections must be present to generate a valid output.

If there aren’t the needed sections in the macro-language, the Vero Post will output the standard
toolpath movements.
The Mill multi-passes use a specific section, if the CNC macro doesn’t manage the mill multi-passes,
we can remove these sections to obtain a normal output without macro management.

Macro language sections to manage the pock operations


$RECTANGULAR_POCK
$CIRCULAR_POCK
$SLOT_POCK

Macro language sections to manage the mill operations


$RECTANGULAR_MILL
$CIRCULAR_MILL
$SLOT_MILL

Macro language sections to manage the mill on hole operations


$CIRCULAR_MILLDRILL

Macro language sections to manage the mill multi-passes operations


$RECTANGULAR_MILLMULTIPASS
$CIRCULAR_MILLMULTIPASS
$SLOT_MILLMULTIPASS

--- General parameter ---


FENTRY ENTRY Feed
CUTMET CUTting METhod
ENTMET ENTry METhod

123
Post Processor
pock geometric parameters for macro (see image for description)
--- Rectangular manage parameters ---
PKLEN PocK LENgth
PKWIDT PocK WIDTh
PKCRAD PocK Corner RADius

PocK ReFerence 'A' point (left bottom point)


PKRFAX
PKRFAY
PKRFAZ

PocK ReFerence 'B' point (rectangle centre)


PKRFBX
PKRFBY
PKRFBZ

124
Post Processor
PKROT PocK ROTation angle

PocK ReFerence 'A' point (left bottom point)


PKRFAX
PKRFAY
PKRFAZ

PocK ReFerence 'O' point (left bottom point before the rotation)
PKRFOX
PKRFOY
PKRFOZ

125
Post Processor
Slot parameters:
PKLEN PocK LENgth
PKWIDT PocK WIDTh
PKROT PocK ROTation angle

PocK ReFerence 'A' point (left arc centre)


PKRFAX
PKRFAY
PKRFAZ

PocK ReFerence 'B' point (right arc centre )


PKRFBX
PKRFBY
PKRFBZ

126
Post Processor
Circular parameters:
PKDIAM PocK DIAMeter (circular pock)

PocK ReFerence 'B' point (arc centre)


PKRFBX
PKRFBY
PKRFBZ

127
Post Processor
Example of TNC macro management :

$RECTANGULAR_POCK
SET_GOTO_ZR
VCI=251
VG=1 SETQ TYPECYC SUBPOCKREC VJ=2
@1N #2 @2(0) #5 @5X #6 @6Y @35(0) @16F SET_M VH=0 " ; - center of pock";

$SUBPOCKREC
@70(0) " ; TO BE IMPLEMENTED: - mode (0=finishing and roughing, 1=only roughing, 2=only
finishing)";
@71(PKLEN) " ; - pocket length";
@72(PKWIDT) " ; - pocket width";
@73(PKCRAD) " ; - pocket corner radius";
@79(HOVERS) " ; - side oversize";
@75(PKROT) " ; - pocket rotation ";
" Q367=0 ; - always fix";
@69(F) " ; - plane feedrate";
(CUTMET==1)?@77(+1) : @77(-1)
" ; - climb or conventional";
@86(-(ABS(ZL))) " ; - pocket depth";
@87(VSTEP) " ; - z step";
@80(VOVERS) " ; - bottom oversize";
@90(F) " ; - entry feedrate";
@76(VSTEP) " ; - z-step for finishing";
@85(CH) " ; - safety distance";
@88(ZS-CH) "; - surface coordinates";
@89(ZR) " ; - 2 retract plane";
@81(0) " ; - toolpath overlapping";
@78(ENTMET) " ; - type of entry 0=vertical, 1=helical, 2=reciprocating";
@83(F) " ; - feedrate for finishing";

output:
11 CYCL DEF 251 RECTANGULAR POCK ~
Q215=0 ; TO BE IMPLEMENTED: - mode (0=finishing and roughing, 1=only roughing, 2=only
finishing)
Q218=30 ; - pocket length (PKLEN)
Q219=8 ; - pocket width (PKWIDT)
Q220=3 ; - pocket corner radius (PKCRAD)
Q368=0 ; - side oversize (HOVERS)
Q224=0 ; - pocket rotation (PKROT)
Q367=0 ; - always fix
Q207=2500 ; - plane feedrate (F)
Q351=0 ; - climb or conventional (CUTMET)
Q201=-20 ; - pocket depth (-(ABS(ZL)))
Q202=2 ; - z step (VSTEP)
Q369=0 ; - bottom oversize (VOVERS)
Q206=2500 ; - entry feedrate (F)
Q338=2 ; - z-step for finishing (VSTEP)
Q200=2 ; - safety distance (CH)
Q203=+0; - surface coordinates (ZS-CH)
Q204=20 ; - 2 retract plane (ZR)
Q370=0 ; TO BE IMPLEMENTED: - toolpath overlapping
Q366=0 ; - type of entry 0=vertical, 1=helical, 2=ramping (ENTMET)
Q385=2500 ; - feedrate for finishing (F)
12 L X+78,531 Y-10,215 F2500 M99

$CIRCULAR_POCK
SET_GOTO_ZR

128
Post Processor
VCI=252
VG=1 SETQ TYPECYC SUBPOCKCIR VJ=2
@1N #2 @2(0) #5 @5X #6 @6Y @35(0) @16F SET_M VH=0 " ; - center of pock";

$SUBPOCKCIR
@70(0) " ; TO BE IMPLEMENTED: - mode (0=finishing and roughing, 1=only roughing, 2=only
finishing)";
@74(PKDIAM) " ; - circle diameter";
@79(HOVERS) " ; - side oversize";
@69(F) " ; - plane feedrate";
(CUTMET==1)?@77(+1) : @77(-1)
" ; - climb or conventional";
@86(-(ABS(ZL))) " ; - pocket depth";
@87(VSTEP) " ; - z step";
@80(VOVERS) " ; - bottom oversize";
@90(F) " ; - entry feedrate";
@76(VSTEP) " ; - z-step for finishing";
@85(CH) " ; - safety distance";
@88(ZS-CH) "; - surface coordinates";
@89(ZR) " ; - 2 retract plane";
@81(0) " ; TO BE IMPLEMENTED: - toolpath overlapping";
@78(ENTMET) " ; - type of entry 0=vertical, 1=helical, 2=ramping";
@83(F) " ; - feedrate for finishing";

output:
11 CYCL DEF 252 CIRCULAR POCK ~
Q215=0 ; TO BE IMPLEMENTED: - mode (0=finishing and roughing, 1=only roughing, 2=only
finishing)
Q223=45 ; - circle diameter (PKDIAM)
Q368=0 ; - side oversize (HOVERS)
Q207=2500 ; - plane feedrate (F)
Q351=+1 ; - climb or conventional (CUTMET)
Q201=-7 ; - pocket depth (-(ABS(ZL)))
Q202=2 ; - z step (VSTEP)
Q369=0 ; - bottom oversize (VOVERS)
Q206=2500 ; - entry feedrate (F)
Q338=2 ; - z-step for finishing (VSTEP)
Q200=2 ; - safety distance (CH)
Q203=+0; - surface coordinates (ZS-CH)
Q204=20 ; - 2 retract plane (ZR)
Q370=0 ; TO BE IMPLEMENTED: - toolpath overlapping
Q366=0 ; - type of entry 0=vertical, 1=helical, 2=ramping (ENTMET)
Q385=2500 ; - feedrate for finishing (F)
12 L X+408,976 Y-21,369 F2500 M99

$SLOT_POCK
SET_GOTO_ZR
VCI=253
VG=1 SETQ TYPECYC SUBPOCKSLOT VJ=2
@1N #2 @2(0) #5 @5X #6 @6Y @35(0) @16F SET_M VH=0 " ; - center of pock";

$SUBPOCKSLOT
@70(0) " ; TO BE IMPLEMENTED: - mode (0=finishing and roughing, 1=only roughing, 2=only
finishing)";
@71(PKLEN) " ; - pocket length";
@72(PKWIDT) " ; - pocket width";
@79(HOVERS) " ; - side oversize";
@82(PKROT) " ; - pocket rotation ";
" Q367=2 ; - always fix";

129
Post Processor
@69(F) " ; - plane feedrate";
(CUTMET==1)?@77(+1) : @77(-1)
" ; - climb or conventional";
@86(-(ABS(ZL))) " ; - pocket depth";
@87(VSTEP) " ; - z step";
@80(VOVERS) " ; - bottom oversize";
@90(F) " ; - entry feedrate";
@76(VSTEP) " ; - z-step for finishing";
@85(CH) " ; - safety distance";
@88(ZS-CH) "; - surface coordinates";
@89(ZR) " ; - 2 retract plane";
@78(ENTMET) " ; - type of entry 0=vertical, 1=helical, 2=ramping";
@83(F) " ; - feedrate for finishing";

output:
11 CYCL DEF 253 SLOT POCK ~
Q215=0 ; TO BE IMPLEMENTED: - mode (0=finishing and roughing, 1=only roughing, 2=only
finishing)
Q218=38,973 ; - pocket length (PKLEN)
Q219=10 ; - pocket width (PKWIDT)
Q368=0 ; - side oversize (HOVERS)
Q374=47,699 ; - pocket rotation (PKROT)
Q367=2 ; - always fix
Q207=2500 ; - plane feedrate (F)
Q351=+1 ; - climb or conventional (CUTMET)
Q201=-20 ; - pocket depth (-(ABS(ZL)))
Q202=2 ; - z step (VSTEP)
Q369=0 ; - bottom oversize (VOVERS)
Q206=2500 ; - entry feedrate (F)
Q338=2 ; - z-step for finishing (VSTEP)
Q200=2 ; - safety distance (CH)
Q203=+0; - surface coordinates (ZS-CH)
Q204=20 ; - 2 retract plane (ZR)
Q366=0 ; - type of entry 0=vertical, 1=helical, 2=ramping (ENTMET)
Q385=2500 ; - feedrate for finishing (F)
12 L X+143,960 Y+0,000 F2500 M99

Example of implementation for HITACHI SEIKI cnc (ISO)

$RECTANGULAR_POCK
(PKROT!=0)?"G68" #5 @5X #6 @6Y #24 @24PKROT ( center of pock )
"G328 " #5 @5PKRFAX #6 @6PKRFAY #7 @7(-ZL) #25 @25ZR #21 @21PKLEN #22 @22PKWIDT
#23 @23HSTEP #27 @27VSTEP " C0." #38 @38PKCRAD #30 @30CORRD #60 @60F #11 @11S
#12 @12FENTRY #16 @16F

output for no rotation:


X77.75 Y12.215 ( center of pock )
Z2.
G328 X62.25 Y6.715 Z-20. R20. I31. J11. K2. Q2. C0. A3 D5 U3000. V1250. F2500

output for rotated pock:


X17. Y30.1 ( center of pock )
Z2.
G68 X17. Y30.1 R90. ( R is rotation angle )
G328 X8. Y22.1 Z-6.4 R20. I18. J16. K2. Q2. C0. A3 D5 U3000. V1250. F2500

$CIRCULAR_POCK
"G327 " #5 @5PKRFAX #6 @6PKRFAY #7 @7(-ZL) #25 @25ZR #21 @21(PKDIAM/2) " J0." #23
@23HSTEP #27 @27VSTEP #30 @30CORRD #60 @60F #11 @11S #12 @12FENTRY #16 @16F

130
Post Processor

output:
X445.45 Y0.
Z2.
G327 X445.45 Y0. Z-7.5 R20. I5. J0. K2. Q2. D5 U3000. V1250. F2500

$SLOT_POCK
"G329 " #5 @5PKRFAX #6 @6PKRFAY #7 @7(-ZL) #25 @25ZR #21 @21PKRFBX-PKRFAX #22
@22PKRFBY-PKRFAY " C0." #23 @23HSTEP #27 @27VSTEP #38 @38PKCRAD #30
@30CORRD #60 @60F #11 @11S #12 @12FENTRY #16 @16F

output for no rotation:


X177.5 Y0.
Z2.
G329 X177.5 Y-22. Z-10.5 R20. I0. J44. C0. K2. Q2. A5 D5 U3000. V1250. F2500

output for rotated pock:


X177.5 Y0.
Z2.
G68 X177.5 Y0. R90.
G329 X177.5 Y-22. Z-10.5 R20. I0. J44. C0. K2. Q2. A5 D5 U3000. V1250. F2500

-Related topics-
#Improvement in function MACOUT.

Extend the functionality of ZS and ZR to the milling operation.


Now the variables ZS and ZR are calculated also for the milling operation.
ZS Z coordinate start of fixed cycle.
ZR Z coordinate return from fixed cycle.

131
Post Processor

132
Post Processor

Restored the Drill Cycle management without the Face management.


In version 15 there was an opportunity to generate a NC file with a Drill Cycle without generate a face.
This functionality has been restored, so now in the NC file there is the rotation command but the Drill
Cycles aren’t split in a G01 movement.
Example:
G17 G90
G97
M510 A90. B11.
M03 S2546
G0 Z-0.847
G82 X-11.223 Y3.466 Z-0.749 R-0.749 F23.24
G80
M511
M30

The X Y Z coordinates are referring to the ABS origin.

133
Post Processor
To activate this NC output, customer must activate the option “Output from ABS coordinates” in the
machine configuration and disable the switch of “Relative origin number” in the cam-setup.

-Related topics-
#Fixed cycles variables
#Bug fixing for the drill cycle variables XL ZL.
#Bug-fixing in Drill Cycle management in ABS reference.

Improvement in variable SPLITD.


Add a new option value for the variables SPLITD.
#New SPLITD variable (for Drilling Obstacle Management)

134
Post Processor

Vero Post Processor find all consecutive drill cycle with the same parameters and create a group. In
NC files, we can apply the same drill cycle on the point groups (ex. G81 ….. for a Fanuc).
The SPLITD parameter manage this functionality

SPLITD=0 useful to generate a drill group, for the CNC that manage in modal system the drill
operation (ex. CNC Selca Heidenhain Fidia can change the drill cycle parameters without split the
point list).
SPLITD=1 always split the drill group in a single drill cycle, useful to manage the old Heidenhain.
SPLITD=2 (NEW option) is similar to 0 but split the point group when there is a change in the Z level
to climb over an obstacle or to change the Z start working. This is useful for the CNC (ex. Fanuc) that
in this case must re-define a new drill cycle in the NC file.
SPLITD=0 SPLITD=1 SPLITD=2
$SPECIAL $SPECIAL $SPECIAL
$STARTTOOL $STARTTOOL $STARTTOOL
$SPECIAL $SPECIAL $SPECIAL
$OPERATION_BEGIN $OPERATION_BEGIN $OPERATION_BEGIN
$SPECIAL $SPECIAL $SPECIAL
$GOTO_XY_RAP $GOTO_XY_RAP $GOTO_XY_RAP
$GOTO_Z_RAP $GOTO_Z_RAP $GOTO_Z_RAP
$SPECIAL $SPECIAL $SPECIAL

$GOTO_START_CYC $GOTO_START_CYC $GOTO_START_CYC


$CYC_DRILL $CYC_DRILL $CYC_DRILL
$SPECIAL $SPECIAL $SPECIAL
$CYC_END

$CYC_XY $GOTO_START_CYC $CYC_XY


$CYC_DRILL
$SPECIAL
$CYC_END

$CYC_XY $GOTO_START_CYC $CYC_XY


$CYC_DRILL $CYC_END
$SPECIAL

135
Post Processor
$CYC_END
------ obstacole ------ ------ obstacole ------ ------ obstacole ------
$CYC_XY_RA $GOTO_START_CYC $GOTO_XY_RAP
$CYC_DRILL $GOTO_Z_RAP
$SPECIAL $GOTO_START_CYC
$CYC_END $CYC_DRILL
$SPECIAL
$CYC_XY $GOTO_START_CYC $CYC_XY
$CYC_DRILL
$SPECIAL
$CYC_END

$CYC_XY_RA $GOTO_START_CYC $CYC_XY


$CYC_DRILL $CYC_END
$SPECIAL
$CYC_END
------ change z start ------ ------ change z start ------ ------ change z start ------
$GOTO_START_CYC $GOTO_XY_RAP
$CYC_XY_RA $CYC_DRILL $GOTO_Z_RAP
$SPECIAL $GOTO_START_CYC
$CYC_END $CYC_DRILL
$SPECIAL
$CYC_XY $GOTO_START_CYC $CYC_XY
$CYC_DRILL
$SPECIAL
$CYC_END

$CYC_XY_RA $GOTO_START_CYC $CYC_XY


$CYC_END $CYC_DRILL $CYC_END
$SPECIAL
$CYC_END

$OPERATION_END $OPERATION_END $OPERATION_END


$SPECIAL $SPECIAL $SPECIAL
$ENDTOOL $ENDTOOL $ENDTOOL
$ENDPP $ENDPP $ENDPP
$SPECIAL $SPECIAL $SPECIAL
$CLOSEDPP $CLOSEDPP $CLOSEDPP

New warning message box.


This warning message box show if there are critical conditions in the post processed operations.
For example toolpath computation for one or more pocks has failed.

136
Post Processor

n.b.
This option is always active.

137
Post Processor

APPMET and RETMET improvement.


These variables are improvement on the following operation: Mill Thread, Mill Thread HS, Helicoidal
mill, Chamfering and Fillet. Now all operation that manage the compensation call these variables in
the section $OPERATION_BEGIN.
Added a new value 9 for approach and retract, because the operation Thread Mill HS has this
method.

Approach Method:
the new variable is APPMET (APProach METhod) and can hold one of this values:

0 : line and plunge setting (HS mill)


1 : direct setting (Standard mill)
2 : perpendicular setting (Standard mill) OR perpendicular and plunge setting (HS mill)
3 : circular setting (Standard mill) OR circular and plunge setting (HS mill)
4 : helical setting (Standard mill) OR line and helical setting (HS mill)
5 : parallel and plunge setting (HS mill)
6 : parallel and helical setting (HS mill)
7 : perpendicular and helical setting (HS mill)
8 : circular and helical setting (HS mill)
9 : automatic (only for HS Mill Thread)

Retract Method:
the new variable is RETMET (RETract METhod) and can hold one of this values:

0 : line setting (HS mill)


1 : direct setting (Standard mill)
2 : perpendicular setting (Standard mill) OR perpendicular setting (HS mill)
3 : circular setting (Standard mill) OR circular setting (HS mill)
4 : parallel setting (HS mill)
9 : automatic (only for HS Mill Thread)

-Related topics-
#New variables to define the approach\retract type – APPMET \ RETMET.

138
Post Processor

NEW VARIABLES STARTING FROM VERSION 18.0.09.10

Improvement in the main sub-program management.


This improvement start in Visi 18.0 and was complete in this update.
For some machine type (Makino or Yasda), is needed to generate a main program and one sub-
program for every tool or operation.
This management is indispensable when CNC has a small internal memory and use an external hard-
disk to store the programs. In this case the CNC call the main program inside its memory and then
call the sub-program inside the external disk (these names must follow specific rules).
With the previous macro-language version, we can create a temporary file with main information but
we can’t rename item and we had a limitation in the sub-program names (the incremental number is
add at the end of the input file name).
In the main program is useful print the following information:
- cutting condition (only if create one sub-program for operation)
- tool call
- face setting
- call of sub-program
Normally the sub-programs only can use numbers in them name and they must have a fixed number
of characters in them name. Frequently customer want manage automatically the increase of sub-
programs number.

To manage these new functionalities, there is a new menu in the Vero Post Processor interface.

The default set is “Old management” that


preserves the NC output file, manage by the old
PP configuration file. With “Old management”
the input file name isn’t change.

With the other 2 options, the input NC filename


is management by Vero Post Processor that adds the numeric part at the end of the name. The
standard input NC name is automatically truncated following the setting “Filename total length”. If
“Filename total length” is equal to 0 or minor than “Filename numeric length”, all WKF file name
characters are used to created the NC file name.
Old management – NC file name is automatically set equal the WKF file name.

Alphanumeric + Numeric - NC file name is automatically set equal the WKF file name and Vero Post
Processor add at the end of this name, the number memorize in the parameter “First subprogram

139
Post Processor
number”. Customer can change this name, but must insert at the end the numbers set in “Filename
numeric length”.

Numeric – NC file name is automatically set equal the number memorize in the parameter “First
subprogram number”. In this modality the first letter (default “O”) is always used as initial letter of the
main and subprogram file names. Customer must insert only a numbers in the NC file name.

“Numeric” option: Vero Post Processor reads numeric value from parameter “First subprogram
number”. If “Remember last subprogram number” parameter is activated, the “First subprogram
number” is automatically updated at every Post Processor execution and it’s stored the last created
subprogram.
To restart or modify the “First subprogram number” customer can use the Vero Post Processor” menu
or modify the number at the end of the default suggested output file name.
Ex. PP suggests “Piece-01225” but customer can edit in “Piece-0001” or “Piece-1” to restart
subprograms number.

With the “Alphanumeric + numeric” option, customer can choose the output NC filename without
restrictions. The ”Numeric” option specifies that the last chars of filename must be composed only by
numbers; Vero Post Processor will reset subprogram number in case of a invalid filename.
N.b.
The numbers at the end of the NC file-name are obligatory (ex. To set the number 25 if “Filename
numeric length=4” customer must write ………….0025.nc).
If the “File total length” is smaller than “Filename numeric length”, the NC FILE length is free, Vero
Post use all WKF file name

Different cases management by this improvement.


Old management Numeric Alphanumeric + Numeric
Input file name O1225 Input file name O1225 Input file name
PIECE_A3C-O1225.NC

O1225 Temporary file O1225.nc main PIECE_A3C-1225.NC main


Save in NOMP Save in NOMP Save in NOMP

O12251 sub-program O1226 sub-program PIECE_A3C-1226 sub-p


call by DIVFIL call by DIVFIL call by DIVFIL
O12252 …….. O1227 …….. PIECE_A3C-1227
O12253 O1228 PIECE_A3C-1228

140
Post Processor
O12254 O1229 PIECE_A3C-1229
O12355 O1230 PIECE_A3C-1230
Save in NOMP Save in SPNAME Save in SPNAME

O1225.nc main PIECE_A3C-1225.NC main


Normally the “Use first file-name for Save in NOMP (You can’t use this Save in NOMP (You can’t use this
main” must be disabling. name only if the main has a different name only if the main has a different
extension to sub-program) extension to sub-program)
O1225 sub-program PIECE_A3C-1225 sub-p
call by DIVFIL call by DIVFIL
O1226 …….. PIECE_A3C-1226
O1227 PIECE_A3C-1227
O1228 PIECE_A3C-1228
O1229 PIECE_A3C-1229
Save in SPNAME Save in SPNAME

141
Post Processor
N.b.
The input file name is always assign to the main program. If customer insert at the end of the input file
name a valid number, this number is used to start sub-programs, in other case Vero Post use the
proposed number.
With “Main management=numeric” the first character “O” is automatically add.

Tips & Tricks


If you set “Main management=Numeric” and disable “Use first file-name for main” you can obtain that
Visi automatically propose NC file-name numeric (ex. O0025). In the macro-language you must use
NOMP to assign the internal program number ex.
%
O0025 -------
……
If you activated the option “Remember last sub-program number” you obtain an automatically
increase of the proposed number.
#Commands for file management

- Useful commands in macro-language -


To create main and sub-program Vero Post Processor use the same macro-language commands
previous used:
“DIVFIL” create a new program and after that all NC block are printed in the new sub-
program. In macro-language this command call the section $END_DIV_FILE and
$START_DIV_FILE.
“WRT_FORM” write instruction or a section result in the temporary file.
Use: WRT_FORM(.write in temporary file number…, print command or section)
Example use:
WRT_FORM(1, section ); write in the file temporary_1 the result of section specified.
Ex. WRT_FORM(1, STARTTOOL);
WRT_FORM(1, " remark" ); write a fixed remark ex. WRT_FORM(1, " G54" );
WRT_FORM(1, #18 @18(T) ); write the value of variable “T” with the channel number 18.
NOMP store the input NC file name, normally is used to assign a name to the main program.
SPNAME (new) is use to assign the name to the sub-programs files. Its name is automatically
increased.
WRT_FORM(1, "M198P" SPNAME); generate a sub-program call in main NC file
"O" SPNAME; write the sub-program number at the start of sub-program file.
RENAME(1,………………….) (new) to rename the temporary file. Normally the temporary file is the
main NC file. This command is usually use in the section “$CLOSEDPP”.
Example :
RENAME(1,”O”,NOMP,".nc")
Rename the temporary file number 1 in “O NCfilename.nc”
In the previous expression you can use all variables normally manage in the macro-language
(ex. WKF=name of wkf file).
READ(..number..) read and append a temporary file.
Example: READ(1)

-Related topics-
#Vero Post Processor rules to assign a name to NC file.

142
Post Processor

Improve to store the NC output filename .


Normally Vero Post Processor independently manages the NC output filename and NC destination
path.
Vero Post Processor always proposes as NC filename the Work-filename.
The default path is managed by the Vero Post Processor menu configuration “Machining \ Edit Post
Processor default”.
In this menu is set a “Fixed directory” to create the NC files.

Customer can also choose between 4 different options for the “Output path”:
- CFG directory - in the Post Processor configuration file, there is a parameter to set a default
directory. If this parameter is empty propose the fixed directory.
- WORKF directory - propose the same Visi work-file directory, if the customer hasn’t
save the work-file, propose the fixed directory.
- Last directory - the first execution propose the fixed directory, after the first execution
propose the last selected directory.
- Fixed directory - propose the fixed directory.
A correlated useful parameter is “Suppress filename request” that skip the NC output filename
request. The automatically NC filename rules don’t change, but customer can’t change the NC
filename.

Now in the 18.0.09.10 update Visi-Machining can set a priority name for a path and for a NC output
filename.
In the project properties of CAM Navigator tree, you can set “NC path”.
If this parameter is empty, the NC output path is choose by Vero Post Processor.
If customer choose a path (customer can use also the net address ex. //serverHD/fanuc) that has
priority of the Vero Post Processor set.

143
Post Processor

Now if customer activates the Visi-Machining configuration parameter “Store NC filename”, the NC
output filename is store in the operation information.
When the Vero Post Processor execute the NC file of operation with this information stored, Vero
Post Processor doesn’t use its set but propose the NC filename stored in the operation.

The path and NC filename are always display in the tool-tip operation and in the operation remark, if
customer activated the Visi-Machining parameter “Show NC name in operation node”.

Correlated useful parameter is “Automatically overwrite existing NC output files”, that skip the edit NC
filename and automatically create and re-write the NC file, without need a customer pick.

-Related topics-

Improve in the function SPLITD.


The section ask by the option SPLITD is unify to the other option SPLITD=0-2.
Add the call of the section $GOTO_XY_RAP and $GOTO_Z_RAP for every new Start cycle.
This is useful to correctly manage the rapid movements when there is an obstacle jump or a Z start
change.
…….
$GOTO_XY_RAP
$GOTO_Z_RAP
$SPECIAL
$GOTO_START_CYC
……..

∏ obstacole jump
┌ the Z start increase up
┐ the Z start increase down
DRILL operations
SPLITD=0 SPLITD=1 SPLITD=2
$SPECIAL $SPECIAL $SPECIAL

$STARTFACE $STARTFACE $STARTFACE

144
Post Processor

$SPECIAL $SPECIAL $SPECIAL

$STARTTOOL $STARTTOOL $STARTTOOL

$SPECIAL $SPECIAL $SPECIAL

$OPERATION_BEGIN $OPERATION_BEGIN $OPERATION_BEGIN

$SPECIAL $SPECIAL $SPECIAL

$GOTO_XY_RAP $GOTO_XY_RAP $GOTO_XY_RAP

$GOTO_Z_RAP $GOTO_Z_RAP $GOTO_Z_RAP

$SPECIAL $SPECIAL $SPECIAL

$GOTO_START_CYC $GOTO_START_CYC $GOTO_START_CYC

$CYC_DRILL $CYC_DRILL $CYC_DRILL

$SPECIAL $SPECIAL $SPECIAL

$CYC_XY $CYC_END $CYC_XY

$CYC_XY_RA ...... $CYC_XY

$CYC_END
-------------------┌ -------------------┌ -------------------┌
$CYC_XY_RA $GOTO_XY_RAP $GOTO_XY_RAP

$CYC_XY $GOTO_Z_RAP $GOTO_Z_RAP

$CYC_XY $SPECIAL $SPECIAL

$GOTO_START_CYC $GOTO_START_CYC

$CYC_DRILL $CYC_DRILL

$SPECIAL $SPECIAL

$CYC_END $CYC_XY

...... $CYC_XY

...... $CYC_END

------------------- ┐ ------------------- ┐ ------------------- ┐


$CYC_XY_RA $GOTO_XY_RAP $GOTO_XY_RAP

$CYC_XY $GOTO_Z_RAP $GOTO_Z_RAP

$CYC_XY_RA $SPECIAL $SPECIAL

$GOTO_START_CYC $GOTO_START_CYC

$CYC_DRILL $CYC_DRILL

$SPECIAL $SPECIAL

145
Post Processor

$CYC_END $CYC_XY

...... $CYC_XY

...... $CYC_END

------------------- ∏ ------------------- ∏ ------------------- ∏


$CYC_XY_RA $GOTO_XY_RAP $GOTO_XY_RAP

$CYC_XY $GOTO_Z_RAP $GOTO_Z_RAP

$CYC_XY_RA $SPECIAL $SPECIAL

$CYC_END $GOTO_START_CYC $GOTO_START_CYC

$CYC_DRILL $CYC_DRILL

$SPECIAL $SPECIAL

$CYC_END $CYC_XY

...... $CYC_XY

...... $CYC_END

$OPERATION_END $OPERATION_END $OPERATION_END

$SPECIAL $SPECIAL $SPECIAL

$ENDTOOL $ENDTOOL $ENDTOOL

$ENDFACE $ENDFACE $ENDFACE

$ENDPP $ENDPP $ENDPP

$SPECIAL $SPECIAL $SPECIAL

$CLOSEDPP $CLOSEDPP $CLOSEDPP

-Related topics-
#Improve in the function SPLITD=1.
#Improvement in variable SPLITD.

Improve in the function MDRILL.


Now the option MDRILL checks the SPLITD value and calls the sections in the same sequence used
for the drill operation.

146
Post Processor

∏ obstacole jump
┌ the Z start increase up
┐ the Z start increase down

MDRILL operations
SPLITD=0 SPLITD=1 SPLITD=2
$SPECIAL $SPECIAL $SPECIAL

$STARTFACE $STARTFACE $STARTFACE

$SPECIAL $SPECIAL $SPECIAL

$STARTTOOL $STARTTOOL
$STARTTOOL
$SPECIAL $SPECIAL
$SPECIAL
$OPERATION_BEGIN $OPERATION_BEGIN

$SPECIAL $OPERATION_BEGIN $SPECIAL

$GOTO_XY_RAP $SPECIAL $GOTO_XY_RAP

$GOTO_Z_RAP $GOTO_XY_RAP $GOTO_Z_RAP

$SPECIAL $GOTO_Z_RAP $SPECIAL

$CYC_MDRILL_PIC $SPECIAL $CYC_MDRILL_PIC

$CYC_DRILL $CYC_MDRILL_PIC $CYC_DRILL

147
Post Processor
$SPECIAL $CYC_DRILL $SPECIAL

$CYC_XY $SPECIAL $CYC_XY

$CYC_XY_RA $CYC_END $CYC_XY

...... $CYC_END
-------------------┌ -------------------┌ -------------------┌
$CYC_XY_RA $GOTO_XY_RAP $GOTO_XY_RAP

$CYC_XY $GOTO_Z_RAP $GOTO_Z_RAP

$CYC_XY $SPECIAL $SPECIAL

$CYC_MDRILL_PIC $CYC_MDRILL_PIC

$CYC_DRILL $CYC_DRILL

$SPECIAL $SPECIAL

$CYC_END $CYC_XY

...... $CYC_XY

$CYC_END

------------------- ┐ ------------------- ┐ ------------------- ┐


$CYC_XY_RA $GOTO_XY_RAP $GOTO_XY_RAP

$CYC_XY $GOTO_Z_RAP $GOTO_Z_RAP

$CYC_XY_RA $SPECIAL $SPECIAL

$CYC_MDRILL_PIC $CYC_MDRILL_PIC

$CYC_DRILL $CYC_DRILL

$SPECIAL $SPECIAL

$CYC_END $CYC_XY

………. $CYC_XY

$CYC_END

------------------- ∏ ------------------- ∏ ------------------- ∏


$CYC_XY_RA $GOTO_XY_RAP $GOTO_XY_RAP

$CYC_XY $GOTO_Z_RAP $GOTO_Z_RAP

$CYC_XY_RA $SPECIAL $SPECIAL

$CYC_END $CYC_MDRILL_PIC $CYC_MDRILL_PIC

$CYC_DRILL $CYC_DRILL

$SPECIAL $SPECIAL

$CYC_END $CYC_XY

148
Post Processor

…………. $CYC_XY

$CYC_END

$OPERATION_END $OPERATION_END $OPERATION_END

$SPECIAL $SPECIAL $SPECIAL

$ENDTOOL $ENDTOOL $ENDTOOL

$ENDFACE $ENDFACE $ENDFACE

$ENDPP $ENDPP $ENDPP

$SPECIAL $SPECIAL $SPECIAL

$CLOSEDPP $CLOSEDPP $CLOSEDPP

Improvement the SPLITD=2 in the function STYPC.


The function SPLITD=2 when there are an obstacle jump or a change of Z start divide the hole
sequence and now the Vero Post Processor correctly generate the need hole point sub-programs.
-Related topics-
#Improvement in function SPLID=2.

149
Post Processor

Improve a new variable “CYCRAP“ to print\don’t print the GOTO_xx_RAP in


the Drill & MillDrill operations.
CYCRAP cycle call section GOTO_..._RAP
0 don’t call the section …RAP, same to V15.0
1 call the section ….RAP
The default value is 1.
From the VISI 16.0.04.09 when SPLITD=0 Vero Post Processor ask before every drill cycle the
section $GOTO_XY_RAP and $GOTO_Z_RAP.
From version 17.0.09.10 this system is apply also in all other SPLITD value 1 and 2. With this new
variables “CYCRAP=0” the section $GOTO_XY_RAP and $GOTO_Z_RAP aren’t call same to the Visi
15 version.
This variable could be useful to easy and rapid update a old VISI 15 CFG file on the VISI 18 without
modification in the macro-language.
We obtain the same result with the MDRILL=1.

-Related topics-
#New section sequence between drill cycle.
#Improvement in function SPLID=2.

Improvement a new parameter, to manage a maximum value, for a split arc


tolerance.
This parameter set a maximum limit for the “split arc tolerance” to avoid problem caused by accidental
wrong input of “split arc tolerance” value.
Now when Vero Post Processor call a new CFG verify some main parameters value.

This variable is write on the following VP sections.

150
Post Processor
[VEROPOST_mm]
# Max_Feedrate = 10000 ;
# Min_Feedrate = 0 ;
# Small_Arc_Tolerance = 0.01 ;
# Split_Arc_Tolerance = 0.001 ;
[VEROPOST_inch]
# Max_Feedrate = 393.7007874 ;
# Min_Feedrate = 0 ;
# Small_Arc_Tolerance = 0.0039370079 ;
# Split_Arc_Tolerance = 0.0000393701;

List of checked variables:


Messages Variable Value range
Mm inch
Ranges for spindle speed(<250) VP_SpindleSpeed_Range <250
Max number of lines (blocks) in the VP_MaxLines_InFile =0 or >100
file (0/>100)
Max number of character in the file VP_MaxChar_InFile =0 or >100
(0/>100)
Min spindle speed (>1) VP_MinSpindleSpeed >1
Max spindle speed (>1) VP_MaxSpindleSpeed >1
Max feedrate (>1) VP_MaxFeedRate >1
Block number increment (0/>0) VP_BlockNumber_Increment =0 or >0
Small-arc\helix min. length to split VP_Small_Arc_Tolerance >0.05 >0.002
Split arc tolerance VP_Split_Tollerance >0.01 >0.0004

-Related topics-
#Arc Helix management Vp_Arc_Small_Tolerance, MAXRD, SPLITC.
#New variables MINALN in macro-language.

Bug-fixing in the variable NEXTT.


NEXTT print the number of the next tool, normally it use in the section $STARTTOOL. In Visi 18.0
don’t correctly run.

151
Post Processor

Link to NC Speed stand alone.


NC Speed is an application available as an optional program available from “Vero Post Processor”, it
offers the ability to optimize the output feed-rate for the machine to reduce the overall time on the
machine. This external application will constantly compare the amount of material removed vs. the
actual mechanical forces applied to the tool and therefore it will capable of applying the most
appropriate true feed at any point on the tool-path. The result of this sophisticated volume comparison
provides a better tool-path while using the machine safely at the upper end of its performance limits.
The cutting tool life will also be extended.

Now we can optimize all 2D and 3D cam operations with the same CAM Setup.
The drill operation can be elaborate together with the other able operations but isn’t optimized.
The 5axis operations aren’t manage.
Now we can only elaborate one NC file with all operations. Now isn’t improvement the optimised on
the NC file split by tool or operation.

This optional functionality is activated by the switch “Ask if available” or “Always if available”, in the
Vero Post Processor menu.

152
Post Processor

“Ask if available” – If the operations are optimized, Vero Post Processor ask if customer want
executed the optimization elaboration.
“Always if available” – If the operations are optimized, Vero Post Processor always run the
optimization elaboration.

The other parameters, in the “NC Optimiser” tab, are useful to change the elaboration procedure.
The parameters “NCSpeed program path” and “NCSpeed configuration path” are normally empty.
These sets are read by the windows register, if customer needs to use a specific NC Speed can use
this parameters.

Customers can run a multiple optimizations at the same time. Each elaboration is stand alone.

On the NC file directory the optimization generate some auxiliary files and sub-directory.
The original NC file isn’t change, the optimised NC file is created in a sub-directory “..\opt”. In the sub-
directory “..\opt” there are the optimised NC file (with the same name of the original NC file) and one
optimised NC file for each operation.
In the original NC file directory there are some files useful to revise the optimization. If customer
executes a double-pick on the file “NC file name.prjx” can open the NC Speed interface and modify
the need parameters and revise the optimization process.
On the sub-directory “..\sim” there are the intermediate stock files “*.sim” for each operations. These
geometrical files are useful to reduce the time revise.
If customer executes a double-pick on the file “NC file name.XML” can display the report of the
optimized operation.

Example with an original NC file with 8 operations.


NC file directory ..\OPT ..\SIM

153
Post Processor

During the first optimization, Vero Post Processor ask a need setting that are memorize in the post
processor file configuration “*.CFG”.

The “NC Machine” and “Default value configuration\#Project wizard” are 2 setting need to NC Speed.
This files are generate by the NC Speed program and they are need to define:
- “NC Machine” mechanical tool machine performance
- “Default value configuration\#Project wizard” NC Speed general optimization parameters.
“NC format” is the type of NC language.

If customer need to change this parameters, must be open the Vero Post Processor interface menu
and run the menu “Setup \ Edit NC Speed settings”.

154
Post Processor

N.b.
NC Speed to elaborate a Helix movements in the ISO language, need to have the following
coordinates sequence:
G2/3 X…… Y…… Z…… I…… J……
In the CFG macro language sections we must set:

$SPLIT_HELICAL
………
@1N #2 @2(TINT) #5 @5X #6 @6Y @7(VHI) #21 @21(XC-XOLD) #22 @22(YC-YOLD) FEED
SPEED ;
……
$END_HELICAL
………
@1N #2 @2(TINT) #5 @5X #6 @6Y @7(VHI) #21 @21(XC-XOLD) #22 @22(YC-YOLD) FEED
SPEED ;
……

155
Post Processor

NEW VARIABLES STARTING FROM VERSION 18.0.11.10

Bug-fixing for the variables NBS.


In the previous version not in all condition and sections, these variables have a correct value.
NBS wrong increased its value each $CALL_SUB_MILL.

NBS numbers of sub-program.

-Related topics-
#Sub-program and label management

Improvement the variable MACTOL for the new Aggregate operation.


All parameters normally read by the Vero Post Processor aren’t read from the new aggregate
operation. This operation starts into Visi 18.0.
The main parameter that isn’t read is MACTOL.
MACTOL = machine tolerance
This parameter writes the value of the 3D operation machine tolerance. In operation parameters the
name of this variable is “V3AX_StepMachTolerance”.
This information is useful for a machine that manages the 3D tool-path as curves.

Bug fixing for the drill cycle variables XL ZL.


When generate a Drill Cycle without generate a face, the XL and ZL print the coordinates of the start
drill point and not the work end.

-Related topics-
#Restored the Drill Cycle management without the Face management.
#Fixed cycles variables

NEW VARIABLES STARTING FROM VERSION 18.0.02.11

New variables MINALN in macro-language.


MINALN = minimum arc length in tool-path.
This new parameter overwrites the following VP interface parameter “Small arc\helix min. length to
split”, in “General configuration” parameter (internal variable=VP_Small_Arc_ Tolerance).

VP doesn’t allow customer value >”0.05mm\0.002inch” for this parameter.

156
Post Processor
A smaller value can create an invalid arc, print in the NC file that could generate a wrong machining.
N.b.
This parameter has priority on the customer input and the VP minimal allowed value.

This parameter is useful to solve a special customer request.


Normally VP transforms in segments, all arcs with a shorter than a “General configuration’ parameter
“Small arc\helix min. length to split”.
If you insert, in the macro-language section “$STARTPP”, this variable MINALN, you can force a
value smaller <0.05 mm \ 0.002 inch for “Small arc\helix min. length to split”.

-Related topics-
#Arc Helix management Vp_Arc_Small_Tolerance, MAXRD, SPLITC.
#Improvement a new parameter, to manage a maximum value, for a split arc tolerance.

NEW VARIABLES STARTING FROM VERSION 19.0

Improvement in function SPLID=2.


The first drill is unite with the following drills.
The drill before and the drill after a obstacle jump are unify in one drill cycle.
The other rules are same the previous version.
The drill before a Z change up is split in a single drill operation.
The drill after a Z change down is unite the following drill operations.
In the following example the drill cycle sequence is :
1-2-3\4-5\6-7\8\9-10-11-12\13-14-15\16-17\18-19\20

-Related topics-
#Drill group management SPLITD and DSPPRI
#Improve a new variable “CYCRAP“ to print\don’t print the GOTO_xx_RAP in the Drill & MillDrill
operations.

157
Post Processor
#Improvement the SPLITD=2 in the function STYPC.
#Improvement in variable SPLITD.
#New variable CYCCLE.

158
Post Processor

New variable CYCCLE.


CYCCLE - CYCle CLEarance
0 = as default and works like previous release
1 = the last drill point is unify with previous drill points. In this case VP doesn’t call the $CYC_XY_RA
with SPLITD=0.
In previous case the drill cycle sequence is :
1-2-3\4-5\6-7\8\9-10-11-12\13-14-15\16-17\18-19-20

Bug-fixing on T variable printed in channel #18 @18.


In previous version when a tool as a tool crib position with a number bigger that the channel integer,
VP print only the last digit.
Ex. Tool crib number 108, the channel 18 set as integer 2, on NC file VP print T8.
Now VP create a warning in the NC file.

New parameter to change the default NC filename.


Starting from VISI 19, VP allows defining the NC file name in many different methods.

It is possible to define how VP generates the NC file name in the “Main\sub-programs” window from
the “General configuration” parameters:

In the “Main filename” and “subprograms filename” fields it is possible to set the following variables:

• - empty line - :the main program (temporary file) is delete at the end of Post
Processor. In the macro-language the variable NOMAIN is set to 1.
• WORKF :NC filename is taken from the “work file” name
• PRJ :NC filename is taken from the Project name
• GRPNAM :NC filename is taken from the Group name
• SPNUM :NC filename is defined by an incremental number. The starting
number is defined in the parameter “First sub-program number”. If the option “Remember
last sub-program number” is switched on, then the number is automatically update to the
last Sub-program number. This value isn’t automatically increased if there is the “NC
name” saved in the CAM Navigator tree. This variable is type string; if you have need in
the macro-language as same variable type numeric you can use SPROGN Sub
PROGram Number.
• “…user string…”: NC filename is defined by the user.
Only for “Main filename”:
• ENGINR : NC filename is taken from the “project author”
• LIBRAR : NC filename is taken from the “tool crib name”
• MACHIN : NC filename is taken from the “machine name”
• PARTMT : NC filename is taken from the “part material”
Only for “Subprograms filename”:
• ALFA : NC filename is taken from the “operation description in the cam
navigator tree”
• REMARK : NC filename is taken from the “operation comment”
• TLREF : NC filename is taken from the “tool internal code1”
• TLREFB : NC filename is taken from the “tool internal code2”
• ASSREF : NC filename is taken from the “tool assembly name”

159
Post Processor
• TLMES : NC filename is taken from the “tool name”
• TOOLMT : NC filename is taken from the “tool material”

VP allows to define more than one variable, allowing the generation of very complex strings, if
necessary. Each variable must be separated by the character “,” (comma).

Example:

Wkf filename=pippo
Project name= roger
Wanted NC filename= pippo__roger

Define “Main filename” in this way:


WORKF,"__",PRJ

Result will be: pippo_roger

Note:
“Main filename” field is not mandatory and can be empty for special application.

Consider that, if necessary, it is also possible to truncate the string taken from the system, allowing to
generate a very personalised NC filename.

For the fixed variables WORKF, PRJ, GRPNAM, it is possible to specify a special instruction that tell
the system how to manipulate the string.

The syntax is the following:

Variable[“instruction”]
Where “instruction” is a range that identify the character to extract from the original string:

[from char. – to char.]


See example below:

Wkf filename=pippo

Main filename= WORKF[2-4] : from 2 th to 4 th char. → result= ipp


Main filename= WORKF[4] : only 4th char. → result= p
Main filename= WORKF[2-] : from 2th to end → result= ippo
Main filename= WORKF[-3] : from first to 3rd → result= pip

-Related topics-
#Vero Post Processor rules to assign a name to NC file.

160
Post Processor

New group management functionality.


VP has been extended to manage the new operation group management realised for Visi 19. This
management allows VP to generate sub-programs automatically (ex. One sub-program for each
group)

See examples below:


If in the CAM-Navigator we have a structure like shown:

It is possible to generate different combination of output…

Ex. N.1
One main and one sub-program for each
group.

Ex. N.2
One sub-program, for each group,
without main.

161
Post Processor
The group management need to be set in macro-language and in VP “Main\sub-programs” tab from
the “General configuration” parameters window.

The generation of the sup-programs depends from the CAM-navigator modality (standard or group).
CAM-navigator CAM-navigator group
standard mode mode
Node to run the Vero Post Processor Post Processor group management
Run from Project NO YES
Run from Group NO YES
Run from CAM-setup NO Not execute VP
Run from CAM-setup (mixed selection) NO Not execute VP
Run from Operation NO YES
Run from Operation (mixed selection) NO YES
Run from Group (mixed selection) NO YES
(Mixed selection) = groups, cam-setup and operations assembly in the same selection.
When there is a mixed selection:
• In CAM-navigator group mode, VP automatically assigns a name to the operations not
included in a group (workf file + incremental number).
• The dynamic menu displays a command “Run Post Processor Mixed selection”.
In CAM-navigator standard mode, when customer run a Post Processor by a group, VP check if the
group operation sort is equal to the sort in standard mode. If they are different VP doesn’t execute the
Post Processor elaboration.

Macro language variables details:

NOMP:
defines the “Main filename” in the macro-language

SPNAME:
Defines the “Subprograms filename” in the macro-language
Available fixed variable for “main filename” and “subprograms filename”.

New section in macro-language:

$GROUP_BEGIN:
This section is recalled when there is a group. It’s immediately recalled after the section
$STARTPP. Normally we can insert the command DIVFIL in this section, to manage sub-
programs for group.

$GROUP_END :
This section close the group.

New variable in macro-language:

NOMAIN:
MAIN program Not generate – if the parameter “Main filename” is empty, the main program is
delete and this variable value is 1. This is useful to manage a test in the macro-language.
Example:
(NOMAIN==1)?@1N #20 @20(30); -→ M30; close a program
(NOMAIN==0)?@1N #20 @20(99); -→ M99; close a sub-program

162
Post Processor
GRPMOD:
GRouP MODe – if =0 means that there are not groups. If =1 means that there are one or
more groups.

GRPOPE:
GRouP OPErations – represent the number of operations in the current group

STRPRINT:
This command allows to create in the ISO code a personalised string taking the information from the
fixed variables WORKF, PRJ, GRPNAM, “…user string…”.
As for the “Main filename” also for the STPRINT command it is possible to identify the
character to extract from the original string using the instruction [from-to].

It is possible to define 3 different strings in the same macro-language by using the following variables:
STRNA
STRNB
STRNC

See example below:

Project name= P-AA6MOD3


Group name= TOP-PIECE
Wanted string in the ISO code= A00-996_cam\3\P-AA6MOD3_TOP-PIECE.jt

In the macro-language the STRPRINT variable is defined in the following way:

STRPRINT(STRNA, PRJ[3],"00-99\",PRJ[5],"_cam\",PRJ[9],"\",PRJ,"_",GRPNAM,".jt")
Where:
STRINA: defines the first available string
PRJ[3]: extracts the 3rd letter from the project name (“A”)
“00-99\”: print exactly this (user) string
PRJ[5]: extracts the 5th letter from the project name (“6”)
“_cam\”: print exactly this (user) string
PRJ[9]: extracts the 9th letter from the project name (“3”)
“\”: print exactly this (user) string
PRJ: extracts the all letters from the project name (“P-AA6MOD3”)
“_”: print exactly this (user) string
GRPNAM: extracts the all letters from the group name (“TOP-PIECE”)
“.jt”: print exactly this (user) string

the result in the ISO code will be :

A00-996_cam\3\P-AA6MOD3_TOP-PIECE.jt

-Related topics-
#Vero Post Processor rules to assign a name to NC file.
#Improvement the string variables available in macro-language.

163
Post Processor

New variable SECSEQ.


SECSEQ = SECtion SEQuence
SECSEQ = 0 previous section sequence (default)
SECSEQ = 1 new section sequence
Before Visi19 the section $ENDTOOL was call after the section $ENDFACE and $END_DIV_FILE,
this section sequence increases the complexity of programming the 3+2axis PP or the sub-program
management.

SECSEQ=0 SECSEQ=1
$STARTPP $STARTPP
$GROUP_BEGIN $GROUP_BEGIN
$END_DIV_FILE $END_DIV_FILE
$START_DIV_FILE $START_DIV_FILE
$STARTFACE $STARTFACE
$STARTTOOL $STARTTOOL
$OPERATION_BEGIN $OPERATION_BEGIN
$OPERATION_END $OPERATION_END
$ENDTOOL $ENDTOOL
$STARTTOOL $STARTTOOL
$OPERATION_BEGIN $OPERATION_BEGIN
$OPERATION_END $OPERATION_END
----------------------- $ENDTOOL
$ENDFACE $ENDFACE
$GROUP_END $GROUP_END
$GROUP_BEGIN $GROUP_BEGIN
$END_DIV_FILE $END_DIV_FILE
$START_DIV_FILE $START_DIV_FILE
$STARTFACE $STARTFACE
$ENDTOOL -----------------------
$STARTTOOL $STARTTOOL
$OPERATION_BEGIN $OPERATION_BEGIN
$OPERATION_END $OPERATION_END
$ENDTOOL $ENDTOOL
$STARTTOOL $STARTTOOL
$OPERATION_BEGIN $OPERATION_BEGIN
$OPERATION_END $OPERATION_END
----------------------- $ENDTOOL
$ENDFACE $ENDFACE
$GROUP_END $GROUP_END
$GROUP_BEGIN $GROUP_BEGIN
$END_DIV_FILE $END_DIV_FILE
$START_DIV_FILE $START_DIV_FILE
$STARTFACE $STARTFACE
$ENDTOOL -----------------------
$STARTTOOL $STARTTOOL
$OPERATION_BEGIN $OPERATION_BEGIN
$OPERATION_END $OPERATION_END
$ENDTOOL $ENDTOOL
$STARTTOOL $STARTTOOL
$OPERATION_BEGIN $OPERATION_BEGIN
$OPERATION_END $OPERATION_END
$ENDTOOL $ENDTOOL
$ENDFACE $ENDFACE
$GROUP_END $GROUP_END
$ENDPP $ENDPP
$CLOSEDPP $CLOSEDPP

164
Post Processor

Improvement in the command WRT_FORM. New variable LINNUM.


There are some improvement in this command:
• In previous version can’t manage a separate block number increment, in the temporary file.
When in a macro-language the command WRT_FORM wrote a block, in the temporary file,
the command @1N was incremented with the same number of other macro-language block.
The new variable LINNUM can switch the old or new behaviour.
LINNUM stands for LINe NUMbering
LINNUM = 0 previous behaviour (default value) – all macro-language use the same block
increment for num block @1N.
LINNUM = 1 the temporary file as a separate increment for a num block @1N.
• Now WRT_FORM can call a macro-language user section.
• Now WRT_FORM can use the free user variables.
• Now if the WRT_FORM is before an other command doesn’t increase the @1N channel for
other command lines.

-Related topics-

Improvement in the command TLSDUP.


Added 2 more options to TLSDUP variable.
Order on tree:
T2
T1
T2
T5
T1
Result print by TLIST command with a different TLSDUP value:
TLSDUP = 0 without duplicate tools, sort in ascending
T1
T2
T5

TLSDUP = 1 with duplicate tools, sort in ascending


T1
T1
T2
T2
T5

TLSDUP = 2 (new option) with duplicate tools, equal to tree sort


T2
T1
T2
T5
T1

TLSDUP = 3 (new option) without duplicate tools, equal to tree sort


T2
T1
T5

-Related topics-
#New variable TLSDUP to print the TLIST with the duplicate tool.
#Tools variables
New value for TLSDUP.

165
Post Processor

Modify in SPLITD and DSPPRI management.


In VISI 19.0 the parameter SPLITD and DSPPRI, are only running in section $STARTPP.
There were some critical conditions when these options are used after the $STARTPP section.

-Related topics-
#Drill group management SPLITD and DSPPRI

Add a safety check, test if value exceed the limit for given channel.
All numeric value is print by a channel. All channels have a set that define a max number of integers.
In previous version there isn’t a safety check to stop this critical condition, post processor print the last
numbers of the value.
Ex.
X value equal 185669.36
the number of integer in X channel is 5
in NC file is print X85669.36
Now the post processor prints an error message in the NC file:
Warning: intercepted a value out of range! '………" ;' (channel …..=……..)

-Related topics-
Improvement a new parameter NOCHANCHK.

166
Post Processor

NEW VARIABLES STARTING FROM VERSION 19.0.09.11

Improvement in function MACOUT.

• Improve the ZR and ZS management, in the MACOUT sections (bug-zilla 21801). These is
need to create a CNC macro for a features at a different Z.
ZS = Z of start work
ZR = Z of final clearance position
• Bug-fixing a problem in the Z print by $GOTO_Z_RAP when the operation features have a
different ZR and ZS and have only one\more Z step (bug-zilla 21894).
• Improve a safety functionality, that call the section $GOTO_Z_RAP before the first feature
and after the last feature (bug-zilla 21894 and 21752). This is useful to print the operation
start\end Z position. Before this improvement the Z coordinate of points A and B aren’t
correctly print.

• Now when MACOUT is set equal 1 but there isn’t a need section, to create a CNC macro, the
NC output file is equal to the output create with MACOUT=0 (bug-zilla 21540).

-Related topics-
#New functionality “MACOUT” to manage CNC pock/mill cycles.

167
Post Processor

Improvement the string variables available in macro-language.


Previous string variables were STRNA STRNB STRNC, now are available the new following string
STRND STRNE STRNF STRNG STRNH STRNI STRNK STRNJ STRNL STRNM STRNN STRNO
STRNP (bug-zilla 21513)

-Related topics-
#STRING

New variable CCFUNC.


CCFUNC - print the value of TOOL setting stored in the operation cutting conditions (bug-zilla
21340).
Roughing CCFUNC = 1
semi-finishing CCFUNC = 2
Finishing CCFUNC = 3

-Related topics-
#Cutting condition variables

NEW VARIABLES STARTING FROM VERSION 19.0.11.11

Improvement in function MACTOL.


Extend to 5axis operation the MACTOL functionality to print the operation CAM tollerance. (bug-zilla
22167)

New parameter TAPPTY.


Created a new variable for tool tapp type, called "TAPPTY".
Possible numerical values are from 1 to 12 (taken from tool database):
// 1 = "ISO"
// 2 = "ISO fine"
// 3 = "UNF"
// 4 = "UNC"
// 5 = "BSW"
// 6 = "BSF"
// 7 = "TR"
// 8 = "RD"
// 9 = "API 1:4"
// 10 = "API 1:4"
// 11 = "API 1:4"
// 12 = "Other"

New parameter CDIAM.


Add a new parameter CDIAM to print the tool tip diameter value.

168
Post Processor

NEW VARIABLES STARTING FROM VERSION 19.0.02.12

Improvement a new parameter NOCHANCHK.


NOCHANCHK= NO CHANnel CHecKAdd
We can define this parameter in $STARTPP section. This parameter can turn off the test if value
exceed the limit for given channel.
Ex.
To disable the test if value exceed the limit for given channels number 18, 5 and 6.
NOCHANCHK(18,5,6)

-Related topics-
Add a safety check, test if value exceed the limit for given channel.

Improvement in DELETE and RENAME command .


Now when delete command erase a NC file, the NC name list must be update.
The same for the rename command.
-Related topics-
#Commands for file management in VP

Bug fixing in recall $STARTFACE.


In previous version, between 2 different Cam setups with 2 different reference origins, that have the
same distance and orientation from the reference origins, the section $STARTFACE isn’t call (bug-
zilla 22597).

Bug fixing in Store NC name.


In previous version, when the CFG post processor split a NC file by tool and the 1 st and 2nd operations
have the same tool, in the CAM navigator tree isn’t store the NC file name in these operations (bug-
zilla 22192).

Bug fixing to print integer figure when "number of integer figures”>7.


In previous version, when "number of integer figures”>7 and the value to print is 0, Post Processor
doesn’t print the “0” (bug-zilla 22184).

169
Post Processor

NEW VARIABLES STARTING FROM VERSION 20.0

Improvement Python call in macro-language.


Now in the Vero Post Processor macro-language, we can call a python functions (bug-zilla 21513).
All macro-language variables are sending to python, that can reassign them value.
Python function is called from each macro-language section.
Python function is useful to create a special routine to create a special output in the NC file.

Post Processor read the python functions in a new cfg section or in an external file *.py.
Post Processor looks python file with a same name of *.cfg file used (n.b. the names must have the
same uppercase/lowercase letters, not use a sub-path with character “.” ).
With a new Post Processor command “Setup\Macrolanguage and Python”, customer can edit the
internal python code. If there isn’t the internal python section, Post Processor found the external *.py
file and integrate this file in *.cfg file.

Customer can run a python function, by the new macro-language command:


PYTHON(…python functions );
Ex. PYTHON(VeroPostSetOutputNcFilename)

There is a new special section in macro-language that calls a python function, before the NC filename
request. In this section is available a variable NCFNAM, that store the NC filename and path. Python
function can change the path and NC filename generate for default by Visi.

$INITPP
PYTHON(VeroPostSetOutputNcFilename)

In other section you can read and write all macro-language variables.

-Related topics-
#Python use in Vero Post Processor.

Improvement in STYPM=1 or 2.

Eliminate the errors in the time machining calculation.


For safety reasons X,Y,Z output behaviour after a subprogram call has been changed. Now the X,Y,Z
values after a subprogram call will be printed in output file even if are the same than the last
coordinate printed inside the subprogram.
Now after a sub-program call (ex. M98P1001) the value of Speed and Feed (variables S and F) are
correctly set. In previous version doesn’t set a last Speed and Feed set in the sub-programs.

-Related topics-
#Improvement in the function STYPO.
#Restored the reset of Z value for a sub program manage by STYPM=1 or 2.
#Bug-fixing for the variables NBS.
#Modify in the STYPM, STYPC and SPLITD.

170
Post Processor

NC store filename automatically manage the extension change.

Before Visi 20, post processor doesn’t automatically manage the extension change.
This was a problem when Visi Machining use Store NC filename option and post processed the same
operation with different post processor CFG.
Now if customer post processed the same operations, with 2 different CFG, the NC file extension is
automatically changed.
Ex.
Post processed with fanuc0m.cfg generate a file ncfilename.NC
Post processed with tnc.cfg, proposed NC name is ncfilename.nc but Visi generate ncfilename.hnc,
without customer input.

Improvement in CLOSE command.

The CLOSE command has a new value:


CLOSE(0) can close a main NC file.
This is useful to close the main NC file, usually in section $ENDPP or $CLOSEDPP. When the main
file is close, by macro-language we can rename or modify (merge an asci file in main NC file) this file
to create a special output.
For example merge a tool list or face list at start of main NC file etc.

New section EXITPP.

When Post Processor execute a section $EXITPP, the main NC file is closed and the Post Processor
function can execute an operation on this NC file (ex. Merge file, move this files etc).

Bug-fixing in TTIME, PTIME, TTIMEA and PTIMEA.


Fixed some problems, computing machining time when using subprograms, helical interpolation and
circular interpolation, as full circle or quadrant (bug-zilla 11138).

-Related topics-
#Various
#Improvement in PTIME and TTIME.

171
Post Processor

Improvement in time calculation, for rapid and 3D rapid movements in tool-


path.
New variables RTIME,MTIME and LENR.
-3D rapid time-
Now in Visi20 the 3D rapid feed is set only from machine parameters. In previous Visi version, query
doesn’t manage the machine parameter for 3D rapid feed, for this reason the variables PTIMEA and
TTIMEA doesn’t correctly manage the 3D rapid in feed mode.
Now when customer change machine or the machine parameter for the 3D rapid feed, Visi “?” query
is automatically updated and post processor and tool-sheet print the time calculated with the new
machine parameters value (bug-zilla 13139).

n.b. This functionality isn’t available on tool-path built in previous versions.

- rapid time -
Now in the machine parameters, there is a new variable that set the rapid feed, managed by machine.
This feed is useful to calculate the total machining time, see the following image with a new Visi
query.

TTIME,PTIME,TTIMEA,PTIMEA – print a sum of feed and 3D rapid time (same as previous versions)
RTIME – print only the rapid time
MTIME – print the total machining time (rapid time + 3D rapid time + feed time)
LENR – print the rapid length

n.b.
This functionality isn’t available on tool-path build in previous version.
The dwell time isn’t managed in drill operation set in modality= chipping.

-Related topics-
#Various
#Bug-fixing in TTIME, PTIME, TTIMEA and PTIMEA.

172
Post Processor

Bug-fixing in WRT_FORM.
In the past the command WRT_FORM was use with a different syntax rules.
Ex.
(VFI==VW)?;WRT_FORM(1, #2 @2(0) @7(VU))
(VFI==VW)?WRT_FORM(1, #2 @2(0) @7(VU));
(VFI==VW)?WRT_FORM(1, #2 @2(0) @7(VU))
(VFI==VW)?;WRT_FORM(1, #2 @2(0) @7(VU));
In previous version there were some problems, to correctly print in the NC file the carriage return.
Now in Visi 20 all conditions are correctly manage.
(bug-zilla20988)

Improvement the new 5axis tool type.


Add in the tool type the following new tools, specific for a 5axis operations (bug-zilla 21747).
20,Radiused Dove cutter DBT_MILL_RADIUSED_DOVE
21,Barrel cutter DBT_MILL_BARREL
22,Convex Tip cutter DBT_MILL_CONVEX_TIP
23,Radiused chamfer cutter DBT_MILL_RADIUSED_CHAMFER

-Related topics-
#Tools variables

Improvement in variable R .
Now the variable R print also the tool tip fillet radius for a tool type:
“7,Corner rounding cutter. DBT_MILL_CORNER_ROUND” (Bug-zilla 22799).

-Related topics-
#Tools variables

Improvement in NBPTS.

In previous versions NBPTS prints only the number of hole machined by drill operation.
Now NBPTS must print also the feature number for a Mill operations. This value is available in the
section $OPERATION_BEGIN.
In tool sheet the NBPTS value is write by a "Op_NumMachinedFeatures" variable.
(bug-zilla 22134).

Improvement in Post Processor DEBUG mode.

The variable DEB turn on\off the Post Processor debug mode.
In Visi 20 there is a new option. Now the old option 3 is managed by the option 4.
= 0 no debugging, NC output file is normally generated.
= 1 print in the NC output file the macro-language sections.
= 2 print in the NC output file the macro-language sections and variables.
= 3 print in the NC output file when a section is called and when is leaving from a section.
= 4 print in the NC output file all the information from parser, is useful to understand the flow of macro-
language code.

-Relatedtopics-
#Post Processor DEBUG mode.

173
Post Processor

Add a new variable OPTYPE.


OPTYPE has the same use of TYPM.
OPTYPE assigns a univocal code, for each operation and use the same ID used by Visi to mark an
operation (subtype).
Advise to use this new variable in place of TYPM.

-Relatedtopics-
#Operationtype-TYPM
#Operationtype-OPTYPE

Bug-fixing in Drill Cycle management in ABS reference.


When the option “Output from ABS coordinates=ON” in the machine configuration and “Relative
origin number=OFF” in the cam-setup, the drill-cycle coordinates XYZ are referring to the ABS origin.

In previous version the section $CYC_XY_RA aren’t management.


Now the change in Z rapid movements is checked and when there is a change, Post Processor call
$CYC_XY_RA. The Z are check with ABS reference.

-Related topics-
#Restored the Drill Cycle management without the Face management.
#Fixed cycles variables
#Bug fixing for the drill cycle variables XL ZL.

174
Post Processor

NEW VARIABLES STARTING FROM VERSION 20.0.11.12

Improvement in CAM Setup and project information.


Now in the Vero Post Processor are available the new project and cam setup information (bug-zilla
24061).
- project information – available in $STARTPP
REFWPF = REFerence Workplane Project Flag = variabile "PRJ_UseSubOriginFlag"
(numerical)
Print the value of “Activate WPL” flag. 0=disabled 1=enabled.
REFWP = REFerence Workplane Project = variabile "SUB_Orig_Description" (string)
Print the work plane description.

REFWPF

REFWP

175
Post Processor

cam setup information – available in $STARTFACE


MECANG = MEChanical ANGle choice = variabile "FCS_TestAnglePair" (numerical)
Print the value of “Mechanical angle choise”.
0=First solution
1=Second solution
2=Free
ANGSYN = ANGles SYNchronisation = variabile "FCS_AnglesSynchonization" (numerical)
Print the value of “Activate WPL” flag.
0=Not aligned
1=Aligned
REFWSF = REFerence Workplane Setup Flag = variabile "FCS_UseSubOriginFlag"
(numerical)
Print the value of “Activate WPL selection” flag. 0=disabled 1=enabled.
REFWS = REFerence Workplane Setup = variabile "SUB_Orig_Description" (string)
Print the work plane description.

MECANG

ANGSYN

REFWSF

REFWS

-Related topics-
#Face variables and management

176
Post Processor

NEW VARIABLES STARTING FROM VERSION 21.0

Improvement, to generate sub-programs, also with only one repetition.


Add a new variables that set for the macro-language function STYPC, STYPM and STYOP.
SPRREP Sub-PRograms minimum REPetitions;
The default value is 2.
Example of use:
SPRREP=1;

Improvement for the incremental coordinates managements.


To manage the coordinates in incremental mode, it’s need to set the coordinates channel to manage
the incremental modality. Obvious the 1st coordinate print in the NC file is in absolute.

In Visi21
there are new functions in macro-language to manage, only some portion of NC program in
incremental. For example we can create a sub-program in incremental and the main program in
absolute etc.

DISINC DISable INCremental coords output;


0=use the channel set 1=disabled the incremental mode
Example of use:
DISINC=1;
ISINCZ IS INCremental Z:
set to 1 if channel for Z is incremental (usually should be incremental also X and Y).
Useful to print G90 or G91 ISO code.
Example of use:
(ISINCZ==1)?#3 @3(91):#3 @3(90);

-Related topics-
Improvement for sub-programs managements.
Improvement for the incremental coordinates managements.

177
Post Processor

Improvement for sub-programs managements.


SPRGID Sub-PRoGram ID:
number assigned by CAM to group operations, it’s a counter that is useful to know the
operation sequence in a group.
Example of use:
$START_SUB_MILL
'"( START_SUB_MILL )"
"O" #15 @15(GRPID*100+SPRGID) N=1 #2 #5 #6 #21 #22 #23

NBGRP NumBer of GRouPs:


contain the number of selected group elaborate from post processor.
Example of use:
"#152=" #80 @80(NBGRP) " ( Number of points )";

GRPID GRouP ID:


number retrieved from group name; is a number extract from the group name. It is
useful to create the sub-program number.
Example of use:
$START_SUB_MILL
'"( START_SUB_MILL )"
"O" #15 @15(GRPID*100+SPRGID) N=1 #2 #5 #6 #21 #22 #23

ENAZ ENAble Z in 2D sections;


Normally the Z print is disabled into sub-programs for Z levels. When configuration
managements the XYZ in incremental mode, could be need to print also the Z value.
default is 0 for old configurators;
Example of use:
ENAZ=1;
When ENAZ=1 in the sections is formatted also the Z channel

New variable RTCP to manage this machine configuration.


Add a new variables that read the machine parameter RTCP and set for the macro-language function
a checkable value.

RTCP = Rotary Tool Centre Point compensation capacity.


0 = none
1 = partial
2 = partial (Tool length=0)
3 = partial (Rotation center=0)

Example of use:
?(RTCP==0)?”G43.4”;

-Related topics-
#Face variables and management

178
Post Processor

New value for TLSDUP.


Added 1 more options to TLSDUP variable.
4 = Print all tool crib used and not used tool

This option is useful when is need to print all tool crib tools.

Use in macro-language, set in $STARTPP the need value.


TLSDUP=4

-Related topics-
Tools variables
New variable TLSDUP to print the TLIST with the duplicate tool.
Improvement in the command TLSDUP.

NEW VARIABLES STARTING FROM VERSION 2016 R1

Improvement in function STYPM.


In VISI 2016 R1 2.5axis tool-path is improvement the sub programs management for Z levels.
The sub-programs for Z levels have a different management respect to previous release.
The macro-language function STYPM allow to use the sub-programs in the next mode.
STYPM = Subprogram TYPe Mill
0 = sub programs for Z levels not management
1 = labels for Z levels management for tool-path generated in previous version.
2 = sub-programs for Z levels management for tool-path generated in previous
version.
3 = labels for Z levels management for tool-path generated in previous and
VISI2016R1 version.
4 = sub programs for Z levels management for tool-path generated in previous and
VISI2016R1 version.

To manage the VISI 2016 R1 sub-program for Z levels with STYPM 1 or 2 is need to add the next
sections.
$START_SUB_MILL_ENH
$END_SUB_MILL_ENH
$CALL_SUB_MILL_ENH
With this configuration, macro-language can manage previous and VISI 2016 R1 ub-program for Z
levels with different sections. This is useful because approach\retract movements are manage in
different mode between previous version and VISI 2016R1.

Extended the value management functionality in incremental mode.


To manage the coordinates in incremental mode, it’s need to set the coordinates channel to manage
the incremental modality. Obvious the 1st coordinate print in the NC file is in absolute.
In VISI 2016 R1 the flag function “incremental value” is always manage in all macro-language
sections.

179
Post Processor

All post processor channels could set the incremental mode.


In previous release, the incremental mode is not completely managed in all macro-language sections
and in all condition.
It’s advice to always force the print of channel when incremental mode is activated.
For example #5 @5(X);
The recovery of incremental error is warranted up to 3 decimal places.
There is only one management for XYZ coordinates and angular coordinates. For example the next
angular values will be management as normally coordinates mode.
For example the IPA angular
Input NC output value
Input angular value= +90° CP IPA90
Input angular value= +180° CP IPA90
Input angular value= +270° CP IPA90
Input angular value= +360° CP IPA90
Input angular value= +90° CP IPA-270
Input angular value= +180° CP IPA90

-Related topics-
Improvement for the incremental coordinates managements.

NEW VARIABLES STARTING FROM VERSION 2016 R2

Bug-fixing in variables ZL.


Restored the ZL function for new 2.5axis chamfer operation.

-Related topics-
Chamfering improvement in ZL and XL.

Improvement in alert message.


When tool-path has invalid movements, post processor blocks the NC file creation and write the next
alert message in NC file “Error: invalid rapid element type6”.
In previous release, post processor display a generic alert error in box windows.
When error message “Error: invalid rapid element type6” is created from post processor, it advise to
re-build the tool-path.

NEW VARIABLES STARTING FROM VERSION 2017 R1

Enhancement MACTOL for 2.5axis operation.


From VISI 2017 R1 the machining tolerance is also managing in 2.5axis operations.
MACTOL = MAChining TOLerance
This tolerance was improved only for next 2.5axis operations.
• Pocketing. OPTYPE=4001
• Profiling. OPTYPE=4002
• Remachining. OPTYPE=4004
• Chamfering. OPTYPE=4005

180
Post Processor

Enhancement for incremental programming.


From VISI 2017 R1 in section $STARTPP the channel #5 #6 #7 (X,Y and Z) can be set a start value,
useful in incremental managed to set a translation of NC tool-path.
Example.
VZ=INP(Z start value)
$STARTPP
#7=(VZ)

-Related topics-
Improvement for the incremental coordinates managements.

NEW VARIABLES STARTING FROM VERSION 2017 R2

Enhancement new parameter for MACOUT and MDRILL management.


From VISI 2017 R2 there is a new parameter PKDPTH.
PKDPTH PocK DePTH
This parameter prints the features machined depth.
Now all next parameters is allow in MDRILL and MACOUT section. Before 2017 R2 the next
parameters is only allow in MACOUT function.

-Related topics-
MACOUT and MDRILL functions.

NEW VARIABLES STARTING FROM VERSION 2019 R1

Change in debug parameter DEBDP behaviour.


From VISI 2019 R1 there is a new behaviour in parameter DEBDP.
DEBDP – DEBug Decimal Place – change the decimal number displayed in the variables value
assigned.
In VISI 2019 R1 the variable has changed a little the meaning; before it was adding 2 decimal digits to
the values printed in debug, now it add a variable number of decimal digits depending on the variable
itself; so if DEBDP is set to 0, values printed in debug will show 3 digits in mm or 5 digits in inches,
but using DEBDB is possible add more digits to have a better idea of what is happening inside
macrolanguage core

Next the new behaviour


DEBDP value Result in mm Result in inch
0 $GOTO_XY_RAP $GOTO_XY_RAP
X =49.992 X =49.99257
Y =2.369 Y =2.36916
In mm display 3 decimals. In inch display 5 decimals.

1-2-3-4-5 ….. 10 $GOTO_XY_RAP $GOTO_XY_RAP


X =49.992 xxxxxxx X =49.99257xxxxxxxx
Y =2.369xxxxxxx Y =2.36916xxxxxxx
In mm display In inch display
3+(DEBDP value) decimals. 5+(DEBDP value) decimals.

181
Post Processor

Next the previous behaviour that does not allow to set any decimal places.
DEBDP value Result in mm Result in inch
0 $GOTO_XY_RAP $GOTO_XY_RAP
X =49.992 X =49.99257
Y =2.369 Y =2.36916
In mm display 3 decimals. In inch display 5 decimals.

1 $GOTO_XY_RAP $GOTO_XY_RAP
X =49.99257 X =49.9925763
Y =2.36916 Y =2.3691645
In mm display 5 decimals. In inch display 7 decimals.

-Related topics-
Post Processor DEBUG mode

New parameter CMPTOL.


From VISI 2017 R2 there is a new parameter CMPTOL.
CMPTOL COMparison TOLerance
This variable is initialised with the old value used by source code (that is 1e-5), but can be modified at
any time by macrolanguage; the tolerance value used in the test is the value the variable has at that
moment, so it's possible, for example, set a tolerance value locally for just one section, for example:
$STARTFACE
CMPTOL=0.0000001
(ZCZ==1)?(XCX==1)?VFH=1 'CLAMP
(ZCZ==1)?(XCX!=1)?VFH=2 'CLAMP
CMPTOL=0.00001
.

-Related topics-
Mathematical function in macro-language and main syntax rules.

182
Post Processor

Bug-fixing for “SPLITG” parameter.

When SPLITG =0 and the drill tool-path has activated the “split cycle in G01” flag, the effect of this
flag is limited on operation that has this flag=ON.

Rules.
• SPLITG (=1) is enabled by macrolanguage and disabled by operation parameter: SPLITG is
enabled and stays enabled at the end of the operation.
• SPLITG (=1) is enabled by macrolanguage and enabled by operation parameter: same
condition than before
• SPLITG (=0) is disabled by macrolanguage and enabled by operation parameter: SPLITG is
enabled and is disabled at the end of the operation.
• SPLITG (=0) is disabled by macrolanguage and disabled by operation parameter: SPLITG is
disabled
• SPLITG (=2) is enabled by macrolanguage and the operation parameter: SPLITG is ignored.

-Related topics-
Split the drill cycle SPLITG
New Variable “SPLITG” to spilt Drilling cycles output

MAXRD function improve also for helix geometry.


The function MAXRD run also on helix geometry. Helix with a radius that exceed the MAXRD value is
print in NC files as linear movements.

MAXRD = MAXimum RaDius allow in NC code

-Related topics-
Helix variables.
Arc Helix management Vp_Arc_Small_Tolerance, MAXRD, SPLITC.

183
Post Processor

Bug fixing for Chamfering parameter in macro language.


In previous version, new chamfering operation does not set the value for next macro-language
variables; XL, ZL, HSTEP, APPMET and RETMET.

-Related topics-
Improvement the variable HOVERS, VOVERS, HSTEP, VSTEP and VSTEPL for the ISO Machining
and 5axis operation.
Chamfering improvement in ZL and XL.
Bug-fixing in variables ZL.

NEW VARIABLES STARTING FROM VERSION 2020.0

New flag parameter MOVNMG.


This parameter activates a different test, to identify the movement type and call the right macro-
language section. In some condition the standard test call [XYZAB_RAP] instead of [GOTO_Z_RAP].
This condition happens when the gun-drilling tool-path are created on an inclined CAM setup; in this
condition, for a tolerance problem, the default test call the wrong section.
With MOVNMG=1 the tolerance problem is fixed but this test has effect for all operations type.

MOVNMG = MOVement New ManaGement

MOVNMG = 0; This is the default value; post processor uses the default value to define the type of
movement.
MOVNMG = 1; Post processor use the test based on normal angle value to define the type of
movement.

184
Post Processor

Bug fixing for Helix feed table management.


In previous version, the feed table management could print a double useless feed table index.
Helix tool-path had a double different feed information that generate this issue.
From VISI 2020.0 this issue is removed and the feed table management print only the user input feed
in feed table list.

New parameters KINBAS, NAXES and AXCONF.


These parameters allow to know the main machine parameters setting.
They are useful to change the NC output according to the machine configuration.

KINBAS

NAXEX AXCONF

185
Post Processor

KINBAS = KINematic BASed machine setting (0=NO 1=YES)


NAXES = Number of machine AXES (3=”3axis”, 4=”4axis” and 5=”5axis”)
AXCONF = machine AXis CONFiguration (0="Head/head", 1="Head/table", 2="Table/table" )
The value of these parameters is available in the $STARTPP section of macro-language.
Normally these parameters are used to manage a test with the macro language Logical function .

186
Post Processor

NEW VARIABLES STARTING FROM VERSION 2020.1

New parameter for gun drilling option.


From VISI 2020.1, gun drilling has been enhanced with new option and in macro language are
available all operation parameters value. The gun drilling parameters are defined in section
$OPERATION_BEGIN. New parameters is high light in light blue.

GDRILL = Gun DRILL method 0=Never (default value) 1=Always or ratio (when gun drilling is
activated). The combo box has 3 value but this parameter is used to indicate if gun
drilling is ON or OFF.
GDRSPH = Gun Drill Reduce Speed in Pilot Hole
GDSPIL = Gun Drill Speed in PILot hole
GDREVP = Gun Drill REVersed rotation in Pilot hole
EDISRD = gun drill Entry DIStance at ReDuced f/s ( % )
GDSLOD = Gun Drill SLOwing Distance (%)
GDSPED = Gun Drill SPEeding Distance (%)
GDESPD = Gun Drill Extra SPeeding Distance
GDRFSD = Gun Drill Reduce Feed within Speeding Distance
GDSLOF = Gun Drill SLOwing delta F (%)
GDSLOS = Gun Drill SLOwing delta S (%)
GDRFHB = Gun Drill Reduce Feed at Hole Bottom
GDSDHB = Gun Drill Slowing Distance at Hole Bottom (%)
GDPOPT = Gun Drill Points OPTimisation

187
Post Processor
In 1st gun drilling section $GOTO_Z_WRK are print the next parameters.

XS,YS,ZS coordinates of start from fixed cycle.


XL,YL,ZL coordinates of end from fixed cycle.
XR,YR,ZR coordinates of return from fixed cycle.
GDEDPX, GDEDPY and GDEDPZ are the coordinates of "Entry distance at reduced F/S (%)"
GDEDPX Gun Drill Entry Distance Point coordinate X at reduced F/S %
GDEDPX Gun Drill Entry Distance Point coordinate Y at reduced F/S %
GDEDPX Gun Drill Entry Distance Point coordinate Z at reduced F/S %

-Related topics-
Gun drilling parameters.
New variables EDISRD.

188
Post Processor

NEW VARIABLES STARTING FROM VERSION 2021.0

New parameter for gun drilling option.


From VISI 2021.0, gun drilling has been enhanced with new option and in macro language are
available all operation parameters value. The gun drilling parameters are defined in section
$OPERATION_BEGIN. New parameters is high light in light blue.

GDRCOF = Gun Drill Retraction Coolant Off Flag


GDRCOD = Gun Drill Retraction Coolant Off Distance (%)
GDFFRE = Gun Drill Feed in Final REtraction
GDFFRF = Gun Drill Feed in Final Retraction Flag
GDTDHB = Gun Drill Tool Disengage Hole Bottom
GDDHBF = Gun Drill Disengage Hole Bottom Flag

In post processor macro language is created a new section $COOLANTPP to manage the change of
coolant. This section is call every time when there is a code of change of coolant type.

189
Post Processor

The geometric feature and the tool-path parameters are print in macro language section
“$GUNDRILLING_START”.

FEASTY FEAture Sub-Type


-1=DEFAULT
0=BLIND
1=THROUGH
4=CONIC TIP
5=BOTTOM RADIUS

In VISI 2021.0 are created a new post processor macro-language section to simplify the work to
customize the CFG post processor for user.
If there is not the new section, post processor manages the gun drilling tool-path with the previous
logical.
This is useful to allow the dealer to update all user cfg files for a new added option.
Now the new option are correctly manage for a standard cfg files but if user has a post processor with
hard customization could have a side effect if use a new gun drilling option.

In post processor macro language is created a new section $COOLANTPP to manage the change of
coolant. This section is calling every time when there is a code of change of coolant type.

Now when there is a gun drilling tool-path following is the macro language section sequence.

$OPERATION_BEGIN
All the operation gun drilling parameter are define in this section.

$SPECIAL

$GOTO_XY_RAP

$GOTO_Z_RAP

$GUNDRILLING_START

$GUNDRILLING_DRILL

$GUNDRILLING_END

190
Post Processor

$GUNDRILLING_START

This section includes the following points.


Previous points are managed from $GOTO_XY_RAP $GOTO_Z_RAP

191
Post Processor

$GUNDRILLING_DRILL

This section includes the following points.


All feed movements until the end of the drilling.

192
Post Processor

$GUNDRILLING_END

This section includes the following points.


The optional retract movement in feed and all the retraction movements until the clearance plane.

-Related topics-
Gun drilling parameters.

193

You might also like