I have completed a starter set of gCode utilities, but I need some help in testing them. I need help in part because one of them (for external thread milling) can't be tested by someone who (like me) doesn't own any thread mills. But more important, I need testing help because gCode programs, like any other programs, can't be said to have been tested until they've been tested by someone other than the person who wrote them.

To keep the initial code as simple as possible, none of these utilities checks for input errors. For example, the code for cutting a circular pocket doesn't complain if the OD of the specified tool is greater than the ID of the specified pocket. I'll add checks of this sort after we have some experience with the utilities.

Having editable utilities has some unforeseen benefits. To run these utilities, one must edit in values for feeds & speeds. One can also edit in comments about feeds & speeds that don't work, or feeds & speeds that worked with other uses of the same utilities.

The numerical components of the names of the utilities were there to remind me about ranges of Oh-numbers to use in the code, anticipating the possibility that some utilities might later be merged.

The hole-drilling utility decides on its own drilling cycle, drawing on remarks in one of the GWizard blogs. It incorporates a number of arbitrary constants, and I'm not at all confident that the constants now there are optimal. This utility is the one about which I most want suggestions.

The intent of the "JustShave" option in the rectangle-shaving utility may not be obvious. It is meant to serve the situation in which a rough-cut surface is horizontal in the vise, the tool is a small unmeasured distance above it, and what's wanted is to plane the surface flat, with DOC of a few thousandths at a time, with no specific target Z. The "JustShave" option shaves by DOC, and then it leaves the tool at the level of the cut, so that a new Cycle Start shaves off another DOC.