1

嗨,在 CAD 程序 SiemensNX 中,我有一个活动的工作部件。在这个 WorkPart 中,我有一些特征(例如曲线)。对于此功能,我创建了一个 FeatureGroup,例如 Windows 资源管理器中包含文档的文件夹。现在我尝试通过编程接口 NxOpen 找到活动 WorkPart 中的所有 FeatureGroup。我在 C# 中执行此操作,但 VBA 中的任何帮助对我来说也应该没问题。

我试试这个:

foreach(FeatureGroup FGroupX in workpart.Features)
{
    do something with current FGroupX ...
}

“workpart.features”为我提供了活动 WorkPart 中所有功能的集合。但是对于这个集合中不是来自“Featuregroup”类型的每个特性,for-loop 都会崩溃。

是否有另一种合适的解决方案来查找活动 WorkPart 中的所有 FeatureGroup?

4

1 回答 1

1

通过对特征类型进行额外的 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
    }
}
于 2020-11-03T13:46:23.193 回答