--- title: "Копия компонентов сборки по параллельной сетке (Интерфейсы ksMeshPartArrayDefinition, IMeshPartArrayDefinition)" type: interface api: [api7] domain: [2d, assembly] tags: [interface, api7, 2d, assembly, ksmeshpartarraydefinition] sources: - ksmeshpartarraydefinition.html --- *API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы копирования компонентов сборки * ## Копия компонентов сборки по параллельной сетке (Интерфейсы ksMeshPartArrayDefinition, IMeshPartArrayDefinition) Интерфейс операции копирования компонентов сборки по параллелограммной сетке. | ksMeshPartArrayDefinition | - интерфейс Automation | | --- | --- | | IMeshPartArrayDefinition | - интерфейс COM | Примечание: Данный интерфейс можно получить, используя метод интерфейса элемента модели ksEntity::GetDefinition или IEntity::GetDefinition. ## angle1- Угол наклона первой оси в текущей системе координат Тип данных: double Синтаксис Automation: ``` angle1 = iMeshArray.angle1 Получить свойство(* ) iMeshArray.angle1 = angle1 Установить свойство (* ) angle1 = iMeshArray.GetAngle1() Получить свойство (**) iMeshArray.SetAngle1(angle1) Установить свойство (**) ``` ## angle2 - Угол наклона второй оси сетки относительно первой Тип данных: double Синтаксис Automation: ``` angle2 = iMeshArray.angle2 Получить свойство(* ) iMeshArray.angle2 = angle2 Установить свойство (* ) angle2 = iMeshArray.GetAngle2() Получить свойство (**) iMeshArray.SetAngle2(angle2) Установить свойство (**) ``` ## count1 - Количество копий вдоль первой оси Тип данных: long Синтаксис Automation: ``` count1 = iMeshArray.count1 Получить свойство(* ) iMeshArray.count1 = count1 Установить свойство (* ) count1 = iMeshArray.GetCount1() Получить свойство (**) iMeshArray.SetCount1(count1) Установить свойство (**) ``` ## count2 - Количество копий вдоль второй оси Тип данных: long Синтаксис Automation: ``` count2 = iMeshArray.count2 Получить свойство(* ) iMeshArray.count2 = count2 Установить свойство (* ) count2 = iMeshArray.GetCount2() Получить свойство (**) iMeshArray.SetCount2(count2) Установить свойство (**) ``` ## DeletedCollection - Получить массив индексов удаленных копий Синтаксис Automation: ``` LPDISPATCH DeletedCollection(); ``` Синтаксис COM: ``` LPDELETEDCOPYCOLLECTION DeletedCollection(); Возвращаемое значение: указатель на интерфейс ksDeletedCopyCollection или IDeletedCopyCollection. - в случае успешного завершения, NULL - в случае неудачи. ``` Примечание: Интерфейс применяется для массивов компонентов и операций копирования, для получения информации о удаленных копиях, а также управления составом удаленных копий. Информация о удаленной копии выдается в виде индексов копии в узоре копирования. В общем случае это два индекса по ортогональным осям в плоскости узора. Для копий по кривой используется один индекс (первый). Значения индексов начинаются с 1. ## factor1 - Признак полного шага копирования вдоль первой оси Тип данных: BOOL Значения свойства: | TRUE | - свойство step1 устанавливает расстояние между крайними элементами вдоль 1-ой оси, | | --- | --- | | FALSE | - свойство step1 устанавливает расстояние между соседними элементами вдоль 1-ой оси. | Синтаксис Automation: ``` factor1 = iMeshArray.factor1 Получить свойство(* ) iMeshArray.factor1 = factor1 Установить свойство (* ) factor1 = iMeshArray.GetFactor1() Получить свойство (**) iMeshArray.SetFactor1(factor1) Установить свойство (**) ``` ## factor2 - Признак полного шага копирования вдоль второй оси Тип данных: BOOL Значения свойства: | TRUE | - свойство step2 устанавливает расстояние между крайними элементами вдоль второй оси, | | --- | --- | | FALSE | - свойство step2 устанавливает расстояние между соседними элементами вдоль второй оси. | Синтаксис Automation: ``` factor2 = iMeshArray.factor2 Получить свойство(* ) iMeshArray.factor2 = factor2 Установить свойство (* ) factor2 = iMeshArray.GetFactor2() Получить свойство (**) iMeshArray.SetFactor2(factor2) Установить свойство (**) ``` ## GetAxis1 - Получить первую ось сетки Синтаксис Automation: ``` LPDISPATCH GetAxis1(); ``` Синтаксис COM: ``` LPENTITY GetAxis1(); Возвращаемое значение: - указатель на интерфейс оси ksEntity или IEntity. ``` ## GetAxis2 - Получить вторую ось сетки Синтаксис Automation: ``` LPDISPATCH GetAxis2(); ``` Синтаксис COM: ``` LPENTITY GetAxis2(); Возвращаемое значение: - указатель на интерфейс оси ksEntity или IEntity. ``` ## GetCopyParamAlongAxis - Получить параметры копирования вдоль оси Синтаксис Automation: ``` BOOL GetCopyParamAlongAxis (BOOL firstAxis, double * angle, long * count, double * step, BOOL * factor); ``` Синтаксис COM: ``` BOOL GetCopyParamAlongAxis (BOOL firstAxis, double * angle, long * count, double * step, BOOL * factor); Выходные параметры: firstAxis - ось: TRUE - первая, FALSE - вторая, angle - угол наклона оси, count - количество копий, step - шаг вдоль оси, factor - признак полного шага. Возвращаемое значение: TRUE - в случае успешного завершения. ``` ## insideFlag - Признак наличия копий внутри сетки Тип данных: BOOL Значения свойства: | TRUE | - оставлять экземпляры копий во всех узлах сетки, | | --- | --- | | FALSE | - оставлять экземпляры копий только по периметру сетки. | Синтаксис Automation: ``` insideFlag = iMeshArray.insideFlag Получить свойство(* ) iMeshArray.insideFlag = insideFlag Установить свойство (* ) insideFlag = iMeshArray.GetInsideFlag() Получить свойство (**) iMeshArray.SetInsideFlag(insideFlag) Установить свойство (**) ``` ## PartArray - Получить указатель на массив компонентов для копирования Синтаксис Automation: ``` LPDISPATCH PartArray(); ``` Синтаксис COM: ``` LPPARTCOLLECTION PartArray(); Возвращаемое значение: - указатель на интерфейс динамического массива компонентов, подлежащих копированию ksPartCollection или IPartCollection. ``` ## SetAxis1 - Установить первую ось сетки Синтаксис Automation: ``` BOOL SetAxis1 (LPDISPATCH axis); ``` Синтаксис COM: ``` BOOL SetAxis1 (LPENTITY axis); Входной параметр: axis - указатель на интерфейс оси ksEntity или IEntity. Возвращаемое значение: TRUE - в случае успешного завершения. ``` ## SetAxis2 - Установить вторую ось сетки Синтаксис Automation: ``` BOOL SetAxis2 (LPDISPATCH axis); ``` Синтаксис COM: ``` BOOL SetAxis2 (LPENTITY axis); Входной параметр: axis - указатель на интерфейс оси операции ksEntity или IEntity. Возвращаемое значение: TRUE - в случае успешного завершения. ``` ## SetCopyParamAlongAxis - Установить параметры копирования вдоль оси Синтаксис Automation: ``` BOOL SetCopyParamAlongAxis (BOOL firstAxis, double angle, long count, double step, BOOL factor); ``` Синтаксис COM: ``` BOOL SetCopyParamAlongAxis (BOOL firstAxis, double angle, long count, double step, BOOL factor); Входные параметры: firstAxis - ось: TRUE - первая, FALSE - вторая, angle - угол наклона оси, count - количество копий, step - шаг вдоль оси, factor - признак полного шага. Возвращаемое значение: TRUE - в случае успешного завершения. ``` ## step1 - Шаг копирования вдоль первой оси Тип данных: double Синтаксис Automation: ``` step1 = iMeshArray.step1 Получить свойство(* ) iMeshArray.step1 = stept1 Установить свойство (* ) step1 = iMeshArray.GetStep1() Получить свойство (**) iMeshArray.SetStep1(step1) Установить свойство (**) ``` ## step2 - Шаг копирования вдоль второй оси Тип данных: double Синтаксис Automation: ``` step2 = iMeshArray.step2 Получить свойство(* ) iMeshArray.step2 = stept2 Установить свойство (* ) step2 = iMeshArray.GetStep2() Получить свойство (**) iMeshArray.SetStep2(step2) Установить свойство (**) ```