This paper presents a system that lets 3-D models evolve over time, eventually producing novel models that are more desirable than initial models. The algorithm starts with some crude models given by the user, or randomly-generated models from a given model-grammar with generic design rules and loose constraints. The underlying philosophy here is to gradually evolve the initial models into structurally novel and/or parametrically refined models over many generations. There is a close analog in the evolution of species where better-fit species gradually emerge and form specialized niches, a highly efficient process of complex structural and functional optimization. Simulation results for model jet plane design illustrate that our approach to model design and refinement is both feasible and effective.