Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Tips on troubleshooting issues with boolean

Apologies for the vague title as I'm struggling with how to ask this in a clear way. I've been working on incorporating more organic surfaces into my design and have been running into issues where an operation fails with no clear reason and I get the "boolean operation would result in a non manifold body" error. Here's an example below where I have a surface that I've tried converting into a body with thicken:
https://cad.onshape.com/documents/5d19429b3e484b308ed78715/w/af284b053108b6f5ddc0addc/e/1447284ddaf587b44d10846c?renderMode=0&tangentEdgeStyle=2&uiState=68bdc31907e26bf4684bffa6
I'm not looking for an answer to this specific issue (though that would be nice), rather where I can find resources on how to troubleshoot issues like the above.
Best Answers
-
jelte_steur814 Member Posts: 516 PRO
It happens if the parts are only just touching on an edge, but they don't have the same face.
The parasolid kernel doesn't know how to deal with that. what's in/out…
You seem to be working around the issue that you couldn't thicken the whole surface in one go.
That's a tell that something more fundamental is off with the quality of you surfaces… So I'd rather focus on that than work around it.
Probably caused by the loft ending up in a singular point which creates a lot of tension in the surface:You generally don't want all the isocurves of a face to end up in a point. They'd better run parralellish.
@EvanReese explains well here why, somewhere around minute 25, but it may be worth watching the whole thing.
not sure what the best strategy would be to create a 'helmet' with a proper 4 sided surface while working in a mirrored workflow…
Anybody?another tip: Using a projected curve without approximating isn't recommended either because it's a less smooth input curve.
also @GregBrown has a lot of videos on good surfacing technique that may be usefull for you1 -
EvanReese Member, Mentor Posts: 2,536 PRO
This is a great exercise to learn more surfacing stuff. You may not need to be 4-sided per se (but the Fill feature could probably do that here). In any case @jelte_steur814 is very right that the front area is where the problem is. I think the root issue probably goes all the way back to this first curve. I'd recreate it with a bezier to make it more smooth, or use the Edit Curve feature to reapproximate it with a cleaner curve.
Secondly, the ends of this curve aren't tangent with the "up" direction, but the loft is set to that direction, so you're asking for something that's not physically possible. Consider making a helper surface to reference that is tangent to this curve at the right places then make the loft tangent to that surface.
1
Answers
It happens if the parts are only just touching on an edge, but they don't have the same face.
The parasolid kernel doesn't know how to deal with that. what's in/out…
You seem to be working around the issue that you couldn't thicken the whole surface in one go.
That's a tell that something more fundamental is off with the quality of you surfaces… So I'd rather focus on that than work around it.
Probably caused by the loft ending up in a singular point which creates a lot of tension in the surface:
You generally don't want all the isocurves of a face to end up in a point. They'd better run parralellish.
@EvanReese explains well here why, somewhere around minute 25, but it may be worth watching the whole thing.
not sure what the best strategy would be to create a 'helmet' with a proper 4 sided surface while working in a mirrored workflow…
Anybody?
another tip: Using a projected curve without approximating isn't recommended either because it's a less smooth input curve.
also @GregBrown has a lot of videos on good surfacing technique that may be usefull for you
This is a great exercise to learn more surfacing stuff. You may not need to be 4-sided per se (but the Fill feature could probably do that here). In any case @jelte_steur814 is very right that the front area is where the problem is. I think the root issue probably goes all the way back to this first curve. I'd recreate it with a bezier to make it more smooth, or use the Edit Curve feature to reapproximate it with a cleaner curve.
Secondly, the ends of this curve aren't tangent with the "up" direction, but the loft is set to that direction, so you're asking for something that's not physically possible. Consider making a helper surface to reference that is tangent to this curve at the right places then make the loft tangent to that surface.
The Onsherpa | Reach peak Onshape productivity
www.theonsherpa.com
Thank you this is exactly the kind of response I was hoping to get!
@EvanReese is there a best practice for when to use bézier curves vs splines?
@jelte_steur814 I spent some time digging into 4 sided surfaces, it does seem like my basic approach (creating one surface and then mirroring it) is problematic because it will always result in those curves meeting at a point.
@sasha_sklar061: one way to make it 4 sided is if you'd take the top of the 'helmet' off. then you'll have a 4 sided surface and the top can be 'filled' later. You'd be adding control though with the last 'top surface' which isn't ideal either.
I'd love for an Surfacing expert to weigh in on how to approach this generally, because this is a very common situation and I'd love to learn the common or optimal alternative approach.
as to your question for @EvanReese: i'd say:
Bézier curves let you more directly control curvature and therefore create better input to your surfaces downstream, but you're less in control of the position the curve goes through.
Splines control the position of the lines, but provide less curvature control. (easy e.g. for wiring or other non surfacing work)
I spent quite some time for my own practice and was able to create this: (using 4 sided surfaces)
https://cad.onshape.com/documents/f2eb1b1707b03bdee4d7cebc/w/793e8ce1e6e4bc948fa21d5d/e/6212d149f63ae6e11266915c?renderMode=0&tangentEdgeStyle=1&uiState=68c00a111419e857efb1911b
It takes quite some tweaking of the "top curve" with the final button on and zebra stripes to get the result to look good.
I can't seem to get Curve 3 to be on par with the required accuracy for the 'boundary surface 4' to work without error/warning. if you skip that curve and let it do its thing it'll not look good at all either.
An whole other approach is better there I think: see V5. can't get the width of the assymmetric fillet as wide as you might want it, but you get the gist of the simpler approach here:
It's funny how one small missing constraint in the very first feature can spark such a deep discussion. The reason the boolean failed was because sketch 'side view' was missing a perpendicular constraint between the construction line and the one magnitude segment of the curve. This caused a crevice to be created on the first thicken operation. then mirroring it created like a half cone sorta type of divot. then when you went to boolean the next piece it did not like the 0 thickness at the top of the half cone.
As far as a step by step how to troubleshoot that, I'm not sure how to explain that tbh. Kinda comes with experience and more issues that that you struggle with, it becomes sorta like common sense over time. Understanding what non-manifold meant was a huge help. That description of an issue certainly doesn't lend its hand to making it easy for newcomers to figure out what is wrong. Turning on translucency at times might help, locate an issue such as this.
Here's a copy of your document with the perpendicular constraint added (minus a coincident constraint on the magnitude segment). and the boolean without error.
https://cad.onshape.com/documents/b0032b4224ed53a65a8c4c19/w/2fdbbd9c1f6c2fa35848257c/e/96b1837cbc650bd824b7696a
ooh good catch!
The Onsherpa | Reach peak Onshape productivity
www.theonsherpa.com