I create Part1 and it has several bodies. Then I select one body and use the “Insert into new Part” command and create Part2.
Everything is just perfect.
Now I change the geometry of the body in Part1 and in its presence I open Part2 and the geometry is updated.
I save Part1 and Part2.
Everything is just fine.
Now I close everything, restart SolidWorks.
I open Part2 and work with it without Part1 open. And if I create new configurations (or they were created earlier), it happens that the geometry that was there when I created Part2 for the first time appears in them. Part2 somewhere inside remembers that original geometry. This does not always happen.
Very often this happens if Part2 is converted to Sheet Metal and there is a Flat Pattern configuration. And in Part1 there are several configurations in which the bodies look different.
Solution for this: Keep open the assembly in which all configurations of Part1 are inserted, then the geometry in Part2 is up-to-date.
Maybe someone knows how to update the cached geometry in Part2 in the first operation “Stock-Part1”?
Maybe this question need API?
In order for Part2 to update the geometry from Part1, Part1 needs to be open. It works when the assembly open because Part1 is open in the assembly.
You should see a ? after inserted feature in the tree, indicating that the reference can’t be found. If you right click the feature and select Edit in Context it will open the Part1, rebuilding Part2 with Part1 open should update the geometry. The are also system options that control if and how referenced documents are opened automatically. These can be found in Options - System Options - External References
SolidWorks External Reference Options 01.png
The OP did just that and saved Part2. The issue in question is Part2 reverting back later. I haven’t seen that, but I have experienced enough squirrely behavior when Master Modeling to always want the master open when working with the children. It was a while ago, but I had more trouble with body identities than with parts reverting. It helped to name bodies.
Dwight
I have seen this happen when you have multiple parts with the same filename.
Especially if you already have the wrong part open.
Example:
“Part1” is made using insert part from “Part2”
However, you have 2 files names “Part2”
If later, you open “Part1” and you already have the wrong “Part2” open, then it will automatically use the wrong geometry.
Alternatively, if for some reason the correct “Part2” was moved from its original location, then when you open “Part1”, it won’t be able to find it, and will automatically search in the search folders for a part with the filename “Part2”.
It first looks in the same folder location as “Part1”. If it can’t find it there, then it will start looking down these folder in the listed order:
image.png
No, that’s not it. All the answers are clear and help to update the geometry by opening the Parent that the Child element refers to. I want to update the Child element itself so that the geometry cached in it is updated, since I just created it anew. And if I open it alone, it will still show the current version of the geometry. I don’t want to load the Parent, otherwise a carousel of rebuilds and saves and RAM consumption begins. It looks like I’ll go to the API branch to look for a description for the Feature: GetTypeName2 = “SavedExtBody”.
What I do in this situation is close the component that references the external component, on open, select ‘References’ and replace the reference with the one you wish to reference
We keep Load referenced documents to “none” instead of all just to avoid models blowing up, but the user must understand what is looking at is likely the last cached referenced data…
We set to Always load. I want the models to blow up if a change causes problems, so it gets fixed and possibly discover issues due to those changes.