Thanks for all the comments about CGCC!

Lots of different ways to skin a cat.  Lots of different languages that can
be used to generate GCode too.  I don't think any one language is better
then any other.

I added a new page with more information on what CGCC can actually do

http://tsemsb.blogspot.com/2010/04/some-cgcc-features-and-examples.html

* C Style Comments
* Declare Functions with Return Values
* Evaluate expressions inside GCode
* #Include is supported
* Assignment to variables from native GCode Numbered Variables
* Directly Emit GCode with the __gcode__ keyword
etc.

One of the reasons I tacked on the extensions to existing GCode is because I
had lots of existing GCode that I didn't want to throw away.  With the
extensions I could reuse a lot of my known working gcode.

As to how I use it, I have a collection of header .h files with lots of
prebuilt functions that I just include in all my cgc files.  The library
functions handle things like probing, tool offset, etc.  I have a file
called tools.h that contains all the info for my different tools, so I can
for example call TOOL_CHANGE(END_MILL_0_375) to change to a predefined 3/8"
end mill and it will automatically set the tool height, start the coolant,
and set the correct spindle speed.  Another example is TOOL_CHANGE(PROBE) to
change to the probing tool,  it knows to set the new tool height but not to
turn on the coolant or turn on the spindle.  Just a common place to keep
common code.  So as I find better feed and plunge speeds I just update then
in the tools.h file and the change propagates to all my programs for each
tool.

Lawrence

On Tue, Apr 6, 2010 at 4:01 PM, Flying Electron Inc <
[email protected]> wrote:

> Hi All,
>
> I wrote a python extension for axis that allows C language style extensions
> to the GCode if anyone wants to give it a try.
>
> http://tsemsb.blogspot.com/2010/04/cgcc-gcode-with-c-constructs.html
>
> It allows you to write code like this:
>
> // Constants
> const float X_Holes = 10;
> const float Y_Holes = 10;
>
> // Loop
> for (float y = 0; y < Y_Holes; y++) {
>     for (float x = 0; x < X_Holes; x++) {
>         if (x != y) {
>             G00 Z1
>             G00 X[x] Y[y]
>             G01 Z0 F1
>             G00 Z1
>         }
>     }
> }
>
> and it gets translated into regular GCode with o-words.
>
> Lawrence
>
>
------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to