If a virtual component is a part inside an assembly with apparently no external file, why does SW have an external file reference which can be lost?
example: I renamed my assembly but the virtual component still referenced the old filename. If it's virtual inside an assembly should it not always reference the assembly it's in? I would have thought that until it has been save as an external file the assmebly name should not matter. Was not one of the ideas of virtual components to enable changes without all the external file reference problems, then when ready to put into production save all virtual parts with correct names?
Virtual Parts are a great thing.....well they will be in a few years. There's quite a few niggles that need to be developed out. That being one of them. At the moment you have to treat them like normal Parts in an Assembly when saving. Except that in SW2009 Pack and Go doesn't recognise Virtual Parts and Save with Reference does a poor job of it. External (Internal in my opinion) references are lost. I believe this is sorted for SW2010, well so says my VAR when I submited it.
You would hope that virtual parts would be protected and contained by the protective bossom of the Parent Assembly. Ideally I see the future of Virtual Parts as more like glorified Feature folders. Where you can name them what you want (which currently you cannot). It is possible to accidently open up two different virtual Parts with the same name in two different Assemblies and SW gets completely confused. It transfers to the properties of the 1st opened Part to the second. There is also no warning about this, which is nice.
So in short when you do a Save As (with References) afterwards you need to go into the new Assembly and rename all the "new" virtual Parts to avoid this.
Hope this helps.