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.
Salome has a similar editing process to that of FreeCAD, and it uses some of the same code. It removes some of the fiddliness and procedural rigour, and most of the shape editing occurs in a single editor. As a result, it sits somewhere between FreeCAD and SolveSpace in terms of how complicated it is to learn.
OpenSCAD is attractive to people who already have some programming experience as it works with its own programming language, but it’s surprisingly easy to get started. A command such as cube (10, center = true); places a cube with sides of length 10 into the scene, and it could be regarded as the Hello World of OpenSCAD.
As it uses Python rather than a custom language, CADQuery takes things up a notch in the difficulty department. Even experienced Python programmers might consider some of the statements complicated as they can extend to more than a single line. For example, you might create a rectangle, extrude it and create a circle in the centre, which is also extruded and cut out, with one long line of code. Compared to OpenSCAD, the learning curve is steep although the code can look elegant.