The Topdown System is a shell for use in developing simple (but we believe non-trivial) knowledge-based CAD systems. It provides a data structure, graphics capabilities, a sophisticated user interface, and programming tools for rapid construction of knowledge bases. Implementation is for Macintosh, Macintosh II, IBM PC/AT, PS12, and Sun workstations. The basic idea is that of top-down design - beginning with a very abstract representation, and elaborating that, in step-by-step fashion, into a complete and detailed representation. The basic operations are real-time parametric variation of designs (using the mouse and slide bar) and substitution of objects. Essentially, then, a knowledge-base in Top down implements a kind of parametric shape grammar.  The main applications of Top down are in introductory teaching of CAD, and (since it provides a very quick and easy way for a user to develop detailed geometric models) to provide a uniform front-end for a variety of different applications. The shell, and some example knowledge-bases, are publicly available. This paper discusses the principles of the Top down Shell, the implementation of knowledge bases within it, and a variety of practical design applications.