Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. 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.

"Boolean ... did not regenearete properly" - what's wrong with my model, how to debug?

Hi.
I've created a model of a table, now I want to simulate it. As I have lots of connections - I decided to have a single solid instead.
But when I do Boolean - Union - I get "Boolean operation failed to return a valid part."

Where to look at, what's wrong with my model?
here's my project https://cad.onshape.com/documents/d00ceaba15e3ae5795e20cc8/w/ae8f127e4624154d6ac645ae/e/df3660a165963528ba859614
the model in question is in Part studio "N"
Tagged:

Best Answer

Answers

  • michael_mcclainmichael_mcclain Member Posts: 187 PRO
    Your model is shared with "view-only" rights not allowing the people in the forum to check within the features and truly troubleshoot how it was modelled and to try to troubleshoot the issue. At a glance, I think the issue is that the parts do not truly intersect. Test the boolean on a part by part basis to see if it is simply the connection between two parts or if it is that none of your parts intersect for the boolean to be able to union them together.
  • glib_kotelnytskyyglib_kotelnytskyy Member Posts: 23
    https://cad.onshape.com/documents/3e2e0cfa9e69904285af72bc/v/0c32e67db8f91b366fd31a22/e/6ede8c713c1a04750e4d8de2?jumpToIndex=2729&showReturnToWorkspaceLink=true - this is the document, from which the feature was imported.

    I do not see the option to change permissions to allow looking into features

    When I do boolean intersect of two individual parts - I get few parts at connection points, as expected. But union still doesn't work.
  • michael_mcclainmichael_mcclain Member Posts: 187 PRO
    If a document is set to public then someone can copy the document, look into the features and try their solutions to troubleshoot the issue. It seems to be okay. I've tried to fiddle with it a little, but I also do not understand why it wont boolean-union. I even did a move face on some joints before the boolean to ensure that the parts were definitely intersecting but it kept returning the same error. 
  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    I am not sure why you would boolean this - BUT, a question is a question :)

    The most common reasons for a boolean to 'fail'
    1) The parts don't touch (this problem only exists in other CAD systems - Onshape handles this easily :))
    2) Knife edges - this is where two bodies touch at a common (or single) edge (also scientifically referred to as 'non-manifold topology') - you nearly have this in many places in your table model - which leads to cause #3
    3) Small edges - booleans (in all cad systems) start to have problems with very small edges - again you have a boat load of edges in the 0.1mm range or less if you do a boolean intersect (which does work).

    Advice? 
    Well, this isn't something you would normally boolean, BUT;
    You could suppress the cut-outs / reliefs, and i am sure that it would go together very nicely.
    Philip Thomas - Onshape
  • glib_kotelnytskyyglib_kotelnytskyy Member Posts: 23
    @philip_thomas - I want to union because I want to feed the model to SimScale and don't want to define all the contacts.
    And I need to have the kerf to know if they are stressed out.

    I've tried increasing the intersection to 1mm, but with no result.


  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    Ok, i played with this for a bit and note the following;

    1) I tried to use the 'delete face' direct editing tool to remove the reliefs - failed every time. This should be a warning that the body has 'problems' - i would need access to deeper diagnostic tools, but this is a big warning sign and probably explains the boolean problem.
    2) I suppressed the laser cuts, and of course it booleans perfectly.



    Are you getting any errors from your custom feature?
    I would suggest posting this in the FeatureScript forum (with the code) - use just one or two parts and cite the case of not being able to use 'delete face' on the reliefs. Maybe one of the code-wizzes there can spot the problem.

    Bottom line - i think it's your feature! :):):)
    (sorry :))
    Philip Thomas - Onshape
  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    Yup - that would do it (non-manifold topology).
    I also did not know about the 'delete face' issue - i will look into this.
    Thank you.
    Philip Thomas - Onshape
  • MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 1,845 PRO
    lemon1324 said:
    This is my custom feature, and as far as I can tell that specific issue is actually a corner case of Delete Face itself; as seen in this document, delete face fails whenever the healed intersection coincides with the deleted face, which is how the corner overcuts are calculated.  I can throw in a small tolerance (e.g. 0.1% of the overcut diameter or something) there to make sure that this doesn't happen if people really need to delete those faces later, but I don't know that that's best practice as that's an obscured magic number. I'd expect delete faces to work in either case.

    As far as this specific document:  the boolean issues are 1) because each overcut therefore creates zero-thickness geometry when attempting to union, and 2) because the plates are at an angle, so that once the joint creates tabs and removes intersections, the remaining contacts are edge-on-face contacts creating zero-thickness geometry:


    Both of those cases I could maybe look into automatically detecting and fixing, but they are side effects of the joint working exactly as intended, so I don't know if it's a good idea to do that.

    @lemon1324

    Maybe you could add a checkbox that the user can use to fix that
    MB - I make FeatureScripts: View FeatureScripts
Sign In or Register to comment.