I tried to get this adopted here: http://forums.autodesk.com/t5/hsm-post-processor-forum/add-ijk-support-for-g83-in-haas-milling-post/m-p/6469589/highlight/true#M10596
It's quite silly given how simple this code is I think. I have been using it in both our Haas and Fadal posts and it works quite well. Here are the sections that I have added if they are helpful.
Haas:
case "chip-breaking":
if (cycle.accumulatedDepth < cycle.depth) {
expandCyclePoint(x, y, z);
} else {
writeBlock(
gRetractModal.format(98), gAbsIncModal.format(90), gCycleModal.format(73),
getCommonCycle(x, y, z, cycle.retract),
//"Q" + xyzFormat.format(cycle.incrementalDepth),
(((cycle.incrementalDepthReduction > 0) ? "I" : "Q") + xyzFormat.format(cycle.incrementalDepth)),
conditional(cycle.incrementalDepthReduction > 0, "J" + xyzFormat.format(cycle.incrementalDepthReduction)),
conditional(cycle.incrementalDepthReduction > 0, "K" + xyzFormat.format(cycle.minimumIncrementalDepth)),
conditional(P > 0, "P" + milliFormat.format(P)), // optional
feedOutput.format(F)
);
}
break;
case "deep-drilling":
writeBlock(
gRetractModal.format(98), gAbsIncModal.format(90), gCycleModal.format(83),
getCommonCycle(x, y, z, cycle.retract),
(((cycle.incrementalDepthReduction > 0) ? "I" : "Q") + xyzFormat.format(cycle.incrementalDepth)),
conditional(cycle.incrementalDepthReduction > 0, "J" + xyzFormat.format(cycle.incrementalDepthReduction)),
conditional(cycle.incrementalDepthReduction > 0, "K" + xyzFormat.format(cycle.minimumIncrementalDepth)),
conditional(P > 0, "P" + milliFormat.format(P)), // optional
feedOutput.format(F)
);
break;
Fadal:
case "chip-breaking":
// cycle.accumulatedDepth is ignored
if (dwell > 0) {
expandCyclePoint(x, y, z);
} else {
writeBlock(
gRetractModal.format(98), gAbsIncModal.format(90), gCycleModal.format(73),
getCommonCycle(x, y, z, cycle.retract),
//"Q" + xyzFormat.format(cycle.incrementalDepth),
(((cycle.incrementalDepthReduction > 0) ? "I" : "Q") + xyzFormat.format(cycle.incrementalDepth)),
conditional(cycle.incrementalDepthReduction > 0, "J" + xyzFormat.format(cycle.incrementalDepthReduction)),
conditional(cycle.incrementalDepthReduction > 0, "K" + xyzFormat.format(cycle.minimumIncrementalDepth)),
conditional(cycle.chipBreakDistance > 0, "P" + xyzFormat.format(cycle.chipBreakDistance)), //optional P value
feedOutput.format(F)
);
}
break;
case "deep-drilling":
if (dwell > 0) {
expandCyclePoint(x, y, z);
} else {
writeBlock(
gRetractModal.format(98), gAbsIncModal.format(90), gCycleModal.format(83),
getCommonCycle(x, y, z, cycle.retract),
(((cycle.incrementalDepthReduction > 0) ? "I" : "Q") + xyzFormat.format(cycle.incrementalDepth)),
conditional(cycle.incrementalDepthReduction > 0, "J" + xyzFormat.format(cycle.incrementalDepthReduction)),
conditional(cycle.incrementalDepthReduction > 0, "K" + xyzFormat.format(cycle.minimumIncrementalDepth)),
conditional(cycle.chipBreakDistance > 0, "P" + xyzFormat.format(cycle.chipBreakDistance)), //optional P value
feedOutput.format(F)
);
}
break;
I think it's silly not to support peck reduction, frankly.
Show More