How many times are you calling the subroutine?
g54 call g55 call g56 call ... On Fri, May 10, 2013 at 3:36 PM, Kenneth Lerman <kenneth.ler...@se-ltd.com>wrote: > On 5/10/2013 4:18 PM, Viesturs Lācis wrote: > > Hello! > > > > Today I was helping my client to prepare a g-code for their new machine I > > built. > > The particular code was manually optimized for faster performance and I > > thought that having a code for one part in subroutine and then creating > > another file, which just moves around material and calls subroutine in > > appropriate places would be easier than hand-optimizing one big and long > > g-code file. > > > > Since I have not had any experience with subroutines so far, I looked in > > manuals. Based on them I was able to define subroutine and call it from > the > > master file. > > > > What I do not know, how to do properly, is when the subroutine has been > > called once and is finished, machine moves to next point to call the > > subroutine again. How do I move subroutine's coordinate origin to the new > > spot? > > > > I tried 2 things: > > 1) G55 is specified at the beginning of subrouting file; > > in master file I had: > > G21 > > G54 > > G40 G90 > > G64 P0.02 > > G0 Z15 > > G0 x0 y0 > > G10 L2 P2 X0 Y0 Z15 > > o101 call > > G54 > > G0 Z15 > > G0 X0 Y200 > > G10 L2 P2 X0 Y0 Z15 > > o101 call > > .... > > > > 2) then I tried to move G10 L2 P2 X0 Y0 Z15 to subroutine so that it is > > done in subroutine > > > > Anyway, none of these 2 approaches work properly, G55 origin is not moved > > and as soon the subroutine was called for the second time, machine > started > > to move somewhere. Z axis was moving down too much, so I never allowed it > > to finish as it really seemed to be willing to crash the tool in material > > (I tested it in the air some 100 mm above material). > > > > I would appreciate, if someone could share some working example of how to > > do these things properly. > > > I usually just specify the coordinates as arguments to the subroutine. > For example, if I have a subroutine that mills a circular pocket, I pass > the center of the pocket as the first two arguments to the subroutine. > > Ken > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > -- dos centavos ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users