Sign in to follow this  
ICT_Outkast

G10 Output help please......

Recommended Posts

I am working on a MPMaster post to output G10s on a horizontal. I have it so it will output the first work offset, but will not post the remaining rotations. I have tried, most everything I can find in the forums, but am having no luck. The buffering is over my head. I am wondering if anyone has a copy of the G10 posts that were on the old ftp site. I cannot access that anymore. Might be my firewall at work, or it's just gone. Thanks in advance.

Share this post


Link to post
Share on other sites
9 minutes ago, JB7280 said:

This post automatically adds G10's to whichever offsets you're using??

It can, yes.

 

Program I am working on this am, these come out when posted..the text is standard in the post and edited for the actual locations in use

 

(G54.1P1 - B0. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P1X0.Y-5.2879Z-18.8568
 
 
(G54.1P2 - B90. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P2X-9.0962Y-5.2879Z-27.34
 
 
(G54.1P3 - B270. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P3X9.0962Y-5.2879Z-27.34
 
 
(G54.1P4 - B0. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P4X0.Y-9.5379Z-18.8568
 
 
(G54.1P5 - B90. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P5X-9.0962Y-9.5379Z-27.34
 
 
(G54.1P6 - B270. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P6X9.0962Y-9.5379Z-27.34
 
 
(G54.1P7 - B0. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P7X0.Y-13.7879Z-18.8568
 
 
(G54.1P8 - B90. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P8X-9.0962Y-13.7879Z-27.34
 
 
(G54.1P9 - B270. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P9X9.0962Y-13.7879Z-27.34
 
 
(G54.1P10 - B0. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P10X0.Y-18.0379Z-18.8568
 
 
(G54.1P11 - B90. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P11X-9.0962Y-18.0379Z-27.34
 
 
(G54.1P12 - B270. - PART - )
(X0 CENTER OF LOCATING PIN)
(Y0 CENTER OF LOCATING PIN)
(Z0 TOP OF PART)
G90G10L20P12X9.0962Y-18.0379Z-27.34

  • Like 1

Share this post


Link to post
Share on other sites

thats awesome.  I've been using manual entry, but I hate that it puts it in the beginning, before the program header.  What is necessary, aside from the post edits?  Where does it pull the notes/comments from?

  • Sad 1

Share this post


Link to post
Share on other sites

If you use that G10 post above as a reference, my preadbuf9 is modified a bit from what is in the original..

 

preadbuf9 # Write the G10 workoffset list - called from psof
       #------------------------------------------------------------------
       # Determine largest workofs output - b9_test = largest workofs used
       #------------------------------------------------------------------
       #--------------- Initialize variables
       size9 = rbuf(9,0)
       rc9 = 1
       wc9 = 1
       b9_test =  -1

       while rc9 <= size9,
        [
        b9_tox = rbuf(9,rc9)
        if b9_workofs > b9_test, b9_test = b9_workofs
        ]
       #------------------------------------------------------------------
       # Ouptut the G10 list in order
       #------------------------------------------------------------------
       #--------------- Initialize variables
       size9 = rbuf(9,0)
       rc9 = 1
       wc9 = 1
       idx9 = 0
       b9_tox = 0
       b9_toy = 0
       b9_toz = 0
       b9_workofs = 0
       b9_cabs = 0

       while idx9 <= b9_test,
        [
        while rc9 <= size9,
         [
         b9_tox = rbuf(9,rc9)
         if b9_workofs = idx9,
          [
           if use_g10 = 1,
            [
              if b9_workofs < 6,
                [
                  if b9_workofs = -1, b9_workofs = 0
                  g_wcs = (b9_workofs + 54)
                  p_wcs = (b9_workofs + 1)
                  b9_toy = ((b9_toy + (yhome_off)) + tmbston_bttm)
                  b9_toz = (b9_toz + (zhome_off))
                  pbld, "(", no_spc$, *g_wcs, " ",  "-", " ", *b9_cabs,  " ",  "-", " ", "PART - ", no_spc$, ")", e$
                  pbld, "(", no_spc$, "X0 CENTER OF LOCATING PIN", no_spc$, ")", e$
                  pbld, "(", no_spc$, "Y0 CENTER OF LOCATING PIN", no_spc$, ")", e$
                  pbld, "(", no_spc$, "Z0 TOP OF PART", no_spc$, ")", e$
                  n$, "G90", "G10", "L2", *p_wcs, *b9_tox, *b9_toy, *b9_toz, e$
                  " ", e$
                  " ", e$
                ]
              else,
                [
                  if b9_workofs > 5, p_wcs = (b9_workofs - 5)
                  b9_toy = ((b9_toy + (yhome_off)) + tmbston_bttm)
                  b9_toz = (b9_toz + (zhome_off))
                  pbld, "(", no_spc$, "G54.1", *p_wcs, " ",  "-", " ", *b9_cabs,  " ",  "-", " ", "PART - ", no_spc$, ")", e$
                  pbld, "(", no_spc$, "X0 CENTER OF LOCATING PIN", no_spc$, ")", e$
                  pbld, "(", no_spc$, "Y0 CENTER OF LOCATING PIN", no_spc$, ")", e$
                  pbld, "(", no_spc$, "Z0 TOP OF PART", no_spc$, ")", e$
                  n$, "G90", "G10", "L20", *p_wcs, *b9_tox, *b9_toy, *b9_toz, e$
                  " ", e$
                  " ", e$
               ]
            ]
           if use_g10 = 2,
             [
              "(OFFSET OUTPUT NOT EDITED FOR USE)", e$
              #n$, "G90", "G10", "L20", *p_wcs, *b9_tox, *b9_toy, *b9_toz, *srot_label, no_spc$, "0", e$
             ]
           ]
         ]
        idx9 = idx9 + 1
        rc9 = 1
       ]

Share this post


Link to post
Share on other sites

Cool, at the moment, I don't understand, lol, but I've got a long weekend to figure it out.  Thanks!

 

Your notes/comments are actually written into the post?

Share this post


Link to post
Share on other sites
5 minutes ago, JB7280 said:

Your notes/comments are actually written into the post?

Basic info is but I do have to edit after posting to to denote their actual distances from either a pin hole location of tooling ball

I could do it in the post using a question method but I have not figured out yet how to save the question answers so a repost doesn't require typing them all again

Share this post


Link to post
Share on other sites
1 minute ago, Old_Bear said:

Basic info is but I do have to edit after posting to to denote their actual distances from either a pin hole location of tooling ball

I could do it in the post using a question method but I have not figured out yet how to save the question answers so a repost doesn't require typing them all again

I'll probably just stick to outputting the G10 lines for now.  But this is something minor about MC that has irritated me for awhile.  Glad i found this post.

Share this post


Link to post
Share on other sites
12 minutes ago, JB7280 said:

I'll probably just stick to outputting the G10 lines for now.

You might want to search for a thread called something like controlling Comments using buffers by djsteadman.

I moves manual entries sequenced before actual operations to after the header, or where ever else you might want them.

Has a separate "as comment" and "as code" for posting out G10 lines or initiating macro variables etc...

Using buffers allows the larger number of characters. 

 

Share this post


Link to post
Share on other sites
52 minutes ago, Old_Bear said:

Basic info is but I do have to edit after posting to to denote their actual distances from either a pin hole location of tooling ball

I could do it in the post using a question method but I have not figured out yet how to save the question answers so a repost doesn't require typing them all again

You could use different planes to control this and maybe not need to go about it that way. Let your PIN or Pickup feature have it's own WCS for the Post and use a mi or mr to trigger the post to store that position to then be recalled for how you want the output to be done and then go fro mthere. Maybe a mi6$ = 1 #Tooling Ball Pick up,  mi6$ = 2 # Pin Location Pick up or mi6$ = 3 #Bushing Pick up. 

  • Like 1

Share this post


Link to post
Share on other sites
12 minutes ago, 5th Axis CGI said:

You could use different planes to control this and maybe not need to go about it that way. Let your PIN or Pickup feature have it's own WCS for the Post and use a mi or mr to trigger the post to store that position to then be recalled for how you want the output to be done and then go fro mthere. Maybe a mi6$ = 1 #Tooling Ball Pick up,  mi6$ = 2 # Pin Location Pick up or mi6$ = 3 #Bushing Pick up. 

Ron,

If were machining a single piece, that is a solution that would make perfect sense...typically though, I have many multiples of pieces on a single tombstone through a myriad of transforms...

Program I am working on now will create 16 complete parts per each cycle but they are located in 3 machining positions on the tombstone....because of the tolerances of our parts, we use offsets for each position to control each part individually...

16 parts x 3 positions = 48 unique part positions

Each part requires 7 offsets in all 3 positions....112 uniques offsets....

I try to give the guys on the floor as little to have to think about as possible.....

But perhaps, something I'll think on....thanks for the idea  :cheers:

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • 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