While this discussion about expanding gcodes is going on, how about borrowing from OpenSCAD?
Specifically some of the stuff made possible by the interaction of the $fn variable with the cylinder() function. This allows a nut pocket to be printed that is not a cylinder, but a series if straight lines made, for instance, to fit a nut by measuring the max diameter of the nut from point to point and passing the diameter to a cylinder(). So an $fn=6 makes a hex pocket, 4=a square pocket etc. This idea could be expanded, for a comp module based on some of Sam's amazing work for single point cutters and sync'd to the spindle index. Or in hal config to any rotary axis. It would need a higher resolution spindle encoder similar to what I made for my go704, a 1000 ppr $22 Omron driven off the rear motor shaft + a separate index to allow really big p= in its controlling PID. I'm a bit shaky at p=40, dead stable at p=20, but my encoder divides a single turn into something over 7000 pieces in high gear & over 14,000 in low gear. I had to bypass the opto's in that BOB but the 5i25 tracks it great to its top speed of 3k revs which I get from that 90 volt PMDC motor with 126 volts applied. I can put that spindle well within a degree in either gear. Sam did some pretty impressive work, with his permission of course IMNSHO it should be in LinuxCNC. Cheers, Gene Heskett, CET. -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author, 1940) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Don't poison our oceans, interdict drugs at the src. _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
