When I made the arrow of light awards, each one took about 45 minutes to cut on the CNC router. That was o.k. since it was a one-off (actually nine-off) project. Since then, I've had some more requests for them so I'm looking into whether I can get the machine time and cost low enough to make it worth while.
The reason they took so long to cut was because I had to use a router bit that could plunge into the material. HeeksCNC doesn't have a feature (yet) to do ramp or helical entry and plunge is the only option. Router bits that can plunge tend to be narrow so I was using a 1/4" spiral cutter.
To try to speed things up, I'd like to use a 3/4" cutter and hand-code a ramped entry. Talking with DanielFalck on the #cam IRC channel, he showed me how to edit the area_funcs.py file to do this. The first part of the file contains a function to lower the tool into the material for each pocketing pass. The routine moves the tool into place at X,Y and then moves it down to X,Y,Z before proceeding. His approach was to change the routine to move to X-(some amount),Y and then descend to X,Y,Z. By my figuring, 'some amount' is at least the radius of the tool.
The first image is the regular tool path generated by libarea. The second is with the modified code. Cool.
This works o.k. as long as the pocket isn't too small or the cutter too big. If so, X-some-amount may push the starting location back into the part. In that case you get some 'clipping' of the corner. That's what I've got. You can see the clipped edges in the pocket at the lower right. This approach might work if I could manually specify the entry point for the pocket.