Boolean_ Difference issue

I’m having an issue with the Boolean difference. I added the Rhino file below. What’s happening is that some of the tread patterns fail the boolean diff function. in the file below I made sure I used grid snap to ensure that everything was perfectly centered. I used a sweep1 for the tire surface ( curves are on the curves layer) and flipped the normals using the direction function (dir) so the tire normals are facing outwards. I then used the Interpolate curve on surface to draw the tread curve onto the tire surface. Next I used the pipe command with rounded cap enabled to create the tread from 2 curves. I boolean unioned the two separate pipes for the tread, mirrored it to the other side of the tire and then used the polar array command to apply the tread pipes around the tire ( All using the same center point). I then did a boolean diff. to remove the pipe tire tread from the tire. It fails. I then tried boolean diff on each individual tread piece one by one and every now and again one fails. I don’t see how this can be happening. They should all identical and cutting into the tire surface in the exact same manner. I tried breaking the tire apart and re-joining it, but that did nothing. Can someone shed some light on why this might be happening?
Tire_Tread.3dm (2.7 MB)

I read a few other threads and in one it was recommended to use the boolean split command instead of boolean diff. This appeared to work, however, I am baffled as to why one would work while the other fails. Don’t they use the same basic algorithm? The results seem to be exactly the same when boolean diff has delete input turned off.
At any rate its working with boolean split, so I’m good to go.

Most boolean operations (Boolean Union, Difference, Intersection) work best on solids. While the tread pipings are solid, the tire itself isn’t a solid; it’s an open polysurface. Boolean Split works using solids as well as polysurfaces and surfaces. If you gave your tire some thickness, then the other boolean operations will react appropriately.

ah, ok. Thanks.