5 Replies Latest reply on Jan 2, 2014 1:48 PM by Michael Dekoning

    Just deployed ePDM and references/links are broken

    James Hutchins

      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.

        • Re: Just deployed ePDM and references/links are broken
          Michael Dekoning

          James,

           

          I'm not exactly sure why it works on your machine but no one else's.

           

          It might be helpful to explain how EPDM manages external references. When an assembly is created in or added to EPDM and then checked in, the system reads the external references in the file. This information is stored in a table in the database. After this, whenever files are moved within EPDM folders, the table is updated and EPDM silently updates this information inside the assembly file. Because the system needs write access to the file, you will find that you cannot move a file to another folder if a referencing assembly is checked out. FIles in the vault can still have references to files outside the vault but EPDM can't manage those.

           

          You have now discovered the Update References tool which I think is a hidden gem, but there is at least one trick to using it. To answer your question, yes you must use it to update the assembly references before you do the initial check in to the vault. This is why your assemblies don't show the containing parts. Once we figured that out, we have used it successfully to add files created by users who don't have access to the vault.

           

          I'm not necessarily suggesting that you start over but assuming you have the original files, you might want to try using the Update References tool on an assembly or two and see how it works for you.

           

          Mike

          CEPA

            • Re: Just deployed ePDM and references/links are broken
              Charley Saint

              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.

                • Re: Just deployed ePDM and references/links are broken
                  James Hutchins

                  Thanks for the help, guys.  It's starting to make sense. 

                   

                  When the assemblies are brought it, pmd correctly flags the parts as "outside of pdm environment".  At this point everything still works great.  What I thought would happen is that since pdm is now managing the assemblies, and it knows where those assemblies parts are; that it would see when the parts come in and acknowledge who they belonged to.  Apparently, this is not the case.

                   

                  Now where I am still a bit cloudy is that if I were to have brought in the parts first, I would assume that pdm would not be aware that the assemblies exist, and therefore wouldn't be able to update the assemblies paths to point to the vault parts.  Is this not the case?

                   

                  This seems like such fundamental stuff.  Is this spelled out in the manual somewhere that I have missed?

                    • Re: Just deployed ePDM and references/links are broken
                      Charley Saint

                      James,

                       

                      I'm sure it's documented somewhere in the administration guide, but I'm not sure where. References in EPDM are somewhat one directional, if you update a part and check in a new version, that update won't be fully applied to the assembly until you check out and check in that assembly. All that means is in the contains tab and BOM tab it will still show a reference to the old version of the part, but if you open the assembly (depending on your settings) it will almost certainly open with the latest versions of the parts. So in essence, contains information is updated on check-in, but where-used is not. So get your parts where they need to be then refresh the assembly afterwards.