Hi,
not directly.
Gcode does not have a required instruction to call another file.
The M98 call however calls a subroutine. The subroutine code must be included in the currently loaded file.
That would mean that each job that you wanted to have this particular op included would have to have a copy
of the code to do the op. That would mean also that if you wanted to change the parameters of the op you would have
to change it in each and every Gcode job which used it. Not ideal.
May I suggest that instead of maing a separate Gcode file BoltHole.NC that you instead have the code included in a macro,
m150 say. Note that the macro code is stored in the macros folder of your profile and therefore any of your Gcode jobs
running under your profile can call m150 at will. Additionally if you wanted to change the parameters of the countersink
you need only change if in one file, namely m150.mcs
You could have multiple macros for different ops.
m150 countersink 1/4 cap head
m151 countersink 5/16 cap head
m152 countersink 3/8 cap head
etc.
Then in your main Gcode job CutPart.NC and you wanted to countersink for a quarter cap head at the current
location you would put a line m150.
Presumably the machine would have to do an m6 to get another tool or drill. Thus it would on entry need to save
the current location, THEN do the m6, THEN return to the saved location, THEN drill the countersink, THEN do another
m6 to restore the original tool, THEN return to the saved location, THEN m150 can return to CutPart.NC .
Craig