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:

Circle Mill with IJK convert to R values?


Recommended Posts

Hello everyone,

   Is there away that I can make the post convert IJK value to R value in the CIRCLE MILL function?

 

Please help, thank you.

 

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

G3 X-5.6988 Y-.8659 Z-.0065 I.0438 J-.0241 F10.
X-5.6988 Y-.8659 Z-.0229 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.0394 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.0559 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.0723 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.0888 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.1053 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.1217 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.1382 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.1546 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.1711 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.1876 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.204 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.2205 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.237 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.2534 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.2699 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.2864 I.0438 J-.0241
X-5.6988 Y-.8659 Z-.3028 I.0438 J-.0241
X-5.6112 Y-.9141 Z-.3111 R.05
X-5.6064 Y-.8782 Z-.313 R.05
X-5.6064 Y-.8782 I-.0486 J-.0118
X-5.6728 Y-.8191 R.0781
X-5.6372 Y-.9609 R.0731
Link to comment
Share on other sites

You would need to write an operation logic that looks to the operation code and then uses a different filter option when that specific operation code. Look in the MP PDF and look up what that specific operation code is ad then you should be good to go.

 

If opcode$ = ??,

[

Radius call already in post to output R.

]

else,

[

radius call already in post to output IJK

]

 

HTH

Link to comment
Share on other sites

If you want to check the hole size you could just add it to the end

 

T9 M06
G54
G17 G90 G00 X81.389 Y0.0
B-90. C-180.
G68.2 X0.0 Y0.0 Z0.0 I90. J90. K90.
G53.1
S3979 M03
M08
G00 X26. Y0.0
G131 P3 (HSM-ON)
G43 Z140. H09
G94 G90
Z90.8
G41 G01 Y-.625 D09 F239.
G03 X26. Y-.625 Z90.7 I0.0 J.625 (R.625)
X26. Y-.625 Z90.6 I0.0 J.625 (R.625)
X26. Y-.625 Z90.5 I0.0 J.625 (R.625)
X26. Y-.625 Z90.4 I0.0 J.625 (R.625)
X26. Y-.625 Z90.3 I0.0 J.625 (R.625)
X26. Y-.625 Z90.2 I0.0 J.625 (R.625)
X26. Y-.625 Z90.1 I0.0 J.625 (R.625)
X26. Y-.625 Z90. I0.0 J.625 (R.625)
X26. Y-.625 Z89.9 I0.0 J.625 (R.625)
X26. Y-.625 Z89.8 I0.0 J.625 (R.625)
X26. Y-.625 Z89.7 I0.0 J.625 (R.625)
X26. Y-.625 Z89.6 I0.0 J.625 (R.625)

Link to comment
Share on other sites

              BEFORE   OEM PST

FIND

     PARC         #select the arc output

     if (plane$ = 0 & arctype$ < five) | (plane$ = 1 & arctypeyz$ < five) |
        (plane$ = 2 & arctypexz$ < five) | full_arc_flg$ | arc_pitch$,
        [
   
        #Arc output for IJK
        # If you do NOT want to force out the I,J,K values,
        # remove the "*" asterisks on the *i, *j, *k 's below...
       if plane$ = zero, *iout, *jout, kout #XY plane code - G17 <-------------------- here
       if plane$ = one, iout, *jout, *kout  #YZ plane code - G19<---------------here
       if plane$ = two, *iout, jout, *kout  #XZ plane code - G18 <-------------------here
        !i$, !j$, !k$ <-------------------- here
        ]
      else,
        [
        #Arc output for R
        if abs(sweep$)<=180 | (plane$ = 0 & arctype$ = five) | (plane$ = 1 & arctypeyz$ = five) |
          (plane$ = 2 & arctypexz$ = five), result = nwadrs(srad, arcrad$)
        else, result = nwadrs(srminus, arcrad$)
        *arcrad$
        ]

