Исключенные из расчета компоненты в дереве сборки

Автор freestyler, 08.07.26, 14:39:30

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

freestyler

Коллеги, добрый день!
Делаю обход дерева сборки, как отличить компоненты, которые исключены из расчета? Погашенные (где глаз перечеркнут) удалось отфильтровать, а с исключенными не получается..

   IPart7 topPart = doc3d7.TopPart;
   foreach (IPart7 part7 in topPart.Parts)
   {
       if (part7 == null) continue;

       IModelObject modelObject = part7 as IModelObject;
       if (modelObject != null && modelObject.Hidden) continue; // Пропускаем погашенный компонент

       IKompasDocument partDoc = part7.OpenSourceDocument(part7.GetOpenDocumentParam());
       if (partDoc == null) continue;

       //Работаю с компонентом
       string pn = partDoc.PathName;

       partDoc.Close(DocumentCloseOptions.kdDoNotSaveChanges);
   }

p3452

А что свойство excluded не работает?

p/s: Можно, еще проверять на валидность...
+ Благодарностей: 1

Lindros

+ Благодарностей: 1

freestyler

Цитата: p3452 от 08.07.26, 14:47:09А что свойство excluded не работает?

Мне IDE написала что нет такого свойства ни у IPart7 ни у IModelObject.. А вот ниже коллега подсказал что надо было его брать у IFeature7, так получилось

Цитата: p3452 от 08.07.26, 14:47:09p/s: Можно, еще проверять на валидность...
Кстати тоже вариант, спасибо!
if (!part7.Valid) continue;

Цитата: Lindros от 08.07.26, 14:54:05IFeature7.Excluded
Получилось, спасибо! Не там искал..

p3452

Цитата: freestyler от 08.07.26, 15:01:35Мне IDE написала что нет такого свойства ни у IPart7 ни у IModelObject..
Но ОНО есть у:
ksPart,
IPart,
ksFeature,
IFeature,
IFeature7...

Работаете с API Компас - привыкайте жить в мультиинтерфейсной парадигме...
+ Благодарностей: 1


Gruden

+ Благодарностей: 1