How Does a Database Replace CAD Files?
Anyone who used CAD in the period from 1995 up to about 2010 was very lucky. You got to see an explosion of new tools to create and control CAD models. The CAD model went from just a geometrical representation to a tool to simulate every aspect of the manufactured part’s use as part of a product.
Since 2010 there have been some modeling developments, but they have been in synchronous and subd tools, and not as widespread as the previous changes.
Most of the engineering design technology industry has focused on one two things: cloud delivery of applications, and 3D printing. Those can be exciting in their own way, but one is really an IT delivery development and the other is a 30 year old technology that we finally figured out how to commercialize. So, its exciting, but not that exciting.
If you’re an old timer, you might remember referring to CAD files as “databases”. CAD files today and even from decades ago were much bigger than most other files used in business applications, but the word “database” was not used in the same sense in which we use it today. In the past, I think the word database was used just to connote any large file with a lot of data in it in some organized structure.
I’m not here to write about database structures/schema, but I would like to shine a little light on how a CAD system can use a database instead of individual files for parts, assemblies, and drawings. To do this, and I know this isn’t a 100% applicable analogy, but I’m going to use this blog as an example.
Just as a disclaimer, there are relational and non-relational databases, and while CAD systems like Onshape are based on a non-relational database and this blog uses a relational SQL database, the distinction between files and databases is bigger than the distinction between relational and non-relational databases, so I’m treating the types of databases as if that difference doesn’t matter, even though it actually does matter, but only to people who know the difference. All that just to say please don’t accuse me of conflating the two types of databases, I’m just simplifying for this example.
HTML (hyper text markup language) is the simplest way you can create a website – data read by a web browser. The html code contains a lot of text, CSS formatting, and it formats the display of that text and calls various other types of files for more complex information, like images. So the text is included, and the images are referenced. This is kind of like a CAD drawing, where the actual part on the drawing is an external reference, but the section lines, notes, drawing border, and other things are kept inside the drawing file.
But there is another way of setting up web sites. You can have templates that show what kind of data goes where, and then the actual data to fill in the pages comes from a database. There are many kinds of data. Posts, titles, images, text, status, date, author, etc. And then all of that data is pieced back together into a set of pages that are displayed in a web browser.
CAD data is larger and more complex than a blog post to be sure, but you can see how different types of data within the CAD document types could be organized to create a part with infinite undo, for example, or a part that could be shown in different configurations or revisions easily. And in a world where big data kept in big databases is king, it makes sense that our complex CAD models can take advantage of some of the developments in big databases. How we store the information is another IT development, but it does simplify a lot of the work, like the file management side of things.
I’m not sure about the proprietary details of how databases for something like Onshape is structured, there are a lot of ways to do it. Since it is a history-based modeler and have infinite undo, they could just store each command as a field in the database. Or they could store individual features. The very cool FeatureScript functionality with custom features might give away some of how the CAD model is broken down and stored as smaller parts in the database.
And because databases are set up to be accessed simultaneously by many users, there are a lot of obvious benefits of using databases for CAD files. Including that PDM function is taken care of for you. Search, share, meta data, reports, etc. All of this is much easier with a database. In fact, most PDM tools use a database to control the metadata and file locations associated with traditional file-based systems.
Unfortunately right now the only way to use database CAD is to get it on the cloud, unless you’re a very big organization. There are companies who can pay enough to be allowed to install what we normally think of as cloud software on their own, internal, private cloud. I can imagine 3 reasons for this. Security, control and security.
If we could get the database CAD to work on a local network for small and medium organizations, I think the CAD industry might be something to fall in love with again. But the appetite for growth whether it’s good for people or not is just too strong. Corporations everywhere have totally lost sight of the humans from which their success is built.
The bigger the pot of gold we create with an online repository of product development data, the crooks and criminal states won’t be able to ignore it. They will get in. Identity theft, physical breaking and entering, hijacking a connection, one way or another, big targets are not immune from hacking, regardless of what the sales and marketing say.
What started as a CAD industry has developed into PLM, and now engineering technology. It developed as a series of small companies developing a single product or just a few software products. It has evolved into several large players who control the technology to work for the large corporation rather than the small independent makers or developers or inventors – humans.
With all human endeavors, things grow. Cities grow. Companies grow. The difference is that human beings know when to stop growing. If we kept growing physically, we would eventually die under our own weight, but we have evolved the sense to stop at a reasonable level. Not so with human endeavors, however. Population, cities, organizations grow until they get too big to support themselves, then they die. This is why I think we’ve already seen the best of what the CAD industry had to offer. It has grown to the point where it’s hard to recognize human traits. For a while it was focused on serving the needs of smaller users, but now you have to be much bigger to get attention. This is kind of a side story, but I think it is elemental to the overall picture. When organizations grow past the human scale, they are no longer relatable. Technology needs to be human scaled to be most effective.
After 25 years, I no longer find joy in this stuff anymore. Not just the drawn-out customer-antagonistic CAD saga, but design, the hassle of collecting on bills, the global competition with those who offer design and IP services for “free”, the fact that almost all paying work is now under subsidiaries of “defense” contractors—none of it.
So I’m done with it. I’ve found other work that’s more interesting, more fulfilling, and tends not to be usable for nefarious/destructive purposes. And I do find joy in this other work.
No big deal, no hard feelings—the world will be what it will be, and I don’t need to change it (not that I can).
For those staying behind in this realm—I wish you luck and prosperity. Enjoy your work. I’ll still be around, just not attached to selling design work anymore.
Thanks, Matt, for the thoughtful posts and the CAD Forum. I still lurk in/around there once in awhile. Let me know if you’re ever in southern Colorado and would like to unwind with a brew and a view.
My example is just a screengrab from MySQL for one of my blogs. WordPress is meant to be open and easy to work with. I think I’ve stopped imagining that the CAD industry remembers what it’s like to be a human or would work to benefit anyone other than investors. Sounds cynical, until you realize it’s really true.
And not just CAD companies……pretty much all file formats are encrypted. Personally I think it should be illegal to lock your data into an encrypted file format you cannot fully access. I shouldn’t need the original software to get to the raw data.
Files are databases too. You just have thousands of them and they can’t efficiently talk to each other.
Big difference in your example is that you can see the structure, it’s not encrypted into a file format. You can manage your HTML website code, VB, C#, etc. in many different cloud “PDM” like tools. They can easily track and merge changes.
I also have non-CAD software (gaming actually) that is web enabled. It’s just json and some encrypted files but the data are just text readable files and can be hosted on my own personal server or cloud hosted by the company for a monthly fee. Other users connect via a web browser. So software companies could do they same…if they wanted. But they are after that continuous revenue stream and locking customers to their product.
Imagine if all CAD files were required to be readable by a text editor in this way. I believe we could have the same branch and merge capabilities that Onshape has.
Jason, I too was going to point out that files are actually databases, but you beat me to it.
Matt, I suspect the reason that CAD that stores the data in a single database is only available on the cloud is just for that reason… It is a single database and thus cannot be shared like a file can. How do they share the data with a vendor for example? I believe they must export a model to a file in a neutral format or you must give the vendor a limited account on your cloud subscription.
Ken, I suspect they will offer the latter option as it means even more revenue, and that’s fine offering services for a fee. But they shouldn’t be be able to hold your data hostage. Limiting you to their sometimes shoddy neutral file export is not acceptable. I should have neutral format access to the feature data, assembly mates, etc. They can do it in a way to hide any proprietary information, they chose not to because they want to prevent you from easily leaving their eco system.
It’s not just CAD tools to be fair, its the entire software industry and locked file formats.
A good example is PDM. All of the data is in a SQL database and is readable. I could easily migrate that data into another PDM/PLM tool once you learn the database structure. With these cloud offerings however I’m not so sure.
Hey, Ken,
To your point, what is wrong with keeping your data in a central location and sharing access to the data? This helps business in different ways: 1. Security, 2) Revision history, 3) Only one source so no confusion, etc.
Why should I send my data out as a neutral format to share with suppliers? This only spreads the company data all over the place. If the supplier needs a brep to use for their services, then export a neutral file to supplier.