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.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
How to copy assembly to another document? (Equivalent of 'Save As'?)
Brian_McVeigh
Member Posts: 78 PRO
Trying to do something that would normally be pretty simple, but struggling to find the right way to do this in Onshape. I have an Assembly Studio in a Document. It uses only parts that exist in Part Studios in that same Document. I want to basically do a 'Save As' of that Assembly, into another document, so I can customise it (i.e. remove/replace a few parts). How would I go about doing this? I still want the assembly to reference all the parts from the original document, as these don't need to be duplicated, they will remain standard. When I use 'Move to document', it wants to move the part studios too. Any suggestions?
From the Onshape help on 'Move to Document':
"Move to document... - Move the Assembly to a new document, creating the document during this operation. If any part or assembly is used in any tab of the original document, a link between the two documents is created. Note that, the Assembly tab and the Part Studios from which the part instances are referenced will all move to the new document. This action will be prevented if it would result in a document with no tabs."
The section in italics is what's causing me an issue - many other assemblies in that original document reference these parts, so I don't want them moved to a new document.
From the Onshape help on 'Move to Document':
"Move to document... - Move the Assembly to a new document, creating the document during this operation. If any part or assembly is used in any tab of the original document, a link between the two documents is created. Note that, the Assembly tab and the Part Studios from which the part instances are referenced will all move to the new document. This action will be prevented if it would result in a document with no tabs."
The section in italics is what's causing me an issue - many other assemblies in that original document reference these parts, so I don't want them moved to a new document.
0
Comments
In your new document, insert the assembly from the existing document into an assembly tab. You will need to make a version in the existing document. However, I just noticed that you cannot change the inserted assembly, so scratch that .
If you right click on the tab and copy to clipboard, you can click on the + button in the new document and paste from clipboard. It will bring a copy of the assembly and all parts used in the assembly into the new document. I think this also requires a version, but not sure. However, you can edit the assembly.
It would be nice to have a "copy assembly with derived parts" option.
All you need to do is 'duplicate' the top level assembly.
(RMB over the top level assy and select 'duplicate'
This is the same as 'save as'. You now have a new assembly that is independent of the original.
Beyond this, you are free to move elements from one document to another - remember that all parent elements will be moved as well so a little thought is needed to break up a document. There is a good resource that goes into detail in the learning center.
https://learn.onshape.com/courses/product-structure-organization-tips
I understand how to duplicate an assembly, its the next step I don't understand and can't see anything in that link that helps, other than pointing out the problem that I'm trying to get around. I want to move an assembly from one document to another, but not to move the part studios it references. Tip 10 from your link points out specifically that 'This action (moving all the dependencies) is rarely the desired outcome.' but I can't see any suggestions for avoiding that outcome, other than deriving parts which is definitely not what I want in this case?
HWM-Water Ltd
Yes, you're right, all dependencies are also moved. There are a lot of good suggestions here (and there is no magic solution), but here is an interesting experiment that I just conducted.
Make a document with a part studio and an assembly (xxx)
Duplicate the assembly
MOVE the part studio to a new document (yyy)
MOVE the duplicated assembly to a new document (zzz)
MOVE the part studio from yyy BACK to xxx.
Now both assemblies point to the part studio in xxx.
The assembly in xxx points to the workspace part studio in xxx
The assembly in zzz points to a version in xxx
This works really well and may help you develop a workflow that works for you
HWM-Water Ltd
HWM-Water Ltd
You could always:
1.) Duplicate the Assembly
2.) Save a version in the current document
3.) Highlight all of the nodes in the assembly tree in the duplicate assembly
4.) Right click -> change to version
5.) Select your newly created version
6.) Part out that Assembly
Because all references are now to a version, only the duplicated assembly tab will be moved to the new document.