Hi @wgr_eng ,
I have compared both files and found that some of the options you can activate through post properties and CAM project.
To get G54.1 P1, You need to set WCS offset more than 5 in CAM project.

To get smoothing codes and G53 safe retract, You can control through post properties.
To output, Q codes instead of P, Search below codes and change it Q.
// Output each operation as a subprogram
if (!usePattern && properties.useSubroutines) {
currentSubprogram = ++lastSubprogram;
writeBlock(mFormat.format(98), "Q" + oFormat.format(currentSubprogram));
firstPattern = true;
subprogramStart(_initialPosition, _abc, false);
}
to get force G69 at the start of the program, search below codes and codes as shown below,
// absolute coordinates and feed per min
// add these two lines codes from here to
gRotationModal.reset();
writeBlock(gRotationModal.format(69));
// here
writeBlock(gAbsIncModal.format(90), gFeedModeModal.format(properties.useG95 ? 95 : 94), gPlaneModal.format(17), gFormat.format(49), gFormat.format(40), gFormat.format(80));
to get force G0 or G90 with other NC codes, You need reset the codes {___.reset()} and then Add the code(G90 or etc) with other NC codes(X,Y....)
} else {
gAbsIncModal.reset(); // reset
gMotionModal.reset();// reset
writeBlock(
gAbsIncModal.format(90),
gMotionModal.format(0),
conditional(machineConfiguration.isMachineCoordinate(0), "A" + abcFormat.format(abc.x)),
conditional(machineConfiguration.isMachineCoordinate(1), "B" + abcFormat.format(abc.y)),
conditional(machineConfiguration.isMachineCoordinate(2), "C" + abcFormat.format(abc.z))
);
}
please note after the modification save the post and then test it carefully. I know there are other minor or same modification required as per the sample file but I think, now you can manage it.
I hope this helps, but please let me know if you need anything else or if you have any questions.
Thanks,
Krupal Vala
Senior Technology Consultant - Post Processor & Machine Simulation