Re:FreeCAD 0.20 Release Notes
by phkahler on Thursday June 16, 2022 @11:27AM
(#31767194)
>> I noticed in the Assembly3 section that it uses SolveSpace as its solver. FreeCAD uses OpenCASCADE as its main CAD kernel, and this supports mating and constraints between parts (at least, CadQuery supports it, and it's essentially just wrapping OpenCASCADE) so I'd be interested to know why they chose to bundle and use a different kernel there.
AFAICT OpenCASCADE does not include a geometric constraint solver like the one in SolveSpace. There are companies licensing such things for use in OpenCascade derived products. I think OCCT is used in FreeCAD for reading/writing files, handling all 3D geometry and NURBS operations and rendering. Only the constraint solver from Solvespace is being used in FreeCAD (and only in one workbench), as there isn't an equivalent in OCCT. The Solvespace geometric kernel is not as mature or complete as OCCT, but it is about 100 times smaller.
AFAICT OpenCASCADE does not include a geometric constraint solver like the one in SolveSpace. There are companies licensing such things for use in OpenCascade derived products. I think OCCT is used in FreeCAD for reading/writing files, handling all 3D geometry and NURBS operations and rendering. Only the constraint solver from Solvespace is being used in FreeCAD (and only in one workbench), as there isn't an equivalent in OCCT. The Solvespace geometric kernel is not as mature or complete as OCCT, but it is about 100 times smaller.