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.
Of course the Onefinity CNC machine, whose Controller is derived from the 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, to have the machine behave the way you’d like it when the machine encounters a ‘tool-change’ event.