My company is in the process of migrating our SolidWorks data from a shared network folder to ePDM. I'm finding that now that the files are moved in, the assemblies are still looking for their children out in the old location. The interesting thing is that my machine, where I conducted the actual move, sees everything just fine. Everybody else in the company gets broken links.
Essentially what we did is move this:
Network Drive
CAD Data Folder
Assemblies Folder
987 Folder
987.sldasm
988 Folder
988.sldasm
Parts Folder
123 Folder
123.sldprt
124 Folder
124.sldprt
To:
ePDM Vault
CAD Data Folder
Assemblies Folder
987 Folder
987.sldasm
988 Folder
988.sldasm
Parts Folder
123 Folder
123.sldprt
124 Folder
124.sldprt
The basic steps I went through were,
- Create CAD Data Folder in vault
- Copy Assemblies folder to my PC
- Scrub the folder (eliminate duplicates, etc...)
- Pasts scrubbed Assemblies folder in vault
- Delete original Assemblies folder
- Check assemblies into vault
- Repeat (Copy/scrub/paste/check in) for parts folder
Now I realize that you can't just arbitrarily move folders around and expect SolidWorks to keep track, but I thought that ePDM would magically intervene and keep track of the references. (The sales rep told me, so it has to be true)
The kicker is that it actually works fine on my machine. I can go and open any assembly in the vault and its components populate just fine. "File/references" show the components in their proper vault locations. If anyone else opens the same assembly, they get broken link, and a "File/references" will show the now missing components in their old location. If I check the file out, save, then check back in; it becomes corrected for everyone.
the BOM tab in the epdm/explorer view for assemblies is mostly blank, which would lead me to believe that epdm does not recognize that the assemblies contain any components at all, and that SolidWorks is doing the legwork finding the parts when I open them. If I save and check back in as mentioned above, the epdm BOM will populate correctly.
My questions are:
Did I approach the migration completely wrong?
My VAR seems to think this was a proper approach, and is stumped by the problem. One of their guys was onsite when we tested this (on my machine) and didn't seem to have any reservations when we went over it. Having only tested on my machine, we were pretty sure of ourselves at the time. Since I can't be the first one to go from a network share to epdm, and I don't see many forum posts showing similar problems, I'm inclined to believe it's the problem is on my end. Was it the staged checkin that killed it?
Is there a simple way out?
I have since discovered the update references tool, but similarly to the epdm BOM, it doesn't acknowledge that the assemblies actually contain any parts. Would this have been useful if I used it before initial check in?
My current proposed solution is to simply checkout/save/checkin every assembly from my workstation, assuming that my copy of SolidWork will continue to properly rebuild the references. At around 1000 assemblies, 2-300 of which are actually important; this seems like a better approach than scrapping it and starting fresh, hoping for better results. If anyone has any suggestions though, or could tell me where I went wrong, it would be greatly appreciated.
James,
The reason it works on yours and not everyone elses is because you have a local copy of all the files, clear your cache and it will stop working for you, or have everyone do a get latest on the vault and it will start working for them. It all boils down to the SolidWorks search paths, they check relative file position (2 folders up in a folder named Parts) before they check absolute (I:\CAD Files\Parts) so if it finds the files there first it will use that, but it has to be cached locally to actually be found. As to why the references broke you are right in assuming it was the staged check in. Since you added the assemblies first it could create the references to parts in the vault so there are none and it's using SolidWorks search paths to populate those, if you would have checked in parts first then you wouldn't have seen any issues.