NX二次开发(C#)-装配-遍历组件

前排声明:新手日记,自己记录用,仅供参考,不保证正确性

在做和装配有关的开发时经常需要遍历总装配下的所有组件。这里提供一个用递归遍历所有组件的方法,稍加改动也可以用于遍历特定组件下的所有子组件。

下面是递归的方法:

    /// <summary>
    /// 用递归获得所有组件的方法
    /// </summary>
    /// <param name="fatherComponent">父组件</param>
    /// <param name="allComponents">全部的组件集合</param>
    public static void GetAllComponents(Component fatherComponent, List<Component> allComponents)
    {
            Component[] tempComponent = fatherComponent.GetChildren();//得到子组件数组
            foreach (Component x in tempComponent)//没有子组件时foreach的语句不会执行,跳出递归
            {
                allComponents.Add(x);
                GetAllComponents(x, allComponents);
            }
    }

想要遍历显示部件中所有的子组件时,可以这样调用:

List<Component> allComponents = new List<Component>();//定义储存所有组件的List
GetAllComponents(displayPart.ComponentAssembly.RootComponent,allComponents);//遍历显示部件下的所有组件

如果想要遍历特定组件的子组件时,把displayPart.ComponentAssembly.RootComponent改成自己需要的组件(Component)即可。

NX版本:NX1946

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值