Computer-aided design
WE COMPARE TONS OF STUFF SO YOU DON’T HAVE TO!
Seeking to create something out of nothing, Michael Reed examines some of the finest open source 3D CAD options that Linux has to offer.
Michael Reed
OpenSCAD » SolveSpace » CADQuery » FreeCAD » Salome
first saw real-time 3D graphics in the ’80s in the game Elite, and is still fascinated by spinning 3D things.
HOW WE TESTED…
The best way of testing a CAD package and finding out what it has to offer is to follow the official tutorials. That way, you are exposed to the features in the way that the developers intended. To that end, we’ve followed the tutorials to get a real sense of what the software is capable of. With any 3D CAD software, learning to follow the procedures for the creation of 3D objects is quite the obstacle course.
A CAD application can be brilliant, but it’s not much use if there’s no way of learning it or nowhere to turn when difficulties arise. As we learned each system, we looked around on the web every time we got stuck and built up a sense of how much support existed. At least one application was removed from the running early on because it didn’t have much documentation and there wasn’t much of a community of users around it.
This month, we turn our attention to the creation of 3D objects by evaluating five CAD packages. They all use what’s called constructive 3D solid modelling, a technique that builds up complex objects by adding and subtracting simpler ones. Applications like these can be used to make 3D objects that can be exported for rendering or 3D printing.
FreeCAD is the most comprehensive open source 3D CAD package that Linux has to offer. It’s bristling with features and has many different modules that can be used for different areas of design and simulation. Salome is an application that shares some code with FreeCAD but streamlines the design workflow.
CREDIT: Getty Images/Cultura RF
Like FreeCAD, SolveSpace is primarily a 3D CAD package, but it’s easier to learn and to use, even if it can’t be applied to quite as many different design situations.
Two of the CAD apps work differently as they’re based around a programming language rather than using the sort of mouse input we associate with graphical programs. OpenSCAD is a CAD app with a custom language that’s extremely easy to pick up, while CadQuery is more complicated to learn, but it has the advantage of using the well-known Python as its scripting language.
Suitability for beginners
Is learning the app fun or tedious?
Because 3D CAD is such an exacting pursuit, GUI-based applications don’t have the massive advantage for beginners that you might expect. FreeCAD has a lot of different modes and editors, but for 3D object modelling, you’ll spend most of your time in the Part, Part Design and Sketch workbenches. Learning the expected way of working is a longterm investment of effort. If you go blundering in without following the tutorials, expect to end up with objects that are irretrievably broken and error-laden.
Although it covers a lot of the same ground as FreeCAD, SolveSpace is a bit easier to learn. For one thing, it helps that the sketch editor and the 3D editor are combined. It also has a smaller number of constraints and many of those constraints are also combined. A constraint such as ‘distance / diameter / length’ would be three separate constraints in FreeCAD, for example. It’s generally a program on a smaller scale than FreeCAD, and overall, it’s an easier piece of software to learn.