Gear geometric design by B-spline curve fitting and sweep surface modelling