Randy sent me a photo of a toolpath showing a defect where the parallel finishing path would undercut when the path was almost but not quite right. I was able to fix it quickly but the fix led to a 25% increase in calculation time and I didn’t want to go backwards on that after all of the optimizing effort. I wrote a new subdivision method that eliminates the problem with a slight penalty in calculation time. After I spend time optimizing it I expect the get an overall speedup because it allows much more targeted and intelligent subdivision than the initial one.
In between that I’ve ben working on the new waterline code. It came together really quickly and is probably about 20% done already. It’s amazing how quickly you can crank out new code when you written half a dozen versions in the past. The new code is really good in the limited testing I’ve done so far. The stair stepping of the zmap is gone and, like the parallel finish, the precision is now defined completely by the tolerance value. It will still require a surface offset like the zmap offset but the time spent on each slice seems much faster even in debug mode which is much slower than a release build. Below is a photo of the output. The red arrow shows the types of bugs that can pop up that have to be tracked down.