Right, thats what I do in my other CNC mill currently with the Tormach tool holders. Since this spindle is an ER-16 collet holder I currently have no way to maintain constant tool length data between tool changes. I guess one option would be to make my own set screw tool holders using the ER 16 taper dimensions, then the collet nut would clamp them in place. Would work well for small tools but would reduce my available z height which is already pretty limited.
I've seen on professional machines though where they check the tool height every tool change, usually when they're concerned about wear.
With the limited maximum tool size of the ER 16 collet, you don't have much in the way of options. I don't see any way to mimic the TTS capability. Your idea of set screw tool holders would be limited to small diameters as the o.d. on the socket would have to allow the ER 16 collet nut to slide past.
If it were me, I guess that I would resign myself to setting tool height every time I did a tool change. With one of the electronic tool setters, it wouldn't be too onerous. I had run a part on my old mill/drill where I had 35 tool changes. I had made my own version of an electronic tool height setter and had designated the DRO absolute coordinates to the tool height setter. I would set the tool height and rezero my absolute z axis coordinate which would effectively set my tool height for all my other work offsets. I had tried to do something similar for my Tormach using Mach 3 but couldn't find a way to make it work at the time.
I did a little playing around and it appears the the G52 command might do the job. A change by G52 affects all workplace offsets. Here is a suggested protocol.
1. Choose some means of zeroing on a reference surface; electronic tool setter. cigarette paper, dial indicator, etc.
2. Select an unused workplace offset e.g. G59 and zero all three axes on the reference surface with a master tool
3. Select the appropriate workplace offset for your machining and zero the z axis with the master tool. Repeat for any other workplace offsets.
4. When a new tool is installed, select the reference workplace offset and touch off the tool on the reference surface. Enter G52 Z0 in the MDI. The Z axis position should change. Enter G52 Z[new z position]. The Z axis position should now be zero.
5. The new tool is now zeroed for each of the workplace offsets.
While this still requires zeroing the tool with a tool change, its advantage is that the original work reference can be removed with a machining operation. I was playing with this in Tormach PathPilot but it should also work in LinuxCNC and Mach 3. Please verify before using.
My choice for tool setting is a digital dial indicator. This wouldn't be practical in the case of your ER16 collet chuck. However, it really isn't necessary to have a master tool. Your first tool or a pin, for that matter, could be used. The important thing is to zero out the reference surface and all of the intended work spaces