0% found this document useful (0 votes)
46 views196 pages

Post Processor

HARDWARE RECOMMENDATIONS FOR SOLIDWORKS 2023

Uploaded by

Khang Nguyen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views196 pages

Post Processor

HARDWARE RECOMMENDATIONS FOR SOLIDWORKS 2023

Uploaded by

Khang Nguyen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 196

Post Processor

CAM
Post-processor for VISI 2024.3
Macro language variables

1
Post Processor

CAM.......................................................................................................................................................................... 1
Post-processor for VISI 2024.3 ................................................................................................................................ 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
Tooling Magazine Handling .................................................................................................................................... 24
Cutting condition variables ..................................................................................................................................... 26
Feed table in NC file. .............................................................................................................................................. 27
Face variables and management ........................................................................................................................... 30
Operation variables. ............................................................................................................................................... 38
MACOUT and MDRILL functions. .......................................................................................................................... 39
Mathematical function in macro-language and main syntax rules. ........................................................................ 46
String variable ........................................................................................................................................................ 49
Free user Variables ................................................................................................................................................ 50
Sub-program and label management ..................................................................................................................... 50
Drill group management SPLITD and DSPPRI ...................................................................................................... 52
Split the drill cycle SPLITG ..................................................................................................................................... 53
Commands for file management in VP .................................................................................................................. 54
Vero Post Processor rules to assign a name to NC file. ........................................................................................ 57
Vero Post Processor section list $..... . .................................................................................................................. 64
Vero Post Processor setting variables. .................................................................................................................. 68
Python use in Vero Post Processor. ...................................................................................................................... 69
Bounding box variable sets. ................................................................................................................................... 73
Tool-path bounding box: ........................................................................................................................... 73
Stock bounding box .................................................................................................................................. 74
First tool-path point ................................................................................................................................... 75
Helix variables. ....................................................................................................................................................... 77
Setting in Vero Post Processor ...................................................................................................................... 80
Range for spindle speed management. ................................................................................................................. 80
Arc Helix management Vp_Arc_Small_Tolerance, MAXRD, SPLITC. .................................................................. 81
NEW VARIABLES STARTING FROM VERSION 10.1 .................................................................................... 83
New SPLITD variable (for Drilling Obstacle Management) .................................................................................... 83
New ASSREF variable ........................................................................................................................................... 83
New MAXRD variable............................................................................................................................................. 83
New SISTER_TOOL Section ................................................................................................................................. 83
New Variable ENHWPL.......................................................................................................................................... 84
New VARIABILI XCX XCY XCZ YCX YCY YCZ ZCX ZCY ZCZ ........................................................................... 85
NEW VARIABLES STARTING FROM VERSION 11.2 .................................................................................... 86
New Variables HTOLL VTOLL ............................................................................................................................... 86
New Variables AXAXIS ABSREF ......................................................................................................................... 86
New Variable REMARK......................................................................................................................................... 86
NEW VARIABLES STARTING FROM VERSION 11.3 .................................................................................... 86
New Variable ASSREF .......................................................................................................................................... 86
NEW VARIABLES STARTING FROM VERSION 12.1 .................................................................................... 86
New Variable GUIDEP .......................................................................................................................................... 87
New Variable VOVERS ......................................................................................................................................... 87
New Variable HSTEP ............................................................................................................................................ 87
New Variable VSTEP ............................................................................................................................................ 87
New Variable VSTEPL .......................................................................................................................................... 87
NEW VARIABLES STARTING FROM VERSION 13 ....................................................................................... 88
New Variables for Helix management ................................................................................................................... 88
NEW VARIABLES STARTING FROM VERSION 13 .1 SP1 ........................................................................... 89

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

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

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

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

6
Post Processor

56 manual technology
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 Available from 19.0.07.11
20
HM Roughing 2103 Available from 19.0.09.11
Roughing V21 562 Available from 21.0
Waveform roughing 2108 Available from 2022.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 Available from 21.0
21
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
Advanced Waterline (BETA) 2110 Available from 2022.1
Parallel Plane 149
Raster V21 549 Available from 21.0
Raster rest V21 561 Available from 21.0
22
Advanced rest mat (BETA) 2106 Available from 2018 R2 in preview -
released in VISI 2022.1
Advanced Raster (BETA) 2107 Available from 2022.1
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

9
Post Processor
Complex surface machining (ex 336 Available from 13.1 – Expired in 16
undercut) 62
ISO-Machining 336
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
3 to 5 axis (BETA) 2109 57 Available from 2022.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
240 Expired in 16
Milling 240 Available from 16 – expired in 21
Gen Milling 810 Available from 16 – expired in 21
HS Milling 260 Available from 18.0
Interactive Milling 240 Available from 21 – expired in VISI 2017
1
Mill D45 4002 R2
Profiling 261 Available from 2017 R1
2.5axis Remachining D45 4004 Available from 21 – expired in VISI 2017
Remachining R2
Available from VISI 2017 R2
240 Expired in 16
Quick Milling 2

Expired in 16
Milling By Successive Passes 3

241 Expired in 16
Pocketing Spiral
807 Available from 16 – expired in 21
Hs pocketing
808 Available from 16 – expired in 21
Hs face mill
241 Available from 21
Pocket classic D45 4
259 Available from 21– expired in VISI 2019
Facemill classic D45
4006 R1
Facemill
4001 Available from VISI 2019 R1
Pocketing
Available from 2017 R1
Gen Pocketing Zig Zag 241 4 Available from 16 – expired in 21
Gen Pocketing not Zig Zag 241 5 Available from 16 – expired in 21
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

10
Post Processor
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 D45 263 Available from 21
Revolution 257 Expired in 16
Gen Revolution 257 12 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 D45 264 Available from 21
Link between 298
operation

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

Waveform roughing 2108

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

12
Post Processor
Waterline evo V21 501 Available from 21.0
Const Z hybrid V21 2104 Available from 21.0
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

Advanced rest mat 2106 Available from 2018 R2 (preview) and released in 2022.1
Converted to
299
CxCyCz
5axis 333
4axis 334
Auto tilting
335
Converted to 5ax
3to5 axis (beta) 2109 Available from 2022.1
Advanced Raster
2107 Available from 2022.1
(beta)
Advanced Waterline
2110 Available from 2022.1
(beta)
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
FLDWKF write the workf file folder

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

19,Bull conic cutter DBT_MILL_BULL_CONIC


20,Radiused Dove cutter DBT_MILL_RADIUSED_DOVE
21,Barrel cutter DBT_MILL_BARREL

22
Post Processor

Barrel cutter taper


Barrel cutter tangent to shaft
Barrel cutter double profile
Barrel cutter lens
Barrel cutter section
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

Tooling Magazine Handling

Generalised Post Processor give the possibility to choose how organise a specific tooling magazine
for each machine by yourself.
To organise it you need a special file where you save all the information associated to each tool that
you are going to use.
This file should be call with the same name of the file configuration that you are using, but with a
different extension “.TEC”:
i.e.
the configuration file FANUC0M.CFG can read only a file called FANUC0M.TEC
...same name, different extension.

How recalling the tool information file?


To recall and use the tool information file you must set the variable TFILE to 1 inside STARTPP
section.
i.e.
$STARTPP
TFILE=1
“%”
“O100”

How organise tool information file?


Inside this file there are all the information that you want associate to each tool, like tool diameter,
length compensation number, diameter compensation, specific position in the tool carousel, life time,
speed etc.
Each line include a key code followed by numbers separated by comma.
The key code is the tool internal reference number. You can insert up to 10 value after the key code.
i.e.:

‘ this line is a remark


E20080CN, 1 , 9 , 19 , 11 , ... ,20
E20100CN, 8 , 8 , 18 , 22 , ...,31
D00031CN, 5 , 11, 12 , 15 , ..., 22

tool reference, first data , second data, etc.

How take this information inside the post processor file configuration?
Suppose that we need a file like follow:

‘ref.tool , tool position, diam. Comp., length,Comp.


E20080CN, 1 , 9 , 19
E20100CN, 8 , 7 , 18
D00031CN, 5 , 11 , 12
: : :
:: :

In $STARTTOOL section, if the file XXX.TEC exist and the variable TFILE=1 automatically the
program initialise the following variables with the data stated

TLCA => position 1 value


TLCB => position 2 value
TLCC => position 3 value
TLCD => position 4 value
TLCE => position 5 value
TLCF => position 6 value

24
Post Processor
TLCG => position 7 value
TLCH => position 8 value
TLCI => position 9 value
TLCL => position 10 value

Example:
If we are using the tool with reference E20100CN , TLCA will be 8, TLCB will be 7 and TLCC will be
18

Next tool information.


Automatically the post processor will initialise following variables, relative to the next tool:

TLNA => position 1 value


TLNB => position 2 value
TLNC => position 3 value
TLND => position 4 value
TLNE => position 5 value
TLNF => position 6 value
TLNG => position 7 value
TLNH => position 8 value
TLNI => position 9 value
TLNL => position 10 value

Reference tool omitted


If the post processor don’t found the corresponding tool reference inside the file give an error.
Remember that is really important that all that you use inside VISICAM must be recording inside the
tool file (*.TEC)

25
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).

26
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:

27
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.

28
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.

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.

29
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)

30
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

31
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 .

32
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
Tool parameters

33
Post Processor

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

34
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)

35
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

36
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.

37
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.

