Is this not something people do?
Am I going about this all wrong.
Hi All.
Can anyone help me with how to program using a turn/groove tool, a profile between 2 shoulders.
Ive attached a sample profile.
I have had partial success using a G85 LAP cycle and calling a different tool offset partway along the bottom of the groove. I,e, T030303 to T130313
Using the attached sample profile, I started with a radial plunge at Z48 so I need the control to use what will be the trailing edge of the tool for its TNR comp as it works down the chamfer to the bottom of the groove. Will this be G41 or 42? Tool is working in -X and -Z direction
After this it changes to T130313 halfway along the profile bottom, do I then change to G41/42 as the tool now will move in +X and - Z direction.
For the TNR comp values: Tailstock side of tool: X0.4, Z-0.4 Chuck side of tool : X4, Z4
This is doing my head in.
If someone can help clarify this for me I would be so appreciative.
A sample program based on the attached example drawing would be helpful too using a G85 Cycle
Thanks to a great community
Regards, Iain.
Similar Threads:
Is this not something people do?
Am I going about this all wrong.
hi gibsoni, let's consider a groove tool at post 01 that should deliver a part with length = 7.3
drop the tool senzor and measure XZ inside main offset (= 01 ); here Z should be measured with the turret going towards the chuck
now measure XZ inside another offset ( i recomand = 21 ); here Z should be measured with the turret going towards the tailstock
if X_offset_01 <> X_offset_21, and you are not satisfied with this difference, simply input inside X_offset_21 the value from X_offset_01; on osp300 you may code this VTOFX [ 21 ] = VTOFX [ 01 ], or VTOFX [ VETLN + 20 ] = VTOFX [ VETLN ]; this 2nd code requires a T comand before; by coding it, you will avoid the need to manually update X_offset_21 each time X_offset_01 is changed; i can develop this even futher if you wish ups, i forgot you are on osp7000
Z_offset_21 - Z_offset_01 = insert_width
now let's write a program that will cut the face, and will cut the part off :
i hope that the code is easy to understand i don't use G85 ... kindlyCode:turret @ safe position G97 S1234 M42 M08 T010101; more precise, since this code don't uses radius comp, T0101 ( or T101 or T+01*101 ) is more than enough G00 X=part_dia+5 Z0 G01 X-2*radius F0.15 G95 Z0.3 G00 X=part_dia+5 Z-7.3 T21 G01 X-2*radius G00 X=part_dia+5 stop the spindle, stop the coolant, turret @ safe position
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...
if you wish for an G85 example, pls share an image + a code + how you wanna the cnc to behave; i will try to edit the code
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...
Hi Team and Deadly Kitten, thanks for your help.
Drawings attached showing the dimensioned part and also a schematic to describe tool. (refer to these when reading program and my comments)
4MM Grooving/turning tool.
T040404 set as standard RH tool offset (tool moving toward chuck)
TNR X= 0.4 Z= 0.4
T140414 set as standard LH tool offset (tool moving away from chuck)
TNR X= 0.4 Z= -0.4
(Not using tool P value. Choosing alternative method of indicating direction of radius centre from theoretical sharp tool point as per manual.)
Program for tool path whether for use in G85 or just as a tool path.
I don't know if this is correct in terms of G41/G42.
G00 X400 Z200
T140414 (call for +Z side of tool - traditional LH side) [edge b or e)
G00 X22 Z23 G42 (rapid to clearance and call RH TNR comp?) [edge b or e)
G01 X21 Z22.42 F1 (position to start) [edge b or e)
G01 X16.32 F0.2 (feed x) [edge b or e)
G02 X14.32 Z21.42 I0 K-1 (rad) [edge b or e)
G01 X14.32 Z15 (position part way along flat to change to other side of tool) [edge b or e)
G01 X14.32 Z5.81 T040404 G42 (feed to end with G42 using other side of tool - traditional RH side, -Z side to tool [edge a or d]
G01 X20 Z2.83 (cut chamfer) [edge a or d]
G00 X30 G40 (clearance plane) [edge a or d]
From the attachment:
At the start the tool is moving -X and -Z. The tool will ultimately be doing most of the cutting with the ‘a’ corner as this is the leading edge once it starts the turning along the Z axis. However I want to program using the b corner as this is the edge cutting the radius etc at this side of the groove. Does this matter? Do I call this G42 from the pre-positioning of the tool before ‘a-b’? Will the control be ok using TNR comp on the ‘b’ corner moving backwards? i.e. the theoretical sharp point is now behind the TNR centre, not infront of it.
I would then move to ‘c’ and call T040404 which uses ‘d’ corner. I presume this continues along as G42 along the bottom of the contour, up the chamfer and out.
Is this the correct way to do this?
What P value would I assign to a grooving tool like this in the tool setup page if I was to use it? Happy not to use P as I think I have a handle on assigning the positive or negative TNR offsets if that’s just as good for this.
Most of all I cant get my head around whether the control can comprehend that I am wanting it to compensate for the TNR at edge ‘b’ even though it is moving in the other direction. I.e. ‘b’ is really the trailing edge of the tool.
Thanks very much!
Iain.
Last edited by gibsoni; 06-02-2018 at 10:15 PM.
hi this is how i would program that finish cut :
check image 01 : i draw the part, i draw the toolpath with some clearance, i convert toolpath to G-code
putting a cut tool w4r0.4 at post 1 :Code:( X23.800 Z22.420 ) G01 X16.320 Z22.420 G02 X14.320 Z21.420 I0 K-1 G01 X14.320 Z05.810 G01 X23.800 Z00.836
... i measure towards X- and Z+ at offset 01
... i measure towards Z- at offset 21 and i input in X_offset_21 the value from X_offset_01
... i input X&Z radius = 0.4 at both offsets
... i input P4 at offset 01 and P3 at 21
... it takes me much longer to write this post for you, than actually creating the code
Code:G00 safe position rpm coolant, etc T010101 G00 X23.8 Z22.42 G42 F G95 ( X23.800 Z22.420 ) G01 X16.320 Z22.420 G02 X14.320 Z21.420 I0 K-1 G01 X14.320 Z05.810 T21 G01 X23.800 Z00.836 G40 safe position, spindle stop, etc
Not using tool P value : my dear Gibsoni, about the P quadrants, pls, learn them .... i can show you how to avoid them, i can give you a code that does not require P, but i recomand strongly to understand them; after that, you can mess with them
Will the control be ok using TNR comp on the ‘b’ corner moving backwards ? : actually, the control does not care ... look, in comp mode, you may describe a circle with the tool, thus the ' contact point ' will go 360*
Happy not to use P as I think I have a handle on assigning the positive or negative TNR offsets if that’s just as good for this : yup, the P again; pls be aware that you may not use negative radius comp on a lathe; if this program works, pls try to change all radius from 0.4 to -0.4 and check what happens; go slow, be safe, and you may end up with an identical part; i can show you how to use negative comp, but this is too much for now
Most of all I cant get my head around whether ... even though it is moving in the other direction : pls remember that you may describe a full circle; i hope i will find an easy way to explain this to you, but now i can't make it easier ...
pls check that image : you don't need the dimensions marked with yellow and pls consider to keep Z0 in front of the part, not towards the chuck : in this way, a negative Z is always in front of the part
ok, now let's put that code for an osp300; i know you don't have osp300, but i shared this because i like it
Code:OS01 NGHOST G305 IF [ VRSTT NE 0 ] NEND NOEX V1 = 1234 ( rpm ) NOEX V2 = 0.15 ( feed ) NOEX V3 = 0.4 ( nose radius ) ( * ) NOEX VNSRX [ LINK ] = V3 NOEX VNSRZ [ LINK ] = V3 NOEX VNSRX [ LINK + 20 ] = V3 NOEX VNSRX [ LINK + 20 ] = V3 NOEX VTOFX [ LINK + 20 ] = VTOFX [ LINK ] ( CALL OCHK* ) ( verify offsets ) G304 CALL ODYNX LPOS = 23.8 LCTR = 1 ( dynamic indexing ) T+LINK*10101 M66 G97 S+V1 M03 M08 M42 G00 X23.8 Z22.42 G42 M63 F+V2 G95 K±1 ( so to keep the clearance, regardless of radius value ) ( X23.800 Z22.420 ) G01 X16.320 G02 X14.320 Z21.420 I0 K-1 G01 Z05.810 T21 X23.800 Z00.836 G40 NEND NOEX RTS
i would call the operation like this NN01 CALL OS01 ( w4 - P4P3 ) LINK = 01; also there is no need to declare the radius inside the comp table, and there is no need to update manually the X_offset_21 if X_offset_01 is changed; the code handles that; as a result there are 5 less input fields to be edited, thus at least 25 less keystrokes
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...
Thanks for your response.
A quick comment and I will come back with more later.
But, my control happily accepts -ve TNR values and according to the attached page, simply indicates on the machine coordinates where the TNR centre lies relative to the imaginary sharp corner.
Is this not the same as P value? Im happy to use P values if I can get it right. However this page seems to say that they are the same, at least for P: 1,2,3,4
Hi,
I just had a play on the machine using what I've learnt here and it seems to be doing what I want it to...
EXCEPT..
When I call the tool offset change (other side of groove/turn tool) part way along the bottom flat of the groove, the tool physically shifts backwards (opposite direction to feed) to put the other edge in the place where the first edge was. This will mark the part and cause a spring cut as well.
How can I stop the tool from moving when I call the other side so it continues on smoothly?
Regards, Iain.
this is it : there are 2 comp codes, one for each T, linked toghether tangentially, without unnecesary movements ( that may lead to marks on the part and others things )
using 2 T codes inside a single comp code is not possible on your toolpath, because there is the G02, arround which is not possible to change the T or to cancel the comp
Code:G50 S1234 G00 X400 Z50 G97 S500 M03 M42 ( M08 ) T030303 G00 X23.8 Z22.42 G42 K+1 F0.75 G95 (*1a) ( X23.800 Z22.420 ) G01 X16.320 Z22.420 G02 X14.320 Z21.420 I0 K-1 G01 X14.320 Z21.420 (*2) G40 K-1 (*2) G01 X14.320 Z05.810 G42 K+1 T230323 (*3) G01 X23.800 Z00.836 G40 K-1 (*1b) G00 X400 Z50 M05 ( M09 ) M02 (*1a : K+1 so to always begin at X23.8, regardless of radius value ) (*1b : K-1 so to always end at X23.8, regardless of radius value ) (*2 : G01 at circle end point + imaginari vector, so to minimize and ) (control the comp-lead-out movement ) (*3 : new comp movement for the new T, with imaginary vector, so to ) (control the comp-lead-in movement ) M02
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...
Thanks for you helpful response and explaining your code.
So, are you saying that I cannot change tool offsets without cancelling G42/G41? Cancel the TNR comp and call the new offset and re-call the G42... Is that correct?
My control (osp7000) happily changed the tool offset on the run, but it did result in the Z shift of presumably the tool width, which is not good.
Why are some of your coordinate numbers different? Ive attached the drawing of the tool path I was trying to follow.
I have much to learn about the use of I and K values in this way.
This is what I used:
G00 X400 Z200
T140414
G00 X22 Z22.42 G42
G01 X16.2 Z22.42 F0.2
G02 X4.2 Z16.42 I0 K-6
G01 X4.2 Z12
G01 X4.2 Z11 T040404 G42 (resulted in tool moving backwards)
G02 X20 Z2.83 I7 K0
G00 X30
G00 X400 Z200 G40
M02
Thanks so very much.
Why are some of your coordinate numbers different? : pls be specific image from post 10 is not the same as the one from post 5
So, are you saying that I cannot change tool offsets without cancelling G42/G41? : no, i said that is not possible for your particular toolpath, because of the G02; however, i have succeded by breaking the long line into segments, but this causes interruptions; i did not shared that code, because, even if it works, it has auxiliary movements so, if the toolpath permits, you can change the offset without canceling the comp ( part from post 5 does not permit it )
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...
Sorry, I didn't realise I hadn't posted that other groove.
I am struggling to get a part to come out the right length I presume owing to TNR comp.
Its a fairly long program.
If you are able to look at it for me, should I post it here or PM you with it?
Many thanks for all your help.
Something that would be helpful on here - how to use I and K values with TNR comp cancel and what they do etc?
Regards, Iain.
pls check post13 in here : https://www.cnczone.com/forums/okuma...extra-0-a.htmlSomething that would be helpful on here - how to use I and K values with TNR comp cancel and what they do etc?
i don't have time to test such programs; is faster for me to write it from zero; so, pls share an image or describe accurately :I am struggling to get a part to come out the right length ...
... tool geometry
... part dimensions before and after the operation that needs improvement
* describe a bit what bothers you that's all ...
is better for you to receive a code that works, than for me to debug a random code that does not work yup, something like that ...
about inputting tool data from the panel, or from code, pls check attached image; i can't believe that there is no system variable for the P quadrant
kindly
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...
Thank you again for your help and offer to look at my part problem.
I have attached drawing.
As you can see this is a thin wall part and I finish the inside first.
All machined with TNR comp.
I then rough out the green section then the purple section with TN tool using G85 and then finish them both together with a finishing cut.
I then move onto the brown segment with VN tool running again in G85 with very shall DOC.
I run all my tool paths to 4mm past the end of the part as a clearance to part off with 3mm parting blade.
When I go to part off I am left with about 0.5mm flat section after the point part. i.e. the part is too short and it seems as though its owing to wrong geometry in the brown section.(maybe its theoretically 0.4mm short (TNR)).
Thanks for any ideas.
(Sorry, I learnt to program with Z-zero at the chuck side of the part. Im stuck with it :-)
Thanks.
Last edited by gibsoni; 06-06-2018 at 07:09 PM.
Geometry of actual part in green,
Planned geometry in yellow.
hi, in attached image :
... left : part dimensions and toolpath ( yellow ) with clearance dimensions
... right : toolpath dimensions ( or coordinates, etc )
pls, if possible, make your images easier to read kindly !Code:with vectors : G00 X60 Z+04.290 X2*25.240 Z+04.290 G42 K±1 (*1) G01 X2*23.745 F G95 X2*20.435 Z-01.290 G40 I+1 (*2) G00 X60 (*1) ( use K+1 or K-1, so X_cnc to be equal with program value ) (*2) ( use I+1 or I-1, so Z_cnc to be equal with program value ) without vectors : G00 X60 Z+04.290 X2*25.240 Z+04.290 G42 G01 X2*23.745 F G95 X2*20.435 Z-01.290 G40 G00 X60 for both samples, pls use P4
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...
Thanks Deadly Kitten,
Can you please explain why I must program 1.5mm either side of the geometry I want?
The 1.5mm in the Z- DIRECTION will be a problem as there is no material left.
Thanks for your help.
Regards, Iain.
those are clearance movements ( in & out ) : tool positioning above the part + cutting the taper + getting out of the part
exit movement is tangential to the part geometry, so to avoid marks on the part, and reduce servo demands
this is pretty simple; however, i don't know your setup, this is how i imagine it ...
and why there is no material left ? isn't it the material bar ? or you are clamping the parts one by one ? but in each case, a bit of clearance, is needed
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...