Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- 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.
Does mate sense make sense to everyone else?
traveler_hauptman
Member, OS Professional, Mentor, Developers Posts: 419 PRO
I have had very little time to actually use Onshape in the last 4 months and today was the first time I reviewed the limit mates.
It took me a little while to figure out why the mate offsets and limits were not working for me.
I finally figured out that while I expected the offsets and limits to be relative to the first part in the mate set, Onshape was using the second part as the base.
Has anyone else been caught out by this?
I know that I often cause a similar 'bug' in my own software when I'm writing code and drop the numbers into a transform matrix without stopping to think about whether I'm doing a body centered or world centered operation.
@support Is there a rationale behind the current behavior? I checked the help but the documentation does not mention how the offset is calculated at all. Nor is there any hint in the UI. Is experimentation (wasting time) the only way to understand how this control works?
It took me a little while to figure out why the mate offsets and limits were not working for me.
I finally figured out that while I expected the offsets and limits to be relative to the first part in the mate set, Onshape was using the second part as the base.
Has anyone else been caught out by this?
I know that I often cause a similar 'bug' in my own software when I'm writing code and drop the numbers into a transform matrix without stopping to think about whether I'm doing a body centered or world centered operation.
@support Is there a rationale behind the current behavior? I checked the help but the documentation does not mention how the offset is calculated at all. Nor is there any hint in the UI. Is experimentation (wasting time) the only way to understand how this control works?
1
Comments
I also agree it would be good to have an "under the hood" exposé.
It's hard to know what improvements to recommend until we understand what we've been given.
The current behavior makes sense if you think about "Mating one part (i.e. the first selection) TO another (second selection)." If no offsets or limits were selected, the first Mate Connector (MC) would be moved directly to the second one. In the case of an offset, you are telling it that you want the first MC to be placed X distance away from the target MC and the direction of this offset is determined by the axes of the target MC. Same goes for limits.
I believe the current convention reflects practical assembly processes (e.g. securing a bolt into a threaded hole). I agree, however, that this should be better documented. We will put in a ticket.
I was playing with the mates to get my head around my thoughts and was reminded that you guys have still not figured out how to handle ordered lists in your user interface. (ie, when editing the list you cannot change the order of the elements. If you delete the first element to select an alternate, the order changes and the whole mate is buggered until you delete everything and start over.) It's a separate issue though.
"Offset from second mate connector" and "Limits relative to second mate connector" would be an easy first step. Useful even as a tool tip if the designers are afraid of too many words on screen.
Highlighting the coordinate frame (mate connector) being used when entering numbers into the offset fields would be a nice visual feedback.
I am fine working with one coordinate system or the other (the first mate connector or the second) as the reference as long as I know which one to use. My natural tendency is to use the first element as the frame of reference but I understand bens line of thought and once the documentation or interface gives me a way to learn the correct frame of reference to use I'm happy with that.
But having the offset be relative to one coordinate system and the limits relative to the other coordinate system does not work for me.
Dealing with pose and transforms is a mind bender and I respect how difficult a problem it is to figure out a good interface.
SolidWorks solves the problem by letting the user choose which frame to work from (via the little "flip" button) and then puts everything, the offset and the limits, in that frame.
I think you guys should do the same. Let the user choose which frame is important to him and then have all user input in terms of that frame.