I've been working on a GUI, called GWiz, to do this type of thing. See: http://www.se-ltd.com/~lerman/gallery/G-Wiz for some photos from the previous version that was written in C++ using Qt.
The new version uses wxPython. Adding an additional Wizard requires generating a graphic for it, creating a configuration file that defines the parameters, and generating a gcode subroutine to implement the function. Then those files are added to a new directory in the tree of Wizards. With the addition of gcode subroutines, branching, and looping, the current interpreter is capable of doing most of the things I've seen in Jon's files. Ken [EMAIL PROTECTED] Mark Kenny Products Company, LLC 55 Main Street Voice: (203)426-7166 Newtown, CT 06470 Fax: (203)426-9138 http://www.MarkKenny.com -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Javid Butler Sent: Sunday, February 25, 2007 3:53 PM To: Enhanced Machine Controller (EMC) Subject: Re: [Emc-users] macros The topic came up before I had researched or thought out enough to do what I would call a proposal, but here's a rough idea. I've been part of a task group that is using a Device Description Language to create profiles that will ensure interoperability between complex intelligent lights from different manufacturers. In that application the devices would send their profile, in DDL format, to the controller, which could then automatically assign control channels so that, for example, three different lights from three different manufacturers would all change to the same shade of red when the console operator selected red. I've also played around a small bit with HDLs for programmable logic. So when Jon posted the link to his very cool programs the thought popped into my head that the code he had developed already formed a good base interpreter for a Part Description Language that could replace the need for a CAD program, at least for simple parts. The relationship between "PDL" and G-code would be analogous to the relationship between C and assembly. It could look something like this: Part: Sample Blank: Bar Xlimits a0.000, a2.000 (a indiacating absolute, r indicating relative) Ylimits a0.000, a4.000 Zlimits a0.000, a-0.125 FeedTable: 6061-T6 (external table named for material, or could be fully described here) ToolTable: endmill 0.125 NoCool (or external tool table) SquarePocket: Side 1.000 Center X a1.000, Y a2.000 Depth 0.050 Bore: Radius 0.250 Center XYCenter Depth 0.125 EndPart This would do the same thing as putting 2 of the programs Jon has together. The whole thing of course would include all of the programs he has and then some. The feed table could include a wide variety of feedrates specific to that material, but with factors for different cutting tools and coolants, so that if you change the tool to an endmill with flood coolant it would generate the same toolpath, but with a different feedrate. Spindle speed could be factored in as well. If you want the same part in a different material you just change the feed table. In the example both the pocket and the bore have the same center, but they are called out differently. A pallet could be multiples of a single part or several different parts, but could call the parts by name. Jon, if you have a library or collection of the routines that you can email to me at [EMAIL PROTECTED] (or I can just download them, but you said there were ones that were not up there) I'd be willing to put them together into a working prototype. Thanks, Javid ----- Original Message ----- From: "Jon Elson" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; "Enhanced Machine Controller (EMC)" <emc-users@lists.sourceforge.net> Sent: Sunday, February 25, 2007 11:57 AM Subject: Re: [Emc-users] macros > Ray Henry wrote: > >>Jon's code, and several other routines have been consolidated into what >>we affectionately called CP1. >> > I take it this is no longer a part of EMC2, as I can't find anything > that looks like it > on my EMC2 system. That is probably OK, as it was pretty rough, anyway. > > I'd be glad to contribute the latest versions of what I have now, in > vanilla c. Not all > of them are on my web pages. > > Jon > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users