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:

About MPLMaster.pst only output C-Axis


Recommended Posts

Please help me to this problem.

About Test.mcam , we create C-Cross Toolpath and select output C-Axis.
This part need use Y-Axis, but machine only has C-Axis.
So we need output toolpath output X&C..

In MPLmaster.pst, that only can output Y-Axis motion, but when we use MPLFAN.pst & Generic Fanuc 4X MT_Lathe.pst that can output X&C motion.
MPLmaster.NC:output Y-Axis motion
MPFan.NC:output X-Axis & C-Axis motion
Fanuc 4X MT_Lathe.NC:output X-Axis & C-Axis motion

Thank for help...

Mastercam file and NC files
Test.zip

Machine and post files
Shared Mcam2018.zip

2018-9-29 上午 11-41-30.png

 

Link to comment
Share on other sites
On ‎9‎/‎28‎/‎2018 at 8:43 PM, Alan@TW said:

Please help me to this problem.

Your code output is not only dependent on your post. MD and CD also play a role.

You really need to contact your reseller on this because the number of "free" work hours you are asking someone for to fix this is probably a little much.

Both the MPLMASTER and FANUC MT_LATHE will give you all the outputs (C,X,Y and Z) that you need if set up correctly.

  • Thanks 1
Link to comment
Share on other sites

This is am issue that has always bothered me. If you look at the backplot you will see that even though C-axis is selected, the tool is not always pointing to center, which indicates a Y-axis move. This means that processing this toolpath as a Y-axis move will result in machine motions different from the backplot.

If you are using a ballend, the angle deviation is not important, but by default, we have set the logic to match the backplot.

But don't worry, the Logic you are looking for is still in your post. It is just commented out. It is a quick change to make in the postblock pxyzcout2 as outlined below. You just need  to uncomment the C-axis preference and comment out the Y-axis preference math.

 

Original code:

pxyzcout2       #Polar conversion, Cross cut, Right/Left Face cut
      #Drill polar is toolplane drilling toward center
      #if not a coincident axis (Face cut)
      if (y_axis | (opcode$ = three & abs(cuttype) <> two)), pxyzcout0
      else,
        [
        cfeed_x = sqrt(xa^2 + ya^2)
        cfeed_y = zero
        cfeed_z = za
        #if opcode$ = three & abs(cuttype) = three, csav = c$
        #else, csav = atan2(ya, xa) + c$
        if opcode$ = three & abs(cuttype) = three, csav = c$
        else,
          [
          if abs(cuttype) = 2,
            [
            if fmtrnd(xa) = fmtrnd(prv_xa) & fmtrnd(ya) = fmtrnd(prv_ya), csav = prv_csav
            else, csav = atan2(ya, xa) + c$   #on the face you need to add c$ in case of twisted face plane
            ]
          else,
            [
            csav = c$         #cross cutting with rotary turned on (NOT AXIS SUB!)
            cfeed_y = ya      #C only indexes to plane and then Y motion
            cfeed_x = xa
            ]
          ]
        pax_shift
        ipr_type = one
        if not(millcc & abs(cuttype) = two),
          [
          if fmtrnd(xa) = zero & fmtrnd(ya) = zero & opcode$ <> three,
            pnt_at_zero = one
          ]
        ]

 

New Code

pxyzcout2       #Polar conversion, Cross cut, Right/Left Face cut
      #Drill polar is toolplane drilling toward center
      #if not a coincident axis (Face cut)
      if (y_axis | (opcode$ = three & abs(cuttype) <> two)), pxyzcout0
      else,
        [
        cfeed_x = sqrt(xa^2 + ya^2)
        cfeed_y = zero
        cfeed_z = za
        if opcode$ = three & abs(cuttype) = three, csav = c$
        else, csav = atan2(ya, xa) + c$
        #if opcode$ = three & abs(cuttype) = three, csav = c$
        #else,
        #  [
        #  if abs(cuttype) = 2,
        #    [
        #    if fmtrnd(xa) = fmtrnd(prv_xa) & fmtrnd(ya) = fmtrnd(prv_ya), csav = prv_csav
        #    else, csav = atan2(ya, xa) + c$   #on the face you need to add c$ in case of twisted face plane
        #    ]
        #  else,
        #    [
        #    csav = c$         #cross cutting with rotary turned on (NOT AXIS SUB!)
        #    cfeed_y = ya      #C only indexes to plane and then Y motion
        #    cfeed_x = xa
        #    ]
        #  ]
        pax_shift
        ipr_type = one
        if not(millcc & abs(cuttype) = two),
          [
          if fmtrnd(xa) = zero & fmtrnd(ya) = zero & opcode$ <> three,
            pnt_at_zero = one
          ]
        ]

 

  • Thanks 1
