Booleans working in reverse!

I’ve been having lots of trouble with moving edges/faces and booleans in RH6. Lately I’ve been creating 3D objects that exhibit the reverse of the expected behavior with booleans. For example, a boolean difference of the two objects in the attached file creates a union and vice-versa (although performing the reverse operation to accomplish what I want fails with some of such objects). This seems to happen after the object’s edges and/or faces have been moved, which also often results in stray surfaces that jut out. Rhino doesn’t find any bad objects and changing tolerance from 0.0001 to 0.01 makes no difference. Exploding and re-joining the surfaces also doesn’t help.

I’ve never had such problems with RH5, even though this weird behavior persists when the RH6-created object is saved for and opened in RH5. Any ideas of what’s wrong with this object and how to fix it without re-creating it?unionfail.3dm (204.3 KB)

The one object is not closed, so Rhino doesn’t actually “know” what’s outside, it uses the surface normals, which are with this object pointing inside as you can see with the “Dir” command. This is unchanged since Rhino…1. I would be really concerned about the workflow that made that open object.

Thank you! I wasn’t aware of the dir command. Using it to flip all surface normals of the solid solved the problem. The work flow I used to arrive at this object, and another one that had the same issue, only involved moving edges and some boolean differences, nothing unusual. I can’t explain it, but at least there’s a simple solution.