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.
Revision management of sub-assemblies and multi-step parts
dustin_hecocks
Member Posts: 10 ✭
So I've got some questions about revision management in OS. I am an industrial design engineer, using SolidWorks exclusively for work. I do not use any kind of PDM, so document and revision control has been a manual process. This is a feature that has me interested in OS, because any assistance in revision management is a big deal. Since I work in medical device design, revision management is paramount.
So my question is two fold. First, what is the best way to manage revisions of sub-assemblies within a document? For example, one document will contain an entire device, and this device is composed of say 30 parts, and three sub-assemblies. The version management tab at the top seems to be a broad umbrella control. I am aware of assigning your revision of part and sub-assemblies via properties, but this seems to record and track very little, if at all. So I am guessing the document "manage versions" feature would be utilized every time you revise anything all the way down to the part level, which would in turn make that version management bar extremely messy for large assemblies, eventually to the point of being useless. Is this not available at the part level, or even the assembly level? Am I correct that the unique management control features are at the document level?
Second, is there a control mechanism for a multi step part? For example, we have a part that we order from a vendor. It has a drawing and a part number, it gets ordered, and it gets stocked. We then modify that part, with a new drawing, and it gets a new part number, and it gets stocked. We then do that process once more, giving it another part number and stocking it. That last piece is a component of a final assembly. My process in SolidWorks is as follows:
1. Create part, model three configurations of that part. First drawing is at the part level.
2. Create an assembly, bring in that part, use the second configuration. Drawing Bill of Materials generates correct information.
3. Create another assembly, bringing in assembly from step two, but changing the configuration to 3 on the part level. Drawing Bill of Material generates correct information.
So I am generating traceabiliy on my part and its multiple steps. But I am hoping with OS being focused on revision control, there may be a better way to streamline this process.
Interested to hear what you guys think, especially those of you working with large assemblies with the need for critical revision control. Thanks!
-D
So my question is two fold. First, what is the best way to manage revisions of sub-assemblies within a document? For example, one document will contain an entire device, and this device is composed of say 30 parts, and three sub-assemblies. The version management tab at the top seems to be a broad umbrella control. I am aware of assigning your revision of part and sub-assemblies via properties, but this seems to record and track very little, if at all. So I am guessing the document "manage versions" feature would be utilized every time you revise anything all the way down to the part level, which would in turn make that version management bar extremely messy for large assemblies, eventually to the point of being useless. Is this not available at the part level, or even the assembly level? Am I correct that the unique management control features are at the document level?
Second, is there a control mechanism for a multi step part? For example, we have a part that we order from a vendor. It has a drawing and a part number, it gets ordered, and it gets stocked. We then modify that part, with a new drawing, and it gets a new part number, and it gets stocked. We then do that process once more, giving it another part number and stocking it. That last piece is a component of a final assembly. My process in SolidWorks is as follows:
1. Create part, model three configurations of that part. First drawing is at the part level.
2. Create an assembly, bring in that part, use the second configuration. Drawing Bill of Materials generates correct information.
3. Create another assembly, bringing in assembly from step two, but changing the configuration to 3 on the part level. Drawing Bill of Material generates correct information.
So I am generating traceabiliy on my part and its multiple steps. But I am hoping with OS being focused on revision control, there may be a better way to streamline this process.
Interested to hear what you guys think, especially those of you working with large assemblies with the need for critical revision control. Thanks!
-D
0
Comments
- Onshape version are currently immutable snapshots of the ENTIRE document.
- Versions, although they do capture state of properties, is not Revision management (typically a per part number control based on state workflows (process)
With this being said, there will be much to come with respect to controlling revisions of parts as we evolve Onshape. How our data management applies today:- History - Auto captures of actions back to the origination of the document (removes the fear of trying new things since you can always go back to a previous action)
- Versions - Manual capture of the current state of the document. (gives control to lock down an important step in the design and give an option to branch ideas from at a later date)
- Branching - Derive a new idea from a version without effecting the current branch's workspace (applies to the entire document, not just the tab you are in)
- Merging - Pull changes into your current branch's workspace (entire document), "merging" changes into once "synced" workspace.
I know many of these ideas can be hard to grock but focusing on the first two, those could have (either by Onshape or a 3rd part) the ability to lay a process workflow on top of the versioning/history to allow for revision control, access control, actions, notifications etc... In the meantime, Onshape provides the framework to avoid the check in/out confusion and removes the worry of losing the ability to undo changes due to accidental loss or modifications.1) At every finished revision, collect all and save as a copy. Can be very messy, and a massive space hog. Imagine separate folders for each revision of each sub-assembly and trying to keep everything current and linked. Nightmare.
2) My weapon of choice, configurations. Not a fool proof solution, because saving a configuration does not lock your model down or protect it from some future changes in future revisions. I don't often call up old revision configurations, but when I do, more often than not, something has been modified, whether by user error or a global feature change.
3) Drawings only. The above options are not very clean, so many opt to just manage ONLY PDFs of their drawings, leaving no trace of editable model or drawing history.
So the thought, the version management system you have, being able to apply that to the part and assembly levels; my god, how great could that be! And drawings too?! Man, what an improvement that could be. To be able to lock down a revision of a part, sub-assembly, assembly, and drawings, all individually as they rev up; it's a game changer. So when the OS videos talk about OS removing the need for a separate PDM system, I am hoping this is what they are talking about. So I guess what I'm asking is whether or not this is part of the game plan, or the version control as it stands now is the plan, not necessarily revision control?
Thanks dustin for bringing this up and thanks Os for accepting the challenge.
What I'm attempting and appears to be working, Is to branch from the start and create branches for sub assemblies and also branches for individual parts. From These branches I can create individual branches for parts within these sub assemblies. At any time I can save and revise (save version) any part, sub or whole of the assembly. When I'm satisfied with a revision I can then merge it into its sub or whole assembly.
This is just a theoretical workflow and not fully developed but from initial testing appears that it may serve our objective.
Looking forward to hear from others with these issues and how they are planning to resolve them.
Dave
Yes, It is a bit of a workaround. My intent was not to claim a working solution so much but as a starting point to progress from.
I like the concept of keeping all of the parts within a single document, which this process will provide without external links which could be an issue keeping organized and linked. But unfortunately when creating parts in the main part studio (which is quite convenient) there is no convenient way to get a single part into another branch of the version tree with it's specific feature tree. I understand that OS may be working on a way to do this. Also It appears that the Versions branch tree would soon get quite difficult to navigate on large assemblies. Hopefully if OS considers this a viable workflow they may incorporate some functionality to assist and make this flow a bit smoother. Or possibly a much better process but this is certainly an area of concern.
Thanks
Dave
Twitter: @onshapetricks & @babart1977
In my game with furniture the need for new revisions could be:
1. proto model, only for the looks - modeled just as much as we need to have a nice rendered image of final product look
2. updated protos according to customer needs (currently just modify the original to find the final shape)
3. production model, at this point we bring in the inner mechanisms (standard parts) and add drillings and connection accessories. Finalize dimension.
At this point we should compare to all existing parts to take benefit of those and not to create almost similar parts with only 1mm difference or so (this is not that easy when having thousand of parts). This would be the first production version.
4. Possible revision if some standard part changes (new supplier or so..)
5. Another possible revision if we expand the collection with new product that can use the same parts but needs some more drilling or other minor change which doesn't harm original product etc..
6. Special revisions for limited time sale or similar marketing versions.
7. End of product lifetime revision, usually we need to make some slight changes to efficiently end a product (or more like a collection) lifetime.
Sadly, our cad data usually only follows up to point #3 and revisions are made just to production (cnc programs). This is because of the lack of easy revision control in cad and the need to update all static files like assembly instructions.
Using configurations for revisions is too messy, since we usually already have 5-10 configurations in most of files and new revision would always multiply the amount (I'm great fan of using configurations to lower the amount of files and speed up assembly work within similar parts).
This makes the cad data useless in later revisions and this is something I would like to change.
That said, +1 for one button revision control. Just click to begin new revision and Onshape takes care that you have always access and compare possibilities to old revisions.
Twitter: @onshapetricks & @babart1977
But the version control and history is powerful. Technically, it is already tracking every revision you make all the way down to the part level. The unfortunately part is that (in my opinion) it is not efficiently organizing this information. In theory, you could go call back any revision you made. But in practice, if you have many parts and assemblies, good luck trying to find a part revision made three weeks ago. I have zero experience with SolidWorks PDM, but as far as the standalone application, OS already has a major leg up on SW in history tracking. And I think that is a pretty big deal, to have a leg up in anything on such a polished and established product. I am hoping the existing technology is further refined and utilized for effective revision control and management.
And to @3dcad point, maybe it could possibly be a configurable option. When you open a new document, maybe you have the option for simplified overall version control, or part level revision control. Because certainly not everyone needs the stringent revision management that I do, and maybe those features to some would be more cumbersome than helpful. I would guess given the option, you would see pretty sizable use of both configurations.
Dave
The process you describe below brings up a couple of things.
We sometimes do a similar thing in that we purchase a vendor part, assigning a part number to it and stocking it and documenting it with a part and drawing file and then making a new part from it by modification. However, our part file and drawings are more separated than your process and I think are more secure. With your process of having the raw and modified parts as different configurations within a single file it is very easy to change something that shouldn't, i.e., making a change to one of the modified configurations and that change inadvertently affecting the raw part.
Instead we keep the raw part in its own part file. Customized parts made from this are themselves separate part files. We use SolidWorks' Insert -> Part in this new file to insert the raw part. It looks and is treated much like a dumb solid in that you cannot modify the base part itself and this new file contains just the modifications to the raw part. We use the same technique to control separate files between a raw casting and the various machined parts that can be made from it. We also use this same technique with our library of raw materials, which has completely eliminated those pesky issues of different engineers using a slightly different detail for the raw material.
I have not used OnShape enough to know if it has this equivalent capability (Insert -> Part), but consider it an invaluable capability. If this does not exist then I am sure there is already a ticket on it and I'd like to add my support for it.
Not sure how the version tool will work with inter doc and inter part studio relation could be messy but sure there is a way to do it cleanly and efficiently. I think the immutable version tool may help to stop things falling apart from peoples down stream changes, will be interesting to see.
Twitter: @onshapetricks & @babart1977