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.

How can I bound the geometry created by my feature?

arnold_1arnold_1 Member Posts: 1
In this doc, I have a feature that makes a cylindrical hole and then extrudes some ribs on the edge of the hole (the goal is to capture a round shape while allowing plenty of tolerance for the vagaries of my 3D printer).

As you can see in the linked studio, I end up with ribs floating in the air if my cylinder intersects with the solid body's edge.

I would like to make only the ribs that intersect with the body as it was before I removed the cylinder.  All the ways I can think to do this are ungainly at best.  Is there a good way to do this?


  • mahirmahir Member, Developers Posts: 867 ✭✭✭✭
    edited May 2017
    I'm sure there are multiple ways of doing this, but the first one that comes to mind is using evCollision. Something similar could be done using evBox3d, but the results wouldn't be as reliable since interior geometry doesn't affect bounding box size.
    1. Create a copy of your part body before adding the hole.
    2. Create your hole.
    3. Create your rib extrudes without merging with the rest of the model. You will end up with a separate body for each rib.
    4. Now, iterate over each new rib part created by your extrude feature and perform an evCollision on that part and the pre-hole part copy.
    5. If the collision type is TARGET_IN_TOOL (meaning the rib is completely inside the original body, then do nothing.
    6. If the collision type is anything else, delete that body.
    7. Delete the pre-hole part copy.
    8. Merge the remaining rib parts with the post-hole part.
  • mahirmahir Member, Developers Posts: 867 ✭✭✭✭
    edited May 2017
    I tried implementing what I suggested. I believe I've found a bug in evCollision whereby target bodies that are completely inside the tool body but share a boundary and target bodies that only partially interfere with the tool are both given a ClashType of INTERFERE.

    This bug negates evCollision's usefulness for this particular application. It can only tell you if a rib touches your main body, but not if it's completely inside it.

    Here's a link to my unsuccessful efforts. The best it can do is get rid of the ribs that don't touch the main body at all.


Sign In or Register to comment.