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.

Sub-Assemblies

PAHPAH Member Posts: 10 EDU
edited January 12 in Using Onshape
Hello,

I have read many posts on this and am still confused. To be clear this is what I have done:
- Created 1 On-Shape document that contains many studios of parts
- Created several assemblies with the parts I created in this On-Shape document
- Created a top level assembly that has the sub-assemblies in it.
- Now modified a sub-assembly to add another part *********** This is where things do not work correctly.

- Top level assembly has parts but they are not mated to it's sub-assembly parts as it is in the sub-assembly
The sub-assembly looks correct and all the mates work as expected with no errors.
The Top level assembly looks different.
- I started without grouping the sub-assembly at the top level assembly but had problems mating it to other assemblies
- I now of a group of the assembly

My question is how do you create sub-assemblies that can be matted to other assembly levels and have the parametric updating of other 3D software?
It seems that I am missing something and many other people struggle with this as well.
Is their a simple video that shows how to do this? I have looked but could not find it.

Thank you,
Paul

Comments

  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 1,452 PRO
    edited January 12
    It works really well; once you figure it out.......

    In a sub-assy you must have 1 fixed part and then group everything to this. Every sub-assy has to have this as a minimum.

    To see if you're doing it right; as a debug tool; in the top assy containing the sub assy; expand the sub assy and look inside its mates. You should see the group. If you have other properly define sub assy mates; you'll see them inside this mate folder. I always check for the inherited mates coming into the top-assy. What you won't see are the mates clinging to anything inside the sub-assy. Don't mate a part to the assy. In other CAD systems this was a common practice and shouldn't be done here in OS. This could be the reason why there aren't any assy planes in OS; too many people would assemble to them and break the inheritance chain. More than likely you're probably mating parts to the sub-assy. These mates will not show up in the top-assy.

    You'll have to figure out what mates defined in the sub-assy will come over "inherit" in the top-assy. Any sub-assy mates made to the the sub-assy will not come over and are bogus.

    Onshape has the best mate inheritance for any CAD systems today. All my library assemblies have working mates with proper limits and when importing a library assembly into a design; they work. I can design automated equipment from library components in no time.

    There are tricks to play once you get it working. Get it working 1st and then will go over the tricks.

    Clear as mud right?

    It does work; works really well; keep at it; you'll like it.




  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 1,452 PRO
    edited January 12
    One thing that you have to learn is to position a part to the assy origin. Lookup help about moving part to origin by RMB and "move to origin". I do this all the time and then fix the part.

    Bring in another part and do a planar mate to your fixed part. Assign the proper limits so the new part won't slide off the fixed part. 

    Now now bring the assy into another assy. Everything moves when importing into an assembly so you have to fix a part again in the top assembly. But; the other part moves correctly relative to the fixed part.

    How can one type this up and have it be meaningful?

    here's the document doing what I'm describing
    https://cad.onshape.com/documents/58f602605e369a1edcff4037/w/4790fbf91df289929500c3d5/e/88f238a3378f696169d56e94

    detailed instruction
    https://rustyshed.com/?quill=5e1b5b9b1e977f7e2fffd5cd



  • john_mcclaryjohn_mcclary Member, Developers Posts: 2,870 PRO
    Also as a general rule: NEVER GROUP A SUB ASSEMBLY FROM A HIGHER LEVEL ASSEMBLY.

    This is either a bug, or just the way group works.
    It basically "FIXES" every parts location in the assembly the group is created.

    So if you have:

    Main Asm:
    -- Sub ASM1
    -- Sub ASM2
    Mates:
    Group -> Sub ASM1, Sub ASM2

    than the positions of every part in sub asm1 and 2 are locked in the main assembly.
    Meaning, if you change sub asm1 than open main assembly, parts will not be in the correct positions.
    Sometimes it will even appear to be exploded in the main assembly.

    When this happens, you can suppress the Group mate in the main assembly, wait for the assembly to calculate, then un-suppress it again.

    But you should make it a practice to never use group mates that touch sub-assemblies.
  • PAHPAH Member Posts: 10 EDU
    billy2 said:
    One thing that you have to learn is to position a part to the assy origin. Lookup help about moving part to origin by RMB and "move to origin". I do this all the time and then fix the part.

    Bring in another part and do a planar mate to your fixed part. Assign the proper limits so the new part won't slide off the fixed part. 

    Now now bring the assy into another assy. Everything moves when importing into an assembly so you have to fix a part again in the top assembly. But; the other part moves correctly relative to the fixed part.

    How can one type this up and have it be meaningful?

    here's the document doing what I'm describing
    https://cad.onshape.com/documents/58f602605e369a1edcff4037/w/4790fbf91df289929500c3d5/e/88f238a3378f696169d56e94

    detailed instruction
    https://rustyshed.com/?quill=5e1b5b9b1e977f7e2fffd5cd



    Billy,

    Thank you, I did fix some of my sub-asseblies but not all. Had troubles fixing one for some reason. I also did not care where I inserted the parts and they were definitely not at the origin. I will fix up my work.

    Thank you again,
    Paul
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 1,452 PRO
    Although it's not that important to keep assemblies at the origin; it's old school and a habit I have.

    It is important if you're assembling by coordinates. I'm not sure with OS's collaboration we'll need this technique any longer. In the past we set up the top assy to accept engineers contributions. The last thing I wanted to do was assemble everyones sub-assys; that's a mess. 

    The last thing you want is for these guys to work on something and then those guys to work on something and then you have to put it all together; that sucks. It's better if you give them an assembly with boundaries and make them work constrained. The nice thing is that you only have to open the top to see whats going on. It's best to control a project from the top especially when there are multiple engineers involved. Using the coordinate is a handy design pattern to control larger assys.



    Keep at it, it works really well. I'm really excited about building a library of moving sub assy now that the top inherits these motions properly.



Sign In or Register to comment.