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

Reply via email to