The ShopBot “Virtual” Toolchanger- Part 2

In my last article I explained why we need a toolchange routine, and in this one I will try and show you what it takes to do this and how it works. During this explanation I will give reference to the toolchanger code. Included with SB3 Version 3.6.1 (the latest), in the C:\SbParts\Custom folder is a Manual Toolchange folder that includes these files. There is also a file named “MTC” in the C:\SbParts folder. This file has all the code required to operate toolchanges using the SB Link on ShopBots with OEM configurations. Some of the code in this file uses new commands and I will show how these new commands or parameters are used.

Tool Numbers:

Unless you have a ShopBot drill installed on your machine, you probably have not had to pay any attention to assigning a proper tool number to a bit that was installed on your machine. Even if you plan on using a single head and single bit, the ShopBot Link will require assigning a unique tool number to this bit. This is done in the TOOLING section of the SB link setup. Setting these up is very similar to any toolpath operation with Part Works software. Those of us that have drills already know that you must select the proper tool number to allow the software to apply the proper offsets for that tool. This will apply to all tools used with the ShopBot Link.

The numbering system that ShopBot has implemented uses tool numbers 11 thru 19 for head 1 (Z), 21 thru 29 for head 2 (A), 31 thru 39 for drill 1 (on Z) and 41 thru 49 for drill 2 (on Z), 51 thru 59 for drill 3 (on A) and 61 thru 69 for drill 4 (on A). Any consistent numbering system can be used, but the tool numbers selected in the TOOLING section of the SB Link MUST be the same as assigned to the proper head in the toolchanger routine.

Zeroing Using the ShopBot Link:

 To use files generated by the Link, you must zero to the top of the spoilboard. The Link outputs the material thickness for each sheet based on your design thickness and pre-nest adjustment, and the toolchanger files adjust the Z height based on this thickness. Another setting in the Link is for a “Wasteboard Thickness”. If you do not use an additional sacrificial board (most ShopBotters don’t) set this to zero. Any setting other than zero will bring up a message box with each sheet so that you can renter each time.


 Most of the “action” of the toolchange happens in the C9 file. I will try and explain what commands are required, how to make them work, and in what order to place them. Thanks here go to ShopBot’s Beta and Link Staff for their patience as they taught me these commands and functions as we Beta tested the ShopBot Link. Here is some sample code from the MTC file that swaps to the head 2 (A axis):

(First axes are set to equal height to allow swap)

VI, , , , , X, Y, A, Z



The VI command sets the axis order to X,Y,A,Z which swaps the order of the A & Z and sends all Z height moves to the A axis. The VO command parameter “1” sets temporary offsets “ON” and applies an X offset, a Y offset and a Z offset (the material thickness) to the position. The X & Y offsets are the same number value that is used in the OEM inch or mm Head2 offsets, but you must be careful of the + or – sign. Between the PRT and PRS there are many different options to locating the 2nd head. To work with the toolchanger files, the proper value, negative or positive, can be best explained as the position that the head 1 tool would be at when the head 2 bit is at the 0,0 position.

When changing to a drill on either axis you may want to use another of the new features added to the VC command. Here is a sample line:

VC, , , , , , , , &On_Threshold, &Off_Threshold, Z, &DrillSW

This added command allows those with PRS drills and smaller compressors to cycle the drill motor on and off as the axis plunges. It will also allow owners of PRT drills to get functionality, but without the depth control available with a piggyback drill setup such as the PRS Drill.

The “On_Threshold” is the Z height at which the selected output is triggered on during a plunge. The “Off_Threshold” is the height that it turns off on retract. Your safe Z and rapid transit Z heights must both be higher than this number to insure proper use. The “Z” parameter is the axis that is going to do the plunge. Due to axis swap, this will always be the Z in toolchanger files. The last parameter “DrillSW” is the number of the output that gets triggered by this command. PRT drill users will need to set an offset for the Z that insures the bit will not hit the material when it plunges to the drilling depth. This is necessary to trigger the drill output. Most of the other code lines allow manual bit changes and rezeroing of the changed bits. A tool number and a C9 are called at the beginning of each file. A C7, a tool number, a C9 and then a C6 will be called up between each cutting segment when a different bit is required.


 The Custom6 file is used to turn on spindles, routers, vacuum, dust collection or plunge a drill used in the next cutting segment with the selected tool. IF you have these items, you should be familiar with how to enter them in a file. Another option with the SB Link is to add operations particular to a sheet, such as vacuum, to the “HEADER OPTIONS”. This way the vacuum can be turned on for every sheet and turned off at the end of cutting. Whatever you turn on in the Header, remember to turn off in the “FOOTER”. C6 will be called up after every C9.


 The Custom7 is used to reset all the axes to their defaults, reset offsets and settings that were added in the C9 back to those of the primary cutting head (Z). It will also turn off any outputs turned on for spindles, routers, drills or accessories. It will always be called before a C9 except at the file beginning, as nothing has been turned on yet. It is also always called up at file end.

There are specific orders in which these commands need to be used so that they work properly. If modifying toolchanger files make sure you test them to insure predictable results. You can most likely change the parameters, but be careful when changing the order within the toolchanger files. A special thanks to the ShopBot Beta Team for the lessons.

Other Useful Custom Files:

 Another option we will have when using the link will be to have a “custom file” called just before and right after an individual sheet is cut. These are setup using the sections “Header” and “Footer” in the SB Link “Setup”. Due to limitations on what can be entered in these areas, I have been using a Custom Cut callup. This allows me to enter whatever I wish to either the header and footer spots in the cutting file. Jogging the gantry to an out of the way area of the table to allow sheet loading will be the most common of these entries. Another would be to switch on or off vacuum hold down. Any legitimate ShopBot programming command can be entered into these files. Remember that these are best used for sheet specific commands, not those needed for a tool or complete cutting file (job).

Since the “Header” file is called after the load sheet message box and acceptance, this is perfect for Switching on Vacuum. You shouldn’t need to have the “Park” move in the header as it is assumed that the gantry will be parked in an out of the way location prior to starting the link.

The “Footer” file would be where you turn off the vacuum and then move your gantry to its park location. The gantry will remain “parked” thru the sheet change, and then the Header file will turn on vacuum to enable cutting the next sheet.


 With the ShopBot Link we also have the option for two sided machining. These are referred to as “flip operations” in the Link. These “FlipOps” are by default done by flipping the part, oriented as it was cut, in the X direction and placing the proper corner in the 0,0 location on the table. The FlipOp beginning segment will allow you to enter an offset, in case your indexed location is not at exactly 0,0, switch an output to raise pop up pins, turn on vacuum, retract the pins and press enter when complete. The end segment will disable all of these at the end of the FlipOp and allow you to process another part.

Next month: Setup and Tool parameters.

Comments are closed.