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