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.
Standard Parts - what is the best way to reuse them?
Standard Parts Documents - A discussion.
The topic of standard parts comes up with enough regularity that I thought it would be worth having a discussion here. In an ideal world there would (will) be integrations with content aggregators and part vendors AND there will be inter-document relationships - both of which will make the current situation a lot easier. This thread is an intellectual exercise to poll the collective minds of Onshape users to answer the question;
What is the most practical solution today?”
This is a first attempt at looking at the issues and offering a solution. Many of you will think there are better ways - that is what the ‘reply’ button is for
I am assuming that you have a good understanding of the mechanisms available in Onshape
For one-off purchase or standard parts, simply uploading that part into your current document is an obvious route. It might make sense also to create an “Acme standard parts document” - a document containing multiple tabs, each containing an approved part/sub-assembly. When you want to use one, copy and paste that tab into your target document. Have the standard parts document always open either as another tab on your main browser window, or as a separate browser window on another monitor to make this quicker/easier.
But what about items that are typically ‘configured’ and more importantly, sometimes substituted? Here think of fasteners.
I wondered what it would take to develop a methodology that would allow a user to insert a named fastener into an assembly and then have the ability to substitute one fastener for another without having to reinsert and re-mate the replacement. Here is my first pass.
There are three (public) documents for you to play with (in the order we will look at them);
Lets start at the end - the Gearbox document contains a number of metric SHCS’s
Each group of screws (3 top and 3 bottom) are 3 instances of a part inserted from another part studio (two different parts studios). If all the screws were always the same, there would have been six instances of a single part inserted from a single part studio.
If you switch to the ‘Top Screws’ tab you will see that there are a series of features that produce a single body (part) and that it looks like there are 3 different lengths of an m3 and 3 different length of an m5. You can probably also guess that because all but the m3x10 features are suppressed that you are looking at an m3x10 and you would be right. The actual features are an extrude that creates an encompassing cylinder and a series of ‘delete part’ features that selectively delete all but one of the bodies imported into this part studio and finally a boolean that intersects all the bodies present to produce a single result. The feature list is rounded off by a mate connector attached to the origin.
There are some nuances to this worth pointing out.
The boolean operation was created BEFORE the delete-part features so that it could include all the bodies. It was later reordered AFTER the delete-part features. It doesn’t fail even when some of the nominated bodies are not present because it was architected to be very resilient in these situations.
The part studio was carefully constructed so that a single body is produced whose ‘id’ never changes. Its the same body, just with different geometry. This is critical to the substitution working
The mate connector was attached to origin so that its parent would not change
Now you know what you’re looking at, go ahead and unsuppress the m3x14 and suppress the m3x10 (do it in this order and then do it in the other reverse order to see the difference in performance)
When you switch back to the main gearbox assembly you will see that the top screws are now longer
The bottom screws did not change in length because they were inserted from a different part studio (Bottom Screws (Metric SHCS)
Ok, so how did those part studios get into this document.
They were copied and pasted from a standard parts document - http://bit.ly/OnshapeSampleStandardParts
This could possibly be a single document into which your company puts all approved standard parts.
When you want to use (for instance) a metric SHCS, you either duplicate an existing instance of that part studio in your target document (eg duplicate top-screws to make bottom-screws), or copy and paste that part studio into your target document.
Ok, so continuing to work backwards, the next obvious question is “how did you get the bolts into the part studio?”
The answer is in the 3rd document - http://bit.ly/OnshapeStardPartsDocumentBuilder
I started by downloading the fasteners from a content aggregation site (it happened to be my favorite McMaster, but you can use any source) and then uploaded them into this document. Uploading downloaded cad files creates one tab per upload.
Next insert one instance of each into an assembly tab such that the mating location is common across all parts
Next, translate the assembly into a Parasolid tab, and then translate that tab back into the Onshape format making sure that you select the ‘Flatten’ option. Now you have all the parts in a single part studio.
To recap - this article works backwards from the in-production use of a standard part in a document that includes the ability to select a different configuration. It shows a standard parts document that your company may wish to create for your users to draw from and it shows a ‘builder’ document that outlines a methodology for building the standard parts document.
In practice, the workflow is not that hard. That said, I am hoping that this group can improve upon this process and as we refine it, i will start making videos so that we can show a wider audience what we came up with!
Over to you - comment, suggest, make this better!