ngcgui (and pyngcgui) now support Bertho Stultien's
Gcode-meta-compiler (gcmc) in git master and in recent
buildbot debs.

Ngcgui creates entry boxes to simplify testing and use of: 
   a) single-subroutines gcode files (.ngc)
   b) gcode meta compiler files (.gcmc)

Notes:

1) gcmc (version >=1.4.3) must be installed independently and
   located as an executable file in the user PATH, see:
       http://www.vagrearg.org/content/gcmc

2) linuxcnc can be built for run-in-place (RIP)) from git master
   or installed from a recent buildbot deb (19Feb2014 or later),
   instructions at:
       http://buildbot.linuxcnc.org

3) Example ini files for demonstration are located: 
     configs/sim/axis/ngcgui/ngcgui_gcmc.ini
     configs/sim/axis/ngcgui/pyngcgui_gcmc.ini
     configs/sim/gscreen/ngcgui/pyngcgui_gscreen_gcmc.ini
     configs/sim/touchy/ngcgui/pyngcgui_touchy_gcmc.ini

4) The examples use .gcmc files located in: nc_files/gcmc_lib
     nc_files/gcmc_lib/square.gcmc
     nc_files/gcmc_lib/drill.gcmc
     nc_files/gcmc_lib/star.gcmc   (Bertho Stultiens)
     nc_files/gcmc_lib/wheels.gcmc (Alan Battersby)

5) To modify the examples or create new .gcmc files:
     a) create your own directory, for example:
        $ mkdir ~/linuxcnc/myfiles
     b) copy or edit your own .gcmc files, example for a deb install:
        $ cp /usr/share/linuxcnc/ncfiles/gcmc_lib/square.gcmc 
~/linuxcnc/myfiles/mysquare.gcmc
     c) add your directory to the subroutine path defined in the ini file.
        Example:
        [RS274NGC]
        
SUBROUTINE_PATH=~/linuxcnc/myfiles:../../nc_files/ngcgui_lib:../../nc_files/gcmc_lib:../../nc_files/ngcgui_lib/utilitysubs
        (above is all on one line,directory names are separated by colons (:))

        Note: Linuxcnc searches for a subroutine file by name following the
              [RS274NGC]SUBROUTINE_PATH.  The first file found with a
              matching name is used.

     d) add your files to the ini file in the [DISPLAY] stanza, example:
        [DISPLAY]
        ...
        TKPKG             = Ngcgui    1.0
        NGCGUI_FONT       = Helvetica -12 normal
        NGCGUI_PREAMBLE   = in_std.ngc
        NGCGUI_SUBFILE    = square.gcmc
        NGCGUI_SUBFILE    = mysquare.gcmc
        # specify "" for a custom tab page
        NGCGUI_SUBFILE    = ""
        ...
  
        (including a custom tab page allows you to search for .ngc and .gcmc
         files as long as they are in the SUBROUINE_PATH)

6) After creating your own .gcmc file, add tags within the file to
   identify variables requiring entry boxes. For example, to tag a
   variable named frate, include the line:

     //ngcgui:  frate =  100;

    To specify a default value and label, use:
     //ngcgui:  frate =  100; //, Feed Rate

   (See the included demo .gcmc files for more examples.)

7) When a .gcmc file is selected, ngcgui submits it to the gcmc compiler,
   and places the resulting gcode file in the [DISPLAY]PROGRAM_PREFIX
   directory for use by Linuxcnc.

8) Ngcgui can combine .gcmc and .ngc files from multiple tab pages

Additional Referencess:

http://www.linuxcnc.org/docs/devel/html/gui/ngcgui.html

http://www.linuxcnc.org/docs/devel/html/config/ini_config.html#_rs274ngc_section_a_id_sub_rs274ngc_section_a

http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=commitdiff;h=7bdd488c0da77cfe6014fb3cd177b538cb3e67fe

-- 
Dewey Garrett


------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to