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® 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
