Any comments or suggestions on the following? Maybe I'm missing something?

The Gcode posted by LT will always be pre-compensated.

- The first move in the Z direction will = tool radius + the clearance set in LT for the pass. ( note that a user will probably vary the clearance settings)- The first move in the X direction goes to a point and the tool is assumed to be on the tool tip radius center lines ( lets call it point "B").

This makes use of Mach's tool table rather difficult. The tool table offsets are probably set up using a master tool which relates all the others based on where the tip is cutting. I am going to assume something, and that is, the userhas set home away from the piece to be machined. So the move from home will go to point "B".So one can't simply modify the tool table by adjusting the offsets ( if not adjusted all the actual cutting will be off by the radius), before hand, because the clearance needs to accounted for in the tool table adjustment of offsets.

I quess you generate the code , and then, adjust or create a tool table.ORTouch off each tool to be used ( if they are different ) prior to the every pass it will be used for.

Im not actually sure how to deal with that one. The code is developed algorithimically to be the center of the tool simply because it makes sense in the math to do so, almost impossible in fact to do otherwise. So its not so muchprecompensated by design as by effect. I do see that it makes a tooltable harder to manage.. The only thought I had given to that was that one would zero the tool to the stock when setting up..

What do you suggest as a solution? Not being a real lathe user in any practical sense, your suggestion may be better than one I come up with, but putting out uncompensated code may be difficult..

Hi Art & Rich Are you saying if a tool change is in the program the operator would have to home that tool to the material can't see that working as it would change the profile i am lurking and watching i have not put tool to metal yet only a Sim and i don't think LT is there yet very close though thanks art for what you have so far.

What do I suggest as a solution? Don't have a "universal / single solution" yet. Don't think there is one......I just need to take a good look at the generated code and try to anticipate what problems a user will have in both setup of his lathe and using his tools. That's what Appendix "F" Mach3 Turn is all about. There are a wide range of situations. IE; Most users will be doing a one of a kind profile, maybe want to repeat the profile, standard tooling / non-standard tooling, probably a quick change tool holder ( which has it's owne inherent limitations), no / modified/or original created tool table, a indexable rotary changer ( unlikely for the average user ), can or can't touch off to the profile, how closely somebody wants to turn to the drawn profile,...etc.

It comes down to tool setup, level automatation, and degree of accuracy the user wants to accomplish with the lathe system he has to machine the profile based on the precompensated code.

So i am taking an approach in the write up, and will assume some things to make tool set up managable. The writeup will cover basics of setting up the lathe, a how to on tool table setup, creating the offset for home, and relate all that stuff to whatever needs to be done to use LT's generated code to turn a piece. Ya just need to go through it all and see where the practical problems arise and see if there is something "simple" that can be added which makes tool setup less problematic and usefull.

A good example was the option of having the G28 and M0 added to the code. Also the M40 & M90 always posting.

Need to play around some more and will post if i get any ideas on it. There are a whole lot of more advanced users out there than myself.

Dennis,My assumption is that the user would always start from a homed position. Homed in the sense that the carriage position is away from the part far enough that he can change to any tool. If you have home switches you are at 0,0 automaticaly, if you don't have them then you set home away from the part. Still need to touch off to define the part location whether you do a skim cut or touch off with the master tool. I haven't used additional offsets, but, maybe some of that will come into play now.

If you use the same tool for say rough and finish passes then all is rather simple. If you don't, it gets more complicated. Put the tool on a goofy rotated angle as the second tool required for a pass, and you have lost position because you can't loosen a tool post and maintain position to say a master tool. So you will need to touch off ...again....to some reference. So there is an accuracy problem associated the basic tool setup and then there is also how accurate your lathe system is. Consider using a tool with with a radius different than what you created the pass with in Lt ( human error and it will happen).If the tool post is bolted to a cross slide which rotates, you still won't return the cross slide exactly back to where it was.Somewhat all of the above is nothing new.

You have a choice before posting if you want to post the G28 & M0. You can work any way you want.

From a drawing / design point of view you would not create a profile requiring a non standard tool insert these days unless really necessary as it drives up cost.

Hi Rich My lathe dose have a turret tool post and yes all the tool's are close but i am sure not exact in length reason for my comment it gets confusing when you are homing different tools and then doing multiple parts with the same code. i have used LT and get the same type of results as Chip had above meaning the code is not the same each time out but using the same DXF for a file is LT using a different approach to the each time it generates the G-code?

Dennis,I haven't looked at the posted code that much, but are you saying that for the same Lt defined tools and settings for the rough and finish passes that are used,the posted code varies?

I know that varying the rough and finish settings for the same tools will provide different results ( would be expected)and in some of those cases it does look like a different approach ( in fact, you would not want to do / post code from it ).You need to try something different.

As to tool set up ....yep....it can get confusing, and for a one only may take more time than machining it. Waite till you read my next posting..........

A G52 could be used to shift the part zero within the current work ofset by some amount. The G52 requires an active work offset. If home is set / it's at x & z =0 ( you have the offset in place as the user defines the part location from home via an offset).

So you use a G52 before the two G0 moves and then cancel the G52 after the moves. Thus if the tool table isbased on the cutting tip, the tool would actualy end up being aligned as if it was based on centers post the machine move from home..

So a few rules on use of the G52: - The tool offsets in the tool table are based on the tool tip cutting point. - There is a work offset from home ( home used here as the tool tip cutting point to part x & Z =0)

LazyTurn Rules: 1. If the same tool radius is used for all passes then only need to implement the G52 one time and home posting is only required once. 2.A G52 is always required on the first pass, and a G52 is always required if the tool radius changes from the previuos one.

G52 EXAMPLE FOR X TOOL ALIGNMENT "only":TOOL RADIUS =.010"

G52 X-.010 ( provides for adding the radius to the actuall length traveled in the G0x....move) G0 Z .......G0 X........G52 X0.0 ( cancels the G52 and returns to work offset)G.......no difference from here as the code is still precompensted including the clearance.

I think i got it right......... I guess there would need to be another posting option / options.Will ceratinly be confusing to a novice user.

Always seemed to me the best way to do it woudl be simply to select T0000, ( which has no X,Z offsets), zero the new tool, then Select the new tool, at which time the X,Z offsets in the table take effect. Of course this means no length offset being used since the X is being zeroed for each tool....the table woudl simply have X and Z offsets equal to that tools radius..