14 Replies Latest reply on Nov 18, 2014 9:46 AM by Jonathan Gamble

    Design revision management of Electronics CAD files in solidworks EPDM

    julian higginson

      Hi all, I'm not a solidworks user, but I've been poking about in EPDM trying to work out what it's capable of, and while I understand a bit about data cards, and even that I should be able to use word doc and excel templates to display EPDM properties, I have some bigger questions about things maybe related to APIs and what could be theoretically possible.


      so first up - Is anyone here looking after electronics CAD files in EPDM?


      We have a new system at the moment that is working quite well as we build it up with mechanical solidworks assemblies, and it seems pretty amazing with the level design revision it can control, but it's really working on an understanding of internal file links of the solidworks cad files in order to provide solid revision control of output files. And - we are wanting to make EPDM the source of all information for manufacturing, so that when things are ordered, everything needed to make the order is there, and accessible, and linked into system level assemblies (made of sub-assemblies, which are in turn made of sub-assemblies, etc etc).



      Anyway - I use a program called Altium Designer for electronic schematic capture and board design with its own proprietary file formats... It has production output files (for instance, I usually generate a set of gerbers for a PCB layout revision release, and will do excel BOMS based on configuration setups for different build variant revision releases) that are the actual artifacts sent to production when I want a design built.


      so - is it at all possible that solidworks EPDM could revision manage things at the design level? Could it ever be made to understand a binary PCB project file that has links to schematic files and a pcb document file and understands build variants and output jobs and what needs to be autogenerated when any of these things are changed? or are we looking at having to keep the actual design revision control out of EPDM, and make release file "bundles" - for instance a zip file of gerbers to represent a released PCB revision? and revision controlled excel files (which are actually autogenerated out of my cad system design) for board component BOMs?


      While I'm at it, does anyone use EPDM to manage source code? or is the best I can expect to do is handle the sorce revision management outside of EPDM in somethingl like SVN like I'm used to, and just release a zip file with hex files and chip configuration files for each production revision as the designs grow? I imagine if anything non-solidworks is going to be doable in EPDM, then a simple c project with standard makefiles might be able to be controlled.




      While I'm asking questions - does anyone here even use EPDM to control the release of manufacturing documents generated from non solidoworks CAD stystems?

        • Re: Design revision management of Electronics CAD files in solidworks EPDM
          Raghavendra Bhagavan.S.M

          Hello Julien !


          Welcome to Swx Forums !


          EPDM Can handle upto 65 types of commonly used files.


          What is the file extensions of you PCB Gerber files ? If the file formats are EMN / EBD, These files can be used to open in SolidWorks using CircuitWorks and save them as SolidWorks files.


          Else, You can dump the files into vault by creating an File Category and assigning that category to a workflow and have those files follow the workflow.


          I hope this helps.


          Cheers !


            • Re: Design revision management of Electronics CAD files in solidworks EPDM
              julian higginson

              Hey Bhagavan,


              Thanks for the welcome and the info!


              I'm not interested in importing the gerbers into solidworks - they are just output files and should have no changes made to them once they have been generated (apart from maybe doing pannelisation for manufacture, though I normally leave that to the manufcturing house so they can do it to suit their own processes and machine capabilities) Also none of the electronics team here knows how to drive solidworks anyway.


              Also, from what I understand, the biggest thing stopping me doing design  file revision management with EPDM in parallel with my cad software  seems to be the file metadata thing. As I understand right now,  file metatada handled by EPDM is only the internally stored type, in  files that are designed to have it (like office files, solidworks files,  and things like that) rather than the standard filesystem metadata. so  as long as my cad files have no space for EPDM's metadata in them, then  EPDM will never be able to do do full revision management of my cad  files.... is this correct? or can I do more than this with EPDM API/extension stuff if I learn enough about it?


              I also suspect that if I want to be able to release some files that have no space for internal metadata storage, this means that I'm going to have to use file names in order to reflect version and release status, and have all versions of a file sitting together in a directory, rather than a sigle versioned file in the EPDM system that can be moved forward and back in revision as required.


              But even if I could do proper control of all my output files, I guess my problem with applying the workflow to only our output files, is that we're leaving a big gaping hole in the electronics team process - one that leaves a room for mistakes and omissions and isn't really giving us the benefits that revision control should give. Really to do this properly our design files should be revision controlled (and I can continue to do it manually with file name changes and parallel directories, like I have been for the 11 or so years I've been in electronics design but am wanting to take advantage of proper revision and file state control and an official approvals process in EPDM if I can) and the output files should just fall out of that, shouldn't they?


              Can anyone who knows more about EPDM than me (most of you here reading this, I think) comment on my assumptions I've just made, and let me know if ther'es much you can do in terms of real file status and revision management workflow of files that don't support EPDM's use of metadata?

                • Re: Design revision management of Electronics CAD files in solidworks EPDM
                  Raghavendra Bhagavan.S.M

                  Hi Julian !


                  I would like to correct you understanding.


                  Julian: As I understand right now,  file metatada handled by EPDM is only the internally stored type, in  files that are designed to have it (like office files, solidworks files,  and things like that) rather than the standard filesystem metadata.


                  Bhagavan:  The Meta data of the files are copied to SQL Server. Only If the file has the properties and those properties are mapped to data card variables. To put it in other words:


                  Scenario 1 :

                  1) File properties (Consists of the meta data) ->> Copies to the Data Card (Only if the variables are mapped).


                  2) If the variables are mapped, The bi-directional updates are also possible.i.e If you change something in the Data card with out opening the file. This pushes the update to the fiel.


                  In your case: I think this is the way it works: Create a File Category, Create a workflow with the revision mechanism and assign the category, Create a data card to capture the key information about the file.


                  Now, as the usage scenario:


                  1) User Check in the file :A data card is displayed, You can make certain fields to be mandatory. User fills those fields with the appropriate data. Then check-in the file.


                  2) The file is pushed through the workflow and assign the approvals, revisions etc.


                  Once the files are checked in. It cannot be allowed to modify unless checked out.


                  Cheers !



                    • Re: Design revision management of Electronics CAD files in solidworks EPDM
                      julian higginson

                      aaah, OK..


                      So for release files that don't support internal metadata, the major thing I won't be able to do then is reflect revision/approvals automatically inside the released files, rather I would have to manually make a tentative release file with the release state and revision in the file to be what I'm aiming for, and then when it gets approved, the metadata for my file will advance to match what I hand coded inside the file. But we can at least still have the metadata there in the system and correct - we would just have to be extra careful about making sure revision and state information is correct before submitting for approval..


                      As long as files set in EPDM to be in "under change" or "waiting for approval" states can't be released to production people I guess there's not too much chance an unreleased file that's marked internally as released can end up in the wrong hands....


                      It sounds like there's not much hope for having EPDM understand my CAD file formats and file relationships, and I should really be focussing on just looking after the release files in EPDM.


                      thanks for your help, Bhagavan!

                        • Re: Design revision management of Electronics CAD files in solidworks EPDM
                          Fraser Kiddle

                          HI Julian,


                          Have you started using EPDM to manage your Altium files? I am a Solidworks user and we are seeking a PDM solution for managing all of product data, but mostly just the Solidworks and Altium files. I am really hoping that EPDM is a viable solution just because it would be so much easier for me and it's seamless intergration with SW.


                          Do you use EPDM to manage your BOM of Solidworks and other files? How well does that work? Is it user friendly for someone like yourself (non-SW user)?


                          Any info would be most appreciated!

                            • Re: Design revision management of Electronics CAD files in solidworks EPDM
                              julian higginson

                              Hi Fraser,


                              yeah we have, but to be honest I'm pretty unhappy with it. EPDM has features that are great for people working with the 3d model paradigm in solidworks, but it fails terribly with the kinds of project structure my tools and workflow needs, and I end up spending a lot of time manually managing things that a source code revision management system like subversion would just nail effortlessly.


                              Maybe start to think about the distinction between your electronics CAM files and CAD files, and what you absolutely need to manage in EPDM fpr manufacturing control purposes..


                              if I was in harge of things here I'd have my CAM files in a release folder managed by EPDM, and my CAD files in a completely different repository like SVN. (with release rules set to target the EPDM release folders)

                    • Re: Design revision management of Electronics CAD files in solidworks EPDM
                      Brian Dalton

                      I've thought about this a little since we have an EE dept. and I'd like to be able to roll their work into our system eventually, along with the ME data.  Here's my understanding:


                      As far as version/revision control, EPDM can perform that function for any file that is recognized by the Windows OS, regardless of whether or not that file type contains properties that can be linked to.  Just put the file into the vault and  version history will be maintained.  If revision control is also desired, that is a function of the workflow that the file is assigned to.


                      For the case where a design is captured in a suite of files rather than a single file (as in schematic, board layout, drill drawing, etc. for EE files) when the design is updated all the files of the suite should be updated as well, so that the versioning and revision histories will remain synchronized between the individual files of the suite.  In order to achieve this, the several files of the suite would need to be linked (paste as reference) when they are first created, assumably to an over-arching project file, which could be an Excel or Word based form, a simple text document or even a virtual document.


                      Finally, bear in mind that every EE that would be using the system would need to have access to PDM, so there would likely be a cost in terms of buying more licenses.

                        • Re: Design revision management of Electronics CAD files in solidworks EPDM
                          julian higginson

                          Brian, your understanding is about where mine is at a conceptual level, and we use paste as reference to keep things tied together but from my execution experience it's pretty bad.


                          For a start it's a duplication of data that's already in the tool's project files which can only ever be adequate at best, but also leaves the door open for tears.


                          Secondly, it's tedious fiddly manual work that could be handled automatically, and so sets people up for mistakes. making sure the door of tears above has a lot of traffic.


                          Then on top of that we've had a LOT of problems keeping things lined up with these manual links. sometimes stuff goes "wrong" and needs fixing. no idea even why. Think it's that some computers are setup to always use the latest version of a file... But whatever it is, if you have combinations of different revisions of source/design files linked to particular versions of release files, things go wrong. Here, in any case.


                          And the support people only seem to understand solidworks files and textbook use cases. Very very very frustrating asking questions about problems EPDM causes withn non solidworks files, and having to stop my fault description procrss to go back and explain from basic princples what it obvious to me or anyone familiar with my work  what I am needing to do and why..


                          I am recommending here, and hope to move soon, from live working project folders to a version/revision conrtrolled zip files. It will mean that anyone who wants to work on something has to check it out, unzip it to a working folder, and then zip it all back up and check it in at the end.... clunky, but less painful than pasting 50+ files from a large project as reference to something, and orders of magnitude more reliable. That's about the only way I think I'll be able to believe EPDM can manage non solidworks project source code states correctly.


                          But like i said in my post above, ultimate solution would be:

                          1) have the CAM (production release) files in EPDM where they can be linked and used by the people doing solidworks assembly BOMs, then used by purchasing people as needed.

                          2) having the CAD/source sode in a much more generally useful system like SVN and the projects setup to target manufacturing file releases to the production folders.SVN does really cool and useful things like branching and merging and allows multiple people to work on multiple parts of a project (or even a single file!) at the same time. EPDM is about 20 years behind software source control version management in this area. (Also latest release of altium designer works really nicely with SVN in terms of complete project lifecycle management. pretty much right out of the box)


                          oh well.. it's all been a learning experience.

                        • Re: Design revision management of Electronics CAD files in solidworks EPDM
                          julian higginson

                          wow.. this old thread keeps getting a bunch of looks every week.

                          Seems like something a lot of people are looking for!


                          I'd still really like to know if anyone can put their hand up to having an EPDM installation that is handling version control of software source or electronic designs at the project revision level, rather than just treating it like a pile of unrelated files (and doing something more intelligent than using paste as reference to an output file)


                          Actually - anyone looking after project level revision control of any kind of design project where the design is covered by a collection of different (non-solidworks) documents would be interesting to hear from.


                          So - anyone had any progress in this area that they're happy with since this was originally posted?

                          • Re: Design revision management of Electronics CAD files in solidworks EPDM
                            julian higginson

                            PS, rather than just leave open questions and problems to anyone who stumbles onto this thread looking for help in the future, I wanted to mention a useful idea if someone absolutely HAS to keep source code or other fast moving multi file design projects in EPDM as zipped up projects.


                            You can use a GIT repository in your project directory for fast and easily undo-able changes and experiments by the developer. Then zip and copy and check into the EPDM folder as you get to important milestones, or accumulate enough changes that you need security of having it backed up in a server.


                            Basically you're then using a standard distributed version control workflow, but replacing git push with a zip and copy and checkin to EPDM. So EPDM is the equivalent of the GIT master repository, and gets updated as often as it would without any extra local version control capability. And the developer has the security of a much faster local small version control that you really need with software.


                            Only real downside with this is evey single EPDM checkin has the entire local GIT repository with the entire commit history embedded in it.... but source code at least makes for very small git directories, so that's not much of an issue. (You'd think very hard before doing this for a brochure design with heavy graphics using adobe InDesign or something though...)


                            You also lose any merge capability coming from or to the master repository... but since EPDM seems to only let one person check out a file at a time, and it's the master system, then I guess that's not such an issue. And of course, the master repository won't have any understanding of branching....


                            This still feels a bit like using a comb to chop carrots, though maybe it's to be expected if the file paradigms behind solidworks just aren't compatible with the paradigms behind other software used to do completely different things?


                            Personally I'm still not convinced that any Production Documentation Management system needs to hold anything more from electronic and embedded developers than  the files needed for production, and that non-solidworks development processes are better supported by tools that were designed for them in the first place. Having a couple of Subversion or GIT repositories on the same server as your EPDM vault isn't that much of a leap from just having an EPDM vault.

                              • Re: Design revision management of Electronics CAD files in solidworks EPDM
                                Nick Iliev

                                I know this thread is old, but I didn’t find any other information about using EPDM for software version control.


                                I used CVS long time ago at my previous job. Right now, at my new job, we have a lot of mechanical engineers using SolidWorks, but we are just two software developers. The mechanical guys use EPDM.


                                Currently we are using Visual SourceSafe for software version control, but I was planning to replace in with SVN, i.e. VisualSVN server and TortoiseSVN clients. Well, now I was told that it is also possible to use the EPDM for software version control. I am not talking about just zipping the project and check-in in the EPDM vault. Is it possible to use it the same way like a regular software version control tool? Any experience with this; or suggestions?

                              • Re: Design revision management of Electronics CAD files in solidworks EPDM
                                Mark Mason

                                Hi ALL

                                I have been looking for solutions to this problem for a while and it still looks like EPDM is still not designed for software or electronics or embedded design files .


                                Just wondering if any one has had success in implementing and operating embedded design projects in EPDM or if the Solidworks team has made any changes to improve this?


                                What does the Software Design team for EPDM use??

                                  • Re: Design revision management of Electronics CAD files in solidworks EPDM
                                    Jonathan Gamble

                                      We develop pneumatic valves and embedded electronic controls, so we have solidworks CAD files alongside PCB design files and firmware.  We use zip files to hold the firmware and ECAD (PCB) files.  That way there is one file per item, which can be referenced on a BOM, given a revision, and pushed/pulled through the workflow in just the same way as the cad files.

                                    The problem is controlling how the engineers use the zip file.  When they edit say a PCB design, they typically drag the zip file to the desktop, unzip it, and edit it.  This creates an alternate "version of the truth", which is open to abuse.  The same opportunity also exists with the solidworks files.  The only difference is that it is easier to play by the EPDM rules with solidworks, because files can be opened and edited directly from within the file explorer.  So in an attempt to make it easier to do the right thing, I created a couple of simple dispatch scripts which run on .zip files after check-out, and before check-in.  The first unzips the file to the desktop, and the second zips the files, copies them back into the vault, and deletes the folder on the desktop.  So the engineer only has to checkout a zip file to get a working copy.  Then (after making changes), check in the file to tidy everything back up.  I used 7-zip to do the zipping and un-zipping because it has an easy to use command line mode.  I had thought about unzipping the file to a hidden folder and opening it, but this creates problems when the engineer wants to go back to it the following day (without checking it in in the mean time).

                                    The only problem with this is that none of the meta data are linked to the files in the zip folder.  I'm going to try to create a text file inside the zip file with the meta data, so at least everyone has access to the data when working on the files.

                                      We use Altium Designer for PCB design (because it has good 3D capability).  I heard through the Altium grapevine that they and Solidworks had some discussions about interoperability earlier last year.  My understanding though is that they agreed not to try to link the two systems at this time, but to keep talking.  I think this is a shame because combining electronic and mechanical systems will only become more important; especially with the current craze for the "internet of things".

                                    1 person found this helpful