2017-07-28 1 views
0

Je suis nouveau dans la programmation de client enrichi Teamcenter. J'essaie de comprendre comment puis-je indiquer/extraire le contenu d'un article "BOMView" dans Teamcenter? J'utilise Java pour cette intention et jusqu'à présent, je pourrais, par exemple, utiliser "AIFComponentContext" et "TCComponent" pour obtenir un arbre parent/enfant de tout autre objet dans Teamcenter mais pas un BOMView ... Y at-il quelqu'un pour savoir comment puis-je obtenir les éléments inclus dans un BOMView en tant qu'enfants? (pour le moment, cela ne peut être vu que dans "Teamcenter-Structure manager"). Je serais reconnaissant pour toute astuce, code court et aide.Comment puis-je extraire le contenu de "BOMView" dans teamcenter?

+0

pourquoi me donner - ??? J'ai besoin d'aide! –

Répondre

0

Je suis aussi novice en matière de programmation TC. Mais ce que vous voulez faire est d'utiliser StructureManagementService.CreateBomWindows.

/// <summary> 
    /// Opens a structure Management BOM Window 
    /// </summary> 
    /// <typeparam name="T">BOM window</typeparam> 
    /// <param name="action">action to do in the BOM window</param> 
    /// <param name="bomWindowOwner">root node for the BOM window</param> 
    /// <returns></returns> 
    public static T OpenBomWindow<T>(Func<CreateBOMWindowsResponse, T> action, ModelObject bomWindowOwner) 
    { 
     CreateBOMWindowsResponse windowResponse = TCProgram.StructureManageServiceCad.CreateBOMWindows(new CreateBOMWindowsInfo[] 
     { 
      new CreateBOMWindowsInfo() 
      { 
       ItemRev = bomWindowOwner as Mstrong.ItemRevision, 
       Item = bomWindowOwner as Mstrong.Item 
      } 
     }); 
     try 
     { 
      return action.Invoke(windowResponse); 
     } 
     finally 
     { 
      TCProgram.StructureManageServiceCad.CloseBOMWindows(windowResponse.Output.Select(x => x.BomWindow).ToArray()); 
     } 
    } 

Une fois que vous avez cette méthode, la déclaration ressemblera à ceci.

  OpenBomWindow(
      (CreateBOMWindowsResponse bomResponse) => 
      { 
       Mstrong.BOMLine bomLine = bomResponse.Output[0].BomLine; 
      }, 
      parentItemRev); 

Espérons que ça aide.