BLOCK OR DELETE ALL  I J K

 AFTER

     if (plane$ = 0 & arctype$ < five) | (plane$ = 1 & arctypeyz$ < five) |
        (plane$ = 2 & arctypexz$ < five) | full_arc_flg$ | arc_pitch$,
        [

            #Arc output for R  ##########REPLACE  IJK  FOR  R  copy paste ##############################################
        if abs(sweep$)<=180 | (plane$ = 0 & arctype$ = five) | (plane$ = 1 & arctypeyz$ = five) |
          (plane$ = 2 & arctypexz$ = five), result = nwadrs(srad, arcrad$)
        else, result = nwadrs(srminus, arcrad$)
        *arcrad$


        #Arc output for IJK ##################################### BLOCK IJK    OR DELETE
        # If you do NOT want to force out the I,J,K values,   
        # remove the "*" asterisks on the *i, *j, *k 's below...
   #     if plane$ = zero, *iout, *jout, kout #XY plane code - G17  <-------------  block or delete
    #    if plane$ = one, iout, *jout, *kout  #YZ plane code - G19<----------------------block or delete
    #    if plane$ = two, *iout, jout, *kout  #XZ plane code - G18<-----------------------block or delete
    #    !i$, !j$, !k$ <----------------------block or delete
        ]
      else,
        [
        #Arc output for R
        if abs(sweep$)<=180 | (plane$ = 0 & arctype$ = five) | (plane$ = 1 & arctypeyz$ = five) |
          (plane$ = 2 & arctypexz$ = five), result = nwadrs(srad, arcrad$)
        else, result = nwadrs(srminus, arcrad$)
        *arcrad$
        ]

 it works for me

Link to comment
Share on other sites

              BEFORE   OEM PST

FIND

     PARC         #select the arc output

 

     if (plane$ = 0 & arctype$ < five) | (plane$ = 1 & arctypeyz$ < five) |

        (plane$ = 2 & arctypexz$ < five) | full_arc_flg$ | arc_pitch$,

        [

   

        #Arc output for IJK

        # If you do NOT want to force out the I,J,K values,

        # remove the "*" asterisks on the *i, *j, *k 's below...

       if plane$ = zero, *iout, *jout, kout #XY plane code - G17 <-------------------- here

       if plane$ = one, iout, *jout, *kout  #YZ plane code - G19<---------------here

       if plane$ = two, *iout, jout, *kout  #XZ plane code - G18 <-------------------here

        !i$, !j$, !k$ <-------------------- here

        ]

      else,

        [

        #Arc output for R

        if abs(sweep$)<=180 | (plane$ = 0 & arctype$ = five) | (plane$ = 1 & arctypeyz$ = five) |

          (plane$ = 2 & arctypexz$ = five), result = nwadrs(srad, arcrad$)

        else, result = nwadrs(srminus, arcrad$)

        *arcrad$

        ]

 

BLOCK OR DELETE ALL  I J K

 

 AFTER

 

     if (plane$ = 0 & arctype$ < five) | (plane$ = 1 & arctypeyz$ < five) |

        (plane$ = 2 & arctypexz$ < five) | full_arc_flg$ | arc_pitch$,

        [

 

            #Arc output for R  ##########REPLACE  IJK  FOR  R  copy paste ##############################################

        if abs(sweep$)<=180 | (plane$ = 0 & arctype$ = five) | (plane$ = 1 & arctypeyz$ = five) |

          (plane$ = 2 & arctypexz$ = five), result = nwadrs(srad, arcrad$)

        else, result = nwadrs(srminus, arcrad$)

        *arcrad$

 

 

        #Arc output for IJK ##################################### BLOCK IJK    OR DELETE

        # If you do NOT want to force out the I,J,K values,   

        # remove the "*" asterisks on the *i, *j, *k 's below...

   #     if plane$ = zero, *iout, *jout, kout #XY plane code - G17  <-------------  block or delete

    #    if plane$ = one, iout, *jout, *kout  #YZ plane code - G19<----------------------block or delete

    #    if plane$ = two, *iout, jout, *kout  #XZ plane code - G18<-----------------------block or delete

    #    !i$, !j$, !k$ <----------------------block or delete

        ]

      else,

        [

        #Arc output for R

        if abs(sweep$)<=180 | (plane$ = 0 & arctype$ = five) | (plane$ = 1 & arctypeyz$ = five) |

          (plane$ = 2 & arctypexz$ = five), result = nwadrs(srad, arcrad$)

        else, result = nwadrs(srminus, arcrad$)

        *arcrad$

        ]

 

 it works for me

 

Hi CVLVNB,

   Thank you for the tip and I tried as you instructed, the result is it generated much more codes such as X and Y values.  Do you have any other solutions to make the code short such as using R value?

 

Thank you.

Link to comment
Share on other sites

You would need to write an operation logic that looks to the operation code and then uses a different filter option when that specific operation code. Look in the MP PDF and look up what that specific operation code is ad then you should be good to go.

 

If opcode$ = ??,

[

Radius call already in post to output R.

]

else,

[

radius call already in post to output IJK

]

 

HTH

 

 

 

Thank you 5th axis consulting,  I would definitively look into of what you just instructed me.

Link to comment
Share on other sites

If you want to check the hole size you could just add it to the end

 

T9 M06

G54

G17 G90 G00 X81.389 Y0.0

B-90. C-180.

G68.2 X0.0 Y0.0 Z0.0 I90. J90. K90.

G53.1

S3979 M03

M08

G00 X26. Y0.0

G131 P3 (HSM-ON)

G43 Z140. H09

G94 G90

Z90.8

G41 G01 Y-.625 D09 F239.

G03 X26. Y-.625 Z90.7 I0.0 J.625 (R.625)

X26. Y-.625 Z90.6 I0.0 J.625 (R.625)

X26. Y-.625 Z90.5 I0.0 J.625 (R.625)

X26. Y-.625 Z90.4 I0.0 J.625 (R.625)

X26. Y-.625 Z90.3 I0.0 J.625 (R.625)

X26. Y-.625 Z90.2 I0.0 J.625 (R.625)

X26. Y-.625 Z90.1 I0.0 J.625 (R.625)

X26. Y-.625 Z90. I0.0 J.625 (R.625)

X26. Y-.625 Z89.9 I0.0 J.625 (R.625)

X26. Y-.625 Z89.8 I0.0 J.625 (R.625)

X26. Y-.625 Z89.7 I0.0 J.625 (R.625)

X26. Y-.625 Z89.6 I0.0 J.625 (R.625)

 

 

Thank you Greg William, my main goal is to make the IJK to be come only R value if I can so I can make the codes short.  Once again, thank you or your time to show me how things to be done.

Link to comment
Share on other sites

              BEFORE   OEM PST

FIND

     PARC         #select the arc output

 

     if (plane$ = 0 & arctype$ < five) | (plane$ = 1 & arctypeyz$ < five) |

        (plane$ = 2 & arctypexz$ < five) | full_arc_flg$ | arc_pitch$,

        [

   

        #Arc output for IJK

        # If you do NOT want to force out the I,J,K values,

        # remove the "*" asterisks on the *i, *j, *k 's below...

       if plane$ = zero, *iout, *jout, kout #XY plane code - G17 <-------------------- here

       if plane$ = one, iout, *jout, *kout  #YZ plane code - G19<---------------here

       if plane$ = two, *iout, jout, *kout  #XZ plane code - G18 <-------------------here

        !i$, !j$, !k$ <-------------------- here

        ]

      else,

        [

        #Arc output for R

        if abs(sweep$)<=180 | (plane$ = 0 & arctype$ = five) | (plane$ = 1 & arctypeyz$ = five) |

          (plane$ = 2 & arctypexz$ = five), result = nwadrs(srad, arcrad$)

        else, result = nwadrs(srminus, arcrad$)

        *arcrad$

        ]

 

BLOCK OR DELETE ALL  I J K

 

 AFTER

 

     if (plane$ = 0 & arctype$ < five) | (plane$ = 1 & arctypeyz$ < five) |

        (plane$ = 2 & arctypexz$ < five) | full_arc_flg$ | arc_pitch$,

        [

 

            #Arc output for R  ##########REPLACE  IJK  FOR  R  copy paste ##############################################

        if abs(sweep$)<=180 | (plane$ = 0 & arctype$ = five) | (plane$ = 1 & arctypeyz$ = five) |

          (plane$ = 2 & arctypexz$ = five), result = nwadrs(srad, arcrad$)

        else, result = nwadrs(srminus, arcrad$)

        *arcrad$

 

 

        #Arc output for IJK ##################################### BLOCK IJK    OR DELETE

        # If you do NOT want to force out the I,J,K values,   

        # remove the "*" asterisks on the *i, *j, *k 's below...

   #     if plane$ = zero, *iout, *jout, kout #XY plane code - G17  <-------------  block or delete

    #    if plane$ = one, iout, *jout, *kout  #YZ plane code - G19<----------------------block or delete

    #    if plane$ = two, *iout, jout, *kout  #XZ plane code - G18<-----------------------block or delete

    #    !i$, !j$, !k$ <----------------------block or delete

        ]

      else,

        [

        #Arc output for R

        if abs(sweep$)<=180 | (plane$ = 0 & arctype$ = five) | (plane$ = 1 & arctypeyz$ = five) |

          (plane$ = 2 & arctypexz$ = five), result = nwadrs(srad, arcrad$)

        else, result = nwadrs(srminus, arcrad$)

        *arcrad$

        ]

 

 it works for me

 

Mind explaining how that takes the specific operation he asked for and changes the output to R and not use IJK, but then uses IJK everywhere else?

Link to comment
Share on other sites

You would need to write an operation logic that looks to the operation code and then uses a different filter option when that specific operation code. Look in the MP PDF and look up what that specific operation code is ad then you should be good to go.

 

If opcode$ = ??,

[

Radius call already in post to output R.

]

else,

[

radius call already in post to output IJK

]

 

HTH

 

BTW the tool_op$ code is 18. opcode$ is used in specific operations, but tool_op$ code is the correct one that should be able to read directly from the MP in any post. I was thinking along the lines of MPMASTER which was why I was pointing you in the direction of the MP reference manual.

Link to comment
Share on other sites

If you want to make your program shorter....why not get rid of the stuff that you likely don't need?

This:

G41 D1 X.125 Y.125 F16.
G3 X0. Y.25 I-.125
Z-.1 J-.25
Z-.2 J-.25
Z-.3 J-.25
Z-.4 J-.25
Z-.5 J-.25
Z-.6 J-.25
Z-.7 J-.25
Z-.8 J-.25
Z-.9 J-.25
Z-1. J-.25
J-.25
X-.125 Y.125 J-.125
G1 G40 X0. Y0.

instead of this:

G41 D1 X.125 Y.125 F16.
G3 X0. Y.25 I-.125 J0.
X0. Y.25 Z-.1 I0. J-.25
X0. Y.25 Z-.2 I0. J-.25
X0. Y.25 Z-.3 I0. J-.25
X0. Y.25 Z-.4 I0. J-.25
X0. Y.25 Z-.5 I0. J-.25
X0. Y.25 Z-.6 I0. J-.25
X0. Y.25 Z-.7 I0. J-.25
X0. Y.25 Z-.8 I0. J-.25
X0. Y.25 Z-.9 I0. J-.25
X0. Y.25 Z-1. I0. J-.25
X0. Y.25 I0. J-.25
X-.125 Y.125 I0. J-.125
G1 G40 X0. Y0.
  • Like 1
Link to comment
Share on other sites

 

If you want to make your program shorter....why not get rid of the stuff that you likely don't need?

This:

G41 D1 X.125 Y.125 F16.
G3 X0. Y.25 I-.125
Z-.1 J-.25
Z-.2 J-.25
Z-.3 J-.25
Z-.4 J-.25
Z-.5 J-.25
Z-.6 J-.25
Z-.7 J-.25
Z-.8 J-.25
Z-.9 J-.25
Z-1. J-.25
J-.25
X-.125 Y.125 J-.125
G1 G40 X0. Y0.

instead of this:

G41 D1 X.125 Y.125 F16.
G3 X0. Y.25 I-.125 J0.
X0. Y.25 Z-.1 I0. J-.25
X0. Y.25 Z-.2 I0. J-.25
X0. Y.25 Z-.3 I0. J-.25
X0. Y.25 Z-.4 I0. J-.25
X0. Y.25 Z-.5 I0. J-.25
X0. Y.25 Z-.6 I0. J-.25
X0. Y.25 Z-.7 I0. J-.25
X0. Y.25 Z-.8 I0. J-.25
X0. Y.25 Z-.9 I0. J-.25
X0. Y.25 Z-1. I0. J-.25
X0. Y.25 I0. J-.25
X-.125 Y.125 I0. J-.125
G1 G40 X0. Y0.

 

 

Older machines require each line to have the IJK defined. Even some newer controls still requires each line have a IJK.

Link to comment
Share on other sites

Older machines require each line to have the IJK defined. Even some newer controls still requires each line have a IJK.

Going back to a 1980 something matsuura MC760 with a Yasnac MX3 controller....that code runs on it. (thankfully we don't have that beast anymore)

But yes, Some machine require it. F@gor comes to mind. Fortunatly those machines are getting more rare.

Link to comment
Share on other sites

 

If you want to make your program shorter....why not get rid of the stuff that you likely don't need?

This:

G41 D1 X.125 Y.125 F16.
G3 X0. Y.25 I-.125
Z-.1 J-.25
Z-.2 J-.25
Z-.3 J-.25
Z-.4 J-.25
Z-.5 J-.25
Z-.6 J-.25
Z-.7 J-.25
Z-.8 J-.25
Z-.9 J-.25
Z-1. J-.25
J-.25
X-.125 Y.125 J-.125
G1 G40 X0. Y0.

instead of this:

G41 D1 X.125 Y.125 F16.
G3 X0. Y.25 I-.125 J0.
X0. Y.25 Z-.1 I0. J-.25
X0. Y.25 Z-.2 I0. J-.25
X0. Y.25 Z-.3 I0. J-.25
X0. Y.25 Z-.4 I0. J-.25
X0. Y.25 Z-.5 I0. J-.25
X0. Y.25 Z-.6 I0. J-.25
X0. Y.25 Z-.7 I0. J-.25
X0. Y.25 Z-.8 I0. J-.25
X0. Y.25 Z-.9 I0. J-.25
X0. Y.25 Z-1. I0. J-.25
X0. Y.25 I0. J-.25
X-.125 Y.125 I0. J-.125
G1 G40 X0. Y0.

 

Hi MILL-TFP,

   I like that, and how can I do it?  Would you please let me know where do I do like the way you proposed?

 

 

Thanks.

Link to comment
Share on other sites

Hi MILL-TFP,

   I like that, and how can I do it?  Would you please let me know where do I do like the way you proposed?

 

 

Thanks.

 

 

Please read the section about how to do it above. Just about every post has this defined in them.

        #Arc output for IJK
        # If you do NOT want to force out the I,J,K values,
        # remove the "*" asterisks on the *i, *j, *k 's below...
       if plane$ = zero, *iout, *jout, kout #XY plane code - G17 <-------------------- here
       if plane$ = one, iout, *jout, *kout  #YZ plane code - G19<---------------here
       if plane$ = two, *iout, jout, *kout  #XZ plane code - G18 <-------------------here
        !i$, !j$, !k$ <-------------------- here
  
  • Like 1
Link to comment
Share on other sites

 

Please read the section about how to do it above. Just about every post has this defined in them.

        #Arc output for IJK
        # If you do NOT want to force out the I,J,K values,
        # remove the "*" asterisks on the *i, *j, *k 's below...
       if plane$ = zero, *iout, *jout, kout #XY plane code - G17 <-------------------- here
       if plane$ = one, iout, *jout, *kout  #YZ plane code - G19<---------------here
       if plane$ = two, *iout, jout, *kout  #XZ plane code - G18 <-------------------here
        !i$, !j$, !k$ <-------------------- here
  

 

Hi 5th Axis Consulting,

   I did as you instructed and the result was it outputs X, Y locations instead of I, J, and.... X,Y data is much more than IJK.

 

I don't know what I've done wrong, please help.

 

 

Thank you.

Link to comment
Share on other sites

Does the IJK duplicate? Post up some sample code of the problem you are seeing.

 

Hi 5th Axis consulting,

  Below here is my sample of codes, thank you for your help with patients.

 

 

HELIX BORE tool path

 

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

N13(.3750, 3/8 EM, CB, ROUGHER,)
(3FLTS 1.250LOC, 1.50LOH)
G0 G17 G40 G49 G80 G90
G91 G28 Z0. M19
T13 M6(Finish 1x 0.4815, CUT#29)
G90 G56(ADOC= .1200)
X.55 Y-.459 S7000 M3
G43 H13 Z1. M8(DOC= Z-.81)
G90 Z-.69
G3 Y-.4923 R.0166 F10.
X.55 Y-.4923 Z-.77 J.0333
Y-.4258 Z-.81 R.0333
X.55 Y-.4258 J-.0332 F7.5
Y-.459 R.0166
Y-.4058 R.0266 F10.
X.55 Y-.4058 J-.0532
X.55 Y-.4058 Z-.805 J-.0532
X.55 Y-.4058 Z-.8 J-.0532
X.55 Y-.4058 Z-.795 J-.0532
X.55 Y-.4058 Z-.79 J-.0532
X.55 Y-.4058 Z-.785 J-.0532
X.55 Y-.4058 Z-.78 J-.0532
X.55 Y-.4058 Z-.775 J-.0532
X.55 Y-.4058 Z-.77 J-.0532
X.55 Y-.4058 Z-.765 J-.0532
X.55 Y-.4058 Z-.76 J-.0532
X.55 Y-.4058 Z-.755 J-.0532
X.55 Y-.4058 Z-.75 J-.0532
X.55 Y-.4058 Z-.745 J-.0532
X.55 Y-.4058 Z-.74 J-.0532
X.55 Y-.4058 Z-.735 J-.0532
X.55 Y-.4058 Z-.73 J-.0532
X.55 Y-.4058 Z-.725 J-.0532
X.55 Y-.4058 Z-.72 J-.0532
X.55 Y-.4058 Z-.715 J-.0532
X.55 Y-.4058 Z-.71 J-.0532
X.55 Y-.4058 Z-.705 J-.0532
X.55 Y-.4058 Z-.7 J-.0532
X.55 Y-.4058 Z-.695 J-.0532
X.55 Y-.4058 Z-.69 J-.0532
Y-.459 R.0266
G0 Z1. M9
G91 G28 Z0. M5
G28 Y0.
G90 G56 X0.
M1
M30
(1653CHAR, 1.66KB)
%
Link to comment
Share on other sites

Another sample from CIRCLE MILL...

 

N13(.3750, 3/8 EM, CB, ROUGHER,)
(3FLTS 1.250LOC, 1.50LOH)
G0 G17 G40 G49 G80 G90
G91 G28 Z0. M19
T13 M6(CIRCLE MILL, CUT#29)
G90 G56(Z STK= .005)
(XY STK= .005)
X.5215 Y-.4346 S7000 M3
G43 H13 Z1. M8(DOC= Z.005)
G90 Z.1
G3 X.5215 Y-.4346 Z.0877 I.0285 J-.0244 F10.
X.5215 Y-.4346 Z.0753 I.0285 J-.0244
X.5215 Y-.4346 Z.063 I.0285 J-.0244
X.5215 Y-.4346 Z.0506 I.0285 J-.0244
X.5215 Y-.4346 Z.0383 I.0285 J-.0244
X.5215 Y-.4346 Z.0259 I.0285 J-.0244
X.5215 Y-.4346 Z.0136 I.0285 J-.0244
X.5785 Y-.4834 Z.0074 R.0375
X.5828 Y-.4408 Z.005 R.0375
X.5828 Y-.4408 I-.0328 J-.0182
X.55 Y-.4108 R.0703
Y-.5072 R.0482
Y-.4108 R.0482
X.5259 Y-.4349 R.0241
G1 X.55 Y-.459
Y-.4349
X.5741
G3 X.55 Y-.4108 R.0241
X.55 Y-.4108 J-.0482
X.5259 Y-.4349 R.0241
G1 X.55
Y-.459
G0 Z.125
Z1. M9
G91 G28 Z0. M5
G28 X1.1(Table moves to the LEFT)
G28 Y0.
G90 G56 X0.
M1
M30
(1446CHAR, 1.45KB)
%
Link to comment
Share on other sites

When I put ....

      if (plane$ = 0 & arctype$ < five) | (plane$ = 1 & arctypeyz$ < five) |        (plane$ = 2 & arctypexz$ < five) | full_arc_flg$,        [        #Arc output for IJK        # If you do NOT want to force out the I,J,K values,        # remove the "*" asterisks on the *i, *j, *k 's below...        #if plane$ = zero, iout, jout, kout #XY plane code - G17        #if plane$ = one, iout, jout, kout  #YZ plane code - G19        #if plane$ = two, iout, jout, kout  #XZ plane code - G18        #!i$, !j$, !k$        ]      else,        [        #Arc output for R        if abs(sweep$)<=180 | (plane$ = 0 & arctype$ = five) | (plane$ = 1 & arctypeyz$ = five) |          (plane$ = 2 & arctypexz$ = five), result = nwadrs(srad, arcrad$)        else, result = nwadrs(srminus, arcrad$)        *arcrad$        ]

then the codes are...

 

N13(.3750, 3/8 EM, CB, ROUGHER,)
(3FLTS 1.250LOC, 1.50LOH)
G0 G17 G40 G49 G80 G90
G91 G28 Z0. M19
G28 X1.1(Table moves to the LEFT)
T13 M6(CIRCLE MILL, CUT#29)
G90 G56(Z STK= .005)
(XY STK= .005)
X.5215 Y-.4346 S7000 M3
G43 H13 Z1. M8(DOC= Z.005)
G90 Z.1
G3 X.5215 Y-.4346 Z.0877 F10.
X.5215 Y-.4346 Z.0753
X.5215 Y-.4346 Z.063
X.5215 Y-.4346 Z.0506
X.5215 Y-.4346 Z.0383
X.5215 Y-.4346 Z.0259
X.5215 Y-.4346 Z.0136
X.5785 Y-.4834 Z.0074 R.0375
X.5828 Y-.4408 Z.005 R.0375
X.5828 Y-.4408
X.55 Y-.4108 R.0703
Y-.5072 R.0482
Y-.4108 R.0482
X.5259 Y-.4349 R.0241
G1 X.55 Y-.459
Y-.4349
X.5741
G3 X.55 Y-.4108 R.0241
X.55 Y-.4108
X.5259 Y-.4349 R.0241
G1 X.55
Y-.459
G0 Z.125
Z1. M9
G91 G28 Z0. M5
G28 X1.1(Table moves to the LEFT)
G28 Y0.
G90 G56 X0.
M1
M30
(1317CHAR, 1.32KB)
Link to comment
Share on other sites

That is not the same thing. Can you not see that code will not even run on a machine? Where is your R value for each line?

 

Sorry, but again you keep chasing the wrong stuff. What are you trying to accomplish here? I thought you needed a job and I would work on making good tool paths and being able to run the machine. Each machine is different just like being talked about in the generic 5Axis thread. Learn the fudemntals of G and M code. Get in front of as many different machines as you can. Then you get the feeling for what it should or should not be. Sorry, but like I have said in other threads let the post drive the machine and work on a process to support the latest technology. Things you keep chasing are for machines that may not even be around in a few years. Learn Mastercam as the tool to program the machine tool. Posts are very interesting and many things you can do with them, but a good machine understanding and base concept is needed, and when you cannot see the missing code in the example you just put up it tells me you are lacking the experience needed. Go get that experience and use it to build your knoweldge base. That building of your knoweldge base will help you in situations where you do need reduced code and in situations where you don't. I have been in 100's of different shops and I see it done in so many different ways. I think it is great you want to learn and not trying to discourage you in learning, but see you struggle with what I think are fudemntals. Get a better grasp of your fudemntals and things like this will be much easier to figure out.

 

Sorry again as I feel like I am always calling you out as it is not my intention. I want to hopefully point you in the right direction to help you in a profession I think it great for anyone to do.

Link to comment
Share on other sites

That is not the same thing. Can you not see that code will not even run on a machine? Where is your R value for each line?

 

Sorry, but again you keep chasing the wrong stuff. What are you trying to accomplish here? I thought you needed a job and I would work on making good tool paths and being able to run the machine. Each machine is different just like being talked about in the generic 5Axis thread. Learn the fudemntals of G and M code. Get in front of as many different machines as you can. Then you get the feeling for what it should or should not be. Sorry, but like I have said in other threads let the post drive the machine and work on a process to support the latest technology. Things you keep chasing are for machines that may not even be around in a few years. Learn Mastercam as the tool to program the machine tool. Posts are very interesting and many things you can do with them, but a good machine understanding and base concept is needed, and when you cannot see the missing code in the example you just put up it tells me you are lacking the experience needed. Go get that experience and use it to build your knoweldge base. That building of your knoweldge base will help you in situations where you do need reduced code and in situations where you don't. I have been in 100's of different shops and I see it done in so many different ways. I think it is great you want to learn and not trying to discourage you in learning, but see you struggle with what I think are fudemntals. Get a better grasp of your fudemntals and things like this will be much easier to figure out.

 

Sorry again as I feel like I am always calling you out as it is not my intention. I want to hopefully point you in the right direction to help you in a profession I think it great for anyone to do.

Hi 5th Axis Consulting,

   Thank you for your respond and I understand that sometimes I'm asking something that may never exist.  However, at least I dare to try and ask whereas others people afraid to.  Once again, thank you for your feedback and I hope I can get some knowledge from you in the future in this forum.

Link to comment
Share on other sites
  • 2 weeks later...

Looking at the example program, you are doing full circles ( 360 Arcs)

You cannot program a Full circle in one line of program, using the R word address.

So you would need to break the Circular Interpolation into two Arcs, each less than 360.

Must commonly 2 arcs of 180 each, to make the full circle. This likely would defeat the objective of shortening the Program.

But

The concept of using IJK and leaving out values not needed, would shorten the Program, but you would need to use the G91 INC mode.

Then any Value left out would be understood to be .000 and will be acceptable in the INC G91 mode. This should be useable in most all controls even Older Models.

In the G91 mode the only value you would need in the program line is the "Z" and the J-.0241 the rest would either Modal or be understood.

 

What did we do for enjoyment before CNC programming.

 

.0002

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