Many thanks for your reply and I have good news and more questions. First the good news: When loaded and the tool path is generated it showed a normal trace with a blue line for the actual part profile and a white line just outside that - which I take to be the compensated path (?)
So far so good.
(There was a doubled up Y statement on block N270 on the first try but once I deleted one of them it did the above.)
When I tried a physical run it forced an Estop. As far as I can see that was because N30 wants to send both the X and Y axes to a negative position when starting with the coordinate system set to machine zero. Obviously it can’t physically do that it caused an Estop. I guess you are assuming that the coordinate system has previously been manually set to the workpiece zero? Once I offset the DROs to a position somewhere in the middle of the machine envelope, it ran fine.
Just a comment, I’m a bit puzzled by the initial XY values you used in N30 as I can’t work out what these values represent or how you arrived at them.
You’ve moved the tool call a couple of lines down to N40. Is this re-ordering significant?
In N20 you changed G70 to G20. As far as I have read, these are interchangeable but G70, according to the manual, is the preferred usage. Is this change significant?
You also added G91.1 which sets the I and J values of a G2/G3 call to incremental. I already have that set in the General Logic Configuration dialogue as the default condition. Is it necessary to restate it in the program or were you just being safe? Certainly the basic program without any G42 runs perfectly.
I notice it says in the manual in that section that, ”Incorrect settings of this mode will generally result in large incorrectly oriented arcs in the tool path display.” Which is certainly what I have been seeing. I’m still wondering why they are traced in white and just what that means.
You’ve also specified a diameter of .125” for Tool #1 when there is enough approach to allow a diameter of up to .250”. Is this a maximum allowable diameter in your view or did you just follow what I wrote in my post?
In N140 you have inserted a D value. This where I find Mach3 very poorly documented. The whole tool table, tooling numbering, ‘D’, ‘H’ and ‘P’ words, ‘slot’ numbers, etc. explanation is very vague and confusing. I am not at all clear whether, after calling a tool, you still have to program a D value, or alternatively, a P value. I’ve see other posts querying this too. It seems you don’t have to program an H value for length compensation to operate though. Or do you?
I am used to a language (Fagor controls) that, once you’ve called a tool, immediately uses the length and diameter of that tool when any compensation is invoked. This is without a tool changer. With a tool changer the programmed tool values aren’t used until an M6 is programmed. This is what Mach3 seems to do which is OK as long as you know. Is this correct?
Is a programmed D value essential for rad. comp. to operate? I did try this myself before but it didn’t seem to help. Does it need to be in the same block as the T# call or maybe the G42/41 call?
One last thing, out of curiosity, you changed the feed rates dramatically. Was this deliberate?
All in all you’ve given me something to work on so thank you for that. And thanks in advance if you are able to help with some of my further questions.