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.

Newbie looking for structure.

dave_schratdave_schrat Member Posts: 12
edited April 2018 in Community Support

I need to have numerous Plugs and Flats down the length of a Tube.  The distance between them will need to be determined later after assembling other parts together.  What is the best way to put the holes in these, so they can be added to the tube as well?


Ideally, I would like to add these Plugs and Flats in the assembly and have them put the holes in the Tube part but I don’t think it works that way.


Thru the course of this project the location of these Plugs and Flats have changed.  Is there a way to constrain the holes in the tube to the plugs and flats?  Or is this a bad idea since there will need to be numerous identical parts in the Parts Studio?


I done some searching and do not find an easy way to put a hole on the side of the Plug that is tangent to the .25 hole and 4 circle.  I added a plane offset of the right plane, but what if this was not an option?  Also, when I move the plug with the Transform, the hole stays.



  • john_mcclaryjohn_mcclary PRO Member, Developers Posts: 2,055 PRO
    If you want to have the plugs and flats located at the assembly level. Try using in-context design to add the holes.

    Otherwise, draw one set of flats in the part studio, and draw all of your holes in your tube alsoin the studio.

    Then mate the flats to one of the holes in an assembly. Use "replicate" to fill all of the rest of the holes to make inserting faster.

    another option would be patterns.

    But the key thing is, use the part studio to draw parts. Then use assemblies to add multiple instances of that part, especially if you want to show motion.

  • dave_schratdave_schrat Member Posts: 12

    Think I have drawn this 50 different ways.  The attached file is much simpler than what I have been working on but contains the basic concepts.  I have updated it since the original question.

    I was really hoping there was a way to update one part and everything else auto adjusts.  I started with the “in context”.  Thought there must be a better way than manually clicking update, so….

    I restarted using derived.  Then I started running into circular reference where it would not let me derive a larger set of parts because it included a part from the original studio, so….. 

    I have 3 main studios and some parts needed to be reference in all 3 and then the “center” studio needs to reference to 2 other main studios.  I moved the parts that are referenced in all studios to their own studio.  Now I had numerous copies of the same parts.  They have the same names and can be modified in any of the studios.  One flat needed an extra hole and should be a new part.  This became very confusing and was worsened when attempting to insert parts in the assembly.  Wish there was a way to have the derived parts show up in the parts list as one derived part group that cannot be modified but can referenced.  This seems more like the in context and I then seen  john_mcclary   suggestion to use in context, so….

    I went back to the in context method.  Manually clickin had to be better than all the extra parts.  Now I change the height of the tube in the lower and must click update in context 2 time to get the result I want.  After some concentrating, I understand what is happening.  Now I need to add some more parts in the center studio that are in context to the assembly.  In the future, if I must change X part in Y studio, how many time do I need to click update in context to have the proper model?  My brain hurts trying to think about it,  so….

    I just spent a bunch of time putting my thoughts in writing.  Maybe this will help me understand my own problems, help someone else, or someone can point me in a better direction.

  • john_mcclaryjohn_mcclary PRO Member, Developers Posts: 2,055 PRO
    edited April 2018
    Sorry I'm more of a visual person,

    Here is an example of what I meant by the second method I mentioned (which would be the way I would do it if every hole was at a random location)

    Assembly: https://cad.onshape.com/documents/28050bca2b1ddeb0acbab720/w/72369ffa7faabbf84de28ab1/e/c0f1f13286e8b1ce775cd07b
    Part Studio: https://cad.onshape.com/documents/28050bca2b1ddeb0acbab720/w/72369ffa7faabbf84de28ab1/e/b0256ffd02d6754ddd31de3a

    Any edits make in the part studio.

    If you add or remove holes, use replicate to quickly add the arms (and other mated parts) to each of the new holes.
    If you remove holes, remove the arm from the assembly first, then go into the part studio and make one of the holes in the sketch construction (for temporary removal) or delete the circle.

    You can edit / add / remove as many holes in this way, in any random orientation by editing Sketch 3

    You can modify the Arm with sketch 2, and the holes will update automatically

    Experiment with this for a bit and let me know if it helped.
  • john_mcclaryjohn_mcclary PRO Member, Developers Posts: 2,055 PRO

    Here is a quick video showing how I would edit this in a few different ways
  • dave_schratdave_schrat Member Posts: 12

    In branch “Main 2 click”:

    Change the extrude length in the “Lower” studio.  Then in the Assembly you have to click update in context 2 times for the proper results.

    I wish it worked like in the “Derived” branch.  Updates instantly and automatically.  But, this method creates to many redundant parts and this is not way Onshape was designed to be used.

    The “In Context” branch seems to be working for me.  I set the distance between rods in the assembly.  Not ideal because in my actual project I must calculate several dimensions and enter this number in the mate offset limit.  Since finding this work around, I have done several other in context references and do not believe (but not certain) I have recreated the double click problem.  Still have to manually update ☹.

    john_mcclary   I really appreciate the effort.  Replicate didn’t really help since my actual file has left and right flats and only a few of the flats are the same part.  Then the ones that were the same were placed by grouping and could not use the replicate.

    What was helpful was seeing that two browser windows updating in real-time.  Didn’t expect that.

    Currently I have about 160 features spread across 4 studios and 50 parts in the Assembly.  Perhaps I should have put it all in 1 studio?

    When does it become to many features in the tree for one studio?

    Is it better to start building it all in one studio and if it becomes to large complicated, then split it up?

    Why should things be separated into different studios? Different files?

  • john_mcclaryjohn_mcclary PRO Member, Developers Posts: 2,055 PRO
    I have learned the hard way. It is best to split things up. Only draw related parts in the same studio. 

    Sorry I coundn't be more help, sounds like there is a lot of stuff going on at the same time
Sign In or Register to comment.