The problem got solved in a somewhat strange way

(1) vec_normalize(temp, magn);

(2)
_______________________________________________________________________________
length = vec_length(temp);
magn = 2000;
vec_set(temp, vector(magn * temp.x / length, magn * temp.y / length, magn * temp.z / length));
_______________________________________________________________________________

I think, both are same, so you I hope....but NOT!!!!!!(1) dosen't work but (2) worked!!!! why? I dont know!!

thanks for reply