Development of a servo-based broaching machine using virtual prototyping technology