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

*API интерфейсов. Версия 7 > Документ 3D  > Вспомогательные объекты, 3D-кривые и элементы тела  > 3D-кривые и элементы тела  > Интерфейс IModelObjects  > IModelObjects - свойства *


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

Интерфейс коллекции кинематических операций (по траектории).
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IModelObjects
IEvolutions
Данный интерфейс можно получить, используя свойство контейнера трехмерных объектов IModelContainer::Evolutions.
Интерфейс также используется для коллекции кинематических поверхностей ISurfaceContainer::EvolutionSurfaces.
КОМПАС версия v18


## Add - Создает новый элемент и добавляет его в коллекцию

Синтаксис Automation:
```
LPDISPATCH Add( ksObj3dTypeEnum EvolutionType );
```
Синтаксис COM:
```
HRESULT Add( ksObj3dTypeEnum EvolutionType, IEvolution ** Result );
Возвращаемое значение:
- указатель на интерфейс IEvolution.
Входные параметры:
EvolutionType    - тип объекта из перечисления ksObj3dTypeEnum.
```
Примечания:
1. Метод позволяет создать новый интерфейс кинематической операции.
2. Допустимыми значениями EvolutionType являются:
•o3d_bossEvolution, o3d_cutEvolution для коллекции операций IModelContainer::Evolutions
•o3d_EvolutionSurface для коллекции поверхностей ISurfaceContainer::EvolutionSurfaces.
3. После получения нового интерфейса нужно задать параметры операции и вызвать метод IModelObject::Update.


## Evolution - Возвращает элемент, заданный по индексу или по имени

Тип данных: Указатель на интерфейс IEvolution.
Синтаксис Automation:
```
Evolution = Object.Evolution( Index )    Получить свойство (* )
Evolution = Object.GetEvolution( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Evolution( Index, &Evolution )    Получить свойство
Входные параметры:
VARIANT Index    - индекс или имя элемента.
```
Примечание:
Свойство доступно только для чтения.
