The verdict
Computer-aided design packages
FreeCAD is a complex beast, but it’s the most complete 3D CAD solution that Linux has to offer. We consider it to be similar to 3D modeller Blender in that learning it requires a reasonable investment of time, but it’s well worth it. Its various editors are finicky in how they work, but once you’ve learned the workflow, steady progress through a project is possible.
Having a lot of editors can make the program seem intimidating, but they all have their uses. It’s worth bearing in mind that FreeCAD can be persuaded to work in different ways. You can throw primitives into a design, rather than working from a sketch, using the Part workbench to give a simpler workflow. It has full Python scripting, if you want to code your design to an extent. It even has OpenSCAD as a built-in workbench.
OpenSCAD surprised us with how accessible it is. You can start by adding simple objects to the scene with simple commands. As your demands become more advanced in terms of object complexity, there is more to learn, but this learning curve feels linear. A lot depends on the background of the user in combination with the type of object they would like to create. A person with an engineering background might prefer the rigour of FreeCAD, but a casual user might enjoy simply throwing some objects into the design, one command at a time.
SolveSpace is somewhat traditional in its approach to 3D parametric design, and it offers a fairly simple user interface. It doesn’t offer as many facilities as FreeCAD, but you’d have to be at a very advanced level to exceed what
SolveSpace can accomplish. It would be our pick if you want to learn a traditional GUI 3D CAD modeller but would rather avoid the huge commitment of learning FreeCAD.
Salome takes a lot of what’s good about FreeCAD and condenses it down. However, we wouldn’t say it’s a simple piece of software, and general support is hampered by the fact that it’s not particularly well known.
We liked the look of CadQuery, but it’s a tad niche in what it’s best at. Technically, it can support more complex primitives than OpenSCAD. If you can already program in Python, and you would like to create some structured CAD objects, perhaps involving algorithmic generation, it might be the right choice.