Main Page

= FreeCAD =

A parametric 3D CAD modeler

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.

Learn more here...

Key features

 * [[Image:Feature1.jpg|left]] A complete 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


 * [[Image:Feature6.jpg|left]] A modular architecture that allow plugins (modules) to add functionality to the core application. Those extensions can be as complex as whole new applications or as simple as Python scripts or self-recorded macros


 * [[Image:Feature3.jpg|left]] A full parametric model allowing any type of parameter-driven custom objects, that can even be fully programmed in Python


 * [[Image:Feature4.jpg|left]] 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


 * [[Image:Feature5.jpg|left]] Import/export to standard formats such as STEP, IGES, OBJ, DXF, SVG, STL, DAE, IFC or OFF, in addition to FreeCAD's native Fcstd file format.


 * [[Image:Feature7.jpg|left]] A 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.


 * [[Image:Feature9.jpg|left]] A Robot simulation module that allows to study robot movements. The robot module already has an extended graphical interface allowing GUI-only workflow.

In development

 * [[Image:Feature8.jpg|left]] A 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.


 * [[Image:Feature-raytracing.jpg|left]] A 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.


 * [[Image:Feature-arch.jpg|left]] An Architecture module that allows BIM-like workflow, with IFC compatibility. The making of the Arch module is heavily discussed by the community here.


 * [[Image:Feature-assembly.jpg|left]] An Assembly module that allows to work with multiple shapes, multiple documents, multiple files, multiple relationships...

Manual
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!

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.

Source code
FreeCAD can be compiled using cMake or autotools, the git link is git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad and there are build instructions for Windows, Unix/Linux and MacOSX.

Get involved!
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, or help packaging the latest release of FreeCAD for your favourite operating system. The help FreeCAD page describes it all with more details.