1. A computer system for assisting a user in producing a drawing, comprising: a. a data input device that receives graphics input from a user; b. a input module records at least one set of data from said data input device; c. a recognition module recognizes at least one geometric primitives and a solution boundary to form at least one recognition result; d. a data storage that stores all recognition results provided by said recognition module; e. a cycle identification module to identify at least one enclosed area; f. a geometric constraint solver that predicts the user's intent; g. an output module that produces at least one graphics result predicted by said system; and h. an output device.