---
title: "Массив точек для трехмерных NURBS (Интерфейсы ksNurbsPoint3dCollection, INurbsPoint3dCollection)"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, ksnurbspoint3dcollection]
sources:
  - ksnurbspoint3dcollection.html
---

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


## Массив точек для трехмерных NURBS (Интерфейсы ksNurbsPoint3dCollection, INurbsPoint3dCollection)

Интерфейс массива точек для трехмерных NURBS.
| ksNurbsPoint3dCollection | - интерфейс Automation |
| --- | --- |
| INurbsPoint3dCollection | - интерфейс COM |
Примечание:
Данный интерфейс может быть получен с использованием метода интерфейса ksNurbs3dParam::NurbsPoint3DCollection.


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

Синтаксис Automation:
```
BOOL Add (LPDISPATCH obj);
```
Синтаксис COM:
```
BOOL Add (LPNURBSPOINT3DPARAM obj);
Входной параметр:
obj    - указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam параметров точки для трехмерной NURBS.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Указатель на интерфейс добавляемого объекта obj не должен быть равен 0.


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

Синтаксис Automation:
```
BOOL AddAt (LPDISPATCH obj, long index);
```
Синтаксис COM:
```
BOOL AddAt (LPNURBSPOINT3DPARAM obj, long index);
Входные параметры:
obj    - указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam параметров точки для трехмерной NURBS,
index    - индекс в массиве.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Указатель на интерфейс добавляемого объекта obj не должен быть равен 0.


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

Синтаксис Automation:
```
BOOL AddBefore (LPDISPATCH obj, LPDISPATCH base);
```
Синтаксис COM:
```
BOOL AddBefore (LPNURBSPOINT3DPARAM obj, LPNURBSPOINT3DPARAM base);
Входные параметры:
obj    - указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam добавляемого объекта,
base    - указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam базового объекта.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Указатели на интерфейсы добавляемого и базового объекта obj и base не должны быть равны 0.


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

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


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

Синтаксис Automation:
```
BOOL DetachByBody (LPDISPATCH obj);
```
Синтаксис COM:
```
BOOL DetachByBody (LPNURBSPOINT3DPARAM obj);
Входные параметры:
obj    - указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam удаляемого объекта.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечания:
Указатель на интерфейс удаляемого объекта obj не должен быть равен 0.


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

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


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

Синтаксис Automation:
```
long FindIt (LPDISPATCH entity);
Входные параметры:
entity    - указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam точки для трехмерного NURBS.
Возвращаемое значение:
индекс элемента в массиве.    - если элемент найден в коллекции,
-1    - элемент в коллекции не найден.
```
Синтаксис COM:
```
unsigned long FindIt (LPNURBSPOINT3D entity);
Входные параметры:
entity    - указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam точки для трехмерного NURBS.
Возвращаемое значение:
индекс элемента в массиве.    - если элемент найден в коллекции,
SYS_MAX_UINT    - элемент в коллекции не найден.
```


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

Синтаксис Automation:
```
LPDISPATCH First();
```
Синтаксис COM:
```
LPNURBSPOINT3DPARAM First();
Возвращаемое значение:
- указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam.
```


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

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


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

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


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

Синтаксис Automation:
```
LPDISPATCH Last();
```
Синтаксис COM:
```
LPNURBSPOINT3DPARAM Last();
Возвращаемое значение:
- указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam.
```


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

Синтаксис Automation:
```
LPDISPATCH Next();
```
Синтаксис COM:
```
LPNURBSPOINT3DPARAM Next();
Возвращаемое значение:
- указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam.
```


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

Синтаксис Automation:
```
LPDISPATCH Prev();
```
Синтаксис COM:
```
LPNURBSPOINT3DPARAM Prev();
Возвращаемое значение:
- указатель на интерфейс ksNurbsPoint3dParam или INurbsPoint3dParam.
```


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

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


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

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