--- 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