---
title: "Интерфейс коллекции трехмерных координат (Интерфейсы ksCoordinate3dCollection, ICoordinate3dCollection)"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, kscoordinate3dcollection]
sources:
  - kscoordinate3dcollection.html
---

*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D ) *


## Интерфейс коллекции трехмерных координат (Интерфейсы ksCoordinate3dCollection, ICoordinate3dCollection)

Интерфейс коллекции трехмерных координат.
| ksCoordinate3dCollection | - интерфейс Automation |
| --- | --- |
| ICoordinate3dCollection | - интерфейс COM |
Примечания.
1. Коллекция содержит список трехмерных координат точек. Используется при получении результатов расчета пересечений кривой с деталью, телом или поверхностью.
2. Получить интерфейс коллекции можно с помощью метода ksDocument3D::GetInterface с параметром o3dType = o3d_coordinate3dCollection.


## GetByIndex - Получить координаты точки по индексу

Синтаксис Automation:
```
BOOL GetByIndex (long index, double* x, double* y, double* z);
```
Синтаксис COM:
```
BOOL GetByIndex (long index, double* x, double* y, double* z);
Входные параметры:
index    - индекс точки.
Выходные параметры:
x, y, z    - координаты точки.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```


## GetCount - Получить количество точек

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


## GetSafeArray - Сформировать массив SAFEARRAY координат точек

Синтаксис Automation:
```
BOOL GetSafeArray (VARIANT* pArray);
```
Синтаксис COM:
```
BOOL GetSafeArray (VARIANT* pArray);
Выходные параметры:
pArray    - одномерный массив вещественных чисел VT_ARRAR    VT_R8.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечания:
Координаты точек в полученном массиве лежат в следующей последовательности:
x0, y0, z0, x1, y1, z1, ...xi, yi, zi
