Re: [Emc-users] Macro Language

2007-08-17 Thread Kenneth Lerman
Fenn,

See my recent reply to this list regarding o-words and named parameters.

O-words provide programming language looping, testing, and subroutine
capabilities that can be wrapped around other gcode. Named parameters let
you have natural language names for parameters.

[Sorry it took so long for me to reply to these postings. I've been out of
town baby sitting for grand children.]


Ken

[EMAIL PROTECTED]
Mark Kenny Products Company, LLC
55 Main Street   Voice: (888)ISO-SEVO (888)476-7386
Newtown, CT 06470Fax: (203)426-9138
http://www.MarkKenny.com


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of ben
lipkowitz
Sent: Thursday, August 16, 2007 4:04 AM
To: Enhanced Machine Controller (EMC)
Subject: Re: [Emc-users] Macro Language


On Wed, 15 Aug 2007, Sven Mueller wrote:

sssnap!
 Also, as I mentioned in my previous mail, it's not clear how you need to
 wire the probe in hal: which input triggers the G38.2 to stop and
 print the position? I couldn't find that mentioned in the docs.

motion.probe-input
see http://www.linuxcnc.org/docs/html/config/emc2hal/index.html

 Finally: I'm not necessarily talking about scripting in the place where
 currently Gcode is executed.

Me either! I don't think gcode would play well with a more free-form
language because of its weird syntax requirements. I think of g-code as
more of a data format than a programming language. Whether it's human
readable or not is irrelevant to the computer, and that's partly why we
ended up with such an unreadable mess. Mostly my call for a macro
language was because I couldn't read any g-code programs with lots of
numeric variables.

 Well documented script (perl, lua, ruby, python) language bindings to
 the movement and IO parts of emc2 would work just as well for me.

Definitely - the less wheel-reinventing the better. Getting a real
full-featured programming language is a nice side effect!  I started
thinking about how best to write a Python API for EMC. Didn't get very
far, but I think the general idea is sound. In short, I'd rather have the
script actually running the machine than just spitting out g-code to feed
the g-code parser.

Please take a look here and add your comments:
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?PythonBindings

 Actually, what I would like to see is some relatively optimized version
 of surface scanning implemented with a GUI (perhaps in tkEMC or one of
 the other GUIs?). Since the existing GUIs already allow manual
 movements, I would think that all I would like to see (enter a position
 directly or by doing a manual movement, multiple scan passes with
 differently sized probe tips,...) should be possible using the same
 techniques currently used in the GUIs. Though I'm relatively good at C
 programming as well as Perl programming, I don't know how to build an
 interface between the two or how to use tcl.

i hacked together a probing gui for weyland a while ago based on
gridprobe.ngc available here:
http://fenn.dyndns.org/pub/emc/probebuddy.tgz

it's certainly not the most robust code ever.. my first attempt at tcl. i
wonder if i should check it into cvs.

   -fenn

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-17 Thread Sven Mueller
Jeff Epler schrieb:
 On Wed, Aug 15, 2007 at 03:16:35PM +0200, Sven Mueller wrote:
 Ask user to define minimum and maximum X, Y and Z positions by moving
 the tooltip to the relevant positions manually or by entering the values
 numerically. Then use a procedural (possibly recursive) approach to scan
 the work pieces surface with a touch probe.
 
 O-words are powerful enough to represent looping and recursion.  Even
 before O-words, variables and expressions were available in emc's
 gcode.

IIUIC, there are both named parameters and named O-words in EMC2 now.
However: Does that mean they are available in the current release or
only in the SVN version? I ask since they are not (yet) listed in the
User Manual referenced on the wiki.

 However, there is no gcode for allow the user to jog to a position then
 signal the program to continue.  In fact, allowing something like this
 is a big change because running a program and ready to jog were
 designed as mutually exclusive, and this is deeply ingrained in many
 places including the GUIs and the task controller.  (there is a
 similar division between running a program and homing an axis which
 makes the occasionally requested execute homing procedure gcode
 difficult to implement too)

Hmm too bad.

Two questions though:
Is there a chance for three additional special comments?
 namely one to open a log file, one similar to (msg ) which
 writes a message with parameter handling to that file and
 one to close the log again?
Is there a chance for a G38.2 variant which doesn't signal an error to
the user if it doesn't trip, but instead signals this in a variable
(e.g. %5060 if that isn't used yet)?

This would allow usage of G38.2 without loggin _all_ found tripping
points to the output file, but instead only those where the program
thinks they would be useful. One example:

with xmin, xmax, ymin, ymax, zmin, zsafe defining the box to be scanned,

For each X where xmin=X=xmax
scancolumn X

where scancolumn X does basically:
1) go to minimum Y,
2) go to minimum Z if possible,
3) scan along Y to ymax until probe trips,
print zmin for all Ya with ymin = Ya = ytrip
increase zmin by zstep,
scancolumn X with new ymin set to current Y (trip-point)
   if it didn't trip:
print zmin for all Ya with ymin = Ya = ymax
return
4) goto safez
5 goto maximum Y, try going to minimum Z, repeat 3 with ymax and ymin
  reversed

This should result in a strictly concave outline of the workpiece,
giving a safe Z value (after adding a small tolerance) to travel on for
any x/y tupel of interest. This can then be used as the input to a
script which generates the finishing pass, doing minimalistic G38.2
probes from the safe height found by the first pass.

This approach should highly reduce the time the scanning of more complex
objects needs.

See where I'm getting at?

If it is possible to get such a non-error-throwing G38.2 variant
together with the explicit logging option, this should really reduce the
time needed for scans to a minimum. I would be willing to do both the
G-Code programming and the associated script to generate the finishing
pass (which in turn would use the traditional G38.2 with its logging
for output) for inclusion in EMC2 as sample code. However, I don't have
the time at hand to dig into EMC2 code to implement the needed changes,
especially not the time to do so without interfering unwillingly with
the rest of EMC2 code.

Regards,
Sven

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-17 Thread Jeff Epler
That's right, the named parameters and named O-words are in the
version that will be known as 2.2, not the current stable version.

Anyone can download, compile, and use the development version, but it
may not be a task for linux beginners:

http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Installing_EMC2#On_Ubuntu_5_10_and_6_06_from_source

Jeff

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-17 Thread Kenneth Lerman
No...

AFAIK, named o-words have not yet been implemented. -- At least not by me.

Named parameters have been implemented by me.

I expect to get a new machine to run ubuntu soon and will get back to
developing EMC2 stuff. (My previous machine is now my telephone system.)

Ken

[EMAIL PROTECTED]
Mark Kenny Products Company, LLC
55 Main Street   Voice: (888)ISO-SEVO (888)476-7386
Newtown, CT 06470Fax: (203)426-9138
http://www.MarkKenny.com


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Jeff Epler
Sent: Friday, August 17, 2007 5:32 PM
To: Enhanced Machine Controller (EMC)
Subject: Re: [Emc-users] Macro Language


That's right, the named parameters and named O-words are in the
version that will be known as 2.2, not the current stable version.

Anyone can download, compile, and use the development version, but it
may not be a task for linux beginners:

http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Installing_EMC2#On_Ubuntu_5_10_a
nd_6_06_from_source

Jeff

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-16 Thread ben lipkowitz
On Wed, 15 Aug 2007, Sven Mueller wrote:

sssnap!
 Also, as I mentioned in my previous mail, it's not clear how you need to
 wire the probe in hal: which input triggers the G38.2 to stop and
 print the position? I couldn't find that mentioned in the docs.

motion.probe-input
see http://www.linuxcnc.org/docs/html/config/emc2hal/index.html

 Finally: I'm not necessarily talking about scripting in the place where
 currently Gcode is executed.

Me either! I don't think gcode would play well with a more free-form 
language because of its weird syntax requirements. I think of g-code as 
more of a data format than a programming language. Whether it's human 
readable or not is irrelevant to the computer, and that's partly why we 
ended up with such an unreadable mess. Mostly my call for a macro 
language was because I couldn't read any g-code programs with lots of 
numeric variables.

 Well documented script (perl, lua, ruby, python) language bindings to 
 the movement and IO parts of emc2 would work just as well for me.

Definitely - the less wheel-reinventing the better. Getting a real 
full-featured programming language is a nice side effect!  I started 
thinking about how best to write a Python API for EMC. Didn't get very 
far, but I think the general idea is sound. In short, I'd rather have the 
script actually running the machine than just spitting out g-code to feed 
the g-code parser.

Please take a look here and add your comments: 
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?PythonBindings

 Actually, what I would like to see is some relatively optimized version
 of surface scanning implemented with a GUI (perhaps in tkEMC or one of
 the other GUIs?). Since the existing GUIs already allow manual
 movements, I would think that all I would like to see (enter a position
 directly or by doing a manual movement, multiple scan passes with
 differently sized probe tips,...) should be possible using the same
 techniques currently used in the GUIs. Though I'm relatively good at C
 programming as well as Perl programming, I don't know how to build an
 interface between the two or how to use tcl.

i hacked together a probing gui for weyland a while ago based on 
gridprobe.ngc available here: 
http://fenn.dyndns.org/pub/emc/probebuddy.tgz

it's certainly not the most robust code ever.. my first attempt at tcl. i 
wonder if i should check it into cvs.

   -fenn

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-15 Thread Kenneth Lerman
Hi Fenn,

What is it that you imagined? Other than the fact that o-words are numeric
(on my list of work to do is allowing them to be alphanumeric), what else
would you like?

Ken

[EMAIL PROTECTED]
Mark Kenny Products Company, LLC
55 Main Street   Voice: (888)ISO-SEVO (888)476-7386
Newtown, CT 06470Fax: (203)426-9138
http://www.MarkKenny.com


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of ben
lipkowitz
Sent: Tuesday, August 14, 2007 10:26 PM
To: Enhanced Machine Controller (EMC)
Subject: Re: [Emc-users] Macro Language


Jeff,

There most certainly is not any macro langauge, at least not one like I
imagined. I bet someone figured that the O-word subroutine calls satisfied
this feature request and moved it to the done list. I'm moving it back
to the request list for now. Sorry about that.

It sure was fun reading back over my old rambling super-future wishlist.

   -fenn

 Hi,

 The wiki.linuxcnc.org Emc features page has under the heading of DONE:

 macro language: support for a macro language, the macros written should be
 able to command motion  io. the macros should have english-readable names
 and accept arguments and nesting
 added by: alex_joni (on IRC) and fenn

  I couldn't find any reference to Macros in the EMC2 v2.1 Users handbook.

  Does anyone know if they are available, and if so, where I can find
 documentation regarding them?

 Thanks,

 Jeff


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-15 Thread Andre' Blanchard
He is probably looking for something a bit more industry standard.
Like G65 simple macro call and G66 modal macro call with G67 cancel, with 
more normal looking argument assignment.
Like this one using argument assignment type I.
G65 P1001 Z-0.750 R0.100 D#101 A#100 F#9
Then there is assignment type II which is more like what EMC does, the 
order of the parameters determines which local variable gets which value 
but the parameters on the calling line are labled with A_ B_ C_ I_ J_ K_ I_ 
J_ K_ I_ J_ K_ ... until all 33 local variables are used.

Then there is IF GOTO jumps and IF THEN loops

In the following #110 is the number of the tool being used and 13000 is the 
base number of the tool table with the radius comp numbers.
And #111 is the desired surface feet per minute, and the machine has a max 
spindle RPM of 8000.
*
(CALCULATE,RPM)
#33=#[13000+#110]*2(TEMP)
#19=[#111/[[3.1416*#33]/12]]
IF[#19LT8000]GOTO11
#19=8000.0
N11
*

Same thing using the IF THEN
*
(CALCULATE,RPM)
#33=#[13000+#110]*2(TEMP)
#19=[#111/[[3.1416*#33]/12]]
IF[#19GT8000]THEN #19=8000.0
*


and WHILE DO loops
*
#120= 2.000
#121= 0.010
WHILE[#120GT0.000]DO1
(code that does stuff with using #120)
#120=#120-#121
END1
*

and just a GOTO.
*
GOTO300
(code that does stuff)
N300
(code that does more stuff)
*



Also access to the status of the current modal commands using variable 
numbers 4001 - 4021 and 4201 - 4221.
Access to positon information using variables 5001 - 5104, so the macro can 
find out where the machine is currently siting and the endpoint of the 
block immediantly before the current one.
And every machine I have written macros for has had access to the tool data 
table so the macro can use that data to positon the tools without hitting 
things.

And all the rest of the stuff that comes with macro B, there is a macro A 
but it is a real pain to use.


At 06:56 AM 8/15/2007, you wrote:
Hi Fenn,

What is it that you imagined? Other than the fact that o-words are numeric
(on my list of work to do is allowing them to be alphanumeric), what else
would you like?

Ken

[EMAIL PROTECTED]
Mark Kenny Products Company, LLC
55 Main Street   Voice: (888)ISO-SEVO (888)476-7386
Newtown, CT 06470Fax: (203)426-9138
http://www.MarkKenny.com


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of ben
lipkowitz
Sent: Tuesday, August 14, 2007 10:26 PM
To: Enhanced Machine Controller (EMC)
Subject: Re: [Emc-users] Macro Language


Jeff,

There most certainly is not any macro langauge, at least not one like I
imagined. I bet someone figured that the O-word subroutine calls satisfied
this feature request and moved it to the done list. I'm moving it back
to the request list for now. Sorry about that.

It sure was fun reading back over my old rambling super-future wishlist.

-fenn

__
Andre' B.  Clear Lake, Wi.



-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-15 Thread Sven Mueller
Kenneth Lerman schrieb:
 What is it that you imagined? Other than the fact that o-words are numeric
 (on my list of work to do is allowing them to be alphanumeric), what else
 would you like?

I don't know what Fenn would like to see, but here is a use case for
such a language which I currently can't efficiently do in GCode (for one
because of missing symbolic names for variables or missing calling
parameters for O-words/functions/macros):

Ask user to define minimum and maximum X, Y and Z positions by moving
the tooltip to the relevant positions manually or by entering the values
numerically. Then use a procedural (possibly recursive) approach to scan
the work pieces surface with a touch probe.

Speaking of this: I thought I read on this list about such a use, but I
can't see any mentioning of a probe input in the list of pins in the
integrator manual. Is there such a pin or would I need to abuse some
other pin for that use?

Regards,
Sven

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-15 Thread Hansjakob Rusterholz
Hi EMC2 pros

I was using 12 years IBH CNC: http://www.ibh-cnc.com

They had so called Parameter sentences.
A parameter sentence was always one Line, and startet with a star,  
for example:

*N10 P43=4000

With this lines you could perform simple math like *+-/, sqr, If,  
goto etc, you had about 200 Parameters (P0...P200)
This parameters are set global, this means you could simply call a  
subprogram to set machine zero points etc.
the great advance was you could move the Machine fixture to another  
place, set the new values in the subprogram and run all old  
programs without any hassle.

Parameter lines could not move any axis and set no M code

I used it a lot for parameterize my code, eg set machine fixture zero  
point, speeds. distances etc.

this Parametes could be used for setting distances, speeds etc in  
normal CNC code like:

N10 X10 Y10 F=P43

I'm quite sure, also other manufacturers used some similar approach  
to get such results.
In my opinion, this approach has the advantage, to be used without  
any restrictions for other CNC Code.

Only my 5 cents.

Hansjakob


Am 14.08.2007 um 08:10 schrieb Jeff Pollard:


 Hi,

  The wiki.linuxcnc.org Emc features page has under the heading of  
 DONE:

 macro language: support for a macro language, the macros written  
 should be able to command motion  io. the macros should have  
 english-readable names and accept arguments and nesting
 added by: alex_joni (on IRC) and fenn

   I couldn't find any reference to Macros in the EMC2 v2.1 Users  
 handbook.

   Does anyone know if they are available, and if so, where I can  
 find documentation regarding them?

 Thanks,

 Jeff

 _
 Find a local pizza place, movie theater, and more
 .then map the best route! http://maps.live.com/default.aspx? 
 v=2ss=yp.bars~yp.pizza~yp.movie% 
 20theatercp=42.358996~-71.056691style=rlvl=13tilt=-90dir=0alt=-1 
 000scene=950607encType=1FORM=MGAC01


 -- 
 ---
 This SF.net email is sponsored by: Splunk Inc.
 Still grepping through log files to find problems?  Stop.
 Now Search log events and configuration files using AJAX and a  
 browser.
 Download your FREE copy of Splunk now   http://get.splunk.com/ 
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-15 Thread Alex Joni
 Ask user to define minimum and maximum X, Y and Z positions by moving
 the tooltip to the relevant positions manually or by entering the values
 numerically. Then use a procedural (possibly recursive) approach to scan
 the work pieces surface with a touch probe.

Not the most advanced waz to do this, but it does a good job.
http://cvs.linuxcnc.org/cvs/emc2/nc_files/gridprobe.ngc?rev=1.5;content-type=text%2Fplain

Regards,
Alex Joni 


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-15 Thread Jeff Epler
In emc2, these are known as parameters.  The # character is used to
set them or use their values.

A parameter can be set with gcode like
#43=4000
and used like this:
X10 Y10 F#43

Math is supported:
#43=[sin[45] * 300]
and can be used anywhere a number would be used:
X10 Y10 F[sin[45]*300]

Jeff

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-15 Thread Hansjakob Rusterholz
Cool!

(I should read the Manual ;-))

Thanks anyway for telling me this feature.

Hansjakob

Am 15.08.2007 um 16:04 schrieb Jeff Epler:

 In emc2, these are known as parameters.  The # character is  
 used to
 set them or use their values.

 A parameter can be set with gcode like
 #43=4000
 and used like this:
 X10 Y10 F#43

 Math is supported:
 #43=[sin[45] * 300]
 and can be used anywhere a number would be used:
 X10 Y10 F[sin[45]*300]

 Jeff

 -- 
 ---
 This SF.net email is sponsored by: Splunk Inc.
 Still grepping through log files to find problems?  Stop.
 Now Search log events and configuration files using AJAX and a  
 browser.
 Download your FREE copy of Splunk now   http://get.splunk.com/
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-15 Thread Jeff Epler
On Wed, Aug 15, 2007 at 03:16:35PM +0200, Sven Mueller wrote:
 Ask user to define minimum and maximum X, Y and Z positions by moving
 the tooltip to the relevant positions manually or by entering the values
 numerically. Then use a procedural (possibly recursive) approach to scan
 the work pieces surface with a touch probe.

O-words are powerful enough to represent looping and recursion.  Even
before O-words, variables and expressions were available in emc's
gcode.

However, there is no gcode for allow the user to jog to a position then
signal the program to continue.  In fact, allowing something like this
is a big change because running a program and ready to jog were
designed as mutually exclusive, and this is deeply ingrained in many
places including the GUIs and the task controller.  (there is a
similar division between running a program and homing an axis which
makes the occasionally requested execute homing procedure gcode
difficult to implement too)

Jeff

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-15 Thread Sven Mueller
Alex Joni schrieb:
 Ask user to define minimum and maximum X, Y and Z positions by moving
 the tooltip to the relevant positions manually or by entering the values
 numerically. Then use a procedural (possibly recursive) approach to scan
 the work pieces surface with a touch probe.
 
 Not the most advanced waz to do this, but it does a good job.
 http://cvs.linuxcnc.org/cvs/emc2/nc_files/gridprobe.ngc?rev=1.5;content-type=text%2Fplain

The point is:

This is neither the most efficient nor the easiest to read way to achive
this. What would really be nice would be a way to tell emc:

move along X axis to 10(user units), stopping if probe is activated
report position back

Your example above leaves a few things to desire if you want to present
the result to people:
1) a more readable program, with symbolic variable names for starters
2) a more flexible way for the user to specify the borders
3) a way to - for example - use several different sized probes to first
   get a quick rough image of what the piece looks like to then do the
   fine checks with smaller movements and this way hopefully also
   quicker and doing it in a single pass. Just like when you do a
   roughing and a finishing pass when milling.

