--- title: "Интерфейс массива атрибутов объектов модели (Интерфейсы ksAttribute3DCollection, IAttribute3DCollection)" type: interface api: [api7] domain: [3d, assembly, feature] tags: [interface, api7, 3d, assembly, feature, ksattribute3dcollection] sources: - ksattribute3dcollection.html --- *API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект Дерева построения (Интерфейсы ksFeature, IFeature) * ## Интерфейс массива атрибутов объектов модели (Интерфейсы ksAttribute3DCollection, IAttribute3DCollection) Интерфейс массива атрибутов объектов модели. | ksAttribute3DCollection | - интерфейс Automation | | --- | --- | | IAttribute3DCollection | - интерфейс COM | Примечание: Данный интерфейс может быть получен с использованием методов интерфейсов ksFeatureCollection::AttributeCollection, ksFeature::AttributeCollectionEx, ksFeature::AttributeCollection, ksDocument3D::AttributeCollection. Работа с атрибутами объектов модели (Интерфейсы ksAttribute3D, IAttribute3D) ## FindIt - Получить индекс элемента массива Синтаксис Automation: ``` long GetByIndex (ksAttribute3D* obj); ``` Синтаксис COM: ``` unsigned long GetByIndex (LPATTRIBUTE3D obj); Возвращаемое значение: индекс элемента массива. ``` ## First - Получить указатель на интерфейс первого атрибута Синтаксис Automation: ``` ksAttribute3D* First(); ``` Синтаксис COM: ``` LPATTRIBUTE3D First(); Возвращаемое значение: указатель на интерфейс ksAttribute3D или IAttribute3D. ``` ## GetByIndex - Получить указатель на интерфейс атрибута по индексу Синтаксис Automation: ``` ksAttribute3D* GetByIndex (long index); ``` Синтаксис COM: ``` LPATTRIBUTE3D GetByIndex (long index); Возвращаемое значение: указатель на интерфейс ksAttribute3D или IAttribute3D. ``` ## GetCount - Получить количество элементов массива атрибутов Синтаксис Automation: ``` long GetCount(); ``` Синтаксис COM: ``` unsigned long GetCount(); Возвращаемое значение: количество элементов массива. ``` ## Last - Получить указатель на интерфейс последнего атрибута Синтаксис Automation: ``` ksAttribute3D* Last(); ``` Синтаксис COM: ``` LPATTRIBUTE3D Last(); Возвращаемое значение: указатель на интерфейс ksAttribute3D или IAttribute3D. ``` ## Next - Получить указатель на интерфейс следующего атрибута Синтаксис Automation: ``` ksAttribute3D* Next(); ``` Синтаксис COM: ``` LPATTRIBUTE3D Next(); Возвращаемое значение: указатель на интерфейс ksAttribute3D или IAttribute3D. ``` ## Prev - Получить указатель на интерфейс предыдущего атрибута Синтаксис Automation: ``` ksAttribute3D* Prev(); ``` Синтаксис COM: ``` LPATTRIBUTE3D Prev(); Возвращаемое значение: указатель на интерфейс ksAttribute3D или IAttribute3D. ``` ## Refresh - Обновить массив атрибутов Синтаксис Automation: ``` BOOL Refresh(); ``` Синтаксис COM: ``` BOOL Refresh(); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` Примечание: После вызова данной функции возникает полное соответствие массива с массивом атрибутов объекта в документе. ## Select - Выделить атрибуты данного типа или с данными ключами Синтаксис ``` BOOL Select (long key1, long key2, long key3, long key4, double numb, int objType); Входные параметры: key1, key2, key3, key4 - ключи для поиска по ключам либо 0, numb - номер типа атрибута для поиска по номеру либо 0, objType - тип объекта: все объекты дерева построений, кроме компонентов, сопряжений, группы сопряжений. Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ```