2017-07-28 10 views
0

私はTeamcenterリッチクライアントプログラミングの初心者です。私はTeamcenterの "BOMView"アイテムの内容をどのように表示/抽出することができるのか把握しようとしていますか?私はこの意図のためにJavaを使用しています。たとえば、「AIFComponentContext」と「TCComponent」を使用して、Teamcenterでは他のオブジェクトの親子ツリーを取得できますが、BOMViewではありません。アイテムをBOMビューに子として含めることはできますか? (この時点では、「Teamcenter-Structure Manager」でのみ表示されます)。私は、ヒント、短いコード、および助けに感謝します。チームセンターの "BOMView"の内容をどのように抽出できますか?

+0

なぜ私をくれ - ???私は助けが必要です! –

答えて

0

私はTC soaプログラミングの方が新しいです。しかし、あなたがしたいことは、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()); 
     } 
    } 

このメソッドを使用すると、宣言は次のようになります。

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

希望します。

関連する問題