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, as described here.
Buildbotics, on the other hand, describe thoroughly how you use this ‘tool-change’ field to have the machine behave the way you’d like it when the machine encounters a ‘tool-change’ event.