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

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


## Копия элементов детали по кривой (Интерфейсы ksCurveCopyDefinition и ICopyCurveDefinition)

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


## count - Количество копий

Тип данных: long
Синтаксис Automation:
```
count = iCopyCurve.count    Получить свойство(* )
iCopyCurve.count = count    Установить свойство (* )
count = iCopyCurve.GetСount()    Получить свойство (**)
iCopyCurve.SetСount(count)    Установить свойство (**)
```


## CurveArray - Получить указатель на массив кривых, образующих траекторию копирования

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


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

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


## factor - Признак полного шага

Тип данных: BOOL
Значения свойства:
| TRUE | - полный шаг, |
| --- | --- |
| FALSE | - шаг между соседними копиями. |
Синтаксис Automation:
```
factor = iCopyCurve.factor    Получить свойство(* )
iCopyCurve.factor = factor    Установить свойство (* )
factor = iCopyCurve.GetFactor()    Получить свойство (**)
iCopyCurve.SetFactor(factor)    Установить свойство (**)
```


## fullCurve - Признак распределения копий

Тип данных: BOOL
Значения свойства:
| TRUE | - по всей длине траектории, |
| --- | --- |
| FALSE | - по шагу и количеству. |
Синтаксис Automation:
```
fullCurve = iCopyCurve.fullCurve    Получить свойство(* )
iCopyCurve.fullCurve = fullCurve    Установить свойство (* )
fullCurve = iCopyCurve.GetFullCurve()    Получить свойство (**)
iCopyCurve.SetFullCurve(fullCurve)    Установить свойство (**)
```


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

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


## keepAngle - Признак сохранения угла элементов относительно траектории в начальной точке

Тип данных: BOOL
Значения свойства:
| TRUE | - сохранять угол, |
| --- | --- |
| FALSE | - не сохранять угол. |
Синтаксис Automation:
```
keepAngle = iCopyCurve.keepAngle    Получить свойство(* )
iCopyCurve.keepAngle = keepAngle    Установить свойство (* )
keepAngle = iCopyCurve.GetKeepAngle()    Получить свойство (**)
iCopyCurve.SetKeepAngle(keepAngle)    Установить свойство (**)
```


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

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


## step - Шаг копирования

Тип данных: double
Синтаксис Automation:
```
step = iCopyCurve.step    Получить свойство(* )
iCopyCurve.step = step    Установить свойство (* )
step = iCopyCurve.GetStep()    Получить свойство (**)
iCopyCurve.SetStep(step)    Установить свойство (**)
```
