12 Replies Latest reply on Nov 16, 2015 10:22 AM by Joe Shigenaga

    Map data card variable to revision number

    Joe Shigenaga

      Hi everyone,


      I would like to set up a manual revision increment process. I'm working on EPDM 2013.

      For example, a user put a file in the vault and manually choose the revision number from a list (for example C) in the data card.

      After checked-in the file, user do some modifications on the file and manually choose D revision from the list and check-in again the file.


      What I want is that any user can go to the history of the file and see revision C et D. So far, I can see the changes on the revision but it displays revision A and B (Because my revision number starts from A).


      I guess I need to map the data card variable to revision number but I don't know how to and I even don't know if it's possible.


      Does anyone have a solution to solve my problem ?





        • Re: Map data card variable to revision number
          Charley Saint

          Hey Joe,


          I think the only way you can get anything close to this is by upgrading to 2016. They've added a "Set Revision" command in the new version that allows you to set the revision and variable to anything you want from the same dialog. Anything else is going to require some coding on your part.

          • Re: Map data card variable to revision number
            Brian McEwen

            There are add-ins you can buy that will set the revision.

            I'm not sure I fully understand what you want...


            If you add one step, changing state on the file, then you can do this (let the user pick the revision, and set it in PDM).

            You just need to create a legacy type workfow that reads the datacard revision variable and uses that to increment the PDM system revision.


            Re: Grade my workflow

            Example revision changing workflow.

              • Re: Map data card variable to revision number
                Joe Shigenaga

                Hi Brian,


                Thanks for your answer.


                What I want is that when users check-in a file, he manually put the file revision in the data card. (for example A)

                Capture 2.PNG

                When he modify the file, he also manually change the file revision in the data card before asking for approval. (changing to B)


                And I want that when we look the history of the file, we can see the revision number of the file.


                Capture 1.PNG

                Actually, depending of the file, we have different revision system (A,B,C....or A1,A2,B1,B2....or 1,2,3..or 01,02,03.....). Users, depending on the file, will use the appropriate revision system.


                So I wanted to map the data card variable to EPDM Revision number in order to have the revision number in my file history.


                Do you know how can I do that ?



                  • Re: Map data card variable to revision number
                    Brian McEwen

                    The system Derek Lawson explained is how a lot of users would approach user control of revision level.  But I'm still not totally clear on what you want.  Maybe you could write a step by step of what you expect to happen (if that was not it).


                    The Revision A and B that you boxed in the history image - those only show up with a state change to (to a state called "Released" or something equivalent).  And most users would not want to officially revision stamp a file before it was approved (they would just change the data card variable), which maybe sounds like what you are saying.


                    For different revision systems you will need to create different EPDM Revision Numbers, and Revision Components. - And you will need multiple paths (transitions, state changes) in your workflow. 

                    2014 SOLIDWORKS PDM Help - Creating Revision Numbers

                    2014 SOLIDWORKS PDM Help - Assigning Revision Numbers to Workflow States

                    2014 SOLIDWORKS PDM Help - Setting Revision Numbers Automatically   (not what you want, because you want the user to have control over the revision level, but it is fundamental to understand how EPDM works)


                    Here are 3 places that offer rev control add-in tools if necessary.

                    "GoSetRevision allows SOLIDWORKS Enterprise PDM users to manually manage and set the revision of files." from goengineer.com

                    Revision Manager | HawkWare


                      • Re: Map data card variable to revision number
                        Charley Saint

                        Fair warning on those add-ins, the API has changed A LOT since 2013 (mostly shifting to .Net 4.0 in 2014) so make sure they will work with that version if you want to purchase.

                        • Re: Map data card variable to revision number
                          Joe Shigenaga

                          Maybe my explanation was not very clear. I will explain you more in details.


                          Actually in my company we mostly use EPDM for supplier's file sharing. We have specialists for a specific type of equipment and they receive files from suppliers. They have to put those files in EPDM to share with others.

                          We seldom do part design and when we do it, it's on Autodesk (a project will start soon to change to SW).


                          Now, every time someone wants to add a file into EPDM, he has to fill the appropriate data card. In this data card, he has to fill the revision number of the file. Because it's a supplier file, the revision number is not necessary A. It could be A,B,C,D or A1, B1, C1, or 1, 2, 3 depending on the supplier revision system. So for example, I receive a file from a supplier and the revision is C3, so I will put C3 in my data card. And when the supplier will give me an update of this file, I will need to update my file and I will manually enter D1 (for example) in the data card.

                          Because we have many suppliers using different revision system and because files we receive are not necessary starting from A or A1, I guess I cannot use the EPDM revision numbers and components. The revision number in my data card is in a basic variable.


                          My question was if I can map the revision number I have entered in my data card to EPDM Revision number.

                          The reason why I want to do this is when I will update a supplier file (for example go from A To B revision number) I could clearly see the revision number in the file history.


                          Capture 1.PNG


                          If I don't map my variable, we can see that the variable has changed but we don't have more information.


                          Capture 3.PNG

                          The only way I see to solve the problem is to force users to put a comment but I would like to avoid this.


                          To sum up:

                          I want to have a manual revision system where users fill the data card with the supplier file revision.

                          We have a "Waiting for approval" and "Approved" states but I don't revision to automatically update when file is approved. The approver only check if the data card is correctly filled and if the file is in the appropriate folder.

                          I simply want to clearly see the revision history of the file in the file history without user fill a comment.



                          I hope that now it's more clear on what I want.

                            • Re: Map data card variable to revision number
                              Brian McEwen

                              Joe, thanks for the additional explanation.  I get it now.  What you want could be done, but it would effectively require a different State or Workflow for each style of revision system (you could call the final state the same thing for all the different workflows).


                              Here is what I know: The text you want to show up the Event column of History - it is the official database revision "stamp" and currently (I don't know anything about the new 2016 feature) there are only 2 out-of-the-box ways to create that.  Both require EPDM revision numbers and components.

                              1) With the file already in the final state, Right Click>>Modify>>Increment  Revision.   This works fine if you don't have to go up a lot of revisions. To get to D you would need to do it 3 times.

                              2) Use the process Derek Lawson described to read the revision and then stamp it during the state change. User could select the appropriate path based on the rev system.


                              For one type of file (using 1.01, 1.02 revs), we have resorted to using a Comment during final State change to indicate the revision. It is not ideal, but it has not been worth it to me to set up a whole workflow for that small percentage of files. Once I did the work, we would be set for future files though. You could create the workflow for the 2 or 3 main revision systems at least, and rely on a comment for the weird systems. And small consolation, but the Revision Components could be reused for the various Revision Number systems.

                              • Re: Map data card variable to revision number
                                Charley Saint

                                Hey Joe,


                                Here's the what's new in 2016 doc, check page 17 for info that's pertinent to you:




                                This will do exactly what you're looking for, is there something that's keeping you from upgrading?

                        • Re: Map data card variable to revision number
                          Derek Lawson

                          Hey Joe,


                          You're seeing this because the file is new inside of EPDM, therefore it will start the revision scheme at the beginning (A,B,C,etc). There are a few add-ins out there that can update the information for you based on the value in the data card, or you can simply use the "increment revision" option under the drop down menu "Modify" inside of the EPDM explorer.


                          However, if you want to keep things out of the box, I would set up a series of automated transitions with conditions to see what the revision value is on the data card. Then, set the revision incrementation in that transition to reset the revision to the proper counter based on your revision scheme. For instance, the first automated transition would have a condition that the variable "Revision" needs to equal A. The revision in that transition would then be set to reset the revision to 1 (which would typically be A). The second transition would have a condition that the variable "Revision" needs to equal A. The revision in that transition would then be set to reset the revision to 2 (which would typically be B).


                          That way, whatever the value is inside of the files data card, EPDM can then update it's internal counter to match that, which is what you see in the file history.


                          Transition Set Up.jpg

                          Transition Condition.jpg


                          Does that make sense?


                          Derek M. Lawson

                          • Re: Map data card variable to revision number
                            Andrew Deboer

                            I'm going through EPDM setup from scratch right now, and I know you want a manual way, but if you can identify specific vendors or company divisions that use different rev schemes, then you can automate it in the workflow and have the same results.


                            You need two things:

                            1- Be able to import legacy files, read its revision and check it versus the EPDM DB Revision. Then when it doesn't match you can auto-roll parts to the correct revision. Like Derek showed above. Once files are at the proper revision level, they can proceed normally through a workflow. You only need to do this when a file is first added to a vault.


                            2-Seperate workflow or workflow branches with initializing conditions based on the specific vendors that have different revision schemes.

                            Set up a variable and custom property called vendor (you could also set up a list). Vendor A uses [A-ZZ]. While Vendor B uses [A-Z][0-9][0-9]. In your workflow, set an automatic transition to check for vendor=A and vendor=b. Then you just need to copy the workflow, and change the revision scheme field from Alpha to Alpha+Secondary for the states and transitions in the second workflow. Then every time you edit a file, the file will be passed through the correct workflow with the revision scheme it needs.



                            Depending on how your cards and variables are set up you might need some new variables and custom properties. For instance, all my parts used Revision as the custom property, but in EPDM the default Revision variable is also called Revision. And on every file addition or check-in EPDM looks at the database Revision and overwrites the mapped custom property with that value. So to compare legacy revisions, I used a macro to create a new variable v_LegacyRev, and copy Revision to v_LegacyRev before adding a file to the vault. Otherwise, the revision level of my legacy parts would be lost on vault addition/check-in. (Note: It was easier for me during set-up to change all my parts custom properties than to attempt to rename/change the EPDM Revision variable and change my workflow. Its probably just a simple variable mapping issue, but it wasn't worth the extra time investigating. Workflows are a pain too troubleshoot without a proper debugger. )