Object-oriented formalism for geometric reasoning in engineering design and manufacture