Threads and Solid Booleans

Hi Eric,

The issue isn’t the geometry but the mathematical representation of the geometry. Unlike a physical cutter that will plough through material without concern about the accuracy of its profile or positioning, the representation of that process is the intersections between surfaces.
To carry out your boolean difference Rhino has to consider every surface involved and establish where it intersects other surfaces and then trim away the unwanted parts. The representation of the surfaces may involve approximation. Where an intersection comes close to the edge of a surface it is possible that it will be incomplete. By considering each surface of your cutter separately:


we see that many parts of the intersections cannot be found:

By moving the cutter edges away from the cylinder, Rhino doesn’t encounter those edge conditions and finds complete intersections:

So, while there is nothing wrong with the geometry from a pure perspective, it has limitations when reduced to surface representations. It just isn’t the best geometry for your purpose.

I guess the modelling mantra should be “No representation without limitation”: in time you’ll find plenty more scenarios where limitations interfere with your intent. But you’ll come to recognise where they are likely and work around them. That’s not to be blase about them: do lobby McNeel to address particular special cases like helical thread intersections.

Regards
Jeremy