   Can't get over FindPhysiqueModifier call from my max exporter
  I am trying to recompile the Microsoft X Exporter (version Oct 2006)HRESULT Preprocess    (    SPreprocessContext *ppc,    INode *pNode    ){    HRESULT hr = S_OK;    DWORD cChildren;    DWORD iChild;    Object* pObj;    SSkinMap **rgpsmTemp = NULL;    IPhyVertexExport *pVertexExport;    IPhyRigidVertex* pRigidVertexExport;    IPhyBlendedRigidVertex *pBlendedRigidVertexExport;    INode* pBoneNode;    SSkinMap *psmSkinMap;    Modifier* pPhyMod = NULL;    IPhysiqueExport* pPhyExport = NULL;    IPhyContextExport* pPhyContextExport = NULL;    DWORD iVertex;    DWORD cVertices;    DWORD iVertexType;    SBoneInfo *pbi;    DWORD cTotalBones;    DWORD iBone;    DWORD cpnBonesSeen;    DWORD cpnBonesSeenMax;    INode **rgpnBonesSeen = NULL;    INode **rgpnTemp;    BOOL bBoneSeen;    DWORD iBoneSeen;    BOOL bDeleteTriObject = false;    TriObject *pTriObject = NULL;    Mesh *pMesh;DWORD iFace;DWORD iPoint;    ppc->m_cNodes += 1;    if (IsExportableMesh(pNode,pObj) && !(ppc->m_bSaveSelection && !pNode->Selected()))    {   // first see if physique is present   pPhyMod = FindPhysiqueModifier(pNode);   if (pPhyMod != NULL)   {  // Get a Physique Export interface  pPhyExport = (IPhysiqueExport *)pPhyMod->GetInterface(I_PHYINTERFACE);  if (pPhyExport == NULL)  {   // not all interfaces present, so ignore goto e_NoPhysique;  }  // For a given Object's INode get a  // ModContext Interface from the Physique Export Interface:  pPhyContextExport = (IPhyContextExport *)pPhyExport->GetContextInterface(pNode);  if(pPhyContextExport == NULL)  { // not all interfaces present, so ignore goto e_NoPhysique;  }each time I get to the FindPhysiqueModifier call, the returned modifier ptr is NULL, so I never have bones reported from the dialogModifier* FindPhysiqueModifier (INode* nodePtr){    // Get object from node. Abort if no object.    Object* ObjectPtr = nodePtr->GetObjectRef();   if ( NULL == ObjectPtr)    {   return NULL;    }    // Is derived object ?    if (ObjectPtr->SuperClassID() == GEN_DERIVOB_CLASS_ID)    {   // Yes -> Cast.   IDerivedObject* DerivedObjectPtr = static_cast<IDerivedObject*>(ObjectPtr);   // Iterate over all entries of the modifier stack.   int ModStackIndex = 0;   while (ModStackIndex < DerivedObjectPtr->NumModifiers())   {  // Get current modifier.  Modifier* ModifierPtr = DerivedObjectPtr->GetModifier(ModStackIndex);  Class_ID clsid = ModifierPtr->ClassID();  // Is this Physique ?  if (ModifierPtr->ClassID() == Class_ID(PHYSIQUE_CLASS_ID_A, PHYSIQUE_CLASS_ID_B))  { // Yes -> Exit. return ModifierPtr;  }  // Next modifier stack entry.  ModStackIndex++;   }    }    // Not found.    return NULL;}I am using MAX SDK 7, MAX Version is also 7The project compiled just fine, but I never have any bones for the character.Maybe due to the problem of the model.I don't know if the original model uses biped or not, but I see the stack been collapsed., animated correctly inside max, when I export to a file, the model goes back to T-biped physique and has no animation at all when viewing using mview.exe. Also the bone move out of the flesh/skin and move forward. but the mesh stands still.Any suggestions?ThanksJack   