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.
Link vs Copy a Document
john_gentilin
Member Posts: 15 ✭
I want to include other public documents/parts into my documents where I can modify/revision those parts and keep source author attribution,
It seems I can link a document at any revision and update to a newer revision as they come out, but I can't edit the document unless I copy it.
When I copy it, the document loses all notion of source attribution. Also if I like a document/part then later want to copy it, it's a different part I need to change in my assemblies.
Can copy work like GIT fork, where I can have a reference to a branch revision, make my own local changes, while maintaining historical changes / authorship and maybe even issuing a pull request to see if the upstream author is interested in the edits. It could possibly reduce all the copies floating around in the public documents section..
Thanks
-John
It seems I can link a document at any revision and update to a newer revision as they come out, but I can't edit the document unless I copy it.
When I copy it, the document loses all notion of source attribution. Also if I like a document/part then later want to copy it, it's a different part I need to change in my assemblies.
Can copy work like GIT fork, where I can have a reference to a branch revision, make my own local changes, while maintaining historical changes / authorship and maybe even issuing a pull request to see if the upstream author is interested in the edits. It could possibly reduce all the copies floating around in the public documents section..
Thanks
-John
2
Best Answers
-
@john_genitlin, I think what you are looking for is something like this?:
1. User A creates a part and makes it public.
2. User B uses that public part in their own document via a Link.
3. User B wants to make changes to that part and push those changes back to the original document where they can be merged with the original part.
There isn't any way to make the process work exactly like GIT right now with merging changes from a fork back into the original document that I am aware of. I do believe there is an Improvement Request for those features though if you want to vote it up.
I think that the only way to do something close is to contact the original user of the public part and request Edit permissions for the document. You would then be able to make any changes in that document and make a new version.5 -
It sounds like @robert_morris better understood what you wanted to do. Indeed the only way to collaborate on a design is by getting edit permissions to the document. Then within the document you can create a branch, work on your improvements, release a version with your improvements in or have your changes merged into main branch.
As far as use of Derived part goes:
1. If you derive from a version of a linked document and (or in other way use data from a version of a linked document) and that document is deleted or your permission to link is withdrawn, the data you've linked remains available to you, your documents remain intact.
2. To confirm what you've figured out already : If you derive a part in your part studio you can go on making changes to it within your part studio as if you were adding features to the end of the feature list. These changes can not be merged back into the original part studio.
5
Answers
-
You can derive the part you want to modify. Derive feature can use parts from versions of linked documents. I think that would give you the functionality you want; you'll be able to update derived feature to the new versions of the source document and you can make changes to the derived part in your own part studio. i have to warn you agains long derivation chains though ( Part Studio C derived from Part Studio B, derived from Part Studio A) - they kill performance. Think of derived feature as whole base part studio regenerating in context of the deriving one.1
-
@john_genitlin, I think what you are looking for is something like this?:
1. User A creates a part and makes it public.
2. User B uses that public part in their own document via a Link.
3. User B wants to make changes to that part and push those changes back to the original document where they can be merged with the original part.
There isn't any way to make the process work exactly like GIT right now with merging changes from a fork back into the original document that I am aware of. I do believe there is an Improvement Request for those features though if you want to vote it up.
I think that the only way to do something close is to contact the original user of the public part and request Edit permissions for the document. You would then be able to make any changes in that document and make a new version.5 -
@robert_morris , Thank you for the response. You description is what I was looking for although my initial concern came after I started copying other users parts, stepper, servo motors, etc. Then realizing that with a copy command, all notion of original ownership was lost, the details indicates that I am the creator of the part.
Do you know if User A grants me (User
edit access to their part, or if I link to their part, if User A deletes a part is it removed from my documents as well ?
0 -
@lana
Thank you for the pointer on Derived parts. If I understand you, what I did was create a new Document, then added a derived part/document as the only part in that document then I should be able to edit that part. What is interesting is the part links via the Derive Part function but you can't really edit. I can see the total assembled part and the individual parts and I can kind of see the sketches but the sketch and operation detail is hidden, only new operations are visible. See here I derived a servo motor, then added a mate connector which worked fine, but I can't really modify and of the drawing components. Also the Derive Document has the same initial issue in that the source authorship is hidden, although I can open the linked document.
https://cad.onshape.com/documents/63f72c9d19b85fb2e0aa2e94/w/ef674a3c221e497a089ee708/e/5e2b1a3e4c0dd997c083a85e
0 -
@robert_morris, I believe you can indeed merge forks. However, you can't merge changes made to a derived part in a separate part studio. You would have to be working on a forks within the same part studio in. @lana, please confirm?0
-
You can merge forks of a part you own or have edit rights to. If you like to a part that you don't have edit rights to, you can only view that part, to modify it, you need to make a copy of it first, If you make a copy you can edit any element of the part. If you derive a part then you can only make additive / subtractive edits, you can modify any of the original elements, sketches, planes, extrudes, etc.0
-
It sounds like @robert_morris better understood what you wanted to do. Indeed the only way to collaborate on a design is by getting edit permissions to the document. Then within the document you can create a branch, work on your improvements, release a version with your improvements in or have your changes merged into main branch.
As far as use of Derived part goes:
1. If you derive from a version of a linked document and (or in other way use data from a version of a linked document) and that document is deleted or your permission to link is withdrawn, the data you've linked remains available to you, your documents remain intact.
2. To confirm what you've figured out already : If you derive a part in your part studio you can go on making changes to it within your part studio as if you were adding features to the end of the feature list. These changes can not be merged back into the original part studio.
5

