# Thread: parametric program for spiral helical interpolation

1. ## parametric program for spiral helical interpolation

Hello, I'm new in this forum, and spent 2 hours searching something about parametric program for spiral helical interpolation for HEIDENHAIN and nothing founded...

I think is not strange need so maybe someone can help me. Will be nice even if you send a "non-parametric" (I mean with fixed values) program!! Or maybe someone knows where I can ask.

Thank you

2. This program example will cut a 100mm dia hole 50mm deep at XY zero: -

0 BEGIN PGM 1 MM
1 TOOL CALL 1 Z S1000
2 M6
3 LBL 1
3 CC X0 Y0 ; DEFINES ORIGIN OF POLAR CO-ORDINATES
4 L X0 Y0 R0 F5000 M3
5 L Z0 M8
6 LP PA0 PR50 RL F500 ; MOVES TO START POINT WITH CUTTER COMP
7 CP IPA5400 Z-50 DR+ ; COMPLETES 15 REVOLUTIONS. THIS IS THE MAXIMUM ANGULAR MOVEMENT THE CONTROL WILL TAKE ON ONE LINE.
8 CP IPA360 DR+ ; BOTTOM PASS - MAY OR MAY NOT BE REQUIRED
9 L X0 Y0 R0
10 L Z0
11 LBL 0
12 STOP M30
13 END PGM 1 MM

Notation may not be perfect as its from memory. Obviously values are replaced with Qs if you are making a parametric cycle, and you will need to use some logic functions to work out total angular movement if you require a specific pitch or if you want to specify direction, bottom pass, internal/external options.

Let us know if you need further clarification (ie if you haven't worked with polar co-ordinates before).

DP

3. If I understood right, it's helical but not spiral... I mean is helical tapered (or conical, spiral...is the same) interpolation that I asked.

Thank you anyway christiandavid. More help?

4. So you need to produce an involute spiral path in 1st & 2nd axis(X&Y) while feeding in 3rd axis(Z)?

For example to machine a conical surface or tapered thread?

I know this can be achieved using Incremental Linear Polar commands.

If you could give me more information on what you need to achieve, I can give an example program (I don't have access to Heidenhain Controller so forgive any mistakes).

• Yes, that is what i want.

I want to mill a hole with helical spiral movement, because is a hole with this end surface (sorry for my limited English).

And what's your mode? I guess you use "sin" and "cos" functions.

• Lets make sure we understand each other!

If you simply need to machine a flat-bottomed hole using a spiral path I suggest you use CYCL DEF 5.0 (Circular Pocket).

If you are trying to achieve something more I need more explanation.

DP

• I need as you said "an involute spiral path in 1st & 2nd axis(X&Y) while feeding in 3rd axis(Z)".

I guess the cycle 5 is the same as the new cycle 252. But the surface of the hole I need to mill is tapered.

• OK, so you can rough machine the hole using drill and/or circular pocket, you just need to finish the sides of the hole to create a tapered hole?

DP

• I want to mill with this interpolation because the next tool is a tapered reamer (this was the word I can't find) and like this the reamer will have the same quantity of material in the sides.

(I also have a paremetric program for Fagor but doesn't understand totally)

• What are the dimensions of your reamer? The only tapered reamers I have used were for producing a hole for a tapered dowel pin. These have quite a shallow taper angle and can easily ream out from a parallel drilled hole.

Anyway, here is an example of how you could approach a conical motion: -

; 1st section USER DEFINED PARAMETERS
Q1=0. ; X POSITION
Q2=0. ; Y POSITION
Q3=0. ; INITIAL Z POSITION
Q4=-50. ; ULTIMATE Z POSITION
Q7=-2. ; Z FEED PER REVOLUTION (PITCH)
Q8=180. ; POINTS PER REVOLUTION (CIRCULARITY)
Q9=100. ; FEEDRATE
;
; 2nd section CALCULATED PARAMETERS
Q10=Q4-Q3 ; TOTAL Z SHIFT (-50 in this case)
Q11=Q10/Q7 ; REVOLUTIONS REQUIRED (25)
Q12=360./Q8 ; ANGULAR INCREMENT (.1)
Q13=Q8*Q11 ; TOTAL STEPS REQUIRED (4500)
Q14=Q6-Q5 ; TOTAL RADIAL SHIFT (-20)
Q16=Q10/Q13 ; Z INCREMENT (-0.011)
;
L X+Q1 Y+Q2 R0 FMAX ;
CC IX+0. IY+0. ;
L Z+Q3 ;
LP PR+Q5 PA+0. RL FQ9 ;
;
LBL 1 ;
LP IPR+Q15 IPA+Q11 IZ+Q16;
Q13=Q13-1. ;
FN:? IF Q12 GT 0. GOTO (LBL)1 ; I FORGET THE FN NUMBER...
LBL 0 ;
L X+Q1 Y+Q2 R0;
L Z+Q3 FMAX;

As I said before, I have no access to Heidenhain Controller at the moment so I cannot prove out this program - I believe you have a modern controller so you should be able to input the formulae as I have typed them. You could input Q1-Q9 into your main program then call a sub-program to calculate remaining Qs and perform the motions.

This is just one way of approaching the problem and you may wish to input the taper ANGLE for your application, rather than the start/finish radius.
If this is the case you should input a start radius and the angle into the first section - then calculate the finish radius in the second section using trigonometric functions.

I hope this helps. Remember it is quite basic and is only written to work in one direction. It should be a useful starting point and hopefully, somebody else out there will have some input and/or alternative solutions for you.

DP

• Hi Christinandavid!

I really thank you very much for the program!! :-))
There are a couple of thing I don't understand:
Isn't it Q12=360/Q8=2 (instead of 0.1??)
And what you use Q12 for?

And if you discount 1 to Q13, isn't it IF Q13 GT 0. GOTO LBL 1? (instead of Q12??)

I'm a little confused. Thank you!!

• You are quite correct. Well done, you passed my test...

Seriously, I changed my mind halfway through and my wife wanted the computer back, so I got a bit mixed up.

Let me know if you get it working, or if you spot any other mistakes.

; 1st section USER DEFINED PARAMETERS
Q1=0. ; X POSITION
Q2=0. ; Y POSITION
Q3=0. ; INITIAL Z POSITION
Q4=-50. ; ULTIMATE Z POSITION
Q7=-2. ; Z FEED PER REVOLUTION (PITCH)
Q8=180. ; POINTS PER REVOLUTION (CIRCULARITY)
Q9=100. ; FEEDRATE
;
; 2nd section CALCULATED PARAMETERS
Q10=Q4-Q3 ; TOTAL Z SHIFT (-50 in this case)
Q11=Q10/Q7 ; REVOLUTIONS REQUIRED (25)
Q12=360./Q8 ; ANGULAR INCREMENT (2.)
Q13=Q8*Q11 ; TOTAL STEPS REQUIRED (4500)
Q14=Q6-Q5 ; TOTAL RADIAL SHIFT (-20)
Q16=Q10/Q13 ; Z INCREMENT (-0.011)
;
L X+Q1 Y+Q2 R0 FMAX ;
CC IX+0. IY+0. ;
L Z+Q3 ;
LP PR+Q5 PA+0. RL FQ9 ;
;
LBL 1 ;
LP IPR+Q15 IPA+Q12 IZ+Q16;
Q13=Q13-1. ;
FN:? IF Q13 GT 0. GOTO (LBL)1 ; I FORGET THE FN NUMBER...
LBL 0 ;
L X+Q1 Y+Q2 R0;
L Z+Q3 FMAX;

• Page 1 of 3 123 Last