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.


Any ideas for snap fit or "automatic backwinding of the part translations to starting position"?

edward_teachedward_teach Member Posts: 2
Hello everyone!

I`m trying to figure out what do I have to do in Onshape to get the following behaviour (or an approximation thereof):

Every time a part in an assembly translates from its default\starting position as a result of being pushed by another part or pulled by the user, I want that part to [try to] return to the default\starting position (just as the external effort is released) - by repeating its previous translation sequence backwards (up until it encounters an obstruction).

It`d be nice if there was a way in Onshape to define, for a mate, the default position of the movable part, and for that part to enable the behaviour where the movable part always tries to rewind its latest translations to return to the default position until an obstruction - like a different part of the assembly - gets in the way.

Examples of the desired behaviour include:
1. A cam-operated valve - like this: https://upload.wikimedia.org/wikipedia/commons/5/58/Cam-disc-3_3D_animated.gif
2. A snap hook on a snap fit buckle - like this: https://i.makeagif.com/media/8-26-2015/Oo_u7p.gif

I do not need to simulate forces or anything like that - just basic backwinding of the latest translation sequence.
In case of a snaphook I would not need the bending of the hook etc - just the "springback" function. It would be fine if I would need to make a separate part (the snap hook itself) - I just want a (however quick and dirty) means of checking for part behavior.

I have found this page (with snap fit feature written by NeilCooke), but this whole FeatureScript thing is very new to me, so I cannot figure if (and how) I could use\modify it:

Filling functionality gaps with FeatureScript -- Rib Feature, 3D Spline, fasteners, and more — Onshape



  • Options
    eric_pestyeric_pesty Member Posts: 1,493 PRO
    The cam follower can achieve with a tangent mate, and you could probably get the snap to follow the profile using a tangent mate as well, although you might need to create a "dummy" surface (it has to be a single continuous face for it to work) and insert it in your assembly.

    Also not quite what you are looking for but if you right click on a mate that allows motion, you can reset it to it's default position.

    Interference detection in assemblies would be useful to have, then if could add "gravity" to axes on mates so they always try to return to their home position you could do lots of neat things!
Sign In or Register to comment.