首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在teamcenter中提取"BOMView“的内容?

如何在teamcenter中提取"BOMView“的内容?
EN

Stack Overflow用户
提问于 2017-07-28 17:57:15
回答 1查看 1.2K关注 0票数 1

我是Teamcenter富客户端编程的新手。我正在尝试弄清楚如何在Teamcenter中指示/提取BOMView项的内容。

我使用的是Java,到目前为止,我可以使用AIFComponentContextTCComponent来获取Teamcenter中任何其他对象的父/子树,但不能获取BOMView……

有没有人想知道如何获得BOMView的子项?(目前,这只能在富客户端的"Teamcenter-Structure manager“视图中看到)。

EN

回答 1

Stack Overflow用户

发布于 2018-01-04 22:41:58

我认为你想使用StructureManagementService.CreateBomWindows

代码语言:javascript
复制
/// <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());
    }
}

一旦你有了这个方法,你的声明就会像这样。

代码语言:javascript
复制
OpenBomWindow(
(CreateBOMWindowsResponse bomResponse) =>
{
    Mstrong.BOMLine bomLine = bomResponse.Output[0].BomLine;
},
parentItemRev);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45370413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档