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:

Default Planes


Spotterhphc
 Share

Recommended Posts

Hello,

Recently I made a table that goes on my Integrex i300, so now I am able to mount two 6" vises in the machine to allow for easy 3X mill work ( it's the bees knees ). I am wondering if there is a way to set some custom planes so when I select my machine definition it defaults to these planes. I want to copy my machine def and make it specific to 3X milling using the lathe machine def.  Currently I am aligning the parts to Mastercam World XYZ (d+z+). I don't want my post to post out G68.2. I turn it off in the post only the post doesn't post out xyz correctly per the machines layout. Is there a way to be able to have the post manipulate the XYZ to match the machine def layout? i.e. x+=mcam z+ and z+= mcam x+

What I want to be able to ultimately do is program as if i were programming a 3 axis vertical mill where I can set my part to World XYZ (TOP) and take off. I don't want to have to set  WCS to D+Z+ (TOP) and a Tplane that is 90° to that. It just makes for one more thing to miss before posting. If by default everything was top/top and the post figured it all out then I'd be a happy camper.  

Wow, rereading that just sounds confusing. 

Thanks for any input

IMG_2523.jpg

Link to comment
Share on other sites
26 minutes ago, Spotterhphc said:

Hello,

Recently I made a table that goes on my Integrex i300, so now I am able to mount two 6" vises in the machine to allow for easy 3X mill work ( it's the bees knees ). I am wondering if there is a way to set some custom planes so when I select my machine definition it defaults to these planes. I want to copy my machine def and make it specific to 3X milling using the lathe machine def.  Currently I am aligning the parts to Mastercam World XYZ (d+z+). I don't want my post to post out G68.2. I turn it off in the post only the post doesn't post out xyz correctly per the machines layout. Is there a way to be able to have the post manipulate the XYZ to match the machine def layout? i.e. x+=mcam z+ and z+= mcam x+

What I want to be able to ultimately do is program as if i were programming a 3 axis vertical mill where I can set my part to World XYZ (TOP) and take off. I don't want to have to set  WCS to D+Z+ (TOP) and a Tplane that is 90° to that. It just makes for one more thing to miss before posting. If by default everything was top/top and the post figured it all out then I'd be a happy camper.  

Wow, rereading that just sounds confusing. 

Thanks for any input

IMG_2523.jpg

First off nice work. You can still do your 3+1 Axis work like you have just need to be aware of the axis limits.

Make a template file like you want and then use that as your start. You have some control, but when you start messing with defaults planes and such things can get real wonky quick. I would just have the template folder read only and backed up in two or three places and use it to start and program like you wanting to do. Might have the vices already defined in it and the sub plate.

The G68.2 coordinate output will be needed since you are in reality tricking the machine with the process you are using. Might reach out to your post supplier and see if they can help, but you're deep down a rabbit hole with some limits that you have to keep in mind from a code and posting standpoint.

Years ago I made a Trunnion plate for our I-400 that had Hex on each end. I then made custom flat jaws that located perfectly on each hex for each spindle. I was able to do full 5 Axis work on that with no issues. People always asked me why I did such a thing and I respond back well the owner kept getting 5 Axis parts and we only had the Integrex so I had to use what I had.

Here is a link to the Mastercam file updated to 2021 from X4. Integrex Trunnion Plate

Link to comment
Share on other sites
3 hours ago, Spotterhphc said:

 Is there a way to be able to have the post manipulate the XYZ to match the machine def layout? i.e. x+=mcam z+ and z+= mcam x+

 

Sure.

Copy the MD/CD and rename.

