#c# #nxopen
#c# #nxopen
Вопрос:
Да, в программе САПР Siemens NX у меня есть активная рабочая часть. Внутри этой рабочей части у меня есть некоторые функции (например, кривые). Для этих функций я создаю FeatureGroup, например, папку с документами в проводнике Windows. Теперь я пытаюсь найти через интерфейс программирования NxOpen все группы объектов в активной рабочей части. Я делаю это на C #, но любая помощь в VBA также должна быть приемлемой для меня.
Я пытаюсь это:
foreach(FeatureGroup FGroupX in workpart.Features)
{
do something with current FGroupX ...
}
«workpart.features» предоставляет мне коллекцию всех функций в активной рабочей части. Но цикл for вызывает запросы для каждой функции этой коллекции, которая не относится к типу «Featuregroup».
Есть ли другое подходящее решение для поиска всех групп объектов в активной рабочей части?
Ответ №1:
Решена с помощью дополнительной проверки типа объекта:
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
}
}
Комментарии:
1. Вы также могли бы написать что-то вроде
foreach (var feature in workpart.Features.ToArray())
😉