Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

CUSTOM REAMING


Threept82
 Share

Recommended Posts

If this were a function which you wish to use often, I would agree about creating a macro or using a custom drill cycle, but for a quick fix, may I suggest turning off the canned bore cycle in the post. This will output a G1 down and G1 up. A simple "find and replace" would allow you to modify the feedrates.

Link to comment
Share on other sites

This is what the post blocks might look like.

 

code:

strz "Z"

strr "R"

sav_fr : 0

pmisc2 #Canned Misc #2 Cycle (User Option)

pdrlcommonb

prv_dwell = 0

pcan1, pbld, n, `sg00, pxout, pyout, strcantext, e

pbld, n, *sg01, pfzout, *feed, e

pbld, n, `sg04, dwell, e

sav_fr = feed

feed = 3 * feed

prv_refht_a = c9k

result = nwadrs(strz,refht_a)

pbld, n, prdrlout, *feed, e

result = nwadrs(strr,refht_a)

feed = sav_fr

pcom_movea

 

pmisc2_2 #Canned Misc #2 Cycle

pmisc2

 

pcanceldc #Cancel canned drill cycle

result = newfs (three, zinc)

z = initht

if cuttype = one, prv_zia = initht + (rotdia/two)

else, prv_zia = initht

pxyzcout

!zabs, !zinc

prv_gcode = zero

pcan

if drillcyc <> 7, pcan1, pbld, n, "G80", strcantext, e

pcan2

 


Link to comment
Share on other sites

OK I finally got it done. I used drill cycle 12 (next in line on my post)

 

In the post .txt file;

code:

[drill cycle 12]

1. "Reaming cycle"

2. "Feed rate"

3. "Dwell"

4. "Clearance..."

5. "Retract..."

6. "Depth..."

7. ""

8. ""

9. ""

10. ""

11. ""


code:

[drill cycle descriptions]

1. "G81/G82 - Drill/Counterbore"

2. "G83 - Peck Drill"

3. "G73 - Chip Break"

4. "G84/G74 - Tap"

5. "G85/G89 - Bore (feed out)"

6. "G86 - Bore (stop, rapid out)"

7. "G76 - Fine Bore (shift)"

8. "Misc #2 Drill"

9. "Subprogram Call"

10. "Gun Drill -- Standard"

11. "X-length drill no peck"

12. "reaming cycle"


in the post .pst file, Misc variables section add;

code:

reamfeed   : 0     # reamer retract feedrate


In the Toolchange / NC output Variable Formats section add;

code:

fmt  F  15  reamfeed    #reamer retract Feedrate

fmt Z 2 depth # Z bottom for reaming operation

fmt Z 2 refht # reference Z top for reaming operation


in the pdrlcst #Custom drill cycles 8 - 19 (user option) section;

code:

      if drillcyc = 11,

[

reamfeed = feed*4

pdrlcommonb

pbld, n, pdrlxy, e

pbld, n, *sg01, *depth, *feed, e

if dwell <> 0, pbld, n, sg04, *dwell, e

pbld, n, sgfeed, *refht, *reamfeed, e

pcom_movea

]


and in the pdrlcst_2 #Custom drill cycles 8 - 19, additional points (user option) section;

code:

      if drillcyc = 11,

[

reamfeed = feed*4

pdrlcommonb

pbld, n, sg00, pdrlxy, e

pbld, n, *sg01, *depth, *feed, e

if dwell <> 0, pbld, n, sg04, *dwell, e

pbld, n, sgfeed, *refht, *reamfeed, e

pcom_movea

]


this is what it outputs (on mt post);

code:

O4043

(.1930 +.002/-.000 DIA REAMER)

N0520 #900=[#900+1]

