Download latest stable release
a screenshot showing version 0.12 - see more screenshots
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.
- Open CASCADE Technology-based geometry kernel allowing complex 3D operations on complex shape types, with native support for concepts like brep, nurbs, boolean operations and fillets
- Python scripts or self-recorded macros
- fully programmed in Python
- geometry creation and transformation, the 2D or 3D representation of that geometry (scenegraph) or even the FreeCAD interface
- STEP, IGES, OBJ, DXF, SVG, STL, DAE, IFC or OFF, in addition to FreeCAD's native Fcstd file format.
- Sketcher with constraint-solver, allowing to sketch geometry-constrained 2D shapes. The sketcher currently allows you to build several types of constrained geomerty, and use them as a base to build other objects throughout FreeCAD.
- Robot simulation module that allows to study robot movements. The robot module already has an extended graphical interface allowing GUI-only workflow.
- Drawing sheets module that permit to put 2D views of your 3D models on a sheet. This modules then produces ready-to-export SVG or PDF sheets. The module is still sparse but already features a powerful Python functionality.
- Rendering module that can export 3D objects for rendering with external renderers. Currently only supports povray, but is expected to be extended to other renderers in the future.
- Architecture module that allows BIM-like workflow, with IFC compatibility. The making of the Arch module is heavily discussed by the community here.
- Assembly module that allows to work with multiple shapes, multiple documents, multiple files, multiple relationships...
The FreeCAD manual is a work-in-progress community effort to provide state-of-the-art documentation about using FreeCAD, and is already available in several languages. It still lacks much information, so feel free to join and contribute!
How to participate
There is plenty to do inside the FreeCAD project, if you are interested in helping us. There are programming tasks, for C++ or python programmers, but there are also many things you can do even if you cannot code, such as writing documentation, helping newcomers, translating the application and documentation, help packaging the latest release of FreeCAD for your favourite operating system, or simply help other people to discover FreeCAD around you. The help FreeCAD page describes it all with more details.
About the development
Check the Development roadmap for news about what is being planned, the Changelog and Roadmap mantis pages to see the progresses towards next release, or the Project statistics for even more information about the FreeCAD codebase. All the development communication happens on the forum, so be sure to visit it if you are interested in participating.
Follow FreeCAD anywhere!