Since I came across the doctoral thesis of the person who wrote Sketchpad, the first CAD program, I've wanted to create a similar program for my own use. I'd like something like Solidworks, the program we have here at school, but free (not thousands of dollars). Therefore, since I can't find any open-source attempt good enough or clear enough to understand, I've started my own:
As yet, I've created a simple Java GUI (using Swing, I also have the ability to quickly add many more elements) and am at the point where I can easily draw rectangles. It may not look like much, but once I get the science behind just this part working to my satisfaction, the program's features will (hopefully) be able to expand exponentially.