1. A computer-implemented method of modeling a three-dimensional object: storing data representing a computer model of the three-dimensional object, the data comprising a plurality of feature objects each defining a feature of the computer model; and forming a feature chain comprising at least one feature object having a design effect limited in scope such that an operation for removing material operates to affect the feature of the computer model defined by another feature object in the same feature chain and does not affect the feature of the computer model defined by the feature object not in said same feature chain; and combining a plurality of feature chains to form an interrelationship among feature objects that represents a hierarchy defining construction of the model from the feature objects.