Проблема с возвратом свойства Excluded

Автор anton.gorschnev, 10.10.24, 11:56:10

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

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

anton.gorschnev

Проблема с возвратом свойства Excluded интерфейса IFeature7 если IFeature7 находится внутри  IMacroObject3D. Пытался написать код имитирующий изменения положения конца детали до определенного объекта дерева построения (доступ к перемещению конца детали не нашел, если кто знает подскажите где искать) и наткнулся на следующую проблему. Значение свойства IFeature7.Excluded при нахождение его внутри макро объекта всегда true, соответственно я не могу узнать первоначальное состояния IFeature7, чтобы потом его вернуть. С элементами не помещенными внутрь макрообъекта такой проблемы не возникает. Кто знает что с этим делать?   
object[] Subfeatures = IFeature7_.SubFeatures[ksTreeTypeEnum.ksOperTree, true, true];
            Array.Reverse(Subfeatures);
            foreach (IFeature7 _IFeature7 in Subfeatures)
            {
                IModelObject IModelObject_ = (IModelObject)_IFeature7;
                if (IModelObject_.Type == KompasAPIObjectTypeEnum.ksObjectMacroObject3D)
                {
                    IMacroObject3D IMacroObject3D_ = (IMacroObject3D)IModelObject_;
                    object[] SubfeaturesMacro = IMacroObject3D_.Objects;
                    Array.Reverse(SubfeaturesMacro);
                    foreach (object obj in SubfeaturesMacro)
                    {
                        IFeature7 _IFeature70 = (IFeature7)obj;
                        _IFeature70.Excluded = !_IFeature70.Excluded;
                    }
                    break;
                }
            }

Vi2

А если анализировать IFeature7.State?

ksFSInside3dMacro  0x4  Объект включен в состав трехмерного макроэлемента

anton.gorschnev

То что мы в макроэлементе, я и так знаю
 if (IModelObject_.Type == KompasAPIObjectTypeEnum.ksObjectMacroObject3D)...         
проблема в том что при переборе  IFeature7 внутри этого макроэлемента свойство Excluded всегда true возвращает.