Here is my function for writing the hierarchy:
Function XWriteBones(bone,f,tab$="") WriteLine(f,tab+"Frame "+Entityname(bone)) WriteLine(f,tab+" {") WriteLine(f,tab+" FrameTransformMatrix") WriteLine(f,tab+" {") temp=CreatePivot() PositionEntity temp,EntityX(bone),EntityY(bone),EntityZ(bone) RotateEntity temp,EntityPitch(bone),EntityYaw(bone),EntityRoll(bone) WriteLine(f,tab+" "+GetMatElement(temp,0,0)+","+GetMatElement(temp,0,1)+","+GetMatElement(temp,0,2)+",0.0,") WriteLine(f,tab+" "+GetMatElement(temp,1,0)+","+GetMatElement(temp,1,1)+","+GetMatElement(temp,1,2)+",0.0,") WriteLine(f,tab+" "+GetMatElement(temp,2,0)+","+GetMatElement(temp,2,1)+","+GetMatElement(temp,2,2)+",0.0,") WriteLine(f,tab+" "+EntityX(temp)+","+EntityY(temp)+","+EntityZ(temp)+",1.0;;") WriteLine(f,tab+" }") FreeEntity temp For c=1 To CountChildren(bone) XWriteBones(GetChild(bone,c),f,tab+" ") Next WriteLine(f,tab+" }") End Function