---
title: "Копия компонентов сборки по кривой (Интерфейсы ksCurvePartArrayDefinition, ICurvePartArrayDefinition)"
type: interface
api: [api7]
domain: [2d, assembly]
tags: [interface, api7, 2d, assembly, kscurvepartarraydefinition]
sources:
  - kscurvepartarraydefinition.html
---

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


## Копия компонентов сборки по кривой (Интерфейсы ksCurvePartArrayDefinition, ICurvePartArrayDefinition)

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


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

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


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

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


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

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


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

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


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

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


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

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


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

Синтаксис Automation:
```
LPDISPATCH PartArray();
```
Синтаксис COM:
```
LPPARTCOLLECTION PartArray();
Возвращаемое значение:
- указатель на интерфейс динамического массива операций, подлежащих копированию ksPartCollection или IPartCollection.
```


## sence - Направление копирования

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


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

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