FreeCAD is a powerful 3D CAD modeler and drawing tool which is targeted squarely at the mechanical engineering and product design fields. The program's 0.12 version number tells you it's not yet ready for prime time, but if you're interested in this area - particularly if you're familiar with Python scripting - then there's already plenty to explore here.
If you've samples to hand then FreeCAD can already import DXF, OCA/ GCAD, SVG, STP/ STEP, IGS/ IGES and other formats, a quick way to get started and see what the program can do.
But if you prefer then you can also create a new document from scratch. FreeCAD supports 2D objects like lines, rectangles, arcs or circles, as well as various 3D primitives (box, sphere, cylinder, cone, torus), each of which can then be manipulated in various ways (translation, rotation, mirroring, scaling, offset and more).
There are also plenty of mesh tools; a drawing module which exports projected views of your geometry to a 2D SVG document; and a raytracing module which exports your work for rendering in POV-Ray.
And Python code underlies all of this. Everything you do within the interface will issue some Python command, which you can examine. You can freely enter Python commands yourself if you need a little more flexibility, or even create macros by recording any particularly useful Python for replay later.
What's new in 0.18? See changelog for more.
There's plenty of work still to do, but FreeCAD already shows promise with plenty of highly configurable 3D modeling power on hand