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.
Resolving sticky limits in assembly mates
Connor_LeCLaire
Member Posts: 33 PRO
Hello,
I've been trying to resolve this issue in a moderately sized assembly. There are two components that can only come so close together before the movement of one would cause movement of the other in a single direction. Imagine two boxes on top of each other (in Z). Lifting the bottom box would cause the top box to lift as well (if they are touching, otherwise no movement), but lowering the bottom box wouldn't cause the top box to also lower (at any point), vice versa for the top box. Lifting the top box wouldn't cause the bottom box to also lift (at any point), but lowering the bottom box would cause the bottom box to lower (as soon as they touch).
I've tried setting this up two different ways using either a planar or parallel mate with the limit tab. Essentially the two parts can be as far apart from each other (no maximum in Z) however they can only be a minimum of 2mm before they would need to move together (Z minimum = 2mm). However after reaching the minimum and the movement of one causing corresponding movement of the other (which is what I want), when trying to reverse direction (to cause separation) they 'stick' together. This is undesirable as I am trying to separate the parts. I know they can be separated as when I fix one and move the other (in the separation direction) they separate no problem.
Then sometimes they still move together when I unfix the fixed part, and sometimes they don't (potential bug?).
Any advice on resolving this "sticky-limit" situation would be much appreciated.
I've been trying to resolve this issue in a moderately sized assembly. There are two components that can only come so close together before the movement of one would cause movement of the other in a single direction. Imagine two boxes on top of each other (in Z). Lifting the bottom box would cause the top box to lift as well (if they are touching, otherwise no movement), but lowering the bottom box wouldn't cause the top box to also lower (at any point), vice versa for the top box. Lifting the top box wouldn't cause the bottom box to also lift (at any point), but lowering the bottom box would cause the bottom box to lower (as soon as they touch).
I've tried setting this up two different ways using either a planar or parallel mate with the limit tab. Essentially the two parts can be as far apart from each other (no maximum in Z) however they can only be a minimum of 2mm before they would need to move together (Z minimum = 2mm). However after reaching the minimum and the movement of one causing corresponding movement of the other (which is what I want), when trying to reverse direction (to cause separation) they 'stick' together. This is undesirable as I am trying to separate the parts. I know they can be separated as when I fix one and move the other (in the separation direction) they separate no problem.
Then sometimes they still move together when I unfix the fixed part, and sometimes they don't (potential bug?).
Any advice on resolving this "sticky-limit" situation would be much appreciated.
0
Answers
The problem is a bit more complex, it's actually three (3) parts, a fixed part and two moveable parts. One of the moveable parts is slider-mated with the fixed part with a limit to the fixed part so it can't pass it in a single direction. The other part is plane-mated with the fixed part with some limits so it can move directly inline with the fixed part slider axis but no further in one direction (this is side-to-side) and then up and down without limit. It is also parallel mated with the other moveable part with a limit so it "pushes" it but won't "pull" it. The link to the document is here.
It appears when moving the two moveable parts in Z, they have this 0.5x linear relation (which was not intended, there is no linear relation mate) until they make contact then the expected behavior occurs. I would like it so whichever part is not being actively moved by the user remains stationary until the limit is hit.
It also appears that this unwanted behavior only occurs when clicking a moveable part and using the specific Z-axis movement arrow but not when click-dragging the part.
I looked at your shared document and see what you mean about the mates "sticking"...
It's not actually violating any of the mate limits/constraints but it does seem a bit odd. I'm guessing it results from some internal Onshape behavior, I would submit a ticket to get Onshape to get them to explain why it's doing this as I can't think of a way to control that.
You could temporarily "fix" one of the parts if you are trying to get it somewhere specific, or use named positions to represent specific states but I don't think you'll be able to just have it behave as you would want by just dragging unfortunately.