An algorithm for CAD tolerancing integration: Generation of assembly configurations according to dimensional and geometrical tolerances. (May 2015)