Tool number limitations specifications strategy

I just won a ten bit CNC starter bit set from the sawmillcreek.org woodworking site that I have been on for years. The set was donated by USroutertools.com and is a set of Southeast Tool bits.
Since I am now getting a range of bits, I need to figure out how to number them so I can keep them straight.
In that light, what are the limitations on the Tool Numbering in Carbide Create (and the other various software packages)? How many digits can I use? I am guessing it needs to be full numeric (but it would be nice to have a way to indicate source (01-201 for the 201 sourced from Carbide3D etc).

I feel like I am going to need an inventory spreadsheet.

John

You could answer this by just trying it. CC will only let you enter 6 numeric characters. And it outputs all 6 to the G-Code file. i.e. M6T123456

Of course, CM only knows the descriptions of the standard CC library tools.
So, if you use the #201 or you set your own tool number to 201, CM will prompt you to load (something like) “Load Tool #201 1/4” End Mill"
But if you use your own tool number, It will just prompt (again somethint like) “Load Tool #1”

I typically just number my tools by job. The first tool I use is #1, the second #2, etc…
And I’ll remember if it’s only a few tools, or print out the tool list to look at while cutting.

2 Likes

Folks have come up w/ some interesting strategies for this — I will note that there’s a limit in Grbl on tool # range, and the Carbide Motion manages them so as to not allow that limit to be an issue.

I’m and experimentalist by heart (and by training) but when it comes to syntax I figured a quick question might be helpful. So it sounds like it has to be numeric. I can try various permutations from there.

Thanks

John

1 Like

As @WillAdams said, remember that grbl limits you to a maximum tool number of 255. As long as you stay with CM this isn’t a problem but was a royal problem for me when I switched to CNCjs (to take advantage of better probing options). It wouldn’t be a bad idea to try to stay at a max of 255 just in case you ever change because it really was a pain to mentally remember my new tool numbers and to make sure I didn’t accidentally run a job using an old tool number.

And, fwiw, what I ended up doing was giving 20 numbers to a tool vendor (Vendor 1: 1-19, Vendor 2: 20-39, etc) and then using a number that made sense in there. For each, my 1/4" tool from 2L inc. is #64 and the 1/8" is #68.

But have fun experimenting and if you come up with something that you think is a great strategy, feel free to share it here for our benefit.

1 Like

Those seem to be two different limitations.
From what I am discerning from the other posts

  1. The tool numbers can be 1 to 6 digits so 0 to 999999 (or 1 to 999999)
  2. the 255 limit sound more like a total number of tools not tool numbers. So does the GRBL spec limit to 255 tools or are certain senders only configuring an array of known tools to an array that has an 8 bit address?

How often will one job have more the 255 tools? (I can’t imagine that many) So it seems that would be the Gcode sender has internal table of tools that is likely limited in size. So I think I might be able to use the tool number as a tool inventory number rather than the tool address in the sender tool database. Does that sound correct?

So if I want to call a tool 250621, and the sender (CM in my case) will prompt me for tool 250621, that seems like it would be reasonable. But what you are implying that if I shifted to CNCjs, there would be an array with 255 slots for tools. The 250621 would be associated with one particular slot in that array. OR is it would use 250621 as the address in the array and overrun the end of the array? (if that was the case, I couldn’t use the 302 tool number like the 60 deg Vee bit)

Is the bottom line: with CarbideMotion be up to 6 digits numeric (but otherwise no limits)
with some other sender your mileage may vary :slightly_smiling_face:

John

EDIT:

No, the 255 limit is a tool # limitation in Grbl — it is extremely memory constrained, so only 1 byte (0–255) is used, and I suspect 0 is used to indicate a tool hasn’t been declared.

Actually, as @Tod1d point out, Grbl doesn’t support tool #s — see:

so the limitation must be in CNCjs.

Carbide Motion allows one to use arbitrary tool #s and then, when one calls for tool #302, will use a number w/in the allowed range.

I would bet the only thing CM does with the tool number is look up the description for the tools it knows (from the CC tool library). Otherwise, the tool number is useless since both CM & GRBL have no need to store individual tool data. It just displays the tool number (and description if available) to the user so they know which tool to insert.

If there was a toolchanger, then tool data would be important. But with these type of machines there is no point storing tool data like tool length, because even if you reload the same tool it will be a different length.

So the tool numbers in the library are arbitrary, and you can use any organization scheme you want,
Within the limitation of 6 digit numbers.

2 Likes

This topic was automatically closed after 30 days. New replies are no longer allowed.