# Tool change Z probing problem

**URL:** <https://forum.onefinitycnc.com/t/tool-change-z-probing-problem/2851>\
**Category:** Troubleshooting (X35/X50)\
**Created:** [January 16, 2021, 9:43pm UTC](https://forum.onefinitycnc.com/t/tool-change-z-probing-problem/2851 "2021-01-16T21:43:10Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![349iq2345](https://avatars.discourse-cdn.com/v4/letter/3/bb73d2/32.png) [@349iq2345](https://forum.onefinitycnc.com/u/349iq2345)\
**Post date:** [April 5, 2024, 6:42am UTC](https://forum.onefinitycnc.com/t/tool-change-z-probing-problem/2851/11 "2024-04-05T06:42:09Z")

</div>

Hey B2Bass,

a g-code file with multiple tool changes **works fine** with the Buildbotics and the buildbotics-derived Onefinity controller. It’s just that you have to put a **useful** tool-change routine into the ‘tool-change’ field on the SETTINGS page (there is no useful routine in this field on the stock Onefinity). You can use my [Aiph5u’s ‘tool-change’ routine](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/29).

> [@Spindle RPM Turning Off Between Cuts](https://forum.onefinitycnc.com/t/spindle-rpm-turning-off-between-cuts/25985/2):
>
> Also do you have tool changes in your program? If so, you got to be aware the the ‘tool-change’ routine on the stock firmwares was always unusable. You can use [my ‘tool-change’ routine](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/29) that works.

> [@Save toolpaths individually or as in one file?](https://forum.onefinitycnc.com/t/save-toolpaths-individually-or-as-in-one-file/25424/3):
>
> if you want to use a g-code toolpath file with multiple tools with the [buildbotics](https://buildbotics.com/)-derived [Onefinity Controller](https://www.onefinitycnc.com/_files/ugd/1cee9f_bed246d0462e443ab8f782f2384d4ddb.pdf), please be aware that the ‘tool-change’ routine that is delivered with the Onefinity in the SETTINGS page does not work. You can take [the ‘tool-change’ routine that I provide here](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/29) instead.
> 
> #### Further reading
> 
> - [What will Aiph5u’s tool change routine do?](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/50)

> [@Is the solution they offered my best one?](https://forum.onefinitycnc.com/t/is-the-solution-they-offered-my-best-one/19862/3):
>
> Regarding the other way, i.e. splitting the g-code file to one file per tool, of course there are advantages and disadvantages:
> 
> > [@Tool changes And Z Height](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/46):
> >
> > > [@Tool changes And Z Height](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/45):
> > >
> > > > [@Tool changes And Z Height](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/43):
> > > >
> > > > > [@Tool changes And Z Height](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/41):
> > > > >
> > > > > can you think of any pros/cons of running a single gcode file with multiple manual tool changes vs running them as separate files, one for each tool change?
> > > > 
> > > > usually you would say, if your program is well-tested and mature for production, _one g-code program with all the tools_ saves time.
> > > > 
> > > > Many forum members here say the advantages of _one g-code program per tool_ is that you can change the program for a certain tool easier or re-run a pass easier. They put the name of the tool into the file name, and the pass that it is for.
> > > 
> > > Yes to this. I used to be in the camp where I wanted to keep all tools in the same program. But because I don’t have an ATC and am not running production on anything, I find it more convenient and flexible to actually program for separate tools. So even though I _can_ program for tool changes, I prefer not to.
> > 
> > I was in the “one program per tool” camp until I implemented the tool setter then I found it was easier to and more accurate put them all in one program and use the tool change to measure T1 Z height, switch to tool 2, then measure T2 Z height and automatically reset the Z offset accordingly. This also works well if your Z axis zero point no longer exists after running the first tool path.

> [@Running gcode file that has 2 tool paths](https://forum.onefinitycnc.com/t/running-gcode-file-that-has-2-tool-paths/19073/2):
>
> Of course the Onefinity CNC machine, whose Controller is derived from the [Buildbotics.com](http://Buildbotics.com) Controller, can do g-code programs with multiple tools.
> 
> It’s just that Onefinity, unlike Buildbotics, don’t want to bother with this and simply recommends splitting the programs into individual programs.
> 
> But the Buildbotics and the Onefinity Controller let the user control the behaviour of the machine in a field called ‘tool-change’ in the SETTINGS page. The problem is, Onefinity delivers the machine with g-code content in this field that is unusable, which leads to a situation where users are stuck in the middle of a program with no possibility to change the bit.
> 
> Buildbotics, on the other hand, describe thoroughly how you use this ‘tool-change’ field [here](https://forum.onefinitycnc.com/t/like-many-new-forums-the-excitement-and/9209/14), to have the machine behave the way you’d like it when the machine encounters a ‘tool-change’ event.

---

_[View the full topic](https://forum.onefinitycnc.com/t/tool-change-z-probing-problem/2851)._
