Hi Dan,
Looks like you’re making good progress. I’m glad if anything I offered is helpful. I’ve put a fair amount of thought and effort into understanding the relationships that exist between cutting edges and job models, so figured if any of it translates and is helpful to you, I’d throw it out there.
I see that you’ve worked out the issue where a feature of the job model is too small to fully achieve with the selected tool. That’s a big one. It looks like you are approximating the cutting edge as a single point though, unless I’m mistaken, and that likely will require further refinement–which I believe you alluded to.
I’m not sure the tool model that you target in the last image you posted. If it is similar to the insert that I mentioned, and the triangle of the insert is capable of side-cutting tangent to the edge of the “base of the pawn” in your model, I believe your path is good up to the intersection to the sphere at the “top of the pawn” in your model. The issue may occur where your path appears to be supporting both left-justified and right-justified–that is, it is tangential to the model on both sides of the sphere.
But, as I mentioned earlier, I believe it is key to understand the reference point of your tool. So, where I mention an offset due to the nose-radius curvature on the tool I used as an example, your path is drawn for a sharp tool with no nose-radius. That’s a valid tool that requires support also, so I don’t mean to imply what you have is in any way wrong, but am trying to get a sense if you have already considered (or implemented) support for tools with a nose radius, or with cutting edges other than 60-degrees for that matter.
I think you made a good choice to ignore completely grooves/slots that are not entirely turnable with the current tool. I am not sure, but believe, that you would generally shift to a different tool for special operations, and allowing your algo to try to “rough” into that might be more trouble than it’s worth.
You mentioned working out boring, versus other turning ops, and that implies that you do–or want to–support more complex models that might contain both interior and exterior turning. Do you intend to support models that are intended for lathe operations on some portion, but milling on other portions? That is, if there is a flat section on an otherwise “turned” model, is your algo still good with it, or will it stumble on that?
I think another area often overlooked is the significance of the Chuck in how close you can get to your model. I believe that tailstocks are of limited use in CNC lathe work, because of interference with the tool-table, but I’m not sure of that. The chuck jaws on the headstock though can be challenging. You need to grab the stock well, and the further away from it you are, the more need for tailstock support. The closer you work to the Headstock though, the less clearance available…
I’ll try to work out some models for you. Do you require models be generated in a certain plane? Are you at a point where you can share your existing inputs/assumptions, and/or script? Asking only to get a sense what you are looking to evaluate. Everything’s radial cutting, and we’ve discussed some of the more obvious challenges, so I’m curious what you are looking to validate?