10 Replies Latest reply on Aug 20, 2012 3:19 PM by Jacob Kralovic

    Uploading Current files and assemblies into a new vault

    Doug Johnson

      We have a large number of Solidworks models and assemblies drawings in a network folder.

      Now since the company has been aquired we have implemented EPDM.

      The files which are in the network location, approximatly 5000, all have a revision after the part number.

      ex: A5011-G

      Is there a easy method to:

      - put these files into the vault

      - remove the revision off the file name

      - update the file revisions to the current released drawing revision

      - maintain references?


      I realize all of these things cannot be accomplished at once, removing the revision off the file name and updating the files (model and/or assembly and drawing) to the correct drawing revision are the two things that are important at this point.


      I have created a quick workflow to update the file revisions to match the drawing revision although each file has to be manually updated a number of times to get the correct revision after the name has been changed.


      Then after using this workflow can I get the files into the standard CAD workflow while maintaining the updates?


      The reason for the new workflow is the standard CAD workflow requires more actions to update each revision.


      This appears to be a long project so any help is appreciated.


      Thanks in advance


        • Re: Uploading Current files and assemblies into a new vault
          Alison Hilditch

          Hi Doug!


          I'm actually at a very very similar point right now. I'm getting ready to start moving my files into the vault and the file names also have the revision in them. I'm still puzzling through some of this, but maybe you'll get a direction from my thoughts.


          The most obvious answer is to write an API to re name the files and update the revisions, but I personally don't program very well so that is a less likely option for me.


          Because of the issues caused by trying to keep the model revisions the same as the drawing revisions, we stopped reving the models and now rely on the drawing to keep track of the prototype and release revisions. EPDM will track the changes to a part by using versions. Every time a part is updated, the version count bumbs up one and the drawing updates and revs based on how I have the engineering change workflow set up. EPDM will always show you the latest version of the model, but you can go back and look at previous versions like a snap shot, this holds true for drawings too I do believe (the old revision prints can still be looked at). So its like you have a mini file cabinent in each file. This has been my experience so far with versions. There might be more benefits or sink holes, but it saved me the hassle of having to input all the model revisions.


          If you are set on having the revisions match, on page 234 of the admin guide, Setting revision numbers manually, will direct you to the Enterprise PDM Help  and Item Explorer Help. if you have the pdf, I believe the links are embedded (my guide was printed out or else I could tell you more).


          For renaming a file, you could create a task through dispatch I think. This is the thread I was looking at earlier https://forum.solidworks.com/message/210357#210357 , half way down Joy has a tutorial bit on how to work with dispatch that I'm finding helpful.


          Then after using this workflow can I get the files into the standard CAD workflow while maintaining the updates?


          So if I understand correctly, you want to be able to keep changing the revision as necesary right? Are you familiar with how to link workflows? You can treat your revision process as a subroutine for the CAD workflow where when the file needs revisioned, you can submit it into the revision workflow which will eventually spit it back into your CAD workflow. If I have it wrong, I think I'd need more inforation on how your setup works.


          Phew! I hope this helps at least a little! And you are so right, this is a long project, a HUGE project. These forums have been a lifesaver for me over the past few months. Let's keep the dialogue going! I'm always looking to learn something new!




            • Re: Uploading Current files and assemblies into a new vault
              Doug Johnson


              Thank you for all the information. I am not strong on programming either so the API is really not an option around here.


              We do need to keep our revisions in use based on the quality system we have in place. We have a newer project which already has a thousand or so files in the vault using the current workflow, but they were all created in the vault or moved in prior to revision control. 


              As far as the workflow I thought a separate workflow in the test vault would be faster to update each revision and keep the main vault clean until everything is ready. However when we add files into the main vault they go into a "sandbox" state with no revision. It sounds like there is more research to do.

              Really the difference is a few approval steps per file more if I used the standard one we have in place. But 5k files and many with revisions up to M-Z makes that a lot of unnecessary work.


              I had a thought of adding to the current workflow to allow a quick update to the revisions keeping the permissions limited to the person who will be performing the task. We'll see how the test run goes on all this.


              I browsed through the admin guide but did not come across the info you are referring to so I will go back and check, it sounds like a more viable option the way you describe it.


              If I come up with anything helpful I will keep the thread going.


              Thanks again



            • Re: Uploading Current files and assemblies into a new vault
              Craig Lalumiere

              I remember seeing somewhere form SWW Presentations I don't remember which one about some one doing the exact same thing. Using dispatch to rename and then changing the revision with the workflow. If the light bulb comes on ill let you know but I was hoping this response would trigger someone else's memory as well.

              • Re: Uploading Current files and assemblies into a new vault
                Doug Johnson

                I will dig into the Despatch option a bit more. I have used it in the past for some items. With the files at a different revisions that may be tricky


                As far as incrementing the revision manually it is not working on some test files. Logged in as ADMIN I can access the function if the file is checked in but it doesn't increment the revision. It says the current revision is C and the next revision is C and will not let me change the "next revision" column. If I check out the file the function is not available.

                I am sure there is something I am missing in the vault settings but didn't work first time out.

                This is what I was trying to accomplish with a different workflow, two clicks to increment the revision. Even better be able to set the revision of each file to match the current drawing revision.


                Increment Revision.JPG

                • Re: Uploading Current files and assemblies into a new vault
                  Tim Webb

                  I've used dispatch numerous times to do this. But do make sure you prepare your data for migration. It will bite you square in the butt later if you don't.



                  • Re: Uploading Current files and assemblies into a new vault
                    Tim Read

                    Hi Doug,


                    Depending on how automated you want this...  You have 5000 files so putting in a few days to get something that does most of the work for you will be well worth it - assuming your files are 'clean'


                    You can create multiple transitions in your Workflow between the "Initial" State and another State that I'll calll "Migration".

                    Have each transistion automated with a condition that checks on the filename (filepath) to filter on the Revision from the filename.

                    In each of those transistions have EPDM set the Revision to "??" then revision it is supposed to be.

                    Do NOT increment the Revision in the transition.

                    In the "Migration" state run a Dispatch Script that checks out and renames the files (to remove the Revision) and checks them back in.

                    [Optionally (and I would suggest it) run a batch script to force the update of the References in the Drawings / Assemblies - See below.]

                    Then have a single transistion link to your normal Workflow "Released" State and in the transistion "Inc. Rev"


                    Before you do all that, check that you know what variables you want on the datacards for the different file types and which ones you want to link to the various files. Also, if you want to "share" variables from you Parts / Assemblies into your Drawings then you will have to have a manual step of opening the drawing (while it is checked out), regenerating it, saving it and checking it in.


                    The batch file to update the References -> check out the following programs (source code provided)

                    GetReferences & ReplaceReference

                    Written and Maintained by Jason Nicholson




                    I wrote a little batch script that takes variables from the command line used in Dispatch that then uses the output from the GetReferences to run the ReplaceReference based on a specfic set of rules and requirements.

                    • Re: Uploading Current files and assemblies into a new vault
                      Jacob Kralovic

                      Hey Doug,


                      I find myself in your exact predicament, but with over 50k files to manage. And having very limited programming experience, I went a route very similar to yours:


                      Here's some advice:


                      We tried fixing the references of the files because we wanted a different folder structure in the vault. But it was too time consuming, so eventually I discovered that PDM can do it.


                      If you copy the exact folder structure from your old system into PDM, including all the files, then check them all in, the references will be correct. By exact folder, I mean everything except your root network drive, so for example: Network\\Engineering\CadFiles\Drawings\54312-A.slddrw

                      In this case, you can just copy the "Engineering" folder and all it's contents, then paste it into PDM and Check it all in.


                      It's important that you don't rename any files until you check them in the first time! Otherwise PDM can't find the references.

                      You can then rename the files using Dispatch, and rename folders without worrying about losing references.

                      It took a while for 50k files to transfer, but I imageine your 5k shouldn't take long, you should be able to copy them all in at once.


                      I, like you, made a "Migration" workflow that bumps the rev to the proper letter before sending it to the "Document Ready" state of our CAD workflow. It has 15 different transitions (and hence, 15 different revs) that a user can select. Generally, it only takes 1 transition to fix each file.

                      Also, since all the drawings are referenced to the proper models, I instruct the users to advance the revs on the models to match their associated drawing.


                      I then wrote a dispatch to take the rev off the filename, and place it in the datacard as a reference until the user "Migrates it" to the correct rev. While it's doing that, I also made it fix the Item number on the datcard so it no longer displays the rev aswell, since I used "Filename without extension" for the control default.


                      I'm having our IT department install some batch programs to try and automate the process.

                      Our problem is that our files are not "clean," meaning we have multiple parts of the same part number, with different revs.

                      This leads to a hairball of issues as we have older drawings that are still referenced to the older rev parts.


                      All in all, I've learned that making a test vault and experimenting with different ways to do it is the best way to start.


                      Hope this helps,