Freecad is, imho, a terrific project filling a huge void: there are very few free/open source solutions that are a substitute for the extremely expensive commercial CAD solutions.
Freecad lags compared to commercial, but gets you a long way if you're prepared to invest a little effort, and tolerate a few bugs.
I'm not affiliated with freecad in any way, but just want to remark if there are any students around (or anyone with a little time availabe) reading this with interest in both engineering and software development, contributing to freecad could be a very rewarding experience, and probably good basis for a project or thesis.
FreeCAD like some other CAD software uses Open CASCADE. As far as I can see, this kernel is the best available but still a bit rough and unstable in many areas. (Operations like chamfering often lead to a segfault when it doesn't like your geometry.) The main problem seems to be a lack of manpower since development of such a software is a massive effort and takes decades of work of highly skilled mathematicians/engineers/programmers. So far, FreeCAD has made a lot of functionality easily accessible but often it is also held back by bugs in the modeling kernel that can't be fixed any time soon.
If we could boost the development of high quality geometric modeling kernels, we could provide an essential building block to many software projects that currently are just not happening because there is no feasible way to get them started.
> The main problem seems to be a lack of manpower since development of such a software is a massive effort and takes decades of work of highly skilled mathematicians/engineers/programmers
Point of reference. I interviewed with a large CAD software company some time ago. As I was being shown around, the interviewer pointed to an area with maybe 8 developers, and said that was the team that works only on fillets and blends.
One of the key differentiators of high end CAD is how the packages handle edge cases (pun intended) when you have massively complex topologies. It's relatively easy to handle most cases, but there is a long tail of really tricky situations, and that tends to be where the high end tools shine. It's going to be really tough to compete with that given the investment required.
I think this is why we need an actively developed open source implementation that is backed up by multiple universities in multiple countries. It needs to be so useful and functional that it gains traction in commercial applications a like Blender does.
SolveSpace has it's own geometric kernel that is dramatically smaller than Open Cascade. It's also lacking some features, but IMHO better to build on something small and digestible that try to find bugs in a monolith. There are some bugs in there too, but I think they're solvable.
Compared to OCC these libraries seem like toys. They support basic functionality but lack the other 90% that OCC already supports.
The problem I see is that complexity goes up a lot if you go beyond the most basic shapes and operations. The upside of that is that if you manage to keep your problems very simple, it's quite easy to make a new geometry kernel that supports your subset quite cleanly and efficiently.
Freecad lags compared to commercial, but gets you a long way if you're prepared to invest a little effort, and tolerate a few bugs.
I'm not affiliated with freecad in any way, but just want to remark if there are any students around (or anyone with a little time availabe) reading this with interest in both engineering and software development, contributing to freecad could be a very rewarding experience, and probably good basis for a project or thesis.