---
title: "Копия элементов детали по концентрической сетке (Интерфейсы ksCircularCopyDefinition, ICopyCircularDefinition)"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, kscircularcopydefinition]
sources:
  - kscircularcopydefinition.html
---

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


## Копия элементов детали по концентрической сетке (Интерфейсы ksCircularCopyDefinition, ICopyCircularDefinition)

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


## count1 - Количество копий в радиальном направлении

Тип данных: long
Синтаксис Automation:
```
count1 = iCopyCirc.count1    Получить свойство(* )
iCopyCirc.count1 = count1    Установить свойство (* )
count1 = iCopyCirc.GetCount1()    Получить свойство (**)
iCopyCirc.SetCount1(count1)    Установить свойство (**)
```


## count2 - Количество копий в кольцевом направлении

Тип данных: long
Синтаксис Automation:
```
count2 = iCopyCirc.count2    Получить свойство(* )
iCopyCirc.count2 = count2    Установить свойство (* )
count2 = iCopyCirc.GetCount2()    Получить свойство (**)
iCopyCirc.SetCount2(count2)    Установить свойство (**)
```


## DeletedCollection - Получить массив индексов удаленных копий

Синтаксис Automation:
```
LPDISPATCH DeletedCollection();
```
Синтаксис COM:
```
LPDELETEDCOPYCOLLECTION DeletedCollection();
Возвращаемое значение:
указатель на интерфейс ksDeletedCopyCollection или IDeletedCopyCollection    - в случае успешного завершения,
NULL    - в случае неудачи.
```
Примечание:
Интерфейс применяется для массивов компонентов и операций копирования, для получения информации о удаленных копиях, а также управления составом удаленных копий. Информация о удаленной копии выдается в виде индексов копии в узоре копирования. В общем случае это два индекса по ортогональным осям в плоскости узора. Для копий по кривой используется один индекс (первый). Значения индексов начинаются с 1.


## factor1 - Признак полного шага в радиальном направлении

Тип данных: BOOL
Значения свойства:
| TRUE | - свойство step1 устанавливает расстояние между крайними элементами массива в радиальном направлении, |
| --- | --- |
| FALSE | - свойство step1 устанавливает расстояние между соседними элементами массива в радиальном направлении. |
Синтаксис Automation:
```
factor1 = iCopyCirc.factor1    Получить свойство(* )
iCopyCirc.factor1 = factor1    Установить свойство (* )
factor1 = iCopyCirc.GetFactor1()    Получить свойство (**)
iCopyCirc.SetFactor1(factor1)    Установить свойство (**)
```


## factor2 - Признак полного шага в кольцевом направлении

Тип данных: BOOL
Значения свойства:
| TRUE | - свойство step2 устанавливает расстояние между крайними элементами массива в кольцевом направлении, |
| --- | --- |
| FALSE | - свойство step2 устанавливает расстояние между соседними элементами массива в кольцевом направлении. |
Синтаксис Automation:
```
factor2 = iCopyCirc.factor2    Получить свойство(* )
iCopyCirc.factor2 = factor2    Установить свойство (* )
factor2 = iCopyCirc.GetFactor2()    Получить свойство (**)
iCopyCirc.SetFactor2(factor2)    Установить свойство (**)
```


## geomArray - Признак использования геометрического копирования

Тип данных: BOOL
Значения свойства:
| TRUE | - использовать геометрическое копирование. Содержимое операций источников (грани, ребра) копируется без пересчета. В простых случаях операция ускоряется, но возможны ошибки при копировании скруглений и фасок на криволинейных поверхностях, |
| --- | --- |
| FALSE | - при копировании все операции-источники строятся заново, т.е. производится полноценный расчет. |
Синтаксис Automation:
```
geomArray = iCircularCopyDefinition.geomArray    Получить свойство(* )
iCircularCopyDefinition.geomArray = geomArray    Установить свойство (* )
iCircularCopyDefinition.GetGeomArray()    Получить свойство (**)
iCircularCopyDefinition.SetGeomArray( geomArray)    Установить свойство (**)
```


## GetAxis - Получить ось копирования

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


## GetCopyParamAlongDir - Получить параметры копирования

Синтаксис Automation:
```
BOOL GetCopyParamAlongDir (long* count,
double* step,
BOOL* factor,
BOOL dir);
```
Синтаксис COM:
```
BOOL GetCopyParamAlongDir (long* count,
double* step,
BOOL* factor,
BOOL dir)
Выходные параметры:
count    - количество копий,
step    - шаг,
factor    - признак полного шага,
dir    - направление копирования.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


## GetOperationArray - Получить указатель на массив элементов для копирования

Синтаксис Automation:
```
LPDISPATCH GetOperationArray();
```
Синтаксис COM:
```
LPENTITYCOLLECTION GetOperationArray();
Возвращаемое значение:
- указатель на интерфейс динамического массива элементов, подлежащих копированию ksEntityCollection или IEntityCollection.
```


## inverce - Признак направления копирования

Тип данных: BOOL
Значения свойства:
| TRUE | - обратное направление, |
| --- | --- |
| FALSE | - прямое направление. |
Синтаксис Automation:
```
inverce = iCopyCirc.inverce    Получить свойство(* )
iCopyCirc.inverce = inverce    Установить свойство (* )
inverce = iCopyCirc.GetInverce()    Получить свойство (**)
iCopyCirc.SetInverce(inverce)    Установить свойство (**)
```


## SetAxis - Установить ось копирования

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


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

Синтаксис Automation:
```
BOOL SetCopyParamAlongDir (long count,
double step,
BOOL factor,
BOOL dir);
```
Синтаксис COM:
```
BOOL SetCopyParamAlongDir (long count,
double step,
BOOL factor,
BOOL dir)
Входные параметры:
count    - количество копий,
step    - шаг,
factor    - признак полного шага,
dir    - направление копирования.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


## step1 - Шаг копирования в радиальном направлении

Тип данных: double
Синтаксис Automation:
```
step1 = iCopyCirc.step1    Получить свойство(* )
iCopyCirc.step1 = stept1    Установить свойство (* )
step1 = iCopyCirc.GetStep1()    Получить свойство (**)
iCopyCirc.SetStep1(step1)    Установить свойство (**)
```


## step2 - Шаг в кольцевом направлении

Тип данных: long
Синтаксис Automation:
```
step2 = iCopyCirc.step2    Получить свойство(* )
iCopyCirc.step2 = stept2    Установить свойство (* )
step2 = iCopyCirc.GetStep2()    Получить свойство (**)
iCopyCirc.SetStep2(step2)    Установить свойство (**)
```
