1. A computer-based engineering design system to design a part, a tool to make the part, and the process to make the part, comprising: a processor, a memory coupled to the processor, the memory storing a plurality of feature templates, each feature template being a representation of a primitive object having a form and a function, each feature template indexed by the function of the primitive object and including a representation of a primitive geometric entity having the form of the primitive object, each feature template including information relating to a tool to make the primitive object and a process to make the primitive object; an input device coupled to the processor receiving a request to design the part, the request including one or more predetermined functions that the part performs; and a core design module executable by the processor, the core design module designing the part, the tool to make the part and process to make the part by accessing the plurality of feature templates in the memory to locate one or more primitive objects that perform the one or more predetermined functions.