This Boolean to make a screw thread failed - but why?

I have attached a screen shot, and the 3dm file, of a helical “thread cutter” wrapped around a cylinder; both are closed polysurfaces. I wanted to Boolean Split the cylinder with the helix, and so get a worm pinion for gearing.

It didn’t work. Seems both are ok polysurfaces, and there are no coplanar surfaces. The helix was made with a Sweep, and ends Capped.

So what’s wrong? Maybe I should I use an entirely different method to get my worm pinion?

Thx in advance.

AM9999 Worm.3dm (684.5 KB)

it has to do with the fact that the angular part of the screw type polysrf is exactly starting where the cylinder start, if you make the screw polysrf slighty larger (just a simple scale) it should work (worked here)…

Check the intersection curve to see where it is failing.
The inner edge of the vertical walls of your cutter element are on the cylinder. I would guess that if you extend the slant walls of the cutter just a bit beyond the cylinder surface you would get a cleaner intersection.
[EDIT: I guess Sabino just beat me to it…]

Oh, yes, I should’ve considered that – well spotted and thanks to you both.

Another win for subtractive modeling.