N0530 G00 G90 X-.25 Y-3. (B0.) B0. G54P[#900]

N0540 G43 H41 Z1.68 S1000 M[#933]

N0550 Z1.53

N0560 G01 Z-.06 F9.

N0570 Z1.53 F36.

N0580 G00 Y-.25

N0590 G01 Z-.06 F9.

N0600 Z1.53 F36.

N0610 G00 X-5.

N0620 G01 Z-.06 F9.

N0630 Z1.53 F36.

N0640 G00 Y-3.

N0650 G01 Z-.06 F9.

N0660 Z1.53 F36.

N0670 Z1.68

N0680 M99


Notice block N0680 there is no "G00" for the clearance plane. By changing 'sgcode to sg00 the "G00" will be added, but I don't know yet if it adds other problems (doesn't seem to).

code:

#      pcan1, pbld, n, sgplane, `sgcode, sgabsinc, pccdia,

pcan1, pbld, n, sgplane, sg00, sgabsinc, pccdia,


Also I fed out at 4 time feedrate. If you want 3 times feedrate change reamfeed = feed*4 to reamfeed = feed*3

Have fun

Link to comment
Share on other sites

I must admit I always used rapid out of the hole when reaming. Never really thought about doing it any other way. We don't ream very often but when we do it's usually around .07 dia +-.0002. It's usually a struggle the whole way. Do you find benefits when reaming as you are describing?

 

Dan

Link to comment
Share on other sites

I also think that rapid traverse out of a reamed hole is a poor idea if it can possibly be avoided. With a Fanuc, you can either use a boring cycle [feed in, feed out] like G85 or longhand it if you want more feed coming out. Some machines allow you to specify a higher feedrate on retract [Okuma, Haas, etc.]

 

C

Link to comment
Share on other sites

For that missing "G00" I talked about earlier, here's what I did to fix it;

 

In the Common User-defined Variable Initializations;

code:

savdrl_gcode: 0     #Drill Gcode saved 

In prapidout postblock;

code:

      if savdrl_gcode = 81 | savdrl_gcode = 100,  pcan1, pbld, n, sgplane, `sg00, sgabsinc, pccdia,

pxout, pyout, pzout, pcout, strcantext, e

else, pcan1, pbld, n, sgplane, `sgcode, sgabsinc, pccdia,

pxout, pyout, pzout, pcout, strcantext, e

savdrl_gcode = 0

This will also put a "G00" in the clearance plane line after the canned cycles. (great for FADALs)

 

Steve, your code looks much more refined. I tried it real quickly but got duplicate errors. I'm going to play with it this week end when I have more time.

Link to comment
Share on other sites

Tim,

3.82 has had me make a couple more modifications to suits his needs. Here is the latest version.

 

code:

prdrlout        #R drill position

if cuttype = one, refht_a = refht + (rotdia / two))

else, refht_a = refht

refht_i = refht - initht

if cuttype = three, refht_a = w

if absinc = zero, refht_a, !refht_i

else, refht_i, !refht_a

 

strz "Z"

strr "R"

sav_fr : 0

fmt Z 2 refht #Reference height

fmt Z 2 initht #Initial height

pmisc2 #Canned Misc #2 Cycle (User Option)

pdrlcommonb

prv_dwell = 0

pcan1, pbld, n, `sg00, pxout, pyout, strcantext, e

refht_i = refht - initht

if refht_i <> 0, pbld, n, *refht, e

pbld, n, *sg01, pfzout, *feed, e

pbld, n, `sg04, dwell, e

sav_fr = feed

feed = 4 * feed

prv_refht_a = c9k

result = nwadrs(strz,refht_a)

pbld, n, prdrlout, *feed, e

result = nwadrs(strr,refht_a)

if refht_i <> 0, pbld, n, *sg00, *initht, e

feed = sav_fr

pcom_movea

 

pcanceldc #Cancel canned drill cycle

result = newfs (three, zinc)

if tap_feed = one & drillcyc = three, result = newfs (15, feed) #Cancel tap feeds with 4/3 decimal places

z = initht

!z

if cuttype = one, prv_zia = initht + (rotdia/two)

else, prv_zia = initht

pxyzcout

!zabs, !zinc

prv_gcode = c9k#zero

if cool_zmove = yes & (nextop=1003 | (nextop=1011 & t<>abs(nexttool))), coolant = zero

pcan

if drillcyc < 7, pcan1, pbld, n, "G80", scoolant, strcantext, e

if use_pitch & tapflg = 1, pbld, n, "G94", e

pcan2

tapflg = 0

 


This is based on MPFAN and/or MPMaster.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...