Porting any size player model into gmod theory????

Well i have been thinking and experimenting. I was looking at some smd files and i opened them in notepad. I saw that for every time for the animation it tells each part of that bone what to do for a certain height. Well this got me wondering. Could you simply just change those values to work with any player model without needing to remake every single animation. I think it can be done. It looks like to me as long as it is using the valve skeleton one could simply compare the two player models with each other and simply generate the points to replace in the smd. To me it looks like the begging of the smd animations goes on the location of the x,y, and z points. The second part is the rotation on the x,y,z points.


time 0
  0 -0.002349 -1.441445 38.477070 1.570796 0.000000 -0.000050
  1 0.000005 3.345128 -2.981901 1.570796 0.086293 1.570796
  2 4.018331 0.000000 -0.000000 -0.000000 0.000000 -0.068504
  3 3.518568 0.000000 -0.000000 -0.000000 0.000000 0.139598
  4 8.942642 -0.000000 -0.000000 -0.000000 0.000000 0.213727
  5 3.307271 0.000000 -0.000000 3.141590 0.000000 0.400478
  6 3.593712 -0.000002 -0.000000 0.000000 -0.000001 0.367326
  7 1.999998 -3.000001 -0.000000 -1.570796 0.000000 -1.326450
  8 2.033353 1.000771 -1.937610 -1.648004 1.208282 2.964525
  9 6.028142 0.000005 0.000000 1.452280 0.048047 -1.106838
 10 11.692548 -0.000000 -0.000000 0.000000 0.000000 -0.159144
 11 11.481695 -0.000000 0.000003 -1.564937 0.106606 0.044193
 12 2.676085 -1.712441 0.000000 -1.570796 -0.000000 -1.570796
 13 2.033346 1.000767 1.937660 1.590225 -1.188373 2.949745
 14 6.028142 0.000001 -0.000000 -1.403586 0.016759 -1.086626
 15 11.692555 -0.000000 0.000002 -0.000000 -0.000000 -0.151123
 16 11.481675 0.000000 -0.000029 1.573183 0.011195 0.044464
 17 2.676088 -1.712441 0.000000 1.570797 -0.000000 1.570796
 18 -3.890452 0.000004 0.000007 -1.570796 0.065809 -1.552735
 19 17.848171 -0.000000 0.000000 -0.000000 -0.000000 0.060568
 20 16.525253 -0.000000 0.000000 0.073668 0.135422 -1.109527
 21 6.879453 0.000000 0.000000 -0.081333 -0.002951 -0.584373
 22 3.890452 -0.000004 -0.000003 -1.570796 0.044393 -1.583431
 23 17.848175 -0.000000 -0.000000 -0.000000 -0.000000 0.093012
 24 16.525248 0.000000 -0.000000 -0.078550 -0.148749 -1.118630
 25 6.879448 -0.000001 0.000001 -0.007299 -0.002951 -0.584373
 26 3.859704 -0.142405 -1.191975 -0.493813 0.087857 -1.002224
 27 1.312562 0.000000 -0.000000 -0.002061 0.009449 -0.655704
 28 0.729363 0.000001 0.000000 -0.002841 0.004084 -0.852974
 29 3.942326 0.046773 -0.431444 -0.160227 0.060996 -0.888389
 30 1.539093 0.000003 -0.000000 -0.001618 0.004160 -0.620859
 31 1.196322 -0.000000 0.000000 -0.002409 0.006966 -0.764593
 32 3.883690 -0.046770 0.431444 0.083937 0.028493 -0.666148
 33 1.719575 -0.000000 -0.000001 -0.002205 0.005061 -0.778798
 34 1.209181 0.000002 -0.000000 -0.001282 0.002809 -0.648344
 35 3.859859 -0.137948 1.332467 0.353610 -0.049545 -0.513285
 36 1.719429 0.000000 -0.000000 -0.001402 0.003823 -0.716430
 37 1.099666 -0.000000 -0.000001 -0.000599 0.002537 -0.479951
 38 0.806048 -0.348922 1.321259 -1.514906 -0.439805 -0.401360
 39 1.789783 -0.000001 0.000001 0.000288 0.007386 0.267784
 40 1.206999 -0.000001 0.000000 -0.000000 0.011266 0.362860
 41 3.859669 -0.132568 1.193107 0.459449 0.211831 -1.575921
 42 1.312562 0.000000 -0.000000 0.007742 -0.009080 -1.146555
 43 0.729362 -0.000000 -0.000000 0.004806 -0.003809 -1.147461
 44 3.942292 0.050329 0.431043 0.166816 0.049565 -1.565646
 45 1.539091 -0.000000 0.000000 0.005357 -0.002355 -1.406240
 46 1.196322 -0.000001 0.000000 0.006268 -0.007350 -1.137620
 47 3.883654 -0.050327 -0.431043 -0.025802 -0.086087 -1.569436
 48 1.719576 0.000003 -0.000000 0.007622 -0.002317 -1.642677
 49 1.209180 -0.000002 0.000000 0.004243 -0.001381 -1.472978
 50 3.859828 -0.148937 -1.331281 -0.226016 -0.130859 -1.651532
 51 1.719426 -0.000001 0.000000 0.006004 -0.002778 -1.501782
 52 1.099664 0.000001 -0.000000 0.003967 -0.001383 -1.481279
 53 0.806015 -0.359835 -1.318333 1.809183 0.696760 -0.490277
 54 1.789783 0.000000 0.000002 -0.003703 -0.005103 0.856864
 55 1.207000 0.000000 0.000001 -0.004362 -0.008575 0.834158
 56 5.740851 -0.000000 0.000001 0.000688 -0.000000 0.000000
 57 11.481698 0.000000 0.000004 0.001272 -0.000000 0.000000
 58 11.692554 0.000000 0.000002 -0.000000 -0.000000 -0.029500
 59 5.560001 0.000000 0.000001 -0.000000 -0.000000 0.000000
 60 1.499998 0.000000 0.000002 -0.000000 -0.000000 0.000000
 61 5.166963 -0.000000 -0.000000 0.000000 -0.000000 -0.000000
 62 5.740847 -0.000000 -0.000000 0.000081 0.000000 -0.000000
 63 11.481693 -0.000000 -0.000001 0.000150 0.000000 -0.000000
 64 11.692549 0.000000 -0.000001 0.000000 0.000000 -0.029500
 65 5.559996 0.000000 -0.000002 0.000000 -0.000000 -0.000000
 66 1.499999 0.000000 -0.000000 0.000000 -0.000000 -0.000000
 67 5.166963 0.000003 -0.000000 -0.000000 0.000000 0.000000
 68 2.078776 1.478775 5.000000 -0.000000 0.000000 -0.000000
 69 2.078837 1.478835 -5.000000 -0.000000 0.000000 -0.000000

That is how one key frame looks. When i looked at the smd file i found that it looked like ever single one is assigned to a number at the begging of the file. It shows it at the beginning of the .smd file. Basically what I am trying to ask is could you simply create a program to automatically calculate the points and create the new .smd file? Like i said i belive all you would need to do is simply compare the player model points you have to the one valve has and calculate what the points would be to get the same animation. Then simply change those coordinates in the smd file or animation file. Maybe even make the program do that for you simply assign every number/bone to an array and go through a loop changing each coordinate for each key frame until the loops reaches the end of he animation file.