I am aware that where surfaces ‘abutt’ boolean difference can fail, though so far its been behaving itself in my current project despite such shared planar surfaces of ‘cutter’ as I call the cutting tool and the object to be differenced.
I then come to do a Boolean Union with the internal cylinder abutting the top surface, it fails, so I take it down to within the shape, its now two objects that meet all criteria I am now aware of, and it still fails.
Boolean Union fail simple shape.3dm (93.3 KB)
When Booleans fail, always use Intersect to check the results. In this case, it produces two overlapping curves instead of one clean intersection, Rhino doesn’t know how to split the surfaces, so it fails.
Stuff like this is really easy to do manually, in this case I deleted the small lower surface of the ellipse cone, then duplicated that edge. I hid the ellipse cone temporarily, used the duplicated edge curve to trim the upper part of the long cone, then showed the ellipse cone and joined the two parts together into a closed polysurface.
Note that the BooleanUnion does succeed in Rhino V6…
for intersect I visually see one circle, but cloning it and applying it to another layer then turning off the cutter red layer I see two circles. delete the one, try to use the other one for trim then also Boolean split but neither work, I guess the circle is not touching the cylinder yet its the result of intersect.
Run Intersect (should say “2 intersections found” and the curves will be selected), then _Invert _Hide. Now look at the result. There is one ‘circle’ and one ‘partial circle’ (i.e. an open arc ) superimposed on each other.