An End to Confusion with Collaboration and a Single Source of Truth
When CAD users reach a level of sophistication beyond simply using the software to create parts, assemblies and drawings, someone eventually starts asking questions about how to manage all the files that are being created. If you have ever managed files by shuffling them around a hard drive, you know what a challenge this can be. Add multiple users to the mix and a confusion can develop quickly, leaving you unable to find the latest parts for an assembly or the latest assembly for a drawing. You might also get a mix of different versions of parts or assembly files on your drawings, or a combination of strange errors that you can’t explain, and that tech support can’t fix over the phone.
Let’s go on a journey through levels of sophistication of data management to demonstrate why the most modern methods are the easiest and most reliable.
Let’s say that the year is 1985. Each part or assembly you design is represented by a single drawing. Each individual file uses the part number as the file name. That is all pretty straightforward, and typical of legacy 2D documentation practice.
Now you need to do revisions, so you just add a revision level to the file name. For example, you might have 123456A.dwg where 123456 is the part number. This gives you an automatic archiving method, as long as you remember to follow the rules for new revisions correctly. The rules are simple and easy to follow.
Associative Files – External References
The year is now 2000, and you are using SOLIDWORKS. One complication as far as file management goes is that drawings and assemblies use external references—meaning they pull data from other files. In order to pull that data, the referenced file name and path must be the same as the file name and path stored in the referencing file. This means that you can no longer change names or locations of files referenced by other files (parts and assemblies)—which means that you can’t put the revisions in the file name.
The SOLIDWORKS Help file actually publishes a list of locations where the software looks for files. You should read this help file. You will likely find some of the places it looks for referenced files surprising. The next-to-last place it looks is the place where it was last saved, which is where most people would assume the software would start looking. This help file should be required reading for all users, and especially CAD administrators.
Unique File Names and Search Paths
The Windows operating system does not allow files in the same folder to have the same name. This leads to the first rule of SOLIDWORKS file management: Use unique file names for every document. It sounds like a simple reality that technical SOLIDWORKS users would just accept, but many people try to ignore it or work around it.
One way to handle the growing list of rules, so that all the correct files stay in the correct location with the correct file name, is to keep the latest revision as just the file name/part number while all the old revisions have the revision after the file name. The current revision would be 123456.sldprt (let’s say this is revision C) and the old revision file would be 123456B.sldprt. This works, and guarantees the latest version is easy to spot. Again, it relies on consistently following the rules.
Alternatively, you could have separate folders where the folder name has the revision in the folder name, but the file name for the SOLIDWORKS document itself doesn’t change. This second method tempts fate somewhat because, as you saw from the help file, SOLIDWORKS looks in a lot of unexpected places for the file name. Leaving the file name of a different revision the same means the old versions can easily be substituted, but it also means that old versions of assemblies which use old versions of parts can be very difficult to put back together with all of the right versions.
These are all reasons why CAD admins often enforce the “unique file names” rule even when manually managing files. It is just too easy to come up with the wrong version when several versions are named using the same file name.
It’s Just Too Dangerous to Not Follow the Rules
Because of the rules mentioned, it is possible for all of this to work manually. You must have a thorough functional understanding of the rules that the software plays by, and you must execute those rules perfectly every time.
But following a list of complex rules exactly every time is not something that users are very good at. It is, however, what software and computers are good at. The correct file management procedure can be programmed into software and essentially enforced to ensure all of the links remain the same throughout revision changes.
To further complicate an already complex issue, multiple people working on individual files can run into read/write permission problems. Figuring all of this out in real time while following a complex set of rules is now beyond the capabilities of manual file management.
All of this has been laid out here not to teach you all the technical details of file management in a program with complex external references, nor is it to point out how monstrously tedious manual file management is. This explanation of how SOLIDWORKS finds referenced files is mentioned to convince you of the need for automation to do it correctly without spending more time managing files than doing design, modeling and documentation work.
PDM Automates Following the Rules
Following the rules correctly every time is what your traditional file management or PDM software is all about. If you are using SOLIDWORKS or any 3D modeler without automated file management, your process is one accident away from destroying your projects’ design data.
To some, PDM seems like an unnecessary over-complication of the CAD process, but to those who understand how complicated the process already is, PDM frees up the user’s time and mental resources to focus on the design rather than wrangling files.
Enter the Database World
PDM untangles the mess of files created by CAD.
But what if the tangle of files was never created in the first place? What if all of the data for CAD files were saved as fields in a database instead of files?
Databases have a lot of advantages. The data is segmented into small pieces to make it faster to work on, find and access. The smaller data chunks are easier to reuse. Databases can also be worked on simultaneously by multiple users and large amounts of data can be searched quickly. Databases are inherently good at linking things and linked data is what is happening all day long in parts, assemblies and drawings.
The more you look at this scheme of storing CAD data in databases, the more attractive it becomes. Links between features that we used to avoid, such as in-context relationships, suddenly become intuitive and easy as pie. The links are all internal to items in the database which don’t move around or change names the way files on a hard drive or on a network do, so they don’t have any of the problems associated with in-context links.
Above all, with CAD data in a database, the entire PDM issue becomes far less complex. The database keeps track of everything and the links between things. PDM becomes an inherent part of the CAD model.
In essence, the database approach brings us much closer to the “single source of truth” holy grail that all data managers seek. There are never document ownership conflicts and the model is always up to date.
Databases Used in Many Applications
Databases are used to manage all types of data for many different applications such as blogs, websites, customer management, tech support, sales information, marketing data and more. It is not as though pushing CAD into a database is an unnatural application. There is a lot of cumulative database experience out there beyond CAD and applying it to CAD simplifies a great number of things.
Implementation of a database is more complex than the implementation of a Windows file folder system, but luckily, most of the complexity is handled behind the scenes. Databases are most efficient when used at scale, so they are at their best in centralized installations.
Of course, this strongly suggests CAD on the cloud or a SaaS situation. When your data is installed on a cloud server, the most efficient place to run your application is also going to be a cloud server, so the application and the data are in some proximity to one another to avoid latency. It is a very efficient concept.
To further increase the efficiency, this system would be developed as an entire platform with CAD, engineering and other product development applications to ensure compatibility and homogeneity. Such a platform would also make training easier.
The Future Has Arrived
How long before we can have a cloud-based product design platform and make our file management a thing of the past? These solutions exist right now. Dassault Systèmes offers the 3DEXPERIENCE platform of applications, which have been developed to work together using a common interface. PTC’s Onshape also makes use of similar concepts. The infrastructure for the platform is offered as a service, and you have access to as much of the platform as you need at any time. These platforms solve many of the infrastructure and organizational challenges that have been imposed on CAD users since the 1990s.
If you have been wondering what’s next in the development of CAD, the future is already here. We can remove the most challenging infrastructure barriers. And with cloud-based applications available individually and through subscription, the smallest engineering and design organizations can take advantage of the same tools that previously only the biggest enterprises, with their unlimited IT budget, had access to.
Learn more about 3DEXPERIENCE with the ebook Developing Better Products in the Cloud.