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.

Inserting part studios into assemblies?

I am new to Onshape, and I had a question. I inserted a part studio into an assembly, and I fixed all the components so they wouldn't move relative to each other. I then added parts to the part studio, but they weren't added into the assembly. How can I add a part studio to an assembly so that additions to the part studio are reflected in the assembly as well?


  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    Valliappan - hello.
    There is no concept of 'automatically adding parts to an assembly because parts were added to a Part Studio'.
    A part Studio (as you learnt in training) is only for making parts that are geometrically related one to another. Most Part Studios should only contain 1 part. If you have a Part Studio that contains more than one part, you should be asking yourself, 'why?'. The reason is very simply, performance - you only want to rebuild the features that directly affect the part you are editing.
    When you add any part to an assembly (from any Part Studio), you only need to edit the definition of the group mate to add the new part.
    That said, as you move away from multiple parts per Part Studio, you will start using more of the high level mates found within Onshape - this will give you much more control over the assembly.

    Philip Thomas - Onshape
  • 3dcad3dcad Member, OS Professional, Mentor Posts: 2,469 PRO
    Did you just suggest that we should use Onshape like traditional cads creating each part in it's own studio? Two years of preaching how one only needs assembly for movement and all static models should be created into single part studio... :#

    With all respect to @philip_thomas I disagree with his suggestion to have only one part per studio but for performance keep the studios reasonable.
    It is good practice to use default position of parts in assembly, if you add parts to your studio all you need is to add newly created part into assembly and include it into group.
    Note that FIX and GROUP are different, fix only applies to current assembly but group carries on to higher level. So use fix just for one part to keep model on place and connect part studio together with group mate.
  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    Rami - that's the beauty of Onshape, you can use it however you want.

    You are absolutely correct that you can build as many parts as you want in a single part studio.
    Please remember as you are building those parts that;
    1) A rebuild of the Part Studio could (potentially) rebuild all parts and not just the one you're editing
    2) There is no instancing in a Part Studio so please do not model duplicate parts

    In training we absolutely advocate only those parts that are geometrically related one to another be in the same Part Studio. In your case, you could reasonably argue that one of each piece be in the same part studio. I could also argue that in one Part Studio that you create one (or more) layout sketches and then derive those into multiple Part Studios to build out parts  . . . here is an example


    (in this case Derive is cheap because each rebuild of the parent Part Studio is two simple sketches)

    Bottom line Rami, you can do whatever you want :)
    Philip Thomas - Onshape
  • 3dcad3dcad Member, OS Professional, Mentor Posts: 2,469 PRO
    ..Bottom line Rami, you can do whatever you want :)

    Nope, that's not true - I would like to watch a movie and tomorrow go motorcycling.. but instead I'm going to sleep now and work all day tomorrow =)

  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    ^^^ we're all in that boat :)

    Philip Thomas - Onshape
  • bendhowardbendhoward Member Posts: 4 PRO
    I'd like to chime in on this old thread.  I'm really struggling with finding a good way to import many parts from a part studio into an assembly in a way that will update when changes are made.  One case that I think demonstrates this issue particularly well is welded frames.  It would not make sense to model each member in a separate part studio, but rather one would create the entire frame in a single part studio (likely but not necessarily using the Beams featurescript).

    However once this is done it's not clear to me how to actually get the frame into an assembly.  One approach would be to insert the whole part studio at once and then group, but since this doesn't update when certain types of changes are made to the frame (like relative member positions) it doesn't work for me.  Another approach would be to reassemble the frame in the assembly part by part.  This obviously is a huge pain, especially because since the members are welded together they often don't have locating features such as screw holes — a bunch of dedicated mate connectors would need to be made in the part studio.  The approach that I've settled on for lack of a better option is to combine all the members into a single composite part and then put that into the assembly.  However since the composite part feature actually replaces all of the parts used as inputs rather than making a new copy, I sort of need to make a new side configuration with the composite part so references to those parts further down the feature tree in the main configuration are possible.  It also means that the individual members don't end up in the assembly BOM, which in some cases may be desired.  It doesn't feel very elegant.

    I really don't like any of these options.  It seems to me that it would be very useful to have a feature where some or all of the parts in a part studio can be imported into an assembly as a unit where their relative positions are maintained based on their placement in the part studio.  Am I missing something, or is there just not a good solution to this problem at the moment?
  • S1monS1mon Member Posts: 1,984 PRO
    I’m not sure I understand all the issues you’re having, but one thing I’ve found with group mates is that it can be useful to suppress and then unsuppress them to get positions to update. At least if you have a subassembly in another assembly with a group mate at each level. Counterintuitively, the top level group mate will lock old positions in until you do this suppress/unsuppress trick.
  • chandra_harshachandra_harsha Member Posts: 15 ✭✭
    @bendhoward I am sure parts move like how they are placed in part-studio. Not always though. While inserting a part, if you don't click anywhere on the screen in assembly tab, the part by default will be positioned how it is in part-studio, by matching both origins in part-studio assembly.

    So, when I create welded parts, I create them in intended positions in part studio, and import whole studio into a new assembly. Immediately, I group everything together in assembly, and then fix one of the parts, probably the one near origin (even though it doesn't matter). Whenever I change something in part-studio, its always reflected in assembly. I can't be 100% certain, but I don't remember changing assembly positions in assembly tab, every-time I change positions in part-studio.

    However, if you move a certain part/s before grouping, like using 'fasten' mate to position a certain part, then you grouped together, assembly won't reflect any positional changes you made for this part in part-studio, into the assembly tab. For this kind scenarios, thats why I group everything in the end when I am sure about the design, until then I keep it with 'fasten' mate. 
  • lanalana Onshape Employees Posts: 680
    Another useful functionality to consider is Composite Part
  • bendhowardbendhoward Member Posts: 4 PRO
    Thanks for the input everyone, especially @chandra_harsha with the insight about default part placement.  I think we actually have a solution!

    The key is to use a subassembly dedicated to the part studio rather than a group, since as soon as a group is moved, all components added to the part studio in the future will be in the wrong place because the group seems to have no concept of its own origin, but a subassembly does.  So for posterity, here's what I'd summarize as the solution.

    1. Create an assembly (to be used as a dedicated subassembly for the part studio; only parts that will always remain fixed relative to the parts from that specific part studio should ever be added to this subassembly)
    2. Import the desired parts from the part studio into the subassembly, but DO NOT CLICK on the screen to place them in an arbitrary position but rather just click the green check so they are placed with their origins colocated with the subassembly origin
    3. Fix the parts in place in the subassembly (using the 'Fix' command; not truly necessary, but good for safety).  Note that what this actually does is fixes the origins of the parts, so that when they are moved in the part studio the material of the parts will move as necessary while keeping their origins in place.
    4. Add the subassembly to a higher level subassembly as needed.  Mate one of the parts of the subassembly into the higher level subassembly as desired, and relative positions to that part will be updated automatically going forward
    5. If a new part is added to the part studio, it must be manually added to the dedicated subassembly, however relative position will be correct based on placement in part studio, and will be maintained going forward.  Add the new part to the subassembly, again following the rule of not clicking to place it arbitrarily but rather just clicking on the green check to place its origin.  The new part can now be fixed in place using the 'Fix' command to prevent accidental movement.

    Thanks all, this has been bugging me for years.
  • badmechanicbadmechanic Member Posts: 6
    This isn't quite resolved. Inserting the entire assembly maintains the position, but inserting parts one by one seems to result in parts appearing out of place.

    I tried to make a video of this. Unfortunately the gnome screen recorder doesn't record properly, but you can see the mangled location of the pipes at the end: https://youtu.be/QnB75E_YFDo?t=100. The pipes are arranged rather orderly in the part studio.

    Where can I file a feature request? This has been bugging me for years, too.
Sign In or Register to comment.