This research introduces a computational algorithm that uses simulated
annealing to optimize three-dimensional component layouts. General co
mponent layout problems are characterized by three objectives: achievi
ng high packing density, fitting components into a given container and
satisfying spatial constraints on components. This paper focuses on t
he extension of a simulated annealing packing algorithm to a general l
ayout algorithm through the implementation of a language of spatial co
nstraints that are characteristic of layout problems. These constraint
s allow the designer to specify desired component proximities or to re
strict translation or rotation of components based on a global origin
or set of coordinate axes, or relative to other component locations or
orientations. The layout of components from a cordless power drill il
lustrates the algorithm.