Working through this aspect of my project now and thought it merited its own topic.
First up, managed to get my own version of a trochoidal toolpath in TPL:
function trochoidalx(px, py, pbottom, endmillshape, pdiameter, plength, pwidth, pdepth) {
rapid({z: safeheight}); // Move back to safe position
rapid({x: px+pdiameter, y: py+pdiameter, z: 0}); // Go to start position
arc(pdiameter/2, 0, -pdepth, -2*Math.PI, XY)//helical plunge
arc(pdiameter/2, 0, 0, -2.5*Math.PI, XY)//flatten bottom
icut({x: pdiameter/2}); // advance
var i;
for (i = 0; i < pwidth*pdiameter*0.75+1; i++) {
arc(0, pdiameter/2, 0, -1*Math.PI, XY)//trochoidal cut
arc(0, -pdiameter/4, 0, -0.5*Math.PI, XY)//begin return
arc(pdiameter*0.75, 0, 0, -0.5*Math.PI, XY)//finish return
}
}
Calling it with:
trochoidalx(-tr, -tooldiameter*2, 0, 0, tooldiameter, Width, tooldiameter*2, Thickness)
which yielded the toolpath: