Have you ever wondered how a 2D CAD application is designed and implemented? I have, so I decided to sit down and write one. Now, implementing a fully functional 2D CAD is a tremendous task for a single person, and not something that can be completed in just a couple of months when only working on it on and off in the evenings. So, what I have implemented so far is the basic framework and only the most basic tools, but it does demonstrate how a CAD application could be implemented.
What this program demonstrates is:
•Using world units and a coordinate system instead of screen units and a coordinate system.
•Grid layer and drawing layers.
•Zoom and pan.
•Selection rectangle. Select enclosed objects (when moving left to right) or select any partially enclosed objects (moving right to left).
•Basic draw tool: line, circle, and arc.
•Basic edit tool. Join two lines, extend line to line.
•Running snap, and quick snap. Snap is used to precisely attach a draw object to another object.
•Moving selected objects. Copy of selected object (for now, only when moving).