Link to comment
Share on other sites
On 10/6/2018 at 2:01 AM, Alex Dales said:

This is am issue that has always bothered me. If you look at the backplot you will see that even though C-axis is selected, the tool is not always pointing to center, which indicates a Y-axis move. This means that processing this toolpath as a Y-axis move will result in machine motions different from the backplot.

If you are using a ballend, the angle deviation is not important, but by default, we have set the logic to match the backplot.

But don't worry, the Logic you are looking for is still in your post. It is just commented out. It is a quick change to make in the postblock pxyzcout2 as outlined below. You just need  to uncomment the C-axis preference and comment out the Y-axis preference math.

 

Original code:

pxyzcout2       #Polar conversion, Cross cut, Right/Left Face cut
      #Drill polar is toolplane drilling toward center
      #if not a coincident axis (Face cut)
      if (y_axis | (opcode$ = three & abs(cuttype) <> two)), pxyzcout0
      else,
        [
        cfeed_x = sqrt(xa^2 + ya^2)
        cfeed_y = zero
        cfeed_z = za
        #if opcode$ = three & abs(cuttype) = three, csav = c$
        #else, csav = atan2(ya, xa) + c$
        if opcode$ = three & abs(cuttype) = three, csav = c$
        else,
          [
          if abs(cuttype) = 2,
            [
            if fmtrnd(xa) = fmtrnd(prv_xa) & fmtrnd(ya) = fmtrnd(prv_ya), csav = prv_csav
            else, csav = atan2(ya, xa) + c$   #on the face you need to add c$ in case of twisted face plane
            ]
          else,
            [
            csav = c$         #cross cutting with rotary turned on (NOT AXIS SUB!)
            cfeed_y = ya      #C only indexes to plane and then Y motion
            cfeed_x = xa
            ]
          ]
        pax_shift
        ipr_type = one
        if not(millcc & abs(cuttype) = two),
          [
          if fmtrnd(xa) = zero & fmtrnd(ya) = zero & opcode$ <> three,
            pnt_at_zero = one
          ]
        ]

 

New Code

pxyzcout2       #Polar conversion, Cross cut, Right/Left Face cut
      #Drill polar is toolplane drilling toward center
      #if not a coincident axis (Face cut)
      if (y_axis | (opcode$ = three & abs(cuttype) <> two)), pxyzcout0
      else,
        [
        cfeed_x = sqrt(xa^2 + ya^2)
        cfeed_y = zero
        cfeed_z = za
        if opcode$ = three & abs(cuttype) = three, csav = c$
        else, csav = atan2(ya, xa) + c$
        #if opcode$ = three & abs(cuttype) = three, csav = c$
        #else,
        #  [
        #  if abs(cuttype) = 2,
        #    [
        #    if fmtrnd(xa) = fmtrnd(prv_xa) & fmtrnd(ya) = fmtrnd(prv_ya), csav = prv_csav
        #    else, csav = atan2(ya, xa) + c$   #on the face you need to add c$ in case of twisted face plane
        #    ]
        #  else,
        #    [
        #    csav = c$         #cross cutting with rotary turned on (NOT AXIS SUB!)
        #    cfeed_y = ya      #C only indexes to plane and then Y motion
        #    cfeed_x = xa
        #    ]
        #  ]
        pax_shift
        ipr_type = one
        if not(millcc & abs(cuttype) = two),
          [
          if fmtrnd(xa) = zero & fmtrnd(ya) = zero & opcode$ <> three,
            pnt_at_zero = one
          ]
        ]

 

Thanks for Alex...
That solves my Obsession.

Because the post for student use.
Some machine don't have Y-Axis, and someone will forget to use other function to create toolpath.
So, I need to let them output X&C code.
I understand that toolpath not correct, it's need Y-Axis to machining...

Thank you very much.... 

 

2018-10-7 10-14-15.png

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