Thread Milling

Advert

Thread Milling

Viewing 25 posts - 1 through 25 (of 104 total)
  • Author
    Posts
  • #121591
    Anonymous

      This thread (good grief, a pun already) will describe my experiments in thread milling on a CNC mill.

      I've finally received my single point thread mill from Maritool in the US. It's a 60° version, so will do metric and unified. It seems smaller than I was imagining, the slightly fuzzy scale on the left of the picture is millimetres:

      thread mill.jpg

      Initial trials with the thread milling function in my CAM software produced code consisting of thousands of short G01 moves. Of course, that will achieve the correct toolpath, but it wasn't what I was expecting. Having eventually found an obscure switch in the program that allows helical paths to be generated either by linear segments or circular interpolation, I got the software to generate code using G03. Here's the relevant line of code:

      G03X25.993Y-24.911Z0.000I-1.000J-0.017K1.000

      This code is complete nonsense. Can anybody see why? I'm operating in the XY plane, so the only arc modifiers I can use are I and J, the K value is illogical. What it should have done is make Z=1 and not used K at all.

      I downloaded a thread milling wizard from the Vardex website and used it to produce code. For a 1mm pitch thread 10mm deep it produces 10 circular interpolation calls, one for each thread pitch. Here's one of the lines:

      G91 G03 X0 Y0 Z1.000 I-0.611 J0

      It is interesting to note the call to G91, incremental mode. If the cutter is first centred over the hole to be milled then by using G91 both X and Y are zero, as well as J, which makes the code much easier to read.

      The next task is to generate some proper parts to be made, test out feedrates, and then cut metal! I need to test feedrates because I'm not sure how the code will be interpreted. If, in the code above, I specify a feedrate of 100mm/min will that apply to the Z axis only, ie, the cut will take 0.01 minutes, or does it apply to the distance round the helix, which is much longer, depending upon the thread diameter?

      It's going to be a while before I get to cut metal, but at least I can now start to get things organised to do so.

      As an aside, the use of G91 caused me a few problems. When I came to use the mill for another part, after playing with the Vardex code, I had all sorts of odd numbers appear when trying to set up the tool table. Eventually I twigged that G91 is modal, ie, it is in force until explicitly cancelled. Mach3 clearly remembers the setting, even with the whole system shut down. When I typed in G90, absolute mode, the tool table settings suddenly made sense.

      Regards,

      Andrew

      Advert
      #15014
      Anonymous
        #121592
        MICHAEL WILLIAMS
        Participant
          @michaelwilliams41215

          Is it possible to rotate the cutter at a set constant rate and feed the work axially towards it at a set constant rate and thus generate a helical thread directly ??

          #121593
          Nigel Bennett
          Participant
            @nigelbennett69913

            We thread mill M2 threads on our CNC machines here at work. It's a lot easier to shake out the bits of a broken milling cutter in a much-machined chunk of mild steel than trying to get out a broken tap. I think we get a couple of hundred holes out of one cutter – we were throwing away blunt M2 taps by the bucketload before.

            #121594
            Trevor Wright
            Participant
              @trevorwright62541

              Andrew,

              Havent used Mach3 or g-codes for many years, but have done a lot of thread milling – 100mm/min will trash the cutter.

              Feeds are generally relevant to the path of the centre of cutter, which on a small thread will be very short – in other words start at 5mm/min and work up.

              trevor

              #121595
              blowlamp
              Participant
                @blowlamp

                Andrew.

                Here's a bit of internal thread-milling code from CamBam. It's of no particular size, but I specified a 10mm diameter cutting tool and a 2mm thread pitch, and cuts to a depth of 10mm.

                Martin.

                ( Made using CamBam – **LINK** )
                ( Untitled 6/5/2013 12:34:32 PM )
                ( T0 : 10.0 )
                G21 G90 G91.1 G64 G40
                G0 Z3.0
                ( T0 : 10.0 )
                T0 M6
                ( Drill1 )
                G17
                M3 S1000
                G0 X0.0 Y0.0
                G0 Z3.0
                G0 X5.0 Y0.0
                G0 Z0.1
                G1 F100.0 Z0.0
                G2 F150.0 X-2.5 Y-4.3301 Z-0.6667 I5.0 J0.0
                G2 Y4.3301 Z-1.3333 I-2.5 J-4.3301
                G2 X5.0 Y0.0 Z-2.0 I-2.5 J4.3301
                G2 X-2.5 Y-4.3301 Z-2.6667 I5.0 J0.0
                G2 Y4.3301 Z-3.3333 I-2.5 J-4.3301
                G2 X5.0 Y0.0 Z-4.0 I-2.5 J4.3301
                G2 X-2.5 Y-4.3301 Z-4.6667 I5.0 J0.0
                G2 Y4.3301 Z-5.3333 I-2.5 J-4.3301
                G2 X5.0 Y0.0 Z-6.0 I-2.5 J4.3301
                G2 X-2.5 Y-4.3301 Z-6.6667 I5.0 J0.0
                G2 Y4.3301 Z-7.3333 I-2.5 J-4.3301
                G2 X5.0 Y0.0 Z-8.0 I-2.5 J4.3301
                G2 X-2.5 Y-4.3301 Z-8.6667 I5.0 J0.0
                G2 Y4.3301 Z-9.3333 I-2.5 J-4.3301
                G2 X5.0 Y0.0 Z-10.0 I-2.5 J4.3301
                G1 X0.0
                G0 Z3.0
                M5
                M30

                #121597
                Bazyle
                Participant
                  @bazyle

                  Do you cant the head over at the helix angle or is the cutter shaped to allow for the way it cuts?

                  #121607
                  Ian P
                  Participant
                    @ianp
                    Posted by Nigel Bennett on 05/06/2013 12:36:11:

                    We thread mill M2 threads on our CNC machines here at work. It's a lot easier to shake out the bits of a broken milling cutter in a much-machined chunk of mild steel than trying to get out a broken tap. I think we get a couple of hundred holes out of one cutter – we were throwing away blunt M2 taps by the bucketload before.

                    I dont know much about thread milling and I assumed it was like screwcutting in the lathe but with the job stationary. I can see that an external thread (and large internal ones) could be done with a rotating multi-toothed cutter that moves in a helical path, but how that works on M2 internal defeats me.

                    I was told the threads even smaller than M2 could be milled, I would be grateful if you could explain how its done.

                    Ian P

                    #121610
                    Anonymous
                      Posted by Ian Phillips on 05/06/2013 15:38:15:

                      I dont know much about thread milling and I assumed it was like screwcutting in the lathe but with the job stationary. I can see that an external thread (and large internal ones) could be done with a rotating multi-toothed cutter that moves in a helical path, but how that works on M2 internal defeats me.

                      I was told the threads even smaller than M2 could be milled, I would be grateful if you could explain how its done.

                      Very small cutters, so I understand. Cutwel list a M2 carbide thread mill, it's OD is 1.55mm. Give that the ID of an internal M2 thread is 1.679mm, for a 6H tolerance, you'd better be centred on the hole before starting!

                      Andrew

                      #121611
                      Ian P
                      Participant
                        @ianp

                        Thanks Andrew

                        I can see how it can work but as you say there is not a lot of room round the cutter so swarf clearance, especially in blind holes must be fun, or maybe someone will tell me that these minute milling cutters are have though-holes for coolant!

                        What I need is a portable self contained, clamp-on, thread milling machine, (like a miniature version of the magnetically clamped Rotabroach). No more broken taps!

                        Ian P

                        #121613
                        David Jupp
                        Participant
                          @davidjupp51506

                          It is even possible to buy tools which can be used to both mill the hole and the thread – biggest benefit is cutting down on tool changes.

                          #121621
                          Anonymous

                            Trevor: I take the point that as the thread approaches the size of the thread mill then the centre of the cutter is traversing a very small helix. What I'm not sure about is how the controller interprets the feedrate command. For a helical interpolation there are two distances involved. One is the linear change in Z, and the other is the circumference travelled while traversing the change in Z. What I don't know is what distance the controller uses when it applies the feedrate. Is it the change in Z, or the total distance around the helix? For instance if I was cutting a 50mm diameter thread with a 1mm pitch, does it take the 1mm or the approximately 157mm around the helix.

                            Martin: Thanks for the code, it's alway interesting to see how other CAM systems generate code. The code seems to be making three G02 moves per revolution? Any reason why it doesn't just use one, or have I missed something?

                            Bazyle: The head on my CNC mill cannot be tilted. As far as I'm aware the thread mill I have bought has relief on both sides of the teeth, so that it can cut internal and external threads over a specified range of pitches, 20-56 TPI for my thread mill. I assume that this is not always the case for the more common thread mills that look more like a tap, as they sometimes seem to come in internal and external versions.

                            Regards,

                            Andrew

                            #121624
                            jason udall
                            Participant
                              @jasonudall57142

                              Andrew..as to which distance is used…in the cncs I know a modal command sets constant Surface speed or feed per rev..the former would be tool path speed combined with cutter perefferial speed..the latter would (should) be tool path only..but depending on the control implementation may only calculate for one pair of axes at a time…remember you are using G03G02 which need a modal command to select which plane to perform the interpolation in…

                              #121667
                              Trevor Wright
                              Participant
                                @trevorwright62541

                                Andrew,

                                The cutting speed varies and even on modern expensive machines seem to break their own rules. It is generally accepted that the cutting speed is based on the OD of the tool, but in my experience it doesn't always apply.

                                The only rule I lived by was to start slow and work your way fast – your cutter is too expensive to gamble with.

                                As a side note, the bigger machines use multi-thread cutters and cut all the threads in one revolution – fascinating to watch.

                                Trevor

                                #121670
                                blowlamp
                                Participant
                                  @blowlamp
                                  Posted by Andrew Johnston on 05/06/2013 20:32:15:

                                  …Martin: Thanks for the code, it's alway interesting to see how other CAM systems generate code. The code seems to be making three G02 moves per revolution? Any reason why it doesn't just use one, or have I missed something?…

                                  Regards,

                                  Andrew

                                  Andrew.

                                  I don't know for certain, but I believe CamBam splits its circles into three arcs of 120 degrees each, so I suppose the toolpath follows these arcs. It's still some of the most compact code that I've seen for this sort of thing if we're not including canned cycles.

                                  Martin.

                                  #121715
                                  Anonymous

                                    Martin: I still find it difficult to get my head round exactly what the I, J and K modifiers represent, but judging by the Z increments in the code CamBam is producing helical interpolations in 120° steps. Might be something to do with older controllers having problems with 180° or 360° interpolations?

                                    The Vardex wizard I downloaded generates one 360° interpolation, if you're using a multi-tooth thread mill, a bit like a tap. For a single pitch thread mill it generates interpolations equal to the depth of the hole divided by the thread pitch. I guess that's about efficient as you can get. The wizard also seems to like using incremental dimensions, presumably because once setup most of the parameters are zero.

                                    Trevor: It would be interesting to use a multi-thread cutter but they're rather more expensive than the single pitch ones I bought, so I'll experiment with those first.

                                    Over the weekend I might be able to find time to do some air cuts to see exactly what is going on, and check on how the specified feedrate relates to the actual toolpath.

                                    Regards,

                                    Andrew

                                    #121720
                                    blowlamp
                                    Participant
                                      @blowlamp

                                      Andrew.

                                      I don't think I can help much further with this, but maybe the LinuxCNC G-code reference will help.

                                      Martin.

                                      #121721
                                      John Stevenson 1
                                      Participant
                                        @johnstevenson1

                                        This is another thread mill code done with the new Mach4 wizards.

                                        Again internal, 10mm cutter, 2mm pitch and I have made the OD 100 mm so it easily shows the offsets.

                                        (***New File Started***)
                                        (created by NFS Mill, V4)
                                        (New File Started 06/06/13 22:59:26)
                                        (posted for Steel )
                                        (Strategy: Equal )
                                        (Rapid height: 3.0000 Clearance height: 3.0000 )
                                        G98 G80 G17 G90 G54 G64

                                        G21 G90
                                        (***New Tool Selected***)
                                        (ToolNum: 01 Diameter: 10.0000 )
                                        (Feed: 49.9500 SFM: 850.0000 Plunge: 0.2500 ChipLoad: 0.0037 )
                                        M9
                                        M5
                                        M06 T1 ()
                                        G43 H1
                                        M03 S4500
                                        M8
                                        (***Thread Mill***)
                                        (Xcen: 0.0000 Ycen: 0.0000 Diameter: 100.0000 Pitch: 2.0000 )
                                        (Depth: -10.0000 Ztop: 0.0000 )
                                        (Thread is Inside Right hand Climb Mill)
                                        G00 Z3.0000
                                        X0.0000 Y0.0000
                                        Z-10.0000
                                        G01 Y45.0000 F50.0
                                        G03 Z-8.0000 J-45.0000
                                        Z-6.0000 J-45.0000
                                        Z-4.0000 J-45.0000
                                        Z-2.0000 J-45.0000
                                        Z0.0000 J-45.0000
                                        G00 Y0.0000
                                        Z3.0000
                                        M09
                                        M05
                                        M30 (end of file)

                                        #121722
                                        M0BND
                                        Participant
                                          @m0bnd

                                          As I know this the K value is from the 'normal's' z +1 is upward facing, z-1 is downward facing (underneath) and any figure in between would be angular. This is for CMM's, CNC's and CADCAM (I use mastercam at work).
                                          Not sure if this helps or not.
                                          Andrew, I have messaged you with a link to a code generator for what I use at work for all types of thread milling.
                                          Andy.
                                          #121723
                                          M0BND
                                          Participant
                                            @m0bnd

                                            10mm deep 25mm diameter 1mm pitch thread in Heidenhain would be this code….

                                            CC X0 Y0

                                            L PR0 PA0 R0 FMAX M3

                                            L Z-10 R0 FMAX

                                            L PR12.5 PA0 RL F500

                                            CP IPA+3960 IZ +11 DR+

                                            L PR0 PA0 R0 FMAX

                                            I don't know why Fanuc (iso) make everything so difficult, but I do like how powerful and FAST everything is compared to Heidenhain!!!

                                            sorry for the unhelpful code above but it's so short I just had to share!!!

                                            Andy.

                                            #121731
                                            John Stevenson 1
                                            Participant
                                              @johnstevenson1

                                              OK so if we are showing short code the old DOS AHHA system uses this code for the same thread above.

                                              G14 I 12.5 K1.0 L 10 F100

                                              Thats it, one line

                                              G14 I.. K.. L.. F..

                                              I – Radius
                                              K – Lead dimension
                                              L – Number of repetions
                                              F – feedrate

                                              #121796
                                              Anonymous

                                                Martin: Thanks for the link. It has clarified how the I, J and K modifiers work. That's what I needed, a picture rather than a description.

                                                The Mach4 code seems sensible enough, one G03 call per 2mm pitch distance. Presumably the code is plunging the cutter straight into the cut, rather than using a circular interpolation entry?

                                                As for the Heidenhain code the only bit I understand, or like, is the IPA. beer

                                                I had to look up G14, as it's not mentioned in my CNC guide book. According to t'internet it's polar co-ordinates absolute, although this doesn't seem to be set in stone. Very confusing if one code function can mean different things. I suppose that's the thing about standards, they always end up being non-standard.

                                                Regards,

                                                Andrew

                                                #121798
                                                M0BND
                                                Participant
                                                  @m0bnd
                                                  Sorry, I didn't want it to go off on a tangent but WOW, I like the look of that code. I've never hear of the DOS system before, what happened to it?
                                                  Andy.Posted by John Stevenson on 07/06/2013 01:39:11
                                                  :

                                                  OK so if we are showing short code the old DOS AHHA system uses this code for the same thread above.

                                                  G14 I 12.5 K1.0 L 10 F100

                                                  Thats it, one line

                                                  G14 I.. K.. L.. F..

                                                  I – Radius
                                                  K – Lead dimension
                                                  L – Number of repetions
                                                  F – feedrate

                                                  Sorry, I didn't want it to go off on a tangent but WOW, I like the look of that code. I've never hear of the DOS system before, what happened to it?

                                                  #121801
                                                  blowlamp
                                                  Participant
                                                    @blowlamp

                                                    On the LinuxCNC link I gave earlier, it seems like it too can do a 'one liner', by specifying the number of turns after the 'P' option. Nice, if you can get your CAM system to make the right code. smiley

                                                    Martin.

                                                    #121802
                                                    Ex contributor
                                                    Participant
                                                      @mgnbuk

                                                      As for the Heidenhain code the only bit I understand, or like, is the IPA

                                                      IPA on a Heidehain control = Incremental Polar Angle

                                                      Heidenhain plain language dialogue programming is much more user-friendly than ISO for programming at the machine.

                                                      Nigel B.

                                                    Viewing 25 posts - 1 through 25 (of 104 total)
                                                    • Please log in to reply to this topic. Registering is free and easy using the links on the menu at the top of this page.

                                                    Advert

                                                    Latest Replies

                                                    Viewing 25 topics - 1 through 25 (of 25 total)
                                                    Viewing 25 topics - 1 through 25 (of 25 total)

                                                    View full reply list.

                                                    Advert

                                                    Newsletter Sign-up