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:

How to show work-offsets in machine coordinates system in mastercam?


beginner1977
 Share

Recommended Posts

Hi everyone,

 

I am a rookie at using mastercam, I am trying to understand some concepts.

 

Here is my curiosity:

 

1) How to make it possible to show in the g-code program, the coordinates of work-offests in machine coordinate system?

2) Do I need to modify the post-processor or it is possible to implement it directly in the mastercam?

 

Thanks in advance for kind reply.

Link to comment
Share on other sites
Guest MTB Technical Services

Hi everyone,

 

I am a rookie at using mastercam, I am trying to understand some concepts.

 

Here is my curiosity:

 

1) How to make it possible to show in the g-code program, the coordinates of work-offests in machine coordinate system?

 

2) Do I need to modify the post-processor or it is possible to implement it directly in the mastercam?

 

Thanks in advance for kind reply.

 

 

Can't be done reliably as the actual machine coordinates will only be available after setup on the machine.

 

Even if you had the exact CAD model data for your machine and fixturing, you'd only be close.

The exact values would only be available after probing or edge-finding your locations on the machine.

Link to comment
Share on other sites

Thanks for reply.

 

I know that I need to use probing and measuring during machine job setup and the CAD model can give only the "nominal" location of work-offset coordinate.

 

I was thinking about some kind of G instruction and/or subprogram in which I could store the coordinate X,Y,Z of work-offsets and that, it could be called in the main program for next production lots after the first have been worked out.

Link to comment
Share on other sites

That is what G10 lines are for and can be handled many different ways, but not a process I would recommend for programming machines. Program to a known, then you use the workoffsets to make that a reality. Once you have the reality then you can G10 those values into the program and have them loaded every time you run that part. Do it for each part and tool if they are kitted up and it is just load and go.

 

HTH

  • Like 1
Link to comment
Share on other sites

Once upon a time I would have models of pallets and work tables of the machines I programmed. Then I would have points wher the machine's home was relative to the table's position. Using that i was able to give the setup guys "close" numbers for what their fixture offsets woudl be. Well, after a few setup guys relied completely on those numbers and one guy ran a 3" Roughing Inserted E/M through a 10" (IIRC) Kurt Vise, that was the end of that. No more. The origin is bottom of stock, upper left hand corner. the rest is up to them.

JM2CFWIW

Link to comment
Share on other sites

I use an MNP process and manually enter the offsets with G10. I like to set my XY coordinates somewhere on the part/stock that can be re probed if necessary in process, to either update or aid in trouble shooting if I am having tolerance troubles. Many times I have had to figure out why "the part is scrap" and its because the operator didn't set the offset correctly, its easy to prove when you can just re probe it in situ.

 

