Are the holes in a grid? If so, you could try out my array macro. I posted it in a recent thread: http://www.cnczone.com/forums/tormac...etter-way.html . I won't post it again here as I get the impression that nobody tried it or maybe they know a better way (perhaps the macro is needlessly complicated, but it will work with any code, which is nice). I just tried HSMWorks' "Make Pattern" function. That will kinda do the same thing, but only with code it generates. It also just re-wrote ALL the code, which is exceptionally inefficient. My macro can be edited, with confidence, at the machine by simply changing a few variables.
Editing the HSMXpress post is another option. Find the part of the post that generates code when that partucular boring cycle is used and see if you can make heads or tails of how it works.
(later...)
I just opened up my own post to see if I could figure out how to make it retract at double the feed-rate, but nothing there made sense to me. SCzEngrgGroup, would be kind enough to elaborate on how it's done?
Personally, I'd try editing the "stop boring" cycle, as that's something that's not likely to be used on a Tormach. Here's the section of my own post that I would guess would need to be edited...
Code:
case "stop-boring":
if (P > 0) {
expandCyclePoint(x, y, z);
} else {
writeBlock(
gCycleModal.format(86),
getCommonCycle(x, y, cycle.bottom, cycle.retract),
cyclefeedOutput.format(F)
);
}
Actually, as long as code is being edited, might as well take over the "case "tapping":" section.
Code:
case "tapping":
if (!F) {
F = (1/tool.getThreadPitch());
}
writeBlock(
gCycleModal.format(84),
getCommonCycle(x, y, cycle.bottom, cycle.retract),
"P" + milliFormat.format(P),
"F" + tool.getTappingFeedrate(F),
"S" + tool.spindleRPM
);