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:

Transform by toolplane question


ckwhite
 Share

Recommended Posts

We have a Mitsubishi HMC with pallet changer.

The pallet has 4 sides with 3 stations on each (12 fixtures). I have a drill toolpath that I "transform by toolplane-translate rectangular-" down x3. Then I "transform by toolplane-rotate about origin-" the "translated" toolpath x3. Then I ghost the original drill toolpath, posting only the "translate rectangular" and "rotate about origin" toolpaths. (I hope I've explained well enough). This may not be the best way but without getting into what way is better.....

 

My question is this:

I would like to put the retract plane at 2" above the part when translating down (x3), but make the retract plate 9" above the part before rotating the B axis.

 

Is there an easy way to modify the post to retract to 9", for example, before ever rotating the B axis?

 

Is this a good idea?

 

Is there an easier way?

 

Works the way it is but I would like to cut out some of the redundant rapid moves.

 

If I could improve this, the boss will be very happy biggrin.gif

Link to comment
Share on other sites

Yes you can do this very easily using the point toolpath and Mastercam. Make your operations and before each index use the point toolpath. So you will set-up the transform operation to rotate you will rotate the transform move operation and a point operation using operation order so it will then do the operations for drilling at the 2" clearance yet it will then move to the 9" before each index.

Here is posted code doing what I am talking about unedited right out of Mastercam.

 

code:

O0000 (T)

(MACHINE - MIGHTY/YAMA SEIKI)

(CUSTOMER - ADD CUSTOMER)

(PART # - Machine Group-1)

(MODEL # - Machine Group-1.MCX)

(PROGRAMMER - RON
B)

(PROGRAM NAME - T.NC)

(DATE - MAR-19-2008)

(TIME - 2:38 PM)

(PROGRAM REV - N/C)

(T16 - 1/2 82 DEG - H16 - D0.5000")

N100 G0 G17 G20 G40 G80 G90

N110 T16 M06 (1/2 82 DEG)

N120 (MAX - Z15.)

N130 (MIN - Z5.)

N140 M10 (UNLOCK)

N150 G0 G55 X-5. Y-3. B0. S450 M3

N160 M11 (LOCK)

N170 G43 H16 Z8.

N180 G98 G81 Z5. R6.1 F2.

N190 X0.

N200 X5.

N210 G80

N220 X-5. Y-9.

N230 G98 G81 Z5. R6.1 F2.

N240 X0.

N250 X5.

N260 G80

N270 X-5. Y-15.

N280 G98 G81 Z5. R6.1 F2.

N290 X0.

N300 X5.

N310 G80

N320 X-5. Y-3. Z15.

N330 M10 (UNLOCK)

N340 G90 X-5. Y-3. Z8. B90.

N350 M11 (LOCK)

N360 G98 G81 Z5. R6.1 F2.

N370 X0.

N380 X5.

N390 G80

N400 X-5. Y-9.

N410 G98 G81 Z5. R6.1 F2.

N420 X0.

N430 X5.

N440 G80

N450 X-5. Y-15.

N460 G98 G81 Z5. R6.1 F2.

N470 X0.

N480 X5.

N490 G80

N500 X-5. Y-3. Z15.

N510 M10 (UNLOCK)

N520 G90 X-5. Y-3. Z8. B180.

N530 M11 (LOCK)

N540 G98 G81 Z5. R6.1 F2.

N550 X0.

N560 X5.

N570 G80

N580 X-5. Y-9.

N590 G98 G81 Z5. R6.1 F2.

N600 X0.

N610 X5.

N620 G80

N630 X-5. Y-15.

N640 G98 G81 Z5. R6.1 F2.

N650 X0.

N660 X5.

N670 G80

N680 X-5. Y-3. Z15.

N690 M10 (UNLOCK)

N700 G90 X-5. Y-3. Z8. B270.

N710 M11 (LOCK)

N720 G98 G81 Z5. R6.1 F2.

N730 X0.

N740 X5.

N750 G80

N760 X-5. Y-9.

N770 G98 G81 Z5. R6.1 F2.

N780 X0.

N790 X5.

N800 G80

N810 X-5. Y-15.

N820 G98 G81 Z5. R6.1 F2.

N830 X0.

N840 X5.

N850 G80

N860 X-5. Y-3. Z15.

N870 M5

N880 G91 G28 Z0.

N890 M10 (UNLOCK)

N900 G28 X0. Y0. B0.

N910 M11 (LOCK)

N920 G90

N930 M30

%


HTH

Link to comment
Share on other sites

Worked!

But man I'm not sure if it is worth all my time...

It'll take me some time to fix all the programs.

±10 minutes x 3-6 operations x 8-10 programs = alot of time

The programs aren't broke, they work fine now...

Point toolpaths worked great. but is there an easier way? less time consuming?.... modify post somehow??

Link to comment
Share on other sites

Crash averted. This method of retracting the spindle works very well. But you have to be sure the program is reviewed THOROUGHLY and nothing is overlooked (programming 101). I had the tool plane and construction plane wrong for 1 of the (20+) retract points..CRASH!!!

 

Just wanted to pass along my findings.

 

Like I stated before I am open to any other ideas. smile.gif

Link to comment
Share on other sites

There was something in MPMASTER that would send the Z home at each index no matter what.

 

Yes Robert I would do that if it would clear. It really depends on the machine and other things, but I have no problem moving Z in while the pallet indexes if I have .1 of clearance doing so. You should see the guy here crap bricks when I rapid to with .01 on 15" chuck spinning at 1200 rpm. eek.gifeek.gifeek.gif They all think I am crazy, but if you have a .001 of clearance you got a mile in my book. Besides I approach it like Nascar rubbing is machining. biggrin.gifbiggrin.gifbiggrin.gif

Link to comment
Share on other sites

I am of the same school Ron, but if I did that, we would not ship anything. Unfortunately, Salem is not like Socal. We get our best guys from Walmart, and our lesser guys from ?????

We don't even let them set fixture offsets. We probe, preset, and do everything we can to avoid an operator from doing more than blink.

No pressure on our programmers...... rolleyes.gif

Link to comment
Share on other sites

quote:

No pressure on our programmers......

Well I do it all here so I have all the pressure to carry all on my own. What fun. rolleyes.gifrolleyes.gif

 

ckwhite does the post output max and min z moves or have anything about it in the post?? If it does it is a mpmaster detritive if it does not then it was probably based of of mpfan.

 

Here is the section that should do it from mpfan.

 

code:

pretract        #End of tool path, toolchange              

sav_absinc = absinc$

absinc$ = one

sav_coolant = coolant$

coolant$ = zero

#cc_pos is reset in the toolchange here

cc_pos$ = zero

gcode$ = zero

pbld, n$, sccomp, *sm05, psub_end_mny, e$

pbld, n$, sgabsinc, sgcode, *sg28ref, "Z0.", scoolant, e$

pbld, n$, *sg28ref, "X0.", "Y0.", protretinc, e$

absinc$ = sav_absinc

coolant$ = sav_coolant

Here is what the latest MPMASTER has:

code:

 

pretract #End of tool path, toolchange

phsm_off

sav_absinc = absinc$

absinc$ = one

sav_coolant = coolant$

coolant$ = zero

 

# if nextop$ = 1003, #Uncomment this line to leave coolant on until eof unless

# [ # explicitely turned off through a canned text edit

if all_cool_off,

[

#all coolant off with a single off code here

if coolant_on, pbld, n$, *sall_cool_off, e$

coolant_on = zero

]

else,

[

local_int = zero

coolantx = zero

while local_int < 20,

[

coolantx = and(2^local_int, coolant_on)

local_int = local_int + one

if coolantx > zero,

[

coolantx = local_int

pbld, n$, scoolantx, e$

]

coolantx = zero

]

coolant_on = zero

]

# ]

 

#cc_pos is reset in the toolchange here

cc_pos$ = zero

if convert_rpd$ = one,

[

gcode$ = one

feed = maxfeedpm

ipr_type = zero

]

else, gcode$ = zero

pbld, n$, sccomp, *sm05, psub_end_mny, e$

pbld, n$, sgabsinc, sgcode, [if gcode$ = 1, sgfeed], *sg28, "Z0.", [if gcode$ = 1, feed], scoolant, e$

#if lock_codes = one & rot_on_x, pbld, n$, *sunlock, sunlockcomm, e$

#pbld, n$, *sg28, "X0.", "Y0.", protretinc, e$

#if lock_codes = one & rot_on_x & cuttype = 0, pbld, n$, *slock, slockcomm, e$

if abs(fmtrnd(cabs)) > 360 & nextop$ <> 1003 & not(index),

[

if lock_codes = one, pbld, n$, *sunlock, sunlockcomm, e$

rotretflg = 1

pbld, n$, `sg28, protretinc, e$

rotretflg = 0

if lock_codes = one & cuttype = 0, pbld, n$, *slock, slockcomm, e$

]

absinc$ = sav_absinc

coolant$ = sav_coolant

 

pretract0 #End of tool path, null toolchange

phsm_off

sav_absinc = absinc$

absinc$ = one

# sav_coolant = coolant$

# coolant$ = zero

 

## if nextop$ = 1003, #Uncomment this line to leave coolant on until eof unless

## [ # explicitely turned off through a canned text edit

# if all_cool_off,

# [

# #all coolant off with a single off code here

# if coolant_on, pbld, n$, *sall_cool_off, e$

# coolant_on = zero

# ]

# else,

# [

# local_int = zero

# coolantx = zero

# while local_int < 20,

# [

# coolantx = and(2^local_int, coolant_on)

# local_int = local_int + one

# if coolantx > zero,

# [

# coolantx = local_int

# pbld, n$, scoolantx, e$

# ]

# coolantx = zero

# ]

# coolant_on = zero

# ]

## ]

 

#cc_pos is reset in the toolchange here

cc_pos$ = zero

if convert_rpd$ = one,

[

gcode$ = one

feed = maxfeedpm

ipr_type = zero

]

else, gcode$ = zero

# pbld, n$, sccomp, *sm05, psub_end_mny, e$

pbld, n$, sccomp, psub_end_mny, e$

pbld, n$, sgabsinc, sgcode, [if gcode$ = 1, sgfeed], *sg28, "Z0.", [if gcode$ = 1, feed], scoolant, e$

#if lock_codes = one & rot_on_x, pbld, n$, *sunlock, sunlockcomm, e$

#pbld, n$, *sg28, "X0.", "Y0.", protretinc, e$

#if lock_codes = one & rot_on_x & cuttype = 0, pbld, n$, *slock, slockcomm, e$

if abs(fmtrnd(cabs)) > 360 & nextop$ <> 1003 & not(index),

[

if lock_codes = one, pbld, n$, *sunlock, sunlockcomm, e$

rotretflg = 1

pbld, n$, `sg28, protretinc, e$

rotretflg = 0

if lock_codes = one & cuttype = 0, pbld, n$, *slock, slockcomm, e$

]

absinc$ = sav_absinc

coolant$ = sav_coolant

HTH

Link to comment
Share on other sites

This is what the code looks like now

code:

G0 G54.1 P31 G90 X-7.1455 Y0. B90. S6000 M3

G05.1Q1

G43 H3 Z9. M8

G98 G81 Z-.4161 R.9875 F75.

G80

N110

Y-8.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-16.

G98 G81 Z-.4161 R.9875 F75.

G80

Y0. B180.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-8.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-16.

G98 G81 Z-.4161 R.9875 F75.

G80

Y0. B270.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-8.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-16.

G98 G81 Z-.4161 R.9875 F75.

G80

Y0. B360.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-8.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-16.

G98 G81 Z-.4161 R.9875 F75.

G80

M9

M5

Code using millmans method of retract points

code:

G0 G54.1 P31 G90 X-7.1455 Y-8. B90. S6000 M3

G43 H3 Z9. M8

N110

Y0. Z3.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-8.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-16.

G98 G81 Z-.4161 R.9875 F75.

G80

N120

Y-8. Z9.

N130

B180.

N140

Y0. Z3.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-8.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-16.

G98 G81 Z-.4161 R.9875 F75.

G80

N150

Y-8. Z9.

N160

B270.

N170

Y0. Z3.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-8.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-16.

G98 G81 Z-.4161 R.9875 F75.

G80

N180

Y-8. Z9.

N190

B360.

N200

Y0. Z3.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-8.

G98 G81 Z-.4161 R.9875 F75.

G80

Y-16.

G98 G81 Z-.4161 R.9875 F75.

G80

N210

Y-8. Z9.

M9

M5

Notice the reference plane on the first is Z9.

This allows clearance for the B axis to index.

The reference plane on the second is Z3. then moves to a safe location to allow the B axis to rotate.

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...