Save a copy of your Mill Post. (Whatever "Base" Post you want to start with. Let's use MPFAN as the example.)

When you load a Part Model (create, whatever), and load your Machine Definition, you'll orient the part like normal  i.e. x+=mcam z+ and z+= mcam x+.

All we need to do is change the "Address Assignments" to the variables. (Assign "X" to 'zabs', and "Z" to 'xabs'.)

I am guessing your machine is setup to be run in "Diameter mode", so we just need to "scale" the 'zabs' variable by a factor of '2', so your "Z radius value", is output as "X Diameter".

All we're really doing is "mapping the output variables, to different input variables".

You'll need to also "remap" the Planes. (Default XY, becomes YZ G19 Plane.)

That means you'll need to swap the I and K addresses. Might also need to swap G02/G03 strings as well.

Something like this should get you close.

Original:



pxyzcout        #Map coordinates
      if rot_on_x,
        [
        if cuttype = zero, pxyzcout0    #Toolplane Positioning
        if cuttype = one, pxyzcout1     #Axis Substitution
        if cuttype = two, pxyzcout2     #Polar Conversion
        if cuttype = three, pxyzcout3   #Simulatneous 4 axis (Multi-axis)
        if rot_ccw_pos = one, csav = -csav
        if mr_rt_actv <> two,
          [
          pcoutrev
          if index, pindxcalc
          pfcalc
          ]
        else, feed = fr_pos$
        ]
      else,
        [
        xabs = vequ(x$)
        iout = vequ(i$)
        feed = fr_pos$
        ]
pxyzcout0       #Toolplane Positioning
      xabs = vequ(x$)
      iout = vequ(i$)
      if rot_on_x = two, csav = -c$
      else, csav = c$

Re-Mapped:

pxyzcout        #Map coordinates
      if rot_on_x,
        [
        if cuttype = zero, pxyzcout0    #Toolplane Positioning
        if cuttype = one, pxyzcout1     #Axis Substitution
        if cuttype = two, pxyzcout2     #Polar Conversion
        if cuttype = three, pxyzcout3   #Simulatneous 4 axis (Multi-axis)
        if rot_ccw_pos = one, csav = -csav
        if mr_rt_actv <> two,
          [
          pcoutrev
          if index, pindxcalc
          pfcalc
          ]
        else, feed = fr_pos$
        ]
      else,
        [
        #This line below, loads 'xabs', 'yabs', and 'zabs', from
        # x$, y$, and z$
        #xabs = vequ(x$)
        #iout = vequ(i$)
        xabs = z$ * two
        yabs = y$
        zabs = x$
        iout = k$ * two
        jout = j$
        kout = x$
        feed = fr_pos$
        ]

pxyzcout0       #Toolplane Positioning
      #This line below, loads 'xabs', 'yabs', and 'zabs', from
      # x$, y$, and z$
      #xabs = vequ(x$)
      #iout = vequ(i$)
      xabs = z$ * two
      yabs = y$
      zabs = x$
      iout = k$ * two
      jout = j$
      kout = x$
      if rot_on_x = two, csav = -c$
      else, csav = c$

Remapped:

# Select work plane G code
sg17    : "G19"      #XY plane code (re-mapped ZY)
sg19    : "G17"      #YZ plane code (re-mapped YX)
sg18    : "G18"      #XZ plane code (re-mapped ZX)
sgplane : ""         #Target string

fstrsel sg17 plane$ sgplane 3 -1

Remapped:

fmt  "N" 21 n$          #Sequence number
fmt  "Z" 2  xabs        #X position output (re-mapped to Z * two)
fmt  "Y" 2  yabs        #Y position output
fmt  "X" 2  zabs        #Z position output (re-mapped to X)
fmt  "Z" 3  xinc        #X position output
fmt  "Y" 3  yinc        #Y position output
fmt  "X" 3  zinc        #Z position output
fmt  "A" 11 cabs        #C axis position
fmt  "A" 14 cinc        #C axis position
fmt  "A" 22 indx_out    #Index position
fmt  "R" 14 rt_cinc     #C axis position, G68
fmt  "K" 3  iout        #Arc center description in X (Remapped to K * two)
fmt  "J" 3  jout        #Arc center description in Y
fmt  "I" 3  kout        #Arc center description in Z (Remapped to I)
fmt  "R" 2  arcrad$     #Arc Radius
fmt  "F" 15 feed        #Feedrate

 

I would stick with Absolute Coordinate output for your NC Code, unless you want to re-build the "incremental calculations", so that the 'current - previous' calculations are mapped correctly.

 

Link to comment
Share on other sites
42 minutes ago, crazy^millman said:

Colin he is using a LMD would that be the best way to handle it? 

The issue with a LMD, is it will probably have logic in the "Machine Definition" database inside Mastercam, to check and be sure the MD is linked to a "Lathe Post". I still attempt to link something "easy to edit", like MPFAN, and see if you can just "get away with it".

The goal is being able to swap "Integrex Lathe MD" with a "Integrex 3-Axis Mill MD". In this case, that would be a "copied Lathe MD/CD, linked to a modified Post". If MPFAN won't work (due to Mastercam "seeing" that the Post isn't correct), it might be possible to "trick" Mastercam.

To do this, I would edit the "Post Version" Line, to try and trick Mastercam into "seeing" the Post as a Mill-Turn Post (MP-Based).

I would swap the Post Version from MPFAN:

[POST_VERSION] #DO NOT MOVE OR ALTER THIS LINE# V22.00 P0 E1 W22.00 T1550094727 M22.00 I0 O1

With the Post Version from MPLFAN:

[POST_VERSION] #DO NOT MOVE OR ALTER THIS LINE# V22.00 P4 E1 W22.00 T1550094751 M22.00 I0 O10

Note that the "T-Code" is just a time-stamp. It doesn't have any bearing on the "File Properties". The only thing that is different in this case is "P0" vs. "P4".

I'm fairly certain "P0" designates a "Mill" Post. I believe "P1" is Lathe (turning only), "P2" is likely for Router Posts, and "P3" is likely for EDM Posts. P4 should designate a "Mill-Turn style MP-Based Post".

For most "P4" style Posts,  you must have both "Lathe and Mill" sections. (Tool Change for Mill, and Tool Change for Lathe, SOF for Mill and SOF for Lathe, EOF for Mill, and EOF for Lathe, Etc.)

 

-------------------

Honestly, it might be the least amount of work to simply take MPFAN (Mill Default 3X MD, Mill Default CD, and MPFAN), and just use those (with remapped XZ values).

You could load your Lathe MD for any turning work. (and/or Mill-Turn). Then you could load a 2nd Machine Definition into the same Mastercam File (without having to change the part orientation).

Don't make it more complicated by trying to link a Lathe Machine Definition, to a remapped Mill Post.

Since he is running an Integrex already, it is likely he already has a "Mill License" on his Hasp, so simply loading a 3-Axis Mill Machine Definition in the same file, would likely be the least amount of work.

  • Like 1
Link to comment
Share on other sites

Wow look at the all these suggestions. Thanks everyone. I'll give these a try and see what works best for my flow. The post automatically determines the G10.9 values depending on the operation type.  The reason i was thinking of using the same machine Def and post was to utilize the B90° rotation that is necessary after every tool change. Ill look over these comments closer see I can make sense of all this. This is great reading material for at night. 🙂   

  • Like 1
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...