Knowledge-based design systems and creativity are opposing concepts: the formal models used in a computer system seem to define a closed design space, while the nature of creativity is to extend the space of designs. The opposition can be resolved by introducing a clear distinction between two spaces of design solutions: those that can be represented and analyzed using first principles knowledge, and the subspace that can also be generated from specifications using an effective computation procedure. A design can be defined as creative if it falls in the difference space of structures which are analyzable but not generateable. We present a prototype system which applies this idea in the domain of mechanism design. Given a set of functional specifications, the first step is to find an existing mechanism, usually intended for other purposes, which satisfies some reasonably large subset of the specifications. The second step is to extend the vocabulary of shape features based on inversion of the analysis, and to define modification operators which adapt the device to satisfy all of the specifications. The approach is creative through two processes: the reuse of existing devices for new purposes, and the extension of the feature vocabulary to enlarge the space of designs which can be generated. We show an example where the technique has produced a device which is arguably better than the solution proposed in the literature.