38
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)
PROFILING on Hole (the function MDRILL has priority to MACOUT)

39
Post Processor

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

40
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

41
Post Processor

42
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

43
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

44
Post Processor

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

PocK ReFerence 'B' point (arc centre)


PKRFBX
PKRFBY
PKRFBZ

45
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.

46
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.

47
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.

48
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.

49
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 STYPM=
section

NBS Initialized Available Available Only = 1


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

50
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.

51
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.

52
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.

53
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 “ \\ “

54
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).

55
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 .

56
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.

57
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.

58
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

59
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.

60
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).

61
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”.

62
Post Processor

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

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.

63
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

64
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

65
Post Processor

$GUN_DRILL

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

66
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

67
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

68
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.

69
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);

70
Post Processor
Python example file:

Mandatory functions

71
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.

72
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

73
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.

74
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.

75
Post Processor

-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

76
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.

77
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.

78
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.

79
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.

80
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.

81
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.

82
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"

83
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

84
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

85
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

86
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.

87
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

88
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:

89
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.

90
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.

91
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

92
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

93
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.

94
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

95
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

96
Post Processor

‘ With DSPPRI=1 Vero post processor

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

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.

97
Post Processor

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

98
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

99
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” .

100
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”.

101
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.

102
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.

103
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

104
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

105
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.

106
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.

107
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

108
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.).

109
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 :"

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

110
Post Processor

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+
28 L X-50,000 Y-7,500 R0 FMAX
29 L Z+52,000 FMAX

111
Post Processor
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.

112
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.

113
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.

114
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
Does not 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.

115
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
Z-3.

116
Post Processor

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

117
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:

118
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

119
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

120
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.

121
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).

122
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

123
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

124
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)

125
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

126
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

127
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

128
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

129
Post Processor

Circular parameters:
PKDIAM PocK DIAMeter (circular pock)

PocK ReFerence 'B' point (arc centre)


PKRFBX
PKRFBY
PKRFBZ

130
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
VCI=252

131
Post Processor

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";
@69(F) " ; - plane feedrate";
(CUTMET==1)?@77(+1) : @77(-1)
" ; - climb or conventional";

132
Post Processor
@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

output:
X445.45 Y0.
Z2.

133
Post Processor
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.

134
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.

135
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)

136
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

137
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.

138
Post Processor

n.b.
This option is always active.

139
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.

140
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.

141
Post Processor
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.
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

142
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

143
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.

144
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.

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”.

145
Post Processor

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

$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

146
Post Processor
$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

$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

147
Post Processor
$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.

148
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

$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

149
Post Processor
------------------- ┐ ------------------- ┐ ------------------- ┐
$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

…………. $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

150
Post Processor

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.

151
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.

152
Post Processor

This variable is write on the following VP sections.


[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 file VP_MaxLines_InFile =0 or >100
(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.

153
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.

154
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

155
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”.

156
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 ;
……

157
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).

158
Post Processor

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


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.
#Improvement the SPLITD=2 in the function STYPC.
#Improvement in variable SPLITD.
#New variable CYCCLE.

159
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”

160
Post Processor

• 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).

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.

161
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.

162
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

163
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.

164
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

165
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.

166
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.

167
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.

168
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.

169
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).

170
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.

171
Post Processor

C 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.

172
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.

173
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.

174
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.

175
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

176
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

177
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.

178
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

179
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.

All post processor channels could set the incremental mode.

180
Post Processor
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

181
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.

182
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.

183
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.

184
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.

185
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

186
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 .

187
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

188
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.

189
Post Processor

190
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.

191
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

192
Post Processor

$GUNDRILLING_START

This section includes the following points.


Previous points are managed from $GOTO_XY_RAP $GOTO_Z_RAP

193
Post Processor

$GUNDRILLING_DRILL

This section includes the following points.


All feed movements until the end of the drilling.

194
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.

195
Post Processor

NEW VARIABLES STARTING FROM VERSION 2023.1.2328

New parameter for print Workf information.


From VISI 2023.1.2328, the post processor can print the folder of Workf file that generate the NC file.

FLDWKF FoLDer WorKFile

Workf file information

NEW VARIABLES STARTING FROM VERSION 2024.3

New parameter for print machining tolerance and side and bottom allowance for 3to5 and
autotilting operation.
From VISI 2024.3, the post processor can print the following parameters MACTOL and HOVERS for 3to5 and
autotilting operation. The value of this parameters are read from main operation that is transformed by 3to5
and autotilting operation.

Operation variables.
Improvement the variable MACTOL for the new Aggregate operation.
Enhancement MACTOL for 2.5axis operation.
Improvement the variable HOVERS, VOVERS, HSTEP, VSTEP and VSTEPL for the ISO Machining and
5axis operation.
New Variable VOVERS

196

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy