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