Waterline contouring

So, when I set out to carve my U-shaped trim pieces, I of course started by trying to use the expected KM workflow: roughing and/or outlining, followed by x/y contouring. But the contouring didn’t do a very good job for me. On this part, it left visible cut marks in both the x and y directions. I’d been hoping that doing both x and y contour passes would minimize that kind of thing, but you can see from this picture that they’re fairly deep. It took a fair amount of sanding to get rid of them. I had set step-over to the allowed minimum of .1 (.025" for a 1/4 inch bit) and “tolerance” was set to .005". I confess I never tried setting a lower tolerance value. (And, looking back, it feels like the .1 step-over minimum might be arbitrary, and not quite small enough.)

I also tried a round-nose bit for the contouring, and it was better, but it necessitated a bit change between outlining and contouring. On my mill getting Z homed correctly after the change is somewhat error prone.

I realized what I really wanted the bit to do was go round and round the part, doing very closely spaced horizontal passes. So I disabled contouring, and used roughing for facing and cutting the deep trenches beside the part, and I configured outlining to do step-downs of just .003" (which is best case accuracy for my mill). This worked extremely well. The next picture shows the part fresh off the mill, which is kind of scary. But just a little sanding, to get rid of the fluff, and you can see that the surface is well cut, and the cut lines are quite close together, and very shallow. It’s easy to remove them entirely.

I know Stewart has plans to revisit the three current “phases” of carving for 2.5. I guess I’d like to put in a vote for making waterline contouring an “official” choice somehow. There are two things that should be fixed, if so:

  • You can see in those two photos that there’s a strip of material along the top of the part that wasn’t touched at all during the outlining. It might just be an optical illusion, I suppose, but it feels to me as if that strip is taller than the other cuts down the side. That spine also shows up in the animation, between my green arrows. Is it possible that this is an artifact of another unintended KM optimization that only shows up in very small parts?

  • Stepping down by .003" is good for the first half of my outlining, but clearly once the side gets quite steep, and the horizontal delta decreases, the vertical step could be increased without loss of accuracy. I suspect there’s a well known way to make the horizontal/vertical deltas proportional to the slope of the surface being cut. (The current x/y contouring code probably already does that?)


That faceting is either a result of a too-low-resolution 3d part or a tolerance that’s too large. There is a new way to auto-adjust tolerance to part size by setting it to 0 and letting KM infer the right tolerance from your desired animation density. This has worked out really well for me. And in this case I think might make your contouring passes much better.

The part came from Onshape – I don’t think it’s low resolution.

The “new way” works today, if I set the contouring tolerance to 0?

Yes, the new way works in 2.4 – also, the default Onshape values can be tweaked here because they may not be perfect for small highly curved parts. Angle is in degrees and chord is in mm (yes, another units conversion I need to fix). If you change render to “wire” and it looks like a coarse mesh, try decreasing angle and chord values. You will have to re-import the part after changing those.

1 Like

I’ve played with all the settings you mentioned.

It’s clear (from the animation – I haven’t done any more real carvings) that the contour tolerance value of .005 that I used initially (I think it was the default) was too big for this part, and was the cause of those slices visible in my very first photo above. Changing it to 0, or even .001, makes a huge difference.

I do still see ripples in the surface of the animation (I increased the animation resolution as well, to 400) which I’m certain are a result of the .1 step-over factor. I’d advocate for at reducing the minimum step-over to at least .01 (1%).

I’m increasing available animation steps for tonight’s release up to 900. this will allow auto-tolerance to get quite a bit smaller.

Increasing animation steps won’t affect carving, though, right? Just the visualization?

Since I was kind of done with those experiments, I disabled contouring, and reenabled outlining, and was surprised when all of the carving speeds had dropped from black to pale green, resulting in runtime for the carve (according to what export tells me) going from 20 minutes to 1:20.

I narrowed down the culprit: changing the tolerance value in the contouring pane to 0 causes the change, even though a) it’s a contouring parameter, and b) contouring is disabled.

I’m running 2.5.D1.

2.5 hasn’t yet diverged significantly from 2.4. Much of that code is going to be refactored and cross-dependencies removed.