C#NxOpen-查找活动工作零件中的所有特征组

C#NxOpen-查找活动工作零件中的所有特征组,c#,nxopen,C#,Nxopen,Hy,在CAD程序SiemensNX中,我有一个活动的工作部件。在这个工作部件中,我有一些特征(例如曲线)。对于这些功能,我创建了一个功能组,类似于windows资源管理器中包含文档的文件夹。 现在,我试图通过编程接口找到激活工作部件中的所有功能组。我在C#中这样做,但是VBA中的任何帮助对我来说都应该是可以的 我试试这个: foreach(FeatureGroup FGroupX in workpart.Features) { do something with current FGr

Hy,在CAD程序SiemensNX中,我有一个活动的工作部件。在这个工作部件中,我有一些特征(例如曲线)。对于这些功能,我创建了一个功能组,类似于windows资源管理器中包含文档的文件夹。 现在,我试图通过编程接口找到激活工作部件中的所有功能组。我在C#中这样做,但是VBA中的任何帮助对我来说都应该是可以的

我试试这个:

foreach(FeatureGroup FGroupX in workpart.Features)
{
    do something with current FGroupX ...
}
“workpart.features”为我提供了活动工作部件中所有特性的集合。但是for循环将为该集合中并非来自类型“Featuregroup”的每个特征创建


是否有其他合适的解决方案来查找激活工作部件中的所有特征组?

通过对特征类型进行额外的if检查来解决此问题:

foreach(Feature curFeature in workpart.Features)
{
    Type type = curFeature.getType();
    if(type == typeof(FeatureGroup))
    {
        FeatureGroup fg = (FeatureGroup)curFeature //explicite conversion to FeatureGroup-Type
        //do something with fg
    }
}

您还可以编写类似于
foreach(workpart.Features.ToArray()中的var-feature)
;)