For my current project, a laser engraver, I initially choose FreeCAD as my 3D CAD program. I had some excellent experiences with it so it was the obvious choice for me. However contrary to previous work this project required a lot of CAD assembly. This is where I became frustrated with FreeCAD. Assembly in the current version (0.16) just isn’t well implemented unnecessarily extending my time spent with FreeCAD. The next version of FreeCAD (0.17) will have a separate assembly workbench but I wasn’t willing to wait for it’s final release.
When reading the Hackaday website I came across Solvespace. Given the problem that I have with FreeCAD I was immediately interested. Solvespace is a parametric modeler just like FreeCAD. The interface looks archaic which put me off a little at first but I found it surprisingly easy to work with. The last month I worked intensely with Solvespace v2.1 and I want to share the experience that I had with the program.
Working with Solvespace
Solvespace is a lightweight program. It loads fast and runs very smooth on my aging iMac (5 years old). I have encountered an occasional crash with Solvespace however FreeCAD appears to be more prone to crashes on my iMac. I also noticed a small delay in Solvespace while dragging parts around in a complex assembly.
The Solvespace user interface is static throughout the program whether working in a 2D sketch, an extrude or an assembly. The GUI and the keyboard shortcuts don’t change throughout the program. This means for instance that constraints can be applied the same way in 2D and 3D making it easy to work with Solvespace. FreeCAD on the other hand has a dynamic user interface with multiple workbenches each having a different tool bar and functionality. I found that each FreeCAD workbench has it’s own learning curve making it harder to learn than Solvespace. With all these workbenches however FreeCAD offers much more functionality than Solvespace
Solvespace allows the model to be dynamically manipulated as long as it’s not fully constraint, both in 2D and 3D. This can be very helpful while studying a model or looking for its best shape. This is impossible in FreeCAD or OpenSCAD where a model can only be changed by entering other discrete values for the parameters (not to be confused with the animation options in OpenSCAD and FreeCAD).
Assembly in Solvespace is very easy often taking only a few mouse clicks. Two parts must be oriented and constrained to the same direction. A point of each part is selected and the parts are connected at the selected points. That’s it. This method works fast and I haven’t encountered any problem with it. When working in an assembly of multiple files a change made in one of the files propagates to the assembly. This is a very powerful features when working with complex models because it’s creates a consistent environment where it’s sufficient to make a change once instead of keeping track of multiple files. Apparently FreeCAD has a similar feature but getting it to work is far from trivial for me.
Other 3D CAD programs offer functionality like chamfer and fillet. Solvespace doesn’t have this and that’s a shortcoming. Often chamfer and fillet are used for aesthetics and if necessary I can do without that however if you do need them regularly Solvespace isn’t for you. It also impossible to extrude along a path a functionality that is for instance used to create a thread. Creating a true thread is therefore impossible however if it is able to mimic a thread by drawing a sawtooth sketch and revolve it.
I 3d-printed numerous models that I had designed with Solvespace. I exported the models as .stl files and used Cura to create the nessecay G-code before printing them. I encountered no problems with this workflow and all prints came out as expected. I therefore conclude that Solvespace is a good companion for 3d-printers as long as the shortcomings of the program are taken into account.
Community support is very important in open source software. Whether you’re a beginner, intermediate of experienced user it’s vital to be able to get help. This can be tutorials, forums, irc or mailing list. Solvespace has support although it’s not as abundant as with FreeCAD. This is probably due to the smaller user base of Solvespace. The Solvespace tutorials are good but they are few in number and the documentation is adequate but not as polished as FreeCAD’s.
An active development of the program is also important not only for bug fixing but also with new features in new releases. Solvespace has a small but active developers team which is fine but it also makes the project vulnerable. If the main developer decides to abandon the project the user is left empty handed. FreeCAD appears to be having a much larger group of active developers decreasing the chance that the project will be abandoned.
I really like Solvespace, it’s lightweight, pretty stable and easy to use (especially if the user is familiar with the concept of sketching with geometric constraints). I was able to create my models very quickly. I used the keyboard shortcuts often. They are easy to learn because they are limited in number and are consistent throughout the program. Besides the limitations such as fillet, chamfer and extrude along path, Solvespace lacks a lot of the nice-to-have (or need-to-have for some) features that are available in FreeCAD such as the path-, arch- and drawing workbench. This may not be a problem for many more casual users because Solvespace is focused on geometric constraint solving and assembly.
Solvespace is a good addition to the existing open source 3D CAD programs such as OpenSCAD and FreeCAD. It’s not a FreeCAD replacement because it lacks a lot of the features that come with FreeCAD. However if you want to try a truly free 3D CAD program but are intimidated by FreeCAD because of it’s steep learning curve and OpenSCAD because of programmers-like approach certainly should give Solvespace a try.