Page 1 of 1
Assembly Bubble Up
Posted: Fri May 21, 2021 9:14 am
by John
Hi,
Please can someone enlighten me on any ways to manage this issue:
Say I have a Root assembly with 2 sub assemblies, each with 2 detail parts inside. If open up 'Sub assembly 1' on it's own and create a sketch in a detail part, then save the sub assembly and close it, on opening the Root it will require a rebuild and a save. To me this means the Root is constantly going to be out of date when working in an environment with many users. Coming from CATIA I am not familiar with this exact behaviour, please share your experience of how best to manage this issue.
Many thanks
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 9:29 am
by josh
How you can "manage" the issue depends on what failure modes occur in your workflow due to said issue.
The assembly is defined as being made up of individual parts and/or subassemblies. When those parts or subassemblies change, the main assembly is changed. Therefore the main assembly must be rebuilt (i.e. examine all of its parts and see what changed).
Since I've never used CATIA myself, I'd be curious to understand how CATIA can build up assemblies of parts and not have this same issue.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 9:36 am
by matt
Yeah, that's the way it works in SW. If you want to make sure you have the most up to date version, everybody has to save and then reload (File>Reload is available in parts and assemblies, but not for drawings, for drawings you have to exit and reopen).
If you are using PDM, then there should be an option to reload with latest versions of parts, but that requires that the changes have been checked in. You should get a notice that your assembly is out of date.
There is also the "multi-user environment" option to check if your read-only files are out of date.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 10:31 am
by Frederick_Law
You changed the part, SW tell you the part is changed.
What's your issue?
Maybe use PDM and don't check in the part until its "ready".
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 10:49 am
by John
Hi Frederick,
Thank you for your frank and to the point response. I know I have changed a part. My issue is that I don't see why changing a detail part in a sub assembly invokes a rebuild and save on the root assembly way up the tree. To me this behaviour is unintuitive but I just have to accept this is how SW works.
Thank you others for your responses too. At least this confirms to me this behaviour is unavoidable. As for using PDM.....I'll pass, we have proper PLM
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 11:16 am
by josh
As I mentioned before, the assembly is made up of parts. If you change a part, the assembly must reflect that change. Rebuild involves examining all the parts and making sure the geometry etc. in the assembly window accurately reflects all the parts.
Again, having never worked in CATIA myself, can someone please explain how you can change a part in CATIA without changing components that contain it? Does CATIA not have assemblies? I cannot fathom how you could build an assembly, then change one of its parts without actually changing the assembly.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 11:22 am
by josh
I may have missed a subtlety of the question.... Were you asking why the root (top level) assembly has to rebuild instead of only rebuilding the subassembly? Changing the part by itself does not directly trigger the top level assembly rebuild. Changing the part triggers a rebuild (and change) to the subassembly it contains. This change to the subassembly is what triggers the rebuild of the top level assembly. So it's exactly as your subject line states: the changes "bubble up" through the tree.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 11:30 am
by John
Hi Josh,
Yes, indeed. I don't see why the root cares that a change has been made to a feature on a detail part. Just seems to me too much rebuilding and saving has to be done at the highest level.
To answer your question about CATIA, the bubble up is far less sensitive. My original example was a root assembly with sub assemblies. In CATIA you can open a sub assembly without the root, change some detail part features within it and there will be no save required on the sub assembly and there would be no bubble up to the root assembly. The assemblies are just containers for parts. Why would they care if a detail part has changed? They would only care if a detail part has, for example, moved in the context of that sub assembly.
Likewise, If i did something like move the position of the sub assembly, then the root would require a save but simply changing a detail part would not cause a modification of the assembly. Hope that clears it up for you.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 12:21 pm
by josh
So, does CATIA not have mates or any sort of relationships between parts in assemblies?
For example, let's say I model an automotive starter. It's a subassembly. One of its parts is a housing with mounting holes. I put this starter subassembly in the engine assembly, mating the mounting holes on the housing to holes on a bracket in the top-level engine assembly. This defines the position of the starter in the engine assembly.
Now I close everything, open up the housing part, and I move or delete the mounting holes. With CATIA, what happens when you open the top-level assembly?
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 12:32 pm
by jcapriotti
John wrote: ↑Fri May 21, 2021 11:30 am
Hi Josh,
Yes, indeed. I don't see why the root cares that a change has been made to a feature on a detail part. Just seems to me too much rebuilding and saving has to be done at the highest level.
To answer your question about CATIA, the bubble up is far less sensitive. My original example was a root assembly with sub assemblies. In CATIA you can open a sub assembly without the root, change some detail part features within it and there will be no save required on the sub assembly and there would be no bubble up to the root assembly. The assemblies are just containers for parts. Why would they care if a detail part has changed? They would only care if a detail part has, for example, moved in the context of that sub assembly.
Likewise, If i did something like move the position of the sub assembly, then the root would require a save but simply changing a detail part would not cause a modification of the assembly. Hope that clears it up for you.
If you change a part, for example, update a hole diameter or location. That affects the assemblies that call for it. Mates may need to re-evaluate, which could change positions of the other parts in the sub-assembly. Also the stored 3d body data that eDrawings uses to view models needs to update.
There could be cases where SolidWorks could do a better job of recognizing when a change occurs that affects the geometry of the part. A force rebuild will flag the file as dirty regardless if anything actually changed, a regular rebuild will not. I think they just play it safe and flag it most times. Then there is the older version of files. Any file opened that was last saved in an older version of SolidWorks will flag to be saved.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 12:48 pm
by John
Hi Josh,
Your scenario is somewhat different. Mates are at the assembly level and by deleting the hole you have affected the condition of the mate. I agree this changes the modification of the assembly. CATIA would do the same.
Let me turn that situation around though. Let's say you followed your steps but positioned the part without mates and saved everything. Why would the assembly then care if you deleted the holes in the detail part? You have not changed any property of the assembly....
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 1:19 pm
by Glenn Schroeder
John wrote: ↑Fri May 21, 2021 12:48 pm
Hi Josh,
Your scenario is somewhat different. Mates are at the assembly level and by deleting the hole you have affected the condition of the mate. I agree this changes the modification of the assembly. CATIA would do the same.
Let me turn that situation around though. Let's say you followed your steps but positioned the part without mates and saved everything.
Why would the assembly then care if you deleted the holes in the detail part? You have not changed any property of the assembly....
The Assembly would care because you changed the Part, which is a portion of the Assembly.
You have changed a property of the Assembly. The Part is a property of the Assembly.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 1:44 pm
by John
In Solidworks this seems to be the case. To my mind this brings no advantage, only additional challenges and forever saving things that haven't fundamentally changed, all the way up to the root....Really I was asking as a way to know if this behaviour can be changed. I think I have my answer... Many thanks to all
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 2:33 pm
by MJuric
John wrote: ↑Fri May 21, 2021 1:44 pm
In Solidworks this seems to be the case. To my mind this brings no advantage, only additional challenges and forever saving things that haven't fundamentally changed, all the way up to the root....Really I was asking as a way to know if this behaviour can be changed. I think I have my answer... Many thanks to all
I think SW tends to be a bit more "Brute Force" than elegant. Rather than recognizing that a part has changed and then checking to see whether that part change effects some item, other than that part, in the assembly it just says "Part changed, Rebuild". Simplistic and probably "Easier" but also a pain when things like changing a 1/4-20 to a 5/16-18 that has nothing to do with anything in the assembly ends up causing a rebuild.
In essence the models are constantly rebuilding which is yet another resource hog that ends up bogging down the entire system.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 3:03 pm
by JSculley
MJuric wrote: ↑Fri May 21, 2021 2:33 pm
Simplistic and probably "Easier" but also a pain when things like changing a 1/4-20 to a 5/16-18 that has nothing to do with anything in the assembly ends up causing a rebuild.
You've changed the weight of the assembly. It might not matter on a large structure, but on a tiny device meant for space flight it might. SW has no way of knowing what constitutes a meaningful change.
I can think of very few changes to a part that would not have some concrete affect on the assembly.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 3:04 pm
by josh
John wrote: ↑Fri May 21, 2021 1:44 pm
In Solidworks this seems to be the case. To my mind this brings no advantage, only additional challenges and forever saving things that haven't fundamentally changed, all the way up to the root....Really I was asking as a way to know if this behaviour can be changed. I think I have my answer... Many thanks to all
From what you have been saying, functionally there is zero difference between how CATIA handles these things vs SolidWorks, other than that SW may rebuild and save slightly more often. SW does save some details of parts and subassemblies in the main assembly to improve performance so that it doesn't have to read all details directly from the source files every time. Whenever a source file changes, the assembly recognizes that this has happened and updates itself. CATIA MUST do the exact same thing. As has been mentioned, CATIA may do a better job of recognizing when changed components do not cause a change in the data that it saves with the top level, but this also makes zero difference to what you mentioned in your first post, which is multiple users simultaneously editing components of the assembly. In either case, CATIA or SW, the assembly becomes out of date as soon as you edit a part, no matter what depth.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 3:16 pm
by MJuric
JSculley wrote: ↑Fri May 21, 2021 3:03 pm
You've changed the weight of the assembly. It might not matter on a large structure, but on a tiny device meant for space flight it might. SW has no way of knowing what constitutes a meaningful change.
I can think of very few changes to a part that would not have some concrete affect on the assembly.
You can load the latest part into the assembly without rebuilding the assembly. The only time you would need to rebuild the assembly is if something changed on the part that effected function in the assembly. If you wanted weight, CG etc that information would be pulled from the latest part that is now in your assembly.
Re: Assembly Bubble Up
Posted: Fri May 21, 2021 3:24 pm
by John
@josh - Nope, I can edit a detail part in a sub assembly, for example change a sketch dimension and this will not invoke a save on anything other than the changed part. I'm not really trying to make a comparison. Just to understand the behaviour of a different program