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

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


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

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


## AddPoint - Добавить точку в создаваемый ряд

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


## AddPointsSeries - Добавить ряд точек

Синтаксис Automation:
```
BOOL AddPointsSeries( BOOL UV,
long IndexAt,
VARIANT arr );
```
Синтаксис COM:
```
HRESULT AddPointsSeries( BOOL UV,
long IndexAt,
VARIANT arr,
BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Возвращаемое значение:
UV    - TRUE - добавлять по U, FALSE - по V,
IndexAt    - индекс, перед которым добавлять,
arr    - массив VT_ARRAY    VT_R8 координат точек.
```


## BeginPointsSeries - Начать добавление нового ряда точек

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


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

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


## DeletePointsSeries - Удалить ряд точек

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


## EndPointsSeries - Завершить создание нового ряда точек

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


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

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


## GetPoints - Получить массив всех точек

Синтаксис Automation:
```
VARIANT GetPoints( long * UPCount, long * VPCount );
```
Синтаксис COM:
```
HRESULT GetPoints( long * UPCount, long * VPCount, VARIANT * Result );
Возвращаемое значение:
Массив VT_ARRAY | VT_R8 точек поверхности
Выходные параметры:
UPCount    - количество точек по U,
VPCount    - количество точек по V.
```


## PointsUCount - Количество точек по U

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


## PointsVCount - Количество точек по V

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


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

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


## SetPoints - Установить массив всех точек

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