Inner not subtracting from outer boolean operation failed

Hi community, looking for some help here.

I’m trying to make what I thought would be a simple lampshade for my office. I’ve created for the inner part a kind of lemon juicer shape, I would like to have the outer surface smooth and subtract the inner from the outer.

This results in a Boolean operation failed error. I found this post which is probably the same issue I’m experiencing but am hoping someone could break it down into simple terms and advice what I actually need to do to rectify and be able to remove the inner from the outer.

Link below, have also attached the shapr file in case anyone wants to tinker.

Thanks!

Office Lampshade v3 .1.shapr (3.2 MB)

In the linked thread Peter mentioned that the overlapping faces can cause the boolean error. And in your project the outer face of the lemon juicer is overlapping with the inner side of the dome on the top part. Here is how I could fix it, you can open my screenshots by clicking on the arrows or steps:

1. Delete the circular pattern and add a small triangle at the beginning and the end of the lofted body. Use the planes of the start and end profiles and the inner points of the original lofted body.


2. Create a loft between these faces and use the inner edges of the original lofted body as guide curves. In your case the third curve doesn't matter you can leave it as a straight line.

3. Merge the newly created lofted body with the original one and recreate the circular pattern with the union of them.


4. Merge the bodies of the circular pattern. It's usually not needed but it can speed up the next step and according to my experience the app sometimes fails to subtract more complex shapes when they're overlapping.

5. Subtract the merged circular pattern from the dome and you'll get the lampshade you planned.


Here is the fixed version of the project:
lampshade-fixed.shapr (6.7 MB)

P.S.: as you can see on my screenshot in step 2 you forgot to select the upper guide curve when you lofted so it remained straight on top.