Bug: Boolean Difference?

I was making a bunch of similar holes but I ran into this one that fails on boolean difference.

The punch clearly goes all the way through the panel. Intersect gives two closed curves where expected.

Split fails as well.

I saved here before moving on.

The punch was made by four lines that were rounded by fillet. The top two arches merged but the bottom two did not.

If I explode the curve. Join the two bottom arcs. Simply to create one arc. Join together. (convert five segments into four). Extruding using that allows the punch to work here.

Another way to make it work is to intersect. Delete the punch. Extrude an intersection.

Problem Difference.3dm.zip (133.5 KB)

It’s hard to say what the issue is, but if I had to guess, it’s probably the top and bottom seam of the pill shaped object that may or may not intersect the central isocurve of the object to be subtracted from.

Your cutter object can be constructed with less seams, which will solve the issue.
I simply rebuild it from two circles with with their seam, being located at the trimmed away parts.

The seam of the curve to be extruded and capped, now sits at a more comfortable position, in my opinion.

Et voilà.

Problem Differenc.rev.3dm (3.6 MB)

Hello- thanks, I see that.

@miano - it looks like you have sliver surfaces in the cutter - zero area, skinnier than tolerance.


Let me ask then, if I have a rectangle and I fillet all four corners with the radius 1/2 the short side length and then do simplifycrv, how come I get a curve with 5 segments, rather than 3 segments?

Three arcs and two lines, rather than two arc and two lines.


Heh - yeah, that would happen if the curve seam happens to wind up where the two arcs meet.


Are these the kind of things I should be reporting here? I try to save oddities when I encounter them and move on?

As I said, this was rectangle, with fillet at each corner, extruded, and subtracted from a flat polysrf.

I knew where to look to get around this but a Rhino beginner would not, and this is something a beginner could easily do.

Hello- I would continue to mention these - there may or may not be anything thayt can be done but it does not hurt, and thank you. In this case, I’d say it might be possible to ignore the seam when simplifying in some cases - but only in some cases at best, I would say , when there is an obvious alternate location for it.

As for the original problem, the rectangle was not exactly double the fillet radius - so filleting left a tiny fragment of curve in there which then propogated to the extrusion. That could be something that could be handled, up to a point, I am guessing.