Re: multiple block MDI entry



Jon

I completely forgot that RS274NGC uses # to call a variable during program
run.  I detailed some of this in the variable chapter of the handbook at
linuxcnc.org.  The following program would do what you wanted (from the
multiple mdi) with an automatic -0.04 increment to the y axis each time you
pressed run.

n1001	#101 = #101 -0.04 
n1002	y#101
n1003	x10.5 f10
n1004	y0 f45
n1005	x0
n1006	y#101
M1007	M2

When you first use a variable (#101) it will initialize to 0.0 if there is
no reference to it in the variable file. (implicit) So 101 starts at 0.0
and gets a -0.04 added to it.  Since #101 is not reset after the run it
will hold its value until it is set again on the next run. (incremented)
Or dumped when you shut down emc.

I put in line n1006 so that at the end of the program you would be able to
read the total offset to date from the final y position.  If you wanted to
reset #101 during a run an mdi entry <#101 = 0.0> would do it. 

I looked just a bit at tkemc today.  Added the default program directory
and will try an mdi routine that uses the (&).  It's an <and> in boolean
expressions but tcl wouldn't trip over it in an mdi entry string. 

Ray

-----OM----- Jon E. Wrote:
I used this for cleaning up edges and such, with
something like :
Y-.04 # X10.5 F10 # Y0 F45 # X0 #]
This would move in in Y, make a cutting pass in X, back Y away, and then
rapidly return to X0.  With the ability to edit the MDI buffer, you could just
edit that first Y coordinate and re-execute the command until the surface
has been fully cleaned up.  






Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact