---
title: "Массив узлов для трехмерных NURBS - поверхностей (Интерфейсы ksNurbsKnotCollection, INurbsKnotCollection)"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, ksnurbsknotcollection]
sources:
  - ksnurbsknotcollection.html
---

*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Математическая поверхность в трехмерном пространстве  > Интерфейсы ksSurface, ISurface  > Параметры точки для трехмерных NURBS (Интерфейсы ksNurbsPoint3dCollCollection, INurbsPoint3dCollCollection) *


## Массив узлов для трехмерных NURBS - поверхностей (Интерфейсы ksNurbsKnotCollection, INurbsKnotCollection)

Интерфейс массива узлов для трехмерных NURBS поверхностей.
| ksNurbsKnotCollection | - интерфейс Automation |
| --- | --- |
| INurbsKnotCollection | - интерфейс COM |
Примечание:
Данный интерфейс можно получить, используя метод интерфейса ksNurbs3dParam ksNurbs3dParam::NurbsKnotCollection или интерфейса ksNurbsSurfaceParam ksNurbsSurfaceParam::NurbsKnotCollection.


## Add - Добавить элемент в конец массива

Синтаксис Automation:
```
BOOL Add (double obj);
```
Синтаксис COM:
```
BOOL Add (double obj);
Входной параметр:
obj    - значение узла.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## AddAt - Добавить объект с заданным индексом в массив

Синтаксис Automation:
```
BOOL AddAt (double obj, long index);
```
Синтаксис COM:
```
BOOL AddAt (double obj, long index);
Входные параметры:
obj    - значение узла,
index    - индекс в массиве.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## AddBefore - Добавить объект перед указанным объектом в массиве

Синтаксис Automation:
```
BOOL AddBefore (double obj, double base);
```
Синтаксис COM:
```
BOOL AddBefore (double obj, double base);
Входные параметры:
obj    - значение добавляемого узла,
base    - значение базового узла.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## Clear - Очистить массив

Синтаксис Automation:
```
BOOL Clear();
```
Синтаксис COM:
```
BOOL Clear();
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Объекты удаляются только из массива, в модель изменения не передаются.


## DetachByBody - Удалить указанный объект из массива

Синтаксис Automation:
```
BOOL DetachByBody (double obj);
```
Синтаксис COM:
```
BOOL DetachByBody (double obj);
Входные параметры:
obj    - значение удаляемого узла.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## DetachByIndex - Удалить объект из массива по индексу

Синтаксис Automation:
```
BOOL DetachByIndex (long index);
```
Синтаксис COM:
```
BOOL DetachByIndex (long index);
Входной параметр:
index    - индекс удаляемого объекта в массиве.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Элемент массива из модели не удаляется.


## First - Получить первый объект в массиве

Синтаксис Automation:
```
double First();
```
Синтаксис COM:
```
double First();
Возвращаемое значение:
- первый объект в массиве.
```


## GetByIndex - Получить элемент массива по индексу

Синтаксис Automation:
```
double GetByIndex (long index);
```
Синтаксис COM:
```
double GetByIndex ( long index );
Входной параметр:
index    - номер объекта в массиве.
Возвращаемое значение:
- значение узла.
```


## GetCount - Получить количество элементов в массиве

Синтаксис Automation:
```
long GetCount();
```
Синтаксис COM:
```
long GetCount();
Возвращаемое значение:
- количество элементов массива.
```


## Last - Получить последний объект в массиве

Синтаксис Automation:
```
double Last();
```
Синтаксис COM:
```
double Last();
Возвращаемое значение:
- последний объект в массиве.
```


## Next - Получить следующий объект в массиве

Синтаксис Automation:
```
double Next();
```
Синтаксис COM:
```
double Next();
Возвращаемое значение:
- следующий объект в массиве.
```


## Prev - Получить предыдущий объект в массиве

Синтаксис Automation:
```
double Prev();
```
Синтаксис COM:
```
double Prev();
Возвращаемое значение:
- предыдущий объект в массиве.
```


## Refresh - Обновить массив

Синтаксис Automation:
```
BOOL Refresh();
```
Синтаксис COM:
```
BOOL Refresh();
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
После вызова данной функции возникает полное соответствие массива с массивом узлов ребра (поверхности) и удаляются все предыдущие изменения в массиве.


## SetByIndex - Заменить объект с указанным индексом в массиве на присланный объект

Синтаксис Automation:
```
BOOL SetByIndex (double obj, long index);
```
Синтаксис COM:
```
BOOL SetByIndex (double obj, long index);
Входные параметры:
obj    - значение присоединяемого узла,
index    - индекс элемента в массиве.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
