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 a single mate overdefine my assembly?

Kyler_WalkerKyler_Walker Member Posts: 183 PRO
I occasionally end up with an assembly overdefined by one mate.  I can't figure out how that is possible.  I need the overdefining mate to constrain my assembly, but it turns red.  No other mates turn red.  How do I debug this?

Answers

  • Alex_KempenAlex_Kempen Member Posts: 244 EDU
    It would be best if you could share an example, but one way the issue you're describing could occur is if you attempt to mate two fixed instances together. However, this is a pretty rare issue for most seasoned users since best practices are to avoid fixing more than one part per assembly since multiple fixes aren't respected if the assembly is used in another higher level assembly. If you want to fix multiple parts, consider using a group mate instead.
    CS Student at UT Dallas
    Alex.Kempen@utdallas.edu
    Check out my FeatureScripts here:



  • NeilCookeNeilCooke Moderator, Onshape Employees Posts: 5,310
    If you are trying to add a revolute mate, try changing it to a cylindrical.
    Senior Director, Technical Services, EMEAI
  • Kyler_WalkerKyler_Walker Member Posts: 183 PRO
    NeilCooke said:
    If you are trying to add a revolute mate, try changing it to a cylindrical.
    I currently have this issue with a slider mate.  Changing it to cylindrical turns the mate black, but the mated instances can still rotate relative to each other. If I limit the rotation of the cylindrical mate to -180 degrees to +180 degrees, the cylindrical mate stays black and the instances can't rotate relative to each other.
  • Kyler_WalkerKyler_Walker Member Posts: 183 PRO
    edited August 2021
    I think I figured out the source of my problem.  I have always assumed that mates in subassemblies would be prioritized, and that adding a mate in a higher assembly couldn't break a mate in a subassembly.  I now know that this is not the case.  I only had one overdefining mate in my top assembly, but I realized that having it unsuppressed and red toggled my subassembly to have broken mates.  I also found that a black fastened mate in my top level assembly caused a subassembly to have broken mates.  This is very counterintuitive to me. 
  • tim_hess427tim_hess427 Member Posts: 648 ✭✭✭✭
    @Kyler_Walker - I'm glad you figured out the issue. 

    I typically don't think of any mates having "priority" over any others. Rather, all of the mates in the current assembly have to be solve-able at the same time. It doesn't matter where the mates were created. If, in your top-level assembly, there are two mates defining different positions for the same component, you'll get an error. 
  • Kyler_WalkerKyler_Walker Member Posts: 183 PRO
    Yeah, I kind of understand it now.  I will have to adjust my mindset.  I now have no idea how Onshape decides which mate is overdefining. For example, how did Onshape decide that adding a fixed mate in the top assembly breaks subassembly mates, not the new fixed mate?  A pair of scissors should have a revolute mate.  If I try to use a pair of scissors by turning the blades orthogonal to each other, the problem is with how I'm trying to use them.  The revolute mate wouldn't be the problem with my scissors. 
Sign In or Register to comment.