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:

Pull G10's from an external file?


crazy^millman
 Share

Recommended Posts

I am thinking this is possible, but not sure how to go about it. I got a job I need to move quickly from 3 machine to our Horizontal and do not have time to reprogram all 3 operation into one operation. The programs for all 3 operations are done in Mastercam. I did a WCS so I can now run 12 parts at a time verses the 1 at a time we were. Machine has only 6 workoffsets to I need to use G10 so I can reset the workoffset, but only want to have one part one place and not have to make operations for all 12 places just so I can get the post to spit out all my 18 needed G10's. I may have to change things since we are moving from one machine to another and want to save time not having to copy and paste things in a NC programs. Any ideas??

Link to comment
Share on other sites
  • Replies 65
  • Created
  • Last Reply

Top Posters In This Topic

What type of controller do you have?

 

Have you ever used G52?

 

It's like a floating offset, you move the machine to where the offset is required and then use G52 with the X,Y locations then run the program to shut it off you have to return to X0,Y0 of that offset and use G52 X0,Y0 and you can do that as many times as you want. I was running a OKK machine with a Meldas controller, it's a Fanuc clone. Look in your machine manual to see if you have a code like it.

 

HTH

Link to comment
Share on other sites

Well I need to index the machine 4 times and have 3 offsets for each of the 6 parts since the original programs were all zero are the front of the part. Think of the stupid way to run a horizontal machine. Not from center of rotation but using offsets for each index and face of the fixture.

 

Here is a screen shot of the setup.

 

Tombstone.png

 

The fixtures vary and nothing is the same.(Lone Story) I either have to create a program from center of rotation for each location or use what I got and then I just need 18 workoffset, problem is do not have money to turn on extended workoffsets. (Long Story) To let this thing run unattended I need to reset the workoffsets while it is running so as the operation go from one location to another for each tool they need to change the workoffsets in process. The only way I know to do this effectively trouble free it to take this out of the operators hand and do it G10. I can put my logic in the program to prevent error real quick.

 

I went ahead and just did everything by hand real quick. Since it seems Mastercam just does not give me the ability I am looking for easily.

Link to comment
Share on other sites

quote:

never program a horizontal from center of the table IMHO

Wow really man so much extra work being created there with so many possibility of scrapping the parts. I am pulling my hair out having to trust the operator to give me all the correct places where each part it. By programming everything and making everything based of center of rotation I am done and done very quick. If I had time to go out and measure the place of everything and reprogram this I would do it all from center of rotation use one offset and call it lights outs with no worries doing it this way I will not trust it since I know have to trust an operator to do everything 100% correct.

Link to comment
Share on other sites

I have used one offset for multiple part locations and wrote them using the machine parameter values.

 

O0769(69-63 BOX BOTTOM ALL MAIN)

N1 (THREE BOSES TO RIGHT)

N2 (PALLET 1)

N3 #2505=-14.3724 (G58 X))

N4 #2605=-19.6899 (G58 Y))

N5 #2705=-37.3649 (G58 Z))

N6 M98 P0063 (69-63 BOX BOTTOM ALL)

N7

N8 (PALLET 2)

N9 #2505=-14.3711 (G58 X))

N10 #2605=-19.6898 (G58 Y))

N11 #2705=-37.3634 (G58 Z))

N12 M98 P0063 (69-63 BOX BOTTOM ALL)

 

G58 values were updated before calling sub.

 

I have a spread sheet somewhere I created to generate the parameter Fanuc values. Might have put it the FTP? Let me know if you would like me to look for it.

Link to comment
Share on other sites

I think of it from a troubleshooting standpoint, if I program it from part zero then I can fix problem without even using MC right on the floor, also we use macro to calculate every position on the tombstone so the operator just picks up one offset.

if you dont want them picking up offset then you could just use a macro to calculate where each part would be.

We can run our parts on any one of our horizontals without having to repost. to me thats more of a time saver and less risk of scrap.

Link to comment
Share on other sites

quote:

never program a horizontal from center of the table IMHO

This is an absolute mistake in thinking.

 

Using the center of rotation REDUCES the possibility of problems.

One can still use Multiple Work Offsets with this method.

The benefit of using center of rotation is that ALL work offsets would be based on a KNOWN and common location.

Link to comment
Share on other sites

Hum our tombstones are locked down and do not change so if he had to repost then I would be adding work, but I have programs I did when I first got here on other machines from the center that have never had to be re-posted in almost 4 years. Operator touches off the tools, hits the green button and good parts(When they save the programs that is)

Link to comment
Share on other sites

quote:

never program a horizontal from center of the table IMHO

It really depends on the application IMO. If your shop tends to move jobs from 1 machine to the next, change tombstones or fixture plates ect..(job shop) then yes...do not program from C/L because you will be in a high maintanence situation. If the job is going to to stay put (with reasonble certainty) and your setup people are "less experianced" then programming from C/L will save parts and time in the long run. Also you are assuming there are no rotary axis or 4 axis swarf cuts on the part, otherwise you have to program from C/L.

Link to comment
Share on other sites

I'm with specv.

No matter what, you still need to know and tell the machine where the parts are.

When using multiple work offsets, all you have to do is program 1 part w/ the cutting code, then move on to the next by using a work offset and repeating the cutting code.

The most simple approach would be having the main prg call the tools, index the tstone, call the work offset, then call only subprogram to do the specified cutting.

 

With macro B, you can automate the entire process

by updating the work offsets in a loop, etc.

We set a variable to tell the control we only want 1 part, and the machine runs the exact same cutting code as a full run does but skipping the other parts.

 

Much easier to program and troubleshoot this way IMHO.

No matter what, if your part isn't where you think it is, you got problems.

Link to comment
Share on other sites

quote:

Take a look at this article:

 

 

there are good reasons why we do it, also I can take a part that was programmed on a vertical and move it to a horizontal without much editing, the numbers make sense and they match the print, its so much easier troubleshoot.

I know Mike Lynch personally.

I disagree with his position on this.

 

As someone who does a LOT of Horizontal work in addition to Multi-Axis work, you are asking for trouble to program one like a vertical and you are being far less efficient.

It only takes one time to pick up center of rotation.

Once done, the COR numbers don't change unless something catastrophic happens.

 

Use the Center of Rotation as a known and you can still do everything you want to .

You can touch off or probe to set your workshifts to wherever you want the part Zero to be.

Having a known origin to start from is invaluable.

 

To each his own.

Link to comment
Share on other sites

No Probe.

 

Now I did not say I was programming all index locations. I said I wanted the ability to 18 workoffsets while only 6 to use. I would never make a program to all 12 places if everything was made from the get. It would just a transform and done. In this case none of the fixtures are the same. The machine is a 1982 Mazak and restarting sucks. So I need to make it where they can restart at any place and not worry about the wrong offset being called. At each time the tool is called for the program the G10 will be at each tool change and for each place on the tombstone. I was not thinking about using the macro storage. Thanks for getting me ot think.

 

This is what I am doing.

T1

M6

G43H1Z.25

M08

G10X#100Y#101Z#102

G54 B90.

G98 P1000

 

/1 T1

/1 M06

/1 G43H1Z.25

M08

G10X#103Y#104Z#105

G55 B270.

G98 P1000

 

and so forth and so forth. I made up a chart for the operator with everything listed and the value needed in the Macro Vales and all should go good. Now the operator can find where he needs to restart if need be have it make sure the correct value is called for where he needs it. By having the block skip turned off then he will do what the machine needs to recall the tool and life is good again.

 

We can discuss different methods for setting up machine part at a another time, but I will say if you guys programs that part I am seeing in your pictures with many workoffset then I would say you added so much complexity to that job I would go running for the hills as quick as possible specv. wink.gifwink.gif

Link to comment
Share on other sites

This G-code program will bring you back to six offsets with some modification;

 

code:

%

O9018(G201 -- XZ COORDINATE ROTATION PROGRAM)

(PARAMETER 6058)

#10=[13980+[#4130*20]](CURRENT FIXTURE OFFSET NUMBER)

#11=[#10+1](NUMBER FOR CURRENT OFFSET X)

#12=[#10+2](NUMBER FOR CURRENT OFFSET Y)

#13=[#10+3](NUMBER FOR CURRENT OFFSET Z)

#14=[#10+4](NUMBER FOR CURRENT OFFSET
B)

#15=[ABS[#921]-ABS[#[#13]]](Z LENGTH FROM PALLET CL)

#16=[#[#11]](X LENGTH FROM PALLET CL)

#17=SQRT[[#15*#15]+[#16*#16]](HYPOTENUSE LENGTH)

#18=ATAN[#16]/[#15](ANGLE FROM PALLET CL TO PART ORIGIN)

(NOW MAKING NEW G59 COORDINATES)

#19=[sIN[#18-#2]*[#17]](PART ANGLE + ORIGIN ANGLE X LENGTH)

#20=[COS[#18-#2]*[#17]](PART ANGLE + ORIGIN ANGLE Z LENGTH)

#5321=[#19](X G59 COORDINATE)

#5322=[#[#12]]

#5323=[#921]+[#20](Z G59 COORDINATE)

#5324=[#[#14]]

M99

%

If your Z work offsets are are from your pallet centerline this should work well for you. This is setup for the 300 offset option so the 13980 would need to be changed to 5180. Since I use G59 as my work offset result You would need to store the Current G59 somewhere. (variables, tool length area, ect) then reload them when you get to the G59 workpiece and after each toolplane is completed in G59. #921 is the Z distance from the spindle face to the pallet center at home position

. You can rename that to what is better for you.

 

code:

O4242

(1/2" THREE FLUTE CARBIDE END MILL 50 DEGREE SIDE)

IF[#153EQ#0]GOTO1

N16490 G91 G00 X0 G54 P[#900]

N16500 G90 G00 B50.

N16510 G201 B50.

N16520 G00 G90 X.2745 Y-.475 (B50.) G59

N16530 G43 H15 Z6.738 S15000 M03

N16540 G01 Z6.5766 F648.

N16550 X.5308 Y-.2188 F972.

.

.

.

N24290 G00 Z4.8345

N24300 Z9.9827

(1/2" THREE FLUTE CARBIDE END MILL 70 DEGREE SIDE)

N24310 G91 G00 X0 G54 P[#900]

N24320 G90 G00 B70.

N24330 G201 B70.

N24340 G00 G90 X3.0021 Y5.555 (B70.) G59

N24350 Z6.1048

Link to comment
Share on other sites

Verndog,

I should have said for indexing work, not for full fourth axis milling.

 

SAIPEM, 98% of what I program is horizontal work. To each his own is right.

 

to me the number matching the print is way more valuable than having an operator down at 3AM when he could just look at the print and make sure the code is right.

 

If all we had was button pushers then I might have a different opinion.

Link to comment
Share on other sites

Ron,

I am sorry to hijack your thread, yes that part has many offset but I only pick up 1 and the rest are calculated my angle macros in the machine, true positions of .001 all around you need the ability to make shift when you need to.

 

I don't even need to dial it in to make sure the fixture is on center of the table. Just pick up 1 offset and go.

Link to comment
Share on other sites

quote:

Once done, the COR numbers don't change unless something catastrophic happens.

So would you consider not having that machine or tombstone available catastrophic...how about recutting form jaws cuz they wore over time??

 

quote:

Having a known origin to start from is invaluable.

Or it can be unnecessary and useless depending on the conditions. wink.gif

 

There is no right or wrong here, you have to look at the build qty, machine availability, importance of shop flexability and about 10 other factors to know what is best for that situation. Using a proven coordinate calculator on the shop floor with a good setup person its tough to beat programming from part zero for versatility in a job shop, and they will not be reliant on programming when they play musical machines or tombstones with parts as short run shops will do.

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