CamSketchpad is a modern recreation of Ivan Sutherland's seminal Sketchpad program. It's a 2D drawing and CAD program with support for geometrical constraints and the inclusion of instances referencing other drawings. It includes a very flexible geometric constraint satisfaction system based on error minimization and basic support for algebraic constraint satisfaction.


This initial version is functional but somewhat buggy and limited in what it can do. It can draw, move, and delete points, lines, and arcs. Points can be merged with each other. There is a highlighting system and a constraint satisfaction system with a wide variety of implemented constraints. Data is loaded and saved using the basic Java "Serializable" interface. There is a library area for existing drawings. Instances of existing drawings can be included into other drawings.

URL: David Stark - Zarkonnen - CamSketchpad