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.

Options

Sub-Assemblies "Fixed" do not stay "fixed" in Parent assemblies.

VanJrVanJr Member Posts: 9
I'm coming from a Solidworks background...
I imported an x_t file that contains many parts and surfaces into a single document. I don't want to have to "mate" the parts and surfaces. I just want to "fix" them in space. So I did that. I highlighted all the parts/surfaces and "fixed" them. However, when I pull the document assembly into another assembly all the parts are no longer "fixed".

https://cad.onshape.com/documents/a6e5063b0252ed2bcaeaf3c2/w/e6f09ba8ec1de4b65964b6c1/e/6bd3b095429ed2be2ddd8822

I'm sure I'm missing something. I want the vehicle to stay as "one unit" (i.e. grouped) so I can move it, rotate, position it, etc. But the parts/surfaces are selectable and move individually.
Tagged:

Best Answer

  • Options
    tim_hess427tim_hess427 Member Posts: 648 ✭✭✭✭
    Answer ✓
    Hi @VanJr - try the "Group" command after pulling the sub-assembly in to another assembly. This will constrain all the parts in place relative to each other. Then you can move/fix/mate the sub-assembly where you need it.

Answers

  • Options
    tim_hess427tim_hess427 Member Posts: 648 ✭✭✭✭
    Answer ✓
    Hi @VanJr - try the "Group" command after pulling the sub-assembly in to another assembly. This will constrain all the parts in place relative to each other. Then you can move/fix/mate the sub-assembly where you need it.
  • Options
    bradley_saulnbradley_sauln Moderator, Onshape Employees, Developers Posts: 373
    edited July 2019
    That is correct and is working as designed. We fix parts within their current assembly so that we can establish our mates between them and don't have parts floating around. Only mates carry over to the top level as that is how you described the parts to interact. If you want a group of parts to move with relation to each other you can 'Group' them together as such. 

    If you use the command search and look for 'group' while in the assembly, you will find what you are looking for with this use case :)

    You can learn more about how our assemblies work in the help documentation: https://cad.onshape.com/help/Content/assembly.htm?tocpath=Assemblies%7C_____0

    or the learning center: https://learn.onshape.com/courses/fundamentals-onshape-assemblies
    Engineer | Adventurer | Tinkerer
    Twitter: @bradleysauln


  • Options
    koen_van_niekerk599koen_van_niekerk599 Member Posts: 3
    Can I fix a subassembly in space without creating elaborate mating? (use-case)
    Or (second best) mate the origin of the subassembly to the origin of the main assembly?

    use case
    As an ex-Solidworks user, I loved the possibility to just fix a bunch of components in space and only use mates if really needed. This would allow me to iterate extremely fast on mechanisms etc. For example, I would create a hinged part before creating the actual hinge by mating two Axis in the two parts (or two assemblies). It is much quicker than applying physical mates.

    Thanks!
  • Options
    S1monS1mon Member Posts: 2,361 PRO
    edited April 2023
    @koen_van_niekerk599

    Also coming from Solidworks (and Creo), the mates in Onshape have taken time to get used to, but now I like them more and can't really imagine going back.

    What you want to do at a bare minimum is fix one component in each assembly level, and group all the components together. Fix only applies at the level where it happens. Group mates carry up to the top level. You need to be careful not to force a group on all the parts from lower levels at the higher levels. This can cause confusion with updating locations at lower levels. At higher levels you want to group parts at that level, and a key part from each subassembly (along with fixing a key part to keep everything from getting dragged into space).

    Fix sets location in space relative to the origin - in that assembly only. Group sets location relative to each other, even at higher levels.

    Keep in mind that almost all mates in Onshape can be done with a single mate, whereas in Solidworks, you often needed 3. Fasten or revolute mates require more picks than a group mate, but it's no where near as many picks as Solidworks. So functional mates earlier on are not so painful, but there's definitely time and place for group mates.

    There's only an origin at each level. You can add a mate connector in an assembly at the origin, and use that as a reference in higher level assemblies, if you want, but the origin itself only appears for the current level.
  • Options
    eric_pestyeric_pesty Member Posts: 1,504 PRO
    @koen_van_niekerk599

    The "group" mate functions as you would expect to keep any number of parts fixed relative to each other. So you can use this to create groups of parts and then one mate to locate each group relative to other groups so definitely no "elaborate" mating required.

    The part that is a bit confusing when coming from SW is that a) all assemblies are always "flexible" and b) the origin of parts and assemblies do not "exist" outside of the part/assembly itself (i.e. at higher levels).
    What you can do however is to create an explicit mate connector on the origin of a sub-assembly and use that to mate at higher level. It's one extra step but but since you only need one mate to fully mate two things together it's really not a big issue.

    Furthermore it's actually a lot easier in Onshape to create mates with whatever degrees of freedom you need in "free space". Either by applying offset to mate connectors in the assembly level, or (probably easier), by adding a few explicit mate connectors to your parts (eg: create one where the axis of a hinge would be and you don't need a physical hinge to mate you parts in the assembly.
    You can also insert sketches directly in assemblies and mate these to each other or to parts/sub-assemblies as "stand ins" for parts you don't have modeled yet so lots of options.
Sign In or Register to comment.