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.
Intended behavior? Multiple fixed parts move independently in next assembly
charley
OS Professional Posts: 20 ✭✭
When more than one part is fixed in an assembly, and then that assembly is instanced in another, the parts move independently there (not the case if they are mated to each other, of course). Is this intended behavior?
0
Best Answers
-
Yes, this is intended. The idea was that the place the sub-assembly was inserted most likely isn't the correct spot and as a result the fix would be overkill. If you have a sub assembly that is in place relative to one another, I would suggest using a group after inserting it.Jake RamsleyDirector of Quality Engineering & Release Manager onshape.com5
-
I think when we fix the parts in any assembly by fix option actually they are not constrained as per mechanism requirement, so we define actual constrains like fasten, cylindrical, revolute etc. So when the parts fixed in sub assembly moves independently in next level assembly, user will come to know that something is not functionally constrained in sub assembly and it has to be corrected.5
-
One can also create fastened mate between (one or more) parts and assembly origin referenced mate connectors to achieve similar results and in many case that would represent the correct design intent.5
-
3dcad,
That is correct. The Group acts as a mate where as the Fix anchors a part or parts inside of an assembly. When inserting a sub-assembly, we bring in the mates (including the group) and the sub-assembly should behave the way that it was mated. We don't bring in the fix because the positioning of the sub-assembly isn't always going to be at the same origin that it needs to be in the top level assembly.Jake RamsleyDirector of Quality Engineering & Release Manager onshape.com5
Answers
-
Yes, this is intended. The idea was that the place the sub-assembly was inserted most likely isn't the correct spot and as a result the fix would be overkill. If you have a sub assembly that is in place relative to one another, I would suggest using a group after inserting it.Jake RamsleyDirector of Quality Engineering & Release Manager onshape.com5
-
I think when we fix the parts in any assembly by fix option actually they are not constrained as per mechanism requirement, so we define actual constrains like fasten, cylindrical, revolute etc. So when the parts fixed in sub assembly moves independently in next level assembly, user will come to know that something is not functionally constrained in sub assembly and it has to be corrected.5
-
There is a similar discussion in the forum
https://forum.onshape.com/discussion/1166/what-does-the-group-symbol-with-an-arrow-mean#latest
0 -
One can also create fastened mate between (one or more) parts and assembly origin referenced mate connectors to achieve similar results and in many case that would represent the correct design intent.5
-
I've been noticing this too and it doesn't make sense to me. A sub-assembly inserted into a top level assembly, should not be brought in with all of its parts loose. I know you can group the parts of the sub-assembly after bringing it into the top level assembly, but that seems like an extra step...the whole idea of them being in a sub-assembly is because I want them grouped in the first place.-1
-
I don't agree; this assumes that your sub-assembly is rigid which in many cases for me is not true.juan_aviles said:I've been noticing this too and it doesn't make sense to me. A sub-assembly inserted into a top level assembly, should not be brought in with all of its parts loose. I know you can group the parts of the sub-assembly after bringing it into the top level assembly, but that seems like an extra step...the whole idea of them being in a sub-assembly is because I want them grouped in the first place.
For example, adding pistons and connecting rods to a crankshaft makes sense that a piston and connecting rod is a sub-assembly. I wouldn't want this to move like it is fixed, but rather properly mated with revolutes and fastens. Inserting this as a sub-assembly will have it behave properly in the master assembly.Jake RamsleyDirector of Quality Engineering & Release Manager onshape.com1 -
Actually this is what I expect to happen. I must be using the wrong mates or something, because my sub-assemblies are coming in with the mates broken. If I move the sub-assembly, the part I click on moves, and the other parts in the sub-assembly stay in one place.jakeramsley said:I wouldn't want this to move like it is fixed, but rather properly mated with revolutes and fastens.
I just tried your connecting rod example and it works like I expect it should. This makes me think I'm using the wrong mates in my other assemblies.0 -
Just to clarify (didn't run any tests):
- Using 'Fix' things are fixed just in that certain assembly
- Using 'Group' things are constrained and kept that way when used in other assemblies
?? @jakeramsley
This is what I would expect. I'm using fix usually just for the first part in assembly to keep orientation and to know what is going to move when adding constraints. If I wan't fastened constraints to say a whole part studio then I use Group.
//rami0 -
3dcad,
That is correct. The Group acts as a mate where as the Fix anchors a part or parts inside of an assembly. When inserting a sub-assembly, we bring in the mates (including the group) and the sub-assembly should behave the way that it was mated. We don't bring in the fix because the positioning of the sub-assembly isn't always going to be at the same origin that it needs to be in the top level assembly.Jake RamsleyDirector of Quality Engineering & Release Manager onshape.com5 -
I'm not sure if this is what the OP was talking about, but I figured out that my issue is actually a misunderstanding of parts and assemblies. After looking at my issue again, it wasn't an assembly I was bringing in but rather a part studio. My mistake, but maybe that is the issue that @charley is also experiencing. Sorry for adding my confusing post to this discussion.1
-
I was actually referring to sub-assemblies. I now understand that an assembly inserted into another assembly will behave exactly like it does at it's own level, mates-wise, but that fixes aren't included in this (and aren't considered mates). It's not precisely the behavior I would expect, but knowing I can easily group things (among all the other mating possibilities) satisfies my need.0
-
I actually like that if something moves at it's own level, it moves wherever it's used, without having to tell it to be "flexible".1
-
Yes, in Solidworks ,"flexible" subassemblies always felt to me like a late addition, almost an afterthought, not well integrated.charley said:I actually like that if something moves at it's own level, it moves wherever it's used, without having to tell it to be "flexible".0 -
This feature of assembly in Onshape gives all required motion in an assembly even some assemblies are made in another assembly(Sub-assembly).charley said:I was actually referring to sub-assemblies. I now understand that an assembly inserted into another assembly will behave exactly like it does at it's own level, mates-wise, but that fixes aren't included in this (and aren't considered mates). It's not precisely the behavior I would expect, but knowing I can easily group things (among all the other mating possibilities) satisfies my need.
1 -
Glad I found this thread tonight. I was wondering why none of the mates in my sub-assembly were working.
Now that I've read the intent behind the mates not following to the upper level assembly, I can see why it is being approached this way. Many users may expect this, so this could be a confusion point for users picking up Onshape.
With that said, seeing the cluster that has happened with rigid vs. flexible subassemblies in other systems, I can see the merit in this approach.
Ricky J.2 -
Some have expressed surprise that "Fixed" is not treated as a mate.
To me that seems to make perfect intuitive sense: a mate dictates the relativity between two separate bodies, by narrowing the degrees of freedom for their relative motion.
A "Fixed" constraint is a quick and dirty way of eliminating motion altogether, and deals with bodies alone and in isolation.1 -
Not something I have done yet but let me see if I have got this straight?! If I have made a sub assembly which is made of lets say 10 parts with various fastened mates, revolute mate, slider mates etc with one part fixed in the sub assembly. Then If I import the whole sub assembly into another assembly document the mates between the parts will still work but the fixed part will no longer be fixed so I can move the whole sub assembly as a unit within the new 3D space and then either refix one part or use another mate to mate it with a part already in the next level assembly.
Is that what is being explained here? Or am I being dense?
Either way can someone explain the Group command and its uses? thanks
PS: this is why I like the forum, a great way to learn, thanks!0 -
To address your second question first, the Group command is intended for cases where the parts being imported come from a Part Studio, so they have not been previously mated.
In Onshape, the function of mates (unlike previous modellers) is essentially to control relative motion. Parts which do not move relative to each other are intended have their relative locations captured by being modelled using constraints, in a part studio.
The Group mate is essentially a one-step way of telling the assembly to respect the relative positions of parts as established in the Part Studio in which they originated. This is both quicker and simpler than mating them in an assembly, and it's a live connection, meaning that subsequent changes to those relativities in the PS will be flow through to the Group mate. I personally think it's an idea which is rather brilliant.
As for your first question: as far as I understand it, and Onshape, it seems to me you have told the truth, the whole truth, and nothing but the truth. However others with more expertise will, I hope, contradict me if I have one of these wrong.1 -
thanks @andrew_troup I can see me using the group command quite often to bring in parts from a part studio , now I understand it.0
-
The group mate essentially treats everything in it as a single rigid body. The relative position of the instances in the group are fixed based on their positions at the time of the grouping. If you were to suppress the group, relocate some of the instances, then unsuppress the group, the instances won't snap back to where they previously were but now treat their relative positions as fixed.Jake RamsleyDirector of Quality Engineering & Release Manager onshape.com1
-
This excerpt from "Help" makes it clear that "Group" is intended to be live-linked to the relative locations in the Part Studio. (Muy fantastico!):
<<You can change the relative positions of the parts in a Part Studio, and the Group in the Assembly updates accordingly.>>
@jakeramsley: I presume the statement in your latest post "The relative position of the instances in the group are fixed based on their positions at the time of the grouping" describes the situation once the live link has been (permanently) broken* by the user "suppress(ing) the group, relocat(ing) some of the instances, then unsuppress(ing) the group"?
I say this because it seems otherwise that the two statements are in conflict.
*(Short of using History to roll back the clock)
0 -
The behavior is both. Moving the position of a part in the part studio will move the position in the group. Likewise, if you suppress the group, move the instance, and unsuppress the group the relative positions will be moved as well. At this point, the offset you've placed into the group by moving it will be included in the repositioning of the parts in the part studio.Jake RamsleyDirector of Quality Engineering & Release Manager onshape.com0
-
@jakeramsley
Apparently I'm not understanding. I can move a part in the part studio and the part will move in the group
But if I suppress the group and move a part Then unsuppress the group, the part doesn't move in the part studio.
Could you possibly demonstrate this.
Thanks
0 -
So I have created two parts in my part studio that I want to group together. I grouped them, didn't move them in the assembly, then changed their definition in the part studio. Going back to the assembly their edges move. I now suppress the group, move the second part, and then reapply the group. The edge moves a certain distance. I went back to the part studio, changed the definition of the part back to the original. Going back to the assembly the part moves, but still has the offset I added into it while I had the group suppressed.
1. Create my parts. I fixed them to a rectangle that was centered on the origin. I made the initial distance between them 1 inch.
2. Go to the assembly, insert both and group them. Measure the distance between them (see bottom right).
3. Go to part studio and change the distance between parts to be 3 inches.
4. Go to assembly and measure the distance between the edges (see bottom right). It updates to be 3in.
5. Suppress the group.
6. Drag the second part away along the same axis.
7. Unsuppress the group. Notice that the part doesn't move at this point. I've dragged an offset between the two parts which is now going to be included in the group (~2.3in).
8. Go back to the part studio and change the definition to be back to 1in between the parts.
9. Go back to the assembly. The distance between the parts is the 1in + the 2.3in offset I added in.
Jake RamsleyDirector of Quality Engineering & Release Manager onshape.com0 -
@jakeramsley
Thanks for the demo. This confirms the same action that I got. As I suspected I didn't understand your previous post and thought you said that by moving a part in the group it would result in moving the part in the part studio.
Thanks
0 -
@jakeramsley : regarding your last sentence... I'm still not entirely clear. On first reading, it seemed to me you were saying that an offset to a body (translation + rotation, 1 to 6 axes?) applied in the assembly, would continue to be applied (as an offset) in addition to any subsequent repositions of that body in the part studio.
But another possible interpretation is that a change in relative positions, applied in the assembly, would be matched in the Part Studio.
In the first case, the relative positions of a Group of bodies in the assembly would continue to differ from those bodies in the PS, by the same amount, and in the second, the positions in the PS would be adjusted so they did not differ.
The current "Help" Tips mention the two behaviours in isolation (in their points 2 & 3) but I think it would be good if "Help" had a further bullet point, to make it clear whether the two interventions (one in the Part Studio, the other in the Assembly) can act in combination, and clarify exactly how.0 -
Changes to the assembly do not affect the part studio.andrew_troup said:But another possible interpretation is that a change in relative positions, applied in the assembly, would be matched in the Part Studio.Jake RamsleyDirector of Quality Engineering & Release Manager onshape.com0 -
@jakeramsley
My latest request for clarification somehow got held up in cyberspace for two and a half hours, so I ended up appearing to asking question you had already answered. Thanks for answering the other in your latest post.0 -
Hi Jake,jakeramsley said:So I have created two parts in my part studio that I want to group together. I grouped them, didn't move them in the assembly, then changed their definition in the part studio. Going back to the assembly their edges move. I now suppress the group, move the second part, and then reapply the group. The edge moves a certain distance. I went back to the part studio, changed the definition of the part back to the original. Going back to the assembly the part moves, but still has the offset I added into it while I had the group suppressed.
1. Create my parts. I fixed them to a rectangle that was centered on the origin. I made the initial distance between them 1 inch.
2. Go to the assembly, insert both and group them. Measure the distance between them (see bottom right).
3. Go to part studio and change the distance between parts to be 3 inches.
4. Go to assembly and measure the distance between the edges (see bottom right). It updates to be 3in.
5. Suppress the group.
6. Drag the second part away along the same axis.
7. Unsuppress the group. Notice that the part doesn't move at this point. I've dragged an offset between the two parts which is now going to be included in the group (~2.3in).
8. Go back to the part studio and change the definition to be back to 1in between the parts.
9. Go back to the assembly. The distance between the parts is the 1in + the 2.3in offset I added in.
You might be able to help on an issue I have.
Following on this example you gave. In step 6 you moved a part while the group is suppressed. Now how do you put them back in their original part studio position? (Without having to deleted, reinsert, reg-roup et potentially re-mate everything)
Thanks0










