[Blender] Me pueden ayudar con un script que estoy haciendo

Estoy diseñando un exportador de archivos maj(malla animada para juegos) que es un formato que invente para cargar las mallas en mis aplicaciones 3d, parece estar perfecto, guarda las coordenadas de textura, los normales, pero cuando quiero guardar la animación me ocurren dos problemas:
-Las claves de acción para las armatures no se guardan cómo deben o al menos es lo que parece.

Los weights tampoco.

Lo de las claves no estoy seguro pues puede deberce a los weights, pero lo que más me intriga es que los weights no se guardan cómo deben si no desordenados y cuando reproduzco la animación en mí aplicación las mallas parecen desintegrarse.

Guarde los weigths así.
#me: un objeto Mesh.
#dic: es un diccionario que debuelve el índice del hueso dado su nombre.
#f: el archivo donde estoy escribiendo.

For a in me, vértices:
Fi=me, getvertexinfluences(a, index).

Nf=0.

Lw=0.

For n in fi:
Nf+=1.

Lw+=n[1].

Fi=me, getvertexinfluences(a, index).

F.write (str(nf)+\n\n).

For n in fi:
F.write (str(dic[n[0]) + +str(n[1]/lw)+\n).

F.write (\n).

Este es el esquema del error:
Las partes rojos son donde actúa solo un weight(el vértice es influenciado por un solo hueso), las partes marrón donde actúa más de un weight(el vértice es influenciado por más de un hueso), la imagen dice que varios vértices por todo el modelo tienen más de un weight, pero mi en mí modelo original solos vértices de la subdivisión central del cubo tienen 2 weights el resto tiene uno.

Como ven el error está en los weights.

Lo probé varias veces y comprove que el diccionario estaba bien, es decir, no hay ningún error en el código o al menos eso creo, me parece que la función getvertexinfluences no me está devolviendo los weights correspondientes al índice del vértice que le paso.
¿Alguien sabe por qué?

Ver más sobre el tema y los comentarios en el foro