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.

Mechanism with Multiple Mates

mark_proulxmark_proulx Member Posts: 48 ✭✭
This question pertains to a mechanism with multiple mates.  I've built a model of an engine hoist that I'm restoring.  The cylinder incorporates a sliding mate for the piston and rod; the mate includes limits on the extent of the rod motion.  The lug on the barrel end of the cylinder connects to the mast with a revolute mate.  The boom pivots about the mast via a revolute mate as well.  These .mp4 files illustrate these motions.

I have not been able to figure out how to attach the rod end of the cylinder to the boom clevis via a revolute mate so that when I animate the sliding mate, the boom pivots up and down.  How do I accomplish this?


  • mark_proulxmark_proulx Member Posts: 48 ✭✭
    Additional information: When I attempt to insert a revolute mate between the rod end fitting and the boom clevis, the error message implies an over-constrained condition.
  • mark_proulxmark_proulx Member Posts: 48 ✭✭
    Here's a screen shot of the assembly:
  • dirk_van_der_vaartdirk_van_der_vaart Member Posts: 525 ✭✭✭
    edited July 2021
    Can you post a share link of the document, I'm sure somebody will help you, 

    Sorry , you allready did  that.
  • wayne_sauderwayne_sauder Member, csevp Posts: 449 PRO
    There are two ways I think you could solve this, just use a cylindrical mate( I know this works cause I tried it) the other method I think would work is to create a mate connector at the center of your clevis core part, then use that and the mating connector at the center of the cylinder eye in your revolute mate, (I did not test this method). 
  • Alex_KempenAlex_Kempen Member Posts: 244 EDU
    The reason revolute mates aren't working as expected is because revolutes constrain parts along the axis of rotation (the z-axis). When you add a revolute between the rod end and the boom clevis without an offset, the assembly becomes over defined because there's actually a 1/16" gap. 

    One solution is to simply add the 1/16" gap to the offset of the revolute mate, but the best approach is to simply use a cylindrical mate between the rod end and the boom arm (as @wayne_sauder suggests). A cylindrical mate doesn't have the z-axis alignment requirement of the revolute mate, so it will be more robust and won't break your model/require updating if the gap changes down the line. I think revolute mates with properly assigned offsets may also cause general assembly jankiness and also possibly hurt performance, so a revolute + cylindrical mate combo for pistons definitely seems the way to go.
    CS Student at UT Dallas
    Check out my FeatureScripts here:

  • mark_proulxmark_proulx Member Posts: 48 ✭✭
    @wayne_sauder: Thanks for the suggestion.  Indeed the cylindrical mate works!  I can tell you that the alternative that you suggested does not, as this is what I tried initially.  Again, thanks.
  • mark_proulxmark_proulx Member Posts: 48 ✭✭
    @Alex_Kempen: Right on!  The cylindrical mate works beautifully.  I am still confused by the whole concept of offsets in mates, so I'll need to bone up on that.  For example, I don't understand how the 1/16" gap you cite defeats the revolute mate since there would be no motion along said axis anyway.  Like I said, being new to this concept, I'll have to noodle on it some more.
  • Alex_KempenAlex_Kempen Member Posts: 244 EDU
    Right. So, as you've hopefully noticed by now, revolute mates allow rotation along the z-axis, but lock movement along the z-axis (i.e. side to side). This mimics the behavior of a part which is securely attached to another part via a single screw; the part can spin freely about the screw, but it can't come off the screw since the screw head prevents it. Thus, the part in our example cannot move along the z-axis, but it can spin about it freely.

    When you attempt to add a revolute between the rod end and the boom clevis without an offset, you're essentially forcing the rod end to touch the face of the boom clevis. Since the two faces aren't actually coplanar, onshape complains. After all, if you attempted to make them touch in real life, you'd have to bend some part of your piston rod and/or assembly in order to make the connection. The cylindrical mate fixes the problem since it doesn't have the no movement along the z-axis requirement (unless you enable limits), so the faces can automatically adjust to be the right distance apart. Similarly, adding an offset to the revolute mate equal to the gap fixes the issue since the faces are now actually coplanar, so no bending is required to make the faces touch. But that can cause some performance issues, so your best bet is to just stick with the cylindrical mate. Hopefully that makes some sense.
    CS Student at UT Dallas
    Check out my FeatureScripts here:

Sign In or Register to comment.