# Machsupport Forum

## Mach Discussion => General Mach Discussion => Topic started by: HimyKabibble on January 31, 2009, 10:14:17 PM

Title: Setting Tool Length
Post by: HimyKabibble on January 31, 2009, 10:14:17 PM
OK, stupid question time:   I'm trying to understand how tool length is normally set.  What I've been doing is using a gauge block, which I set on the top surface on the top of the part, touch the tool to the block, then set the Z DRO to the block height.  This, of course, works fine, but I'm looking for something better.  I made a quick-n-dirty height gauge using a dial indicator, following an example on the Industrial Hobbies website.  But, I'm having a hard time seeing how to use it with Mach3.  It is intended to sit directly on the table, and you touch to tool to it, and lower the tool until the indicator reaches a specific reading.  All well and good for setting the height above the table, but all the Z positions in the G-code assume Z=0 is the top surface of the part.  So, if I'm holding the work in a vise, the top of the part may be 3" higher than the table surface.  So, how do I go from touching the height gauge, to correctly setting the Z DRO to the top surface of the work, without having to do the mental arithmetic, and typing into the DRO.  I intend to make an elecronic touch place, which would raise the same questions....

Regards,
Ray L.
Title: Re: Setting Tool Length
Post by: jimpinder on February 01, 2009, 02:30:44 PM
Ray - you ARE getting serious now.

Unfortunately each tool has only one setting, so for different jobs - well, you could enter the tool in the tool table in a number of different positions for different jobs, but that would be a lot of work.

What you really need is "HOME" switches - and you home the machine. Machine co-ordinates are 0.0.0 Zero all your program co-ordinates as well.

You now set all your tools with the machine in this position. Start with one - a length of rod - that is long enough to touch the top of your table. This is tool offset 0. All other tools are then set using that one, i.e. the z axis will have to be moved (normally down) to touch the same point. This gives you the offset of the tools. You dont actually need tool 0, you could just put a tool in and move the axis down until it touches the table.You do need some method of locating the tools in the same position each time. I start with the z axis at 0, then move the tool down until it touches my touch plate (a piece of copper clad). when it stops I look at the z axis readout then add the thickness of my coppr clad. Thats the easiest way to do it, I think.

You should now be able to put each tool in the holder, select the appropriate tool number, and do G0Z0 and the tool should move down and touch the table.

For your different fixtures, you vice etc, offsets are entered into your fixtures table. so that each different start point for your 0.0.0 position has its own fixture offset. (There are 255 to go at). This fixture is entered into the GCode program at the begining
(once all the preamble is finished). Enter, for example  G55 - G0X0Y0Z0 - M1

The sequence is then - home, enter the program, and run. The machine should automatically move the tool to the correct 0.0.0 position for that program, and stop and wait for you to check that all is well. Presscycle start again, and away you go.

This does seem a lot of work BUT you only do it once - even the offsets can be used more than once if you use, say, your vice for a number of different programs.

When it comes to running program it is childs play.

Title: Re: Setting Tool Length
Post by: HimyKabibble on February 01, 2009, 07:18:43 PM
Home switches I've got.  No problem there.  Where I have a problem is my small endmills (under 1/4"), which I mount in collets.  I have the larger ones in Tormach endmill holders, so those I can setup in the tool table no problem.  The small one I have to set the offset at the time they're called out in the program, since their length is not repeatable.  So, I still don't understand how to use my touch tool to set the length for these "loose" tools when a tool change comes around.  Seems to me the process would be something like:

1) Set the current tool to a reference position on the touch tool.
2) Swap tools, and move the Z axis to the same reading on the touch tool.
3) Note how much the Z axis was moved, and add/subtract this value from the offset for the previous tool, to determine and set the offset for the current tool.

So, let's assume I'm working with a part in the vise.  Machine Z zero is set to the table surface.  Work Z zero is set to the top of the work, let's say that's Z=5.  The reference position on the touch tool may be at machine Z=4.000.  So, when a toolchange rolls around, I move to work offset Z-1.  I swap the tool, and move the Z axis to get the same reading on the touch tool.  This is a shorter tool, so I've moved the Z axis down 1" to machine Z=3.000 get the same reading on the touch tool.  This would make the tool offset for this tool 1" less than the tool offset for the previous tool, so I do that math, and set the offset in the tool table.

I'd like the process to be automated, so I can just move the Z axis to get the correct reading on the touch tool, then press a button that executes a macro to do the math and set the tool offset.  Is that reasonable?  Is it the right way to do it?

Regards,
Ray L.