Extensible Open Source CAx program
For 3D printing, CNC milling or for the manual assembly of complicated constructs one needs a formal specification of the workpiece, i.e., its parts and how these come together. The process to get there is called Computer-Aided Design (CAD). The process to transform a CAD model into a series of instructions that can be performed on a machine is called Computer-Aided Manufacturing (CAM). FreeCAD can do both, the prior yet a bit better than the latter.
FreeCAD is an Open Source CAx RAD based on OpenCasCade, Qt and Python. It features some key concepts like macro recording, workbenches, ability to run as a server and dynamically loadable application extensions and it is designed to be platform independent.
Currently, FreeCAD can import and display CAD models in IGES, STEP, and BRep formats and meshes in STL, BMS, AST and Wavefront OBJ formats. Editing and modeling features are currently somewhat limited.