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