Z off the top of the part (or .01-.02" below the stock for something that needs to get faced), I prefer this over Z on the bottom so that the operator isn't "trying" to do math in their head figuring out their tool is going to clear the part or a feature when the tool needs to rapid over the part.

 

Regardless of whether you want to put the Z on the bottom or the top, its most important that its done uniformly across the shop and everyone is used to it.

  • Like 1
Link to comment
Share on other sites
Guest MTB Technical Services

Thanks for reply.

 

I know that I need to use probing and measuring during machine job setup and the CAD model can give only the "nominal" location of work-offset coordinate.

 

I was thinking about some kind of G instruction and/or subprogram in which I could store the coordinate X,Y,Z of work-offsets and that, it could be called in the main program for next production lots after the first have been worked out.

 

 

Implement probing as part of the program itself so you'll be able to ensure good numbers each and every time the job is setup and run.

 

Look into the Renishaw option for Mastercam.

Link to comment
Share on other sites

I use an MNP process and manually enter the offsets with G10. I like to set my XY coordinates somewhere on the part/stock that can be re probed if necessary in process, to either update or aid in trouble shooting if I am having tolerance troubles. Many times I have had to figure out why "the part is scrap" and its because the operator didn't set the offset correctly, its easy to prove when you can just re probe it in situ.

 

Z off the top of the part (or .01-.02" below the stock for something that needs to get faced), I prefer this over Z on the bottom so that the operator isn't "trying" to do math in their head figuring out their tool is going to clear the part or a feature when the tool needs to rapid over the part.

 

Regardless of whether you want to put the Z on the bottom or the top, its most important that its done uniformly across the shop and everyone is used to it.

we always have z at the top of stock. Makes rapid move crashes almost never happen
Link to comment
Share on other sites

That is what G10 lines are for and can be handled many different ways, but not a process I would recommend for programming machines. Program to a known, then you use the workoffsets to make that a reality. Once you have the reality then you can G10 those values into the program and have them loaded every time you run that part. Do it for each part and tool if they are kitted up and it is just load and go.

 

HTH

 

Thanks a lot for explanation.

 

Could you show me an example of instruction G10 applied to work-offsets coordinates storage?

Link to comment
Share on other sites

You will have to look in your parameter manual to see if G10 is set to write or shift your work offsets, some controls have the ability to set that in the G10 line with a command. You will also need to look in your manual and see what command writes to your work offsets, as there will be other commands for writing to your tool offsets etc.

 

This is the header of a program for a Yasnac i80:

 

G10 Q2 P3 J1 X-11.7986 Y-22.48 Z-17.1254

G10 Q2 P4 J1 X-11.7986 Y-22.48 Z-17.5083

(G56 z offset off face of flange)

(G57 z is fixed off bottom of step jaw)

(x is center of rot for both offsets)

(y is bottom of Y axis travel for both offsets)

(cut raw stock to 3.015")

 

In this case Q2 is the command for workoffsets, the parameters have been set to overwrite any previous data in the register. P3 is equal to G56 and P4 is G57, J1 specifies that it is writing to the first offset (can write up to J27 for extended offsets).

 

A lot of controls have the extended work offsets as a "P" extension" I changed the parameters so that it is commanded with "J" so that it is less confusing for operators reading two P's in a row.

Link to comment
Share on other sites

You will have to look in your parameter manual to see if G10 is set to write or shift your work offsets, some controls have the ability to set that in the G10 line with a command. You will also need to look in your manual and see what command writes to your work offsets, as there will be other commands for writing to your tool offsets etc.

 

 

 

I think that you can set it to shift or overwrite with a G90 - G91?

 

G90 G10 L20 P1 X-11.7986 Y-22.48 Z-17.1254 to overwrite

G91 G10 L20 P1 X-11.7986 Y-22.48 Z-17.1254 to shift

 

L20 sets extended offsets (G54.1p1)

L2 sets regular offsets (G54 - G59)

 

is what I use on our Fanuc controls.

 

We have one machine that has a yasnac i80 control but ive never used g10 lines in that particular machine.

 

-

 

There are a couple of threads in the Post Processor forum that explain how to output G10 lines in to your code. It looks like it can get fairly involved. I have been wanting to do this for a while now but I havent had the time.

 

Read through this and see if it helps you.

Link to comment
Share on other sites

FWIW, we post G10 lines with X0Y0Z0A0.

Then on 1st set-up, add/alter the above adding the actual machine datum values.

At the end of the job we save the prog in the master directory.

Next time the job is to be run, load the prog and we're pretty much good to go with the values (all machines are grid plated and the 4th axis tables are all matched and doweled so repeat well even if they have been on and off the machine).

Link to comment
Share on other sites

I think that you can set it to shift or overwrite with a G90 - G91?

 

G90 G10 L20 P1 X-11.7986 Y-22.48 Z-17.1254 to overwrite

G91 G10 L20 P1 X-11.7986 Y-22.48 Z-17.1254 to shift

 

L20 sets extended offsets (G54.1p1)

L2 sets regular offsets (G54 - G59)

 

is what I use on our Fanuc controls.

 

We have one machine that has a yasnac i80 control but ive never used g10 lines in that particular machine.

 

-

 

There are a couple of threads in the Post Processor forum that explain how to output G10 lines in to your code. It looks like it can get fairly involved. I have been wanting to do this for a while now but I havent had the time.

 

Read through this and see if it helps you.

 

Yep the G90 or G91 works on some models, and one thing you really have to watch out for is on some controls is if you are already in G90 or G91 and you execute G10 data it will either write or shift based on the active system G90 or G91!

Other models need it explicitly stated in the command, and other controls are set via parameter only.

 

And then also there are usually another set of parameters to set for shifting or writing tool offsets.

 

 

I should also make a correction to my previous post, I set the G10 work offset command to "Q2" from "L2", not "P2" like I thought. But the reason was also to not confuse operators, because we use "L" for repeats for canned cycles.

Link to comment
Share on other sites

Yep the G90 or G91 works on some models, and one thing you really have to watch out for is on some controls is if you are already in G90 or G91 and you execute G10 data it will either write or shift based on the active system G90 or G91!

Other models need it explicitly stated in the command, and other controls are set via parameter only.

 

 

With something as mischievous as incremental/absolute positioning i always use redundant codes. Better safe than sorry i say!

 

G91 G28 Z0. (Good)

 

 

G28 Z0. (Bad!FML!)

Link to comment
Share on other sites

With something as mischievous as incremental/absolute positioning i always use redundant codes. Better safe than sorry i say!

 

G91 G28 Z0. (Good)

 

 

G28 Z0. (Bad!FML!)

 

I agree. Your example precisely makes my point as to why the manual needs to be referred to for this though.

 

Lets say the operator just finished a program and loads a new program in that has G10's in the header. If his last program had G91 G28 Z0. in it, which would be common, the machine is still in incremental mode, so depending on the control this could mean that the G10 data is incrementally shifted, which would be a major problem if the intent was to write.

Link to comment
Share on other sites

I use a manual entry toolpath to set the work offsets.

 

After the part and setup are proven repeatable, I insert the manual entry as the first toolpath. If for any reason they need changing, it's a simple matter of editing the toolpath, regen, and repost.

 

In the manual entry parameters, enter "G1 L2 P1 X*** Y*** Z*** A*** C***" to set G54

and check NCI output method "As Code"

Link to comment
Share on other sites

I agree. Your example precisely makes my point as to why the manual needs to be referred to for this though.

 

Lets say the operator just finished a program and loads a new program in that has G10's in the header. If his last program had G91 G28 Z0. in it, which would be common, the machine is still in incremental mode, so depending on the control this could mean that the G10 data is incrementally shifted, which would be a major problem if the intent was to write.

After our header which has customer/part no/ issue/ description/op no, we have this:-

G17 G21 G40 G49 G69 G80 G90 M5

Just in case...

 

The next lines are G10's, but the machine would be in a ready state to accept the G10's. No scary things!

This is all hard coded into our post so it is the exact same format/code every time we post a prog.

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