Adapting old solutions to new problems plays an important role in design. A designer often uses solutions of previously encountered problems as a basis for solving a new design problem. This suggests using the Case-based Reasoning model of problem solving to solve design problems. The domain of design we have chosen is the design of planar linkages, in particular, closed four-bar linkages. Linkage design requires reasoning about geometry and motion in problems that are not easily decomposable into independent subproblems. The relationships between function and structure are seldom monotonic and are governed by equations of motions that often involve several of the structural parameters. The functional features are mostly quantitative and often continuous and difficult to predict without simulation. We propose a representation for design cases and a method for indexing known cases to ease their retrieval given the specification of a new problem. Each description includes structural and performance characteristics. We devise methods to retrieve known cases, to match them to often incomplete problem specifications, and to adapt them to solve the problem.