WARNING: FreeCAD has moved!
FreeCAD code and release files are now hosted on github at https://github.com/FreeCAD/FreeCAD
Only older files and code are available here.
FreeCAD is a general purpose feature-based, parametric 3D modeler for CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and product design but also fits a wider range of uses in engineering, such as architecture or other engineering specialties. It is 100% Open Source and extremely modular, allowing for very advanced extension and customization.
FreeCAD is based on OpenCasCade, a powerful geometry kernel, features an Open Inventor-compliant 3D scene representation model provided by the Coin 3D library, and a broad Python API. The interface is built with Qt. FreeCAD runs exactly the same way on Windows, Mac OSX and Linux platforms.
- Rock-solid OpenCasCade-based geometry kernel, allowing complex 3D operations on complex shape types, and supports natively concepts like brep, nurbs, booleans operations or fillets
- Full parametric model allowing any type of parameter-driven custom objects, that can even be fully programmed in python
- Complete access from python built-in interpreter, macros or external scripts to almost any part of FreeCAD, being geometry creation and transformation, the 2D or 3D representation of that geometry (scenegraph) or even the FreeCAD interface
FreeCAD has great promise, but it's young and very much a work in progress as yet. I like its user interface and much about the capabilities so far - though it has a few odities and bugs still. However!!! As at August 2015 it allows you to design a single homogeneous part (e.g. a moulding) as a unit. But most real things require an Assembly of parts (e.g. mouldingS + screws + bearings, etc..) - and that's not there yet - which rather scuppers any serious use yet. You can of course design many parts and even place many components on the same drawing. But that's not the same as being able to assemble individual parts into a component/product/composite-part. I know there are some good intentions and good features in the pipeline, like the Assembly module and true Parametric driven* design capability. Providing these are well thought out and well implemented, they'll make it a great product with much potential. [ * FreeCAD at present allows specification of the values of attributes (eg. length, width, height etc.). These can be changed (edited) and redrawing happens. However, to me true parametric driven CAD is being able to use formulae and variables in the attribute definitions, so that changing a value ripples the effect through the whole model, not just one item. ]