---
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    - в случае неудачи.
```