Also, as I mentioned in my previous mail, it's not clear how you need to
wire the probe in hal: which input triggers the G38.2 to stop and
print the position? I couldn't find that mentioned in the docs.

Finally: I'm not necessarily talking about scripting in the place where
currently Gcode is executed. Well documented script (perl, lua, ruby,
python) language bindings to the movement and IO parts of emc2 would
work just as well for me.

Actually, what I would like to see is some relatively optimized version
of surface scanning implemented with a GUI (perhaps in tkEMC or one of
the other GUIs?). Since the existing GUIs already allow manual
movements, I would think that all I would like to see (enter a position
directly or by doing a manual movement, multiple scan passes with
differently sized probe tips,...) should be possible using the same
techniques currently used in the GUIs. Though I'm relatively good at C
programming as well as Perl programming, I don't know how to build an
interface between the two or how to use tcl.

regards,
Sven

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] Macro Language

2007-08-14 Thread Jeff Pollard


Hi,

 The wiki.linuxcnc.org Emc features page has under the heading of DONE:

macro language: support for a macro language, the macros written should be 
able to command motion  io. the macros should have english-readable names 
and accept arguments and nesting

added by: alex_joni (on IRC) and fenn

  I couldn't find any reference to Macros in the EMC2 v2.1 Users handbook.

  Does anyone know if they are available, and if so, where I can find 
documentation regarding them?


Thanks,

Jeff

_
Find a local pizza place, movie theater, and moreĀ….then map the best route! 
http://maps.live.com/default.aspx?v=2ss=yp.bars~yp.pizza~yp.movie%20theatercp=42.358996~-71.056691style=rlvl=13tilt=-90dir=0alt=-1000scene=950607encType=1FORM=MGAC01



-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users