---
title: "Интерфейс ICloudPointsSurface"
type: interface
api: [api7]
tags: [interface, api7, icloudpointssurface]
sources:
  - icloudpointssurface.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Поверхности  > Интерфейс ISurfaceContainer  > ISurfaceContainer - свойства *


## Интерфейс ICloudPointsSurface

Интерфейс параметров поверхности по пласту (облаку) точек
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
ICloudPointsSurface
ILocalCSObject
Интерфейс можно получить у интерфейса коллекции поверхностей по пласту (облаку точек) с помощью свойства ICloudPointsSurfaces::CloudPointsSurface или метода ICloudPointsSurfaces::CloudPointsSurface.
С помощью метода IUnknown::QueryInterface у интерфейса можно получить интерфейс подчиненного объекта ЛСК ILocalCSObject.


## AddPoint - Добавить точку

Синтаксис Automation:
```
LPDISPATCH AddPoint( double X,
double Y,
double Z,
ksPoint3DTypeEnum PVal,
IModelObject * AssociationObject );
```
Синтаксис COM:
```
HRESULT AddPoint( double X,
double Y,
double Z,
ksPoint3DTypeEnum PVal,
IModelObject * AssociationObject,
IKompasAPIObject ** Result );
Возвращаемое значение:
Указатель на интерфейс параметров точки
Выходные параметры:
X, Y, Z    - координаты точки,
PVal    - тип параметров точки,
AssociationObject    - опорный объект для точки.
```


## AddPoints - Добавить точки

Синтаксис Automation:
```
BOOL AddPoints( VARIANT Points );
```
Синтаксис COM:
```
HRESULT AddPoints( VARIANT Points,
BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Points: массив VT_ARRAY | VT_R8 координат точек
```


## AssociationObject - Установить опорный объект для вершины

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
AssociationObject = Object.AssociationObject( Index )    Получить свойство (* )
Object.AssociationObject( Index ) = AssociationObject    Установить свойство (* )
AssociationObject = Object.GetAssociationObject( Index )    Получить свойство (**)
Object.SetAssociationObject( Index, AssociationObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AssociationObject( Index, &AssociationObject )    Получить свойство
Object.put_AssociationObject( Index, AssociationObject )    Установить свойство
Входные параметры:
long Index - индекс точки, для которой нужно установить опорный объект
```


## BuildingType - Тип поверхности по пласту (облаку) точек

Тип данных: из перечисления ksCloudPointsSurfaceBuildingTypeEnum
Синтаксис Automation:
```
BuildingType = Object.BuildingType    Получить свойство (* )
Object.BuildingType = BuildingType    Установить свойство (* )
BuildingType = Object.GetBuildingType()    Получить свойство (**)
Object.SetBuildingType( BuildingType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BuildingType( &BuildingType )    Получить свойство
Object.put_BuildingType( BuildingType )    Установить свойство
Свойство позволяет устанавливать и получать способ построения поверхности по пласту (облаку) точек.
```


## CheckSelfIntersection - Проверка самопересечений

Тип данных: BOOL
Синтаксис Automation:
```
CheckSelfIntersection = Object.CheckSelfIntersection    Получить свойство (* )
Object.CheckSelfIntersection = CheckSelfIntersection    Установить свойство (* )
CheckSelfIntersection = Object.GetCheckSelfIntersection()    Получить свойство (**)
Object.SetCheckSelfIntersection( CheckSelfIntersection )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CheckSelfIntersection( &CheckSelfIntersection )    Получить свойство
Object.put_CheckSelfIntersection( CheckSelfIntersection )    Установить свойство
Свойство позволяет включать и выключать проверку самопересечений.
```


## ClearPoints - Очистить список рядов точек

Синтаксис Automation:
```
BOOL ClearPoints();
```
Синтаксис COM:
```
HRESULT ClearPoints( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Метод позволяет удалить все точки поверхности.
```


## CloudLCS - СК объекта

Тип данных: указатель на интерфейс ILocalCoordinateSystem
Синтаксис Automation:
```
CloudLCS = Object.CloudLCS    Получить свойство (* )
Object.CloudLCS = CloudLCS    Установить свойство (* )
CloudLCS = Object.GetCloudLCS()    Получить свойство (**)
Object.SetCloudLCS( CloudLCS )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CloudLCS( &CloudLCS )    Получить свойство
Object.put_CloudLCS( CloudLCS )    Установить свойство
Свойство позволяет устанавливать и получать локальную систему координат поверхности.
```


## CloudType - Способ распознавания сети точек

Тип данных: из перечисления ksCloudTypeEnum
Синтаксис Automation:
```
CloudType = Object.CloudType    Получить свойство (* )
Object.CloudType = CloudType    Установить свойство (* )
CloudType = Object.GetCloudType()    Получить свойство (**)
Object.SetCloudType( CloudType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CloudType( &CloudType )    Получить свойство
Object.put_CloudType( CloudType )    Установить свойство
```


## Degree - Порядок сплайна (степень + 1)

Тип данных: long
Синтаксис Automation:
```
Degree = Object.Degree    Получить свойство (* )
Object.Degree = Degree    Установить свойство (* )
Degree = Object.GetDegree()    Получить свойство (**)
Object.SetDegree( Degree )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Degree( &Degree )    Получить свойство
Object.put_Degree( Degree )    Установить свойство
В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).
```


## DeletePoint - Удалить точку

Синтаксис Automation:
```
BOOL DeletePoint( long Index );
```
Синтаксис COM:
```
HRESULT DeletePoint( long Index, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Index - индекс удаляемой точки.
```


## FixedPosition - Фиксировать положение

Тип данных: BOOL
Синтаксис Automation:
```
FixedPosition = Object.FixedPosition    Получить свойство (* )
Object.FixedPosition = FixedPosition    Установить свойство (* )
FixedPosition = Object.GetFixedPosition()    Получить свойство (**)
Object.SetFixedPosition( FixedPosition )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_FixedPosition( &FixedPosition )    Получить свойство
Object.put_FixedPosition( FixedPosition )    Установить свойство
```


## GetPoint - Получить параметры точки

Синтаксис Automation:
```
BOOL GetPoint( long Index,
double * X,
double * Y,
double * Z );
```
Синтаксис COM:
```
HRESULT GetPoint( long Index,
double * X,
double * Y,
double * Z,
BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Index - индекс точки
Выходные параметры:
X, Y, Z - координаты точки
Метод позволяет получить координаты точки.
```


## PointParameters - Интерфейс параметров точки поверхности

Тип данных: указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
PointParameters = Object.PointParameters( Index )    Получить свойство (* )
PointParameters = Object.GetPointParameters( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_PointParameters( Index, &PointParameters )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Points - Массив точек

Тип данных: VARIANT типа VT_ARRAY | VT_R8
Синтаксис Automation:
```
Points = Object.Points    Получить свойство (* )
Object.Points = Points    Установить свойство (* )
Points = Object.GetPoints()    Получить свойство (**)
Object.SetPoints( Points )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Points( &Points )    Получить свойство
Object.put_Points( Points )    Установить свойство
Свойство позволяет устанавливать и получать массив точек, задающих поверхность.
```


## PointsCount - Количество точек

Тип данных: long
Синтаксис Automation:
```
PointsCount = Object.PointsCount    Получить свойство (* )
PointsCount = Object.GetPointsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_PointsCount( &PointsCount )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## PointType - Тип параметров построения точки поверхности

Тип данных: из перечисления ksPoint3DTypeEnum
Синтаксис Automation:
```
PointType = Object.PointType( Index )    Получить свойство (* )
Object.PointType( Index ) = PointType    Установить свойство (* )
PointType = Object.GetPointType( Index )    Получить свойство (**)
Object.SetPointType( Index, PointType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PointType( Index, &PointType )    Получить свойство
Object.put_PointType( Index, PointType )    Установить свойство
Входные параметры:
long Index - индекс точки.
```


## SetPoint - Установить параметры точки

Синтаксис Automation:
```
BOOL SetPoint( long Index, double X, double Y, double Z );
```
Синтаксис COM:
```
HRESULT SetPoint( long Index, double X, double Y, double Z, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Index    - индекс точки,
X, Y, Z    - координаты точки.
Метод позволяет установить параметры точки.
```
