I have attached the drawing, postprocessor and the output from the post processor. I am not a machinist or a programmer. Just a retirement hobby.
windows 10
Qcad/cam Version: 3.27.8.0 (3.27.

Boss9.js postprocessor
Moderator: andrew
Sorry, but there is no tool header/footer or M6 in the MassoXYnoZ.js postprocessor script.
But now you say:
Question: Did the Masso Controller return to the piece after a toolchange or did it not?
Yes, variables X, Y and Z are the final positions of the last move/action by QCAD/CAM.
I was referring to the Bridgeport R2E4 with the Boss 9 controllerKA8MID wrote: This controller M6 stays in the same place. If you set the Clear Reference point you use a M26 for a tool change. It moves off the part so you can change the tool. Neither one will return to the part.
I will try including "[N] G0 [X] [Y]"CVH wrote:Yes, variables X, Y and Z are the final positions of the last move/action by QCAD/CAM.
Simply including "[N] G0 [X] [Y]" in the tool footer would return to that last position I suppose.
I would not include [Z] but you might consider to move to Z save first.
Not sure what happens with the initial tool setting at the beginning of a job
I need to clean that up. When I tried that it uploaded the tool list and the Boss 9 did not like it and would error out.CVH wrote:About the Boss9.js postprocessor script.
Boss9.prototype.writeHeader is enhanced to include a tool list in the G-code file header.
But at line 66 it doesn't write any of the tool info to the G-code file because the line is remarked out.
If not required then you could delete that section from your postprocessor, the part that is required is handle by CamExporterV2.js itself.
AKA a manual tool change.
In 9.2.1 is explained how this should be formatted.
I included "[N] G0 [X] [Y]" It did not act correctly until I added this to the fileCVH wrote:AKA a manual tool change.
But as explained one could include a move in X and Y.
M6 must be in G0 mode. Step 1 is stopping the spindle and the coolant so an M9 can be omitted.
Not sure but I think it can be Nxx G0 Xxxx Yyyy M6 or Nxx G0 M6 Xxxx Yyyy
M26 does exactly the same as M6 but then Z and XY are stored parameters.
That helped. But the tool table was in Diameter. I added the following and now it puts the diameter in the correct tool #.CVH wrote:In 9.2.1 is explained how this should be formatted.
I think that this.writeBlockFromString("[N] T[T#]//[TR#]"); should be accepted.
The second parameter is empty, QCAD/CAM doesn't handle tool length compensations.
What you are doing here is overwriting the registration of the X & Y variables as they are declared in the GCodeBase.js script.