The free open source software OpenSCAD allows for 3D modelling via Constructive Solid Geometry and Extrusion of 2D Outlines.
Constructive Solid Geometry (CSG) allows for modelling of complex surfaces and solids by using boolesche operations.
GSG Basics in OpenSCAD
OpenSCAD is not an interactive modeller. Instead it is something like a 3D-compiler that reads in a script file that describes the object and renders the 3D model from this script file (see examples below). This gives you (the designer) full control over the modelling process and enables you to easily change any step in the modelling process or make designes that are defined by configurable parameters.
OpenSCAD provides two main modelling techniques: First there is constructive solid geometry (aka CSG) and second there is extrusion of 2D outlines. As data exchange format format for this 2D outlines Autocad DXF files are used. In addition to 2D paths for extrusion it is also possible to read design parametes from DXF files. Besides DXF files OpenSCAD can read and create 3D models in the STL and OFF file formats.
The software is available for Windows, Linux/UNIX and Mac OS X.
(c) Picture: Marius Kintel/Wikimedia Commons