Results 1 to 4 of 4

Thread: Threadmilling Fanuc Macro ?

  1. #1
    Registered
    Join Date
    May 2008
    Location
    India
    Posts
    92
    Downloads
    0
    Uploads
    0

    Smile Threadmilling Fanuc Macro ?

    Hi,

    does anyone have a macro for threadmilling using which a CNC Milling operator (Fanuc controller only) can do any threadmilling operation ? The input from user side would be
    Diameter of the hole,
    Pitch of the thread,
    Diameter of the threadmill,
    Total depth for threading,
    Incremental depth of threading operation
    AND
    Incremental deapth for threadmilling in Radial direction (This is very important as normal thread milling programs can be generated with all the above parameters but radial passes are not a norm).

    thanks a lot in advance
    Yaji


  2. #2
    Registered
    Join Date
    Sep 2006
    Location
    uk
    Posts
    136
    Downloads
    0
    Uploads
    0
    I've got one - PM me and I'll email it.


  3. #3
    Registered
    Join Date
    Jun 2008
    Location
    United States
    Posts
    1509
    Downloads
    0
    Uploads
    0
    Here is one that I wrote some time ago. You are going to have to prove it out because I originally had it setup to get the tool radius from the offset page. I also did not have it setup to do a single hole which it is set for now. It originally had been designed to do multiple holes around a bolt circle diameter. I took all of that out along with the variables.

    It works great and have had no complaints.

    R=TOOL DIAMETER
    I=PILOT HOLE DIAMETER
    Z=DEPTH OF THREAD
    K=PITCH OF THREAD
    T=TOOL NUMBER USED
    U=PRE CALL NEXT TOOL
    E=DIAMETER TO SPIN
    Q=PICK SIZE
    M=COOLANT CODE
    X=X LOCATION OF HOLE
    Y=Y LOCATION OF HOLE


    O0001(MAIN PROGRAM)
    #100=55(WORK COORDINATE)
    #500=3.(CLEARANCE PLANE)
    G65P8003R.29I.328Z.5K24T37U1E.375Q.012M8X1.Y1.
    M30

    %
    O8003
    (THREAD MILL EQ. SPACED HOLES 6/10/07)
    #18=#18/2(TOOL RADIUS)
    #19=60.(INCLUS. ANGLE OF CUTTER)
    #8=#8/2
    #4=#4/2
    M6T#20
    T#21
    #17=[TAN[#19/2]*#17]*#17(AREA CALCULATION)
    #31=[#4-#23]/2.(LEAD-IN RAD.)
    IF[#6GT3.]GOTO300(INCH)
    IF[#6LE3.]GOTO350(METRIC)
    N1#23=#18(TOOL RAD & WEAR)
    #31=[#4-#23]/2.(LEAD-IN RAD.)
    IF[#18GE#4]GOTO1030
    G90G#100X#24Y#25Z#500M3
    #22=0
    #1=1.
    N2#30=SQRT[[#17*#1]/TAN[#19/2]]
    IF[#30GE#8-#4]TH#30=#8-#4
    IF[#30EQ[#8-#4]]TH#22=#22+1(IDLE PASS)
    G0Z-#26
    G91G1X[#4+#30-#23-#31]Y-#31M#13
    G3X#31Y#31J#31Z#9
    G3X0Y0I-[#4+#30-#23]Z#6
    G3X-#31Y#31I-#31Z#9
    G90G1X#24Y#25
    IF[#30EQ#8-#4]GOTO3
    #1=#1+1.
    GOTO2
    N3IF[#22EQ1]GOTO2
    G0Z#500
    M5M9
    #3006=10(CHECK THREADS WITH GAUGE)
    M99
    N300(INCH PITCH CALC)
    #6=1./#6(PITCH TO Z MVT)
    #9=#6/4.(1/4 PITCH Z MVT)
    GOTO1
    N350(MM PITCH CALC)
    #6=#6/25.4(PITCH TO Z MVT)
    #9=#6/4.(1/4 PITCH Z MVT)
    GOTO1
    N1030#3000=10(THREADMILL TOO BIG)
    %


  4. #4
    Registered
    Join Date
    Jul 2007
    Location
    USA
    Posts
    3
    Downloads
    0
    Uploads
    0
    I wrote this some time ago for a Mitsubishi boring mill. It makes 2 passes roughing and finishing. This checks the depth in 1/4 revolution increments.
    If it helps please drop me a note.
    Good Luck,
    Terry


    %
    O67890(PARAMETRIC THREAD MILLING PROGRAM)
    (THIS IS PROGRAM DOES 2 ROUGH AND 1 FINISH PASS)
    (TOOL IS A SINGLE POINT THREAD MILL)
    ()
    (START OF OPERATOR VARIABLES LIST)
    #100=10 (TOOL NUMBER )
    #101=54 (COORDINATE SYSTEM G54 - G57 - G59)
    #102=1500 (SPINDLE RPM)
    #103=4. (TEETH ON CUTTER)
    #104=0.075 (CHIP LOAD MM PER TOOTH)
    #120=0.00(X POSITION OF HOLE)
    #121=35.0(Y POSITION OF HOLE)
    #122=50.00(Z HEIGHT OF HOLE)
    #123=10.0(Z SAFETY DISTANCE FOR RAPID)
    #124=20.0(INCREMENTAL DEPTH OF THREAD FROM #122)
    #125=15.95(TOOLDIAMETER)
    #126=20.0(MAJOR THREAD DIAMETER)
    #127=2.5(THREAD PITCH)
    #128=0.00(THREAD FIT CLEARANCE)
    (END OF OPERATOR VARIABLES)
    (START OF PROGRAM CALCULATIONS)
    (DO NOT EDIT BELOW THIS LINE)
    ()
    #100=ABS[#100](MUST BE A POSITIVE NUMBER)
    #101=ABS[#101](MUST BE A POSITIVE NUMBER)
    #102=ABS[#102](MUST BE A POSITIVE NUMBER)
    #103=ABS[#103](MUST BE A POSITIVE NUMBER)
    #104=ABS[#104](MUST BE A POSITIVE NUMBER)
    #123=ABS[#123](MUST BE A POSITIVE NUMBER)
    #124=ABS[#124](MUST BE A POSITIVE NUMBER)
    #125=ABS[#125](MUST BE A POSITIVE NUMBER)
    #126=ABS[#126](MUST BE A POSITIVE NUMBER)
    #127=ABS[#127](MUST BE A POSITIVE NUMBER)
    #128=ABS[#128](MUST BE A POSITIVE NUMBER)
    #130=#125/2(TOOL RADIUS CALCULATION)
    #133=#122+#123(Z AXIS APPROACH MOVE)
    #134=150.0(RAMP-ON FEEDRATE)
    #135=#102*#103*#104(CUTTING FEEDRATE)
    #134=#135*0.75(RAMP-ON FEEDRATE)
    #136=#135*2.0(RAMP-OFF FEEDRATE)
    #137=0.0(COUNTER FOR Z DEPTH)
    #145=0.956(FIRST ROUGH RADIUS MOVE PERCENTAGE)
    #138=0.986(ROUGH RADIUS MOVE PERCENTAGE)
    #139=1.007(FINISH MOVE PERCENTAGE)
    #140=[[#126*#138]/2](ROUGHING CUT RADIUS)
    #141=[[#126*#139]/2](FINISHING CUT RADIUS)
    #142=#140-#130(ROUGH INCREMENTAL MOVE)
    #143=#141+#128(FINISH CUT RADIUS PLUS CLEARANCE)
    #144=#143-#130(FINISH INCREMENTAL MOVE)
    (END PROGRAMMING VARIABLES)
    ()
    (START OF CUTTING PROGRAM)
    ()
    T#100M06
    G90
    G00X#120Y#121(HOLE POSITIONING)
    G43H#100Z#133M08(Z APPROACH)
    G01Z#122F1000(Z START HEIGHT)
    G91(SET TO INCREMENTAL)
    G01X#147F#134
    ()
    N25(START OF FIRST ROUGHING LOOP)
    G02X-#147Y-#147R#147Z-#127/4F#135
    #137=#137+#127/4
    IF[#137GE#124]GOTO100(DEPTH CHECK)
    G02X-#147Y#147R#147Z-#127/4
    #137=#137+#127/4
    IF[#137GE#124]GOTO100(DEPTH CHECK)
    G02X#147Y#147R#147Z-#127/4
    #137=#137+#127/4
    IF[#137GE#124]GOTO100(DEPTH CHECK)
    G02X#147Y-#147R#147Z-#127/4
    #137=#137+#127/4
    IF[#137GE#124]GOTO100(DEPTH CHECK)
    GOTO25(LOOP RETURN IF NOT DEEP ENOUGH)
    N100(EXIT THE HOLE)
    G90(ABSOLUTE POSITIONING)
    G01X#120Y#121F#136(RETURN TO CENTER FOR EXIT)
    G00Z#122(RETURN TO Z START HEIGHT)
    M00 (STOP MILL FOR HOLE INSPECTION)
    M03(START SPINDLE)
    #137=0.0(RESET COUNTER)
    G91(SET TO INCREMENTAL)
    G01X#142F#134
    ()
    N50(START OF SECOND ROUGHING LOOP)
    G02X-#142Y-#142R#142Z-#127/4F#135
    #137=#137+#127/4
    IF[#137GE#124]GOTO100(DEPTH CHECK)
    G02X-#142Y#142R#142Z-#127/4
    #137=#137+#127/4
    IF[#137GE#124]GOTO100(DEPTH CHECK)
    G02X#142Y#142R#142Z-#127/4
    #137=#137+#127/4
    IF[#137GE#124]GOTO100(DEPTH CHECK)
    G02X#142Y-#142R#142Z-#127/4
    #137=#137+#127/4
    IF[#137GE#124]GOTO100(DEPTH CHECK)
    GOTO50(LOOP RETURN IF NOT DEEP ENOUGH)
    N100(EXIT THE HOLE)
    G90(ABSOLUTE POSITIONING)
    G01X#120Y#121F#136(RETURN TO CENTER FOR EXIT)
    G00Z#122(RETURN TO Z START HEIGHT)
    M00 (STOP MILL FOR HOLE INSPECTION)
    M03(START SPINDLE)
    #137=0.0(RESET COUNTER)
    G91(SET TO INCREMENTAL)
    G01X#144F#134
    ()
    N150 (START OF FINISHING LOOP)
    G02X-#144Y-#144R#144Z-#127/4F#135
    #137=#137+#127/4
    IF[#137GE#124]GOTO200(DEPTH CHECK)
    G02X-#144Y#144R#144Z-#127/4
    #137=#137+#127/4
    IF[#137GE#124]GOTO200(DEPTH CHECK)
    G02X#144Y#144R#144Z-#127/4
    #137=#137+#127/4
    IF[#137GE#124]GOTO200(DEPTH CHECK)
    G02X#144Y-#144R#144Z-#127/4
    #137=#137+#127/4
    IF[#137GE#124]GOTO200(DEPTH CHECK)
    GOTO150(LOOP RETURN IF NOT DEEP ENOUGH)
    N200(EXIT THE HOLE)
    G90(ABSOLUTE POSITIONING)
    G01X#120Y#121F#136(RETURN TO CENTER FOR EXIT)
    G00Z#133(RETURN TO Z START HEIGHT)
    M05
    M30
    %


Similar Threads

  1. Threadmilling with Fanuc 18i-TB
    By mroy0404 in forum Fanuc
    Replies: 5
    Last Post: 03-16-2010, 09:21 AM
  2. Replies: 2
    Last Post: 03-27-2009, 04:15 PM
  3. Convert Fanuc Macro to Fadal Macro
    By bfoster59 in forum Fadal
    Replies: 1
    Last Post: 11-09-2007, 12:41 AM
  4. Threadmilling Fanuc 6M-B
    By mtglaser in forum G-Code Programing
    Replies: 3
    Last Post: 10-07-2006, 11:12 AM
  5. Macro B Threadmilling on C-axis.
    By M-man in forum Fanuc
    Replies: 2
    Last Post: 09-22-2006, 02:29 PM

Posting Permissions



About CNCzone.com

    We are the largest and most active discussion forum from DIY CNC Machines to the Cad/Cam software to run them. The site is 100% free to join and use, so join today!

Follow us on

Facebook Dribbble RSS Feed


Search Engine Friendly URLs by vBSEO ©2011, Crawlability, Inc.