Editor's note: This article was originally published in May 2016, and has been updated to include a few additional options.
CAD—computer-aided design or computer-aided drafting, depending on who you ask—is technology created to make it easier to create specifications for real-world objects. Whether the object you're building is a house, car, bridge, or spaceship, chances are it got its start in a CAD program of one type or another.
Among the best-known CAD programs is AutoDesk's AutoCAD, but there are many others, proprietary and open source, out there. So how do the open source alternatives to AutoCAD stack up? The answer depends on how you plan to use them.
Let's start by being honest and upfront about something: If you're looking for a drop-in replacement for your existing CAD program that will provide identical functionality and workflow without making any changes to your processes, you're going to be disappointed. But I would argue that the reason for your disappointment has nothing to do with the licensing of the product—drop-in replacements for complex programs with long-time users who have specific needs and expectations for their software are hard.
The trick for deciding whether a replacement piece of software, whether open or closed, is a good choice for you is to tease out exactly what your needs are. The situation is no different than discovering that the person who insists that they "need" Photoshop is just using it to draw a few geometric shapes and remove red-eye from photos; what they really need is a graphics editing tool that can replace those specific functions. Whether it has all of the bells and whistles of the original is irrelevant if those features sit paid for but unused.
My personal journey through open source CAD programs was no different. I worked with AutoCAD briefly in grad school, so when I wanted to play with drawing three-dimensional plans for something, it was pretty much all I knew. But that alone didn't make AutoCAD the best choice.
As I've strived to replace more and more software in my life with open source options, Blender turned out to be just as good for my 3D modeling needs, whether I was playing with models created for a 3D printer or looking at landscapes exported from other programs. And for the relatively simple task of planning out my home landscaping projects, Sweet Home 3D has been an excellent open source alternative.
If your needs are a little more specific and you really need a dedicated CAD program, here are great open source choices to consider:
SALOME
The SALOME platform is an application and framework suitable for industrial design and simulation. It's a side-project of the 3D powerhouse, OpenCascade, and has some serious industrial users. SALOME integrates a CAD and CAE modeling tool with industrial meshing algorithms and advanced 3D visualization. Its geometry editor can import STEP, BREP, IGES, STL, and XAO files, and its mesh editor can import UNIV, MED, GGNS, SAUV, and more. It has integrated Python support.
As with all other CAD applications on this list, it's open source, so if you have in-house developers creating plugins for it, there's no need to deal with a clunky API. You have direct access to the code base.
BRL-CAD
BRL-CAD is a cross-platform CAD tool that dates back to 1979, although it would take 25 years for the source code to be released under an open source license. In fact, BRL-CAD is so old that it has been credited with being the oldest source code repository of an application currently in active development.
Originally developed by Mike Muuss at the Army Research Laboratory, BRL-CAD is been used for decades by the United States military for modeling weapon systems, but it also has been used for much more everyday design tasks, from academic to industrial design to health applications.
So what does more than 35 years of development bring you? BRL-CAD is made up of more than 400 different constituent tools and applications spread across more than a million lines of source code. Not all parts are under the same license, with licenses ranging from BSD to LGPL to simple public domain; the COPYING file within the project's source code on SourceForge has more details.
FreeCAD
FreeCAD is a parametric open source CAD program that was created to be able to design "real-life objects of any size," and although it's clear that many of the showcased examples created by users are smaller objects, there's no specific reason it couldn't be used for architectural applications as well. FreeCAD is written primarily in C++, and if you're a Python coder you'll want to take advantage of the ability to extend and automate FreeCAD using its Python interface.
FreeCAD can import and export from a variety of common formats for 3D objects, and its modular architecture makes it easy to extend the basic functionality with various plugins. The program has many built-in interface options, from a sketcher to renderer to even a robot simulation ability. Currently in beta, FreeCAD is being actively developed with regular releases, but the developers warn that it may not yet be suitable for production use.
FreeCAD's source code is hosted on GitHub and is made available as open source under an LGPL license.
LibreCAD
LibreCAD is another CAD program that is designed to work across Windows, Mac, and Linux alike. A fork of QCAD (mentioned below), LibreCAD has an interface that will look familiar to AutoCAD users, and by default it uses the AutoCAD DXF format for importing and saving, though it can use other formats as well. LibreCAD is 2D only, though, so it makes more sense if your intended use is a site plan or something similarly, err, flat.
LibreCAD is licensed under the GPL and you can find its complete source code on GitHub.
These aren't the only options. Other good choices that are worth your time to check out include:
- OpenSCAD, which is billed as "the programmer's solid 3D CAD modeller," owing to the fact that it is not an interactive modeler, but one where modeling is done with a script file.
- QCAD, which is cross-platform but limited to two-dimensional applications.
- SolveSpace, which is a parametric two- and three-dimensional CAD program.
- OpenJSCAD.org, which is an updated frontend for OpenJsCad. Both are JavaScript-based 2D and 3D modeling tools that run in the browser and are made available under the MIT license.
Since we can't include all of the options here, if you have a favorite, let us know in the comments below.
Are you interested in reading more articles like this? Sign up for our weekly email newsletter.
24 Comments