Lego CADs
A candian guy, James Jessiman (he left us in 1997) had developped a CAD program to define Lego parts, and to assembly them in models. It was a good idea : the parts have to be define once, and then can be reuse. This program is ldraw.
A real community has grown around this project, and have developped several softwares on different OS.
There is a voting procedure for the new parts made by the community, it's amazing...
I don't use original ldraw, (MS-DOS program), but Michael Lachmann's software : MLCad
Here you can find a trailer, made with MLCad.