---
title: "Кинематическая поверхность (Интерфейсы ksEvolutionSurfaceDefinition и IEvolutionSurfaceDefinition)"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, ksevolutionsurfacedefinition]
sources:
  - ksevolutionsurfacedefinition.html
---

*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы поверхностей *


## Кинематическая поверхность (Интерфейсы ksEvolutionSurfaceDefinition и IEvolutionSurfaceDefinition)

Интерфейс параметров кинематической поверхности.
| ksEvolutionSurfaceDefinition | - интерфейс Automation |
| --- | --- |
| IEvolutionSurfaceDefinition | - интерфейс COM |
Примечание:
Данный интерфейс можно получить, используя метод интерфейса элемента модели ksEntity::GetDefinition или IEntity::GetDefinition.


## closedShel - Признак замкнутости поверхности

Тип данных: VARIANT_BOOL
Синтаксис Automation:
```
closedShell = iEvolution.closedShell    Получить свойство (* )
iEvolution.closedShell = closedShell    Установить свойство(* )
closedShell = iEvolution.GetClosedShell()    Получить свойство (**)
iEvolution.SetClosedShell(closedShell)    Установить свойство (**)
```
Синтаксис COM:
```
closedShell = iEvolution.GetClosedShell()    Получить свойство
iEvolution.SetClosedShell(closedShell)    Установить свойство
Значения свойства:
TRUE    - поверхность замкнута,
FALSE    - поверхность не замкнута.
```


## GetPathLength - Получить длину результирующей кривой траектории

Интерфейс..
Синтаксис Automation:
```
double GetPathLength (unsigned long bitVector);
```
Синтаксис COM:
```
double GetPathLength(unsigned long bitVector);
Входные параметры:
bitVector    - единицы измерения в интервале [ST_MIX_MM..ST_MIX_M].
Возвращаемое значение:
длина результирующей кривой траектории    - в случае успешного завершения,
0    - в случае неудачи.
```
Примечания:
Метод работает только на уже построенной операции.


## GetSketch - Получить указатель на интерфейс эскиза кинематической поверхности

Интерфейс..
Синтаксис Automation:
```
LPDISPATCH GetSketch();
```
Синтаксис COM:
```
LPENTITY GetSketch();
Возвращаемое значение:
- указатель на интерфейс ksEntity или IEntity.
```


## PathPartArray - Получить указатель на интерфейс массива кривых, задающих траекторию движения сечения кинематического элемента

Интерфейс..
Синтаксис Automation:
```
IDispatch * PathPartArray();
```
Синтаксис COM:
```
LPENTITYCOLLECTION PathPartArray();
Возвращаемое значение:
- указатель на интерфейс ksEntityCollection или IEntityCollection.
```


## SetSketch - Установить эскиз кинематической поверхности

Интерфейс..
Синтаксис Automation:
```
BOOL SetSketch (LPDISPATCH sketch);
```
Синтаксис COM:
```
BOOL SetSketch (LPENTITY sketch);
Входные параметры:
sketch    - указатель на интерфейс ksEntity или IEntity
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## sketchShiftType - Тип движения сечения по траектории

Интерфейс..
Тип данных: short
Синтаксис Automation:
```
sketchShiftType = iEvolution.sketchShiftType    Получить свойство (* )
iEvolution.sketchShiftType = sketchShiftType    Установить свойство(* )
sketchShiftType = iEvolution.GetSketchShiftType()    Получить свойство (**)
iEvolution.SetSketchShiftType(sketchShiftType)    Установить свойство (**)
```
Синтаксис COM:
```
sketchShiftType = iEvolution.GetSketchShiftType()    Получить свойство
iEvolution.SetSketchShiftType(sketchShiftType)    Установить свойство
Значения свойства:
0    - образующая переносится параллельно самой себе,
1    - образующая при переносе сохраняет исходный угол с направляющей,
2    - плоскость образующей выставляется и сохраняется ортогональной направляющей.
```
