--- 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) Установить свойство (**) ```