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.

Fastened mate orientation error/bug/unexpected behaviour

In assembly, when placing a carefully oriented fasten mate between two parts like these (notice the mate orientation)


I would expect this to happen


instead I get this 

It depends on the starting position of the parts, but I consider it as a serious bug. You may argue that it is intended behaviour but it is rather illogical if it is a 'fasten mate' because it behaves like a revolute mate at the moment of solving. 
I would expect a fasten mate to solve to match the orientation, place and plane as initially and only subsequently when the user changes orientation it should turn

Comments

  • rune_thorsen229rune_thorsen229 Member Posts: 182 EDU
    Chatting with Niel I said 'I expected that the Fastened mate would snap to same orientation and keep that.' and  he clarified that there are 8 possible orientations. It would be nice with a mate that you could 'trust' or 'reset' to matching all orientations
    Furthermore I encountered this problem where mates seems to give an unexpected offset

    I use a line in a plane to place the mate 
     and I can't figure out what the problem is.
    Document :
    https://cad.onshape.com/documents/dd4e620547fb95eb0b416aee/w/811d2761aa092256e78facf8/e/b82448a6521d3b3e1aaf5f93

  • rune_thorsen229rune_thorsen229 Member Posts: 182 EDU
    NeilCooke sorry misspelling
  • owen_sparksowen_sparks Member, Developers Posts: 2,660 PRO
    Hi.

    So we didn't get off to the best of starts, so here is an olive branch. :)

    Looking at your first example you have placed a pair of local coordinate systems (aka mate connectors) onto your parts.

    When we make use of those connectors in a Mate feature they will be brought together and the parts will be transformed such that these axis align.

    By the power of Smints...

    Add mate connectors:-


    Add a mate.

    In this case it is a fastened mate, so there are no degrees of freedom.  Note the orientation of the red axis in my photo and your first screen-grab  This is absolutely the expected outcome of this mate. (Other than the fact that I can't press the tins into overlapping space!)

    A "revolute mate" allows one degree of freedom (within whatever limits you chose) it does not describe the rotation of a fastened mate as the axis are aligned in the mating process.  So the revolute allows a mechanism to rotate one mated.

    Placing mates is aided by using the shift key when on the planar surface to de-clutter inferences.  After it's placed reorientation or rotation can be made to the placement, but often its simpler to place them on the required vertex and then use the flip and rotate quadrant in the mating operation to gain the desired orientation rather than insist on placing the mate connector with each axis pointing in a defined orientation. 

    Creating explicit mates in PartStudios at whatever rotations and offsets you prescribe is a very powerful and hopefully intuitive way of either moving parts around or building up assemblies.  (This is relevant to your second question.  Mates don't just slide parts towards each other.  They align all three axis of their mates.  So the orientation of the mate must be considered.  There several ways to control this, but perhaps that's another topic.)

    In the main in the last 4 years I've been on this forum users tend to love mate connectors and take to them easily.  Movement limits in assemblies can more challenging but Onshape have gone to some lengths to improve things there.

    I don't know if your interpretation of my answer that is in turn an interpretation of your question meets your expected outcome, but either way please don't down-vote this comment, or anyone else trying to help you, without a damn good reason. o:)

    Happy CADing!

    Cheers,
    Owen S.
    Business Systems and Configuration Controller
    HWM-Water Ltd
  • john_mcclaryjohn_mcclary Member, Developers Posts: 4,059 PRO
    Chatting with Niel I said 'I expected that the Fastened mate would snap to same orientation and keep that.' and  he clarified that there are 8 possible orientations. It would be nice with a mate that you could 'trust' or 'reset' to matching all orientations
    Furthermore I encountered this problem where mates seems to give an unexpected offset

    I use a line in a plane to place the mate 
     and I can't figure out what the problem is.
    Document :https://cad.onshape.com/documents/dd4e620547fb95eb0b416aee/w/811d2761aa092256e78facf8/e/b82448a6521d3b3e1aaf5f93

    We do not have permission to access document, please set it to public so we can have a look.

    --------------------
    As for your original topic. In general, the reason this is not a bug is:
    Because each mate connector has 8 possible orientations relative to the origin point of each mate connector.
    I understand your logic, default should be origins of both mate connectors are aligned X-X Y-Y Z-Z.
    But if that were the case, then you will end up editing your mate orientation 99% of the time, rather than just pre-position the part and snap a mate. Much quicker the way Onshape currently has it.

    Basically ignore the mate connector xyz position, treat it like a point, then flip/rotate until it is in the correct position.

    This is the same behavior as I'm used to seeing in SolidWorks (pre-position before mating lest you fold your assembly into the fourth dimension)
    with the exception of mating two origins with a coincident. Those behave as you expect mate connectors to.
  • rune_thorsen229rune_thorsen229 Member Posts: 182 EDU
    I have shared it with Niel and john_mcclary@onshape.com
    https://cad.onshape.com/documents/dd4e620547fb95eb0b416aee/w/811d2761aa092256e78facf8/e/b82448a6521d3b3e1aaf5f93
    "I understand your logic, default should be origins of both mate connectors are aligned X-X Y-Y Z-Z."
    Exactly. I spent some time trying to understand why things were not perfectly aligned. Then I realigned the mates on my parts so they should be perfect when assembled just to find that I have to spend time realigning it all again. 
    Most of all what I don't understand is why the solver engine doesn't do that mating as first guess. 
    Secondly its faster selecting the relevant mates from the Instance list.
    Finally I think it's exposes a error prone result when you cannot trust mates to align xxyyzz. I saw a comment thread where somebody are aligning thin sheets having the same probelm.
  • Urs_Egger_REACTUrs_Egger_REACT Member Posts: 124 PRO

    What the heck…????
    I encountered a similar problem. Why would Onshape set the fastened mate orientation of a part along the global part studio orientation instead of the relative surface orientation?
    I select a object with 4 rectangular corners. And I fasten mate another object with 4 rectangular corners. Those to faces need to be oriented relative to each other an have nothing to do with the global XYZ orientation?

    I can't hardly see a use case where a designer would want to place the grey part in the global xyz orientation.
    This really needs to be fixed. What do you think?

    Try it out yourself: https://cad.onshape.com/documents/2cb6506fca7b63acd19e2dd9/w/c7ca1eb0536d605657140990/e/37647dd9f84fe2209708eb8b

    fastened_Mate_orientation.png
  • john_mcclaryjohn_mcclary Member, Developers Posts: 4,059 PRO

    Actually I do like the default setting to global part studio orientation, since you tend to draw the part in true position. Then mating is easy in the assembly because the mate connector is already rotated correctly.

    Since mate connectors can be used off faces, edges, end points, mid points, etc.

    this gives you freedom to choose at the assembly level.

    If you wanted to have a bunch of square blocks always parallel to the floor, like you are seeing in your image above. Then do a mate connector on the center face and it will stay oriented.

    if you want to mate it rotated with your object, then use the edge instead. like this:

    2026-03-10_09-33-26.gif
  • Urs_Egger_REACTUrs_Egger_REACT Member Posts: 124 PRO

    Thank you John, the line selection is a decent workaround. I stumbled over this issue with just a small angle and did not recognize first, because the deviation was not visible first hand. However to me it makes no sense to have global orientation "as default" on a mate connector when I only select. And it makes no sense in special to use the orientation of a part studio which is maybe not even in relation with the assembly. The relation only exists between two individual rectangular surfaces with it's own orientation. It has nothing to do with any geometry outside the selection. Funny enough when you rotate the part after fastening the part rotates with the rotating part indipendant of a global orientation. So in my opinion default setting should be the surface to surface relation. The optional setting can be oriented by selection of an edge of a body. What do you think?

  • john_mcclaryjohn_mcclary Member, Developers Posts: 4,059 PRO

    Honestly I think it's 50/50 depending on the type of work each person does normally.

    I think you may be stuck at this point, since there are millions of legacy assemblies that are built with this behavior.

    To change it now may break everyone's existing model that is relying on it.

  • nick_papageorge_dayjobnick_papageorge_dayjob Member, csevp Posts: 1,093 PRO

    I know this was just an example using simple blocks, but I think it's asking for trouble using implicit MC's as fasten mates in an asm. If you add a round or draft to the part, it will mess up the alignment in the asm. The only time I use implicit MC's is when fastening hardware to a hole.

    If instead an explicit MC is made in the part studio, then it won't change if rounds or drafts are added, and it will be aligned the way you want it.

  • Urs_Egger_REACTUrs_Egger_REACT Member Posts: 124 PRO

    That is true. An explicit MC is much more stable indeed. However placing an explicit mate connector kind of kills the advantages of the onshape mating system. I guess it is even slower than the traditional 3DOF mating method.

  • Urs_Egger_REACTUrs_Egger_REACT Member Posts: 124 PRO

    Yeah you are probably right. In most cases people work in orthogonal mode. So the issue does not appear anyways.
    And the circular arrays with angles will usually have round parts inserted (e.g. flange and bolts).

    And for the other cases your workaround with selecting the edge instead of the face is really helpful.
    I'm just super confused that with the edge selection the orientation from the edge is used, but with face selection the global orientation of the part studio is used instead of the face orientation. Seems not so consistent to me.

  • martin_kopplowmartin_kopplow Member Posts: 1,315 PRO

    To me, it makes sense: A flat face, essentially being nothing but a plane, doesn't have any orientation a s such, other than the orientation defined by its boundaries. From this point of view, it makes sense to use the edge orientation whenever an edge is involved in the selection, and the studio orientation whenever a planar entity is selected. I've used this for quite some time now and never felt uncomfortable with it. I case it doesn't match intent, there's alway an option to realign the MC with whatever is needed.

    That said, I believe the realigning UI could still need some improvement itself.

  • john_mcclaryjohn_mcclary Member, Developers Posts: 4,059 PRO
    edited March 16

    Right, but on the flip side. When modeling things at compound angles and such, it's nice when the mate connector is already set to the world coordinate system of the part studio. Rather than having to manually rotate the mate connector.

    And for normal square and straight stuff that's also usually wanted to be on world coordinates.

    if it went relative to the face of the flange my arrow is pointing, it would have twisted stuff.

    image.png

    image.png

    image.png

    Makes this kind of stuff work pretty good, even with replicate.

Sign In or Register to comment.