Well, I am going to do my best to try to explain the problem and what I think might be the root cause of it, but I am baffled as to a good solution for it! A while back i started noticing that sometimes when you move a file from one folder in the vault to another, the file will always open as the version it was when you moved it when you open the latest assembly version that it is in, but when you close all files and open just the file in question, it gets the latest version of it and works fine. I think the issue has to do with broken path references of the part in the assembly file, and sometimes it does not update the assembly pointer to the file. To test this, I moved one of the models in question back to the folder it was moved from, then moved it back to the folder it was just in (with it cleared from cache, no files open in solidworks), and now when I open the assembly it finds and grabs the latest version (or referenced version) of the file no problem. While this worked great for this part, it seems to happen quite often, and when the state of the part is in one that the user doesnt have permissions to move it (delete), it becomes quite problematic and assembly mates start breaking because it's grabbing a "local" and older version of the file (outside of PDM).
I believe this is how the problem occurs:
- Part is inserted into assembly and the assembly is checked in
- While the assembly is open, the user moves the file from one PDM folder to another.
I believe the proper order of moving files in PDM should be (or perhaps i'm being too cautious):
- Close assembly and all other parts related to the assembly
- Clear assembly and containing parts from local cache
- move parts to new folder
- open assembly (with no broken / local files!)
Is there a fix for this? I have many parts that are now local only on my machine when i open the assembly that contains them. It seems they will always open "local" from now until eternity unless i do the procedure mentioned at the beginning, which just isn't feasible for parts that have been issued! I have searched around the ePDM api but haven't found anything that might completely clear the file from my local hard-drive and allow it to open properly. Again, this only occurs on the offending users computer, other users that open this assembly do not have the problem of the part in the assembly opening "local" and outside of PDM.