Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ksmeshcopydefinition.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

14 KiB

title, type, api, domain, tags, sources
title type api domain tags sources
Копия элементов детали по параллелограммной сетке( Интерфейсы ksMeshCopyDefinition и ICopyMeshDefinition) interface
api7
2d
interface
api7
2d
ksmeshcopydefinition
ksmeshcopydefinition.html

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

Копия элементов детали по параллелограммной сетке( Интерфейсы ksMeshCopyDefinition и ICopyMeshDefinition)

Интерфейс операции копирования по сетке.

ksMeshCopyDefinition - интерфейс Automation
ICopyMeshDefinition - интерфейс COM
Примечание:
Данный интерфейс можно получить, используя метод интерфейса элемента модели ksEntity::GetDefinition или IEntity::GetDefinition.

angle1 - Угол наклона первой оси в текущей системе координат

Тип данных: double Синтаксис Automation:

angle1 = iCopyMesh.angle1    Получить свойство(* )
iCopyMesh.angle1 = angle1    Установить свойство (* )
angle1 = iCopyMesh.GetAngle1()    Получить свойство (**)
iCopyMesh.SetAngle1(angle1)    Установить свойство (**)

angle2 - Угол наклона второй оси относительно первой

Тип данных: double Синтаксис Automation:

angle2 = iCopyMesh.angle2    Получить свойство(* )
iCopyMesh.angle2 = angle2    Установить свойство (* )
angle2 = iCopyMesh.GetAngle2()    Получить свойство (**)
iCopyMesh.SetAngle2(angle2)    Установить свойство (**)

count1 - Количество копий вдоль первой оси

Тип данных: long Синтаксис Automation:

count1 = iCopyMesh.count1    Получить свойство(* )
iCopyMesh.count1 = count1    Установить свойство (* )
count1 = iCopyMesh.GetCount1()    Получить свойство (**)
iCopyMesh.SetCount1(count1)    Установить свойство (**)

count2 - Количество копий вдоль второй оси

Тип данных: long Синтаксис Automation:

count2 = iCopyMesh.count2    Получить свойство(* )
iCopyMesh.count2 = count2    Установить свойство (* )
count2 = iCopyMesh.GetCount2()    Получить свойство (**)
iCopyMesh.SetCount2(count2)    Установить свойство (**)

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

Синтаксис Automation:

LPDISPATCH DeletedCollection();

Синтаксис COM:

LPDELETEDCOPYCOLLECTION DeletedCollection();
Возвращаемое значение:
указатель на интерфейс ksDeletedCopyCollection или IDeletedCopyCollection    - в случае успешного завершения,
NULL    - в случае неудачи.

Примечание: Интерфейс применяется для массивов компонентов и операций копирования, для получения информации о удаленных копиях, а также управления составом удаленных копий. Информация о удаленной копии выдается в виде индексов копии в узоре копирования. В общем случае это два индекса по ортогональным осям в плоскости узора. Для копий по кривой используется один индекс (первый). Значения индексов начинаются с 1.

factor1 - Признак полного шага вдоль первой оси

Тип данных: BOOL Значения свойства:

TRUE - свойство step1 устанавливает расстояние между крайними элементами вдоль первой оси,
FALSE - свойство step1 устанавливает расстояние между соседними элементами вдоль первой оси.
Синтаксис Automation:
factor1 = iCopyMesh.factor1    Получить свойство(* )
iCopyMesh.factor1 = factor1    Установить свойство (* )
factor1 = iCopyMesh.GetFactor1()    Получить свойство (**)
iCopyMesh.SetFactor1(factor1)    Установить свойство (**)

factor2 - Признак полного шага вдоль второй оси

Тип данных: BOOL Значения свойства:

TRUE - свойство step2 устанавливает расстояние между крайними элементами вдоль второй оси,
FALSE - свойство step2 устанавливает расстояние между соседними элементами вдоль второй оси.
Синтаксис Automation:
factor2 = iCopyMesh.factor2    Получить свойство(* )
iCopyMesh.factor2 = factor2    Установить свойство (* )
factor2 = iCopyMesh.GetFactor2()    Получить свойство (**)
iCopyMesh.SetFactor2(factor2)    Установить свойство (**)

geomArray - Признак использования геометрического копирования

Тип данных: BOOL Значения свойства:

TRUE - использовать геометрическое копирование. Содержимое операций-источников (грани, ребра) копируется без пересчета. В простых случаях операция ускоряется, но возможны ошибки при копировании скруглений и фасок на криволинейных поверхностях,
FALSE - при копировании все операции-источники строятся заново, т.е. производится полноценный расчет.
Синтаксис Automation:
geomArray = ICopyMeshDefinition.geomArray    Получить свойство(* )
ICopyMeshDefinition.geomArray = geomArray    Установить свойство (* )
geomArray = ICopyMeshDefinition.GetGeomArray()    Получить свойство (**)
ICopyMeshDefinition.SetGeomArray( geomArray)    Установить свойство (**)

GetAxis1- Получить первую ось операции

Синтаксис Automation:

LPDISPATCH GetAxis1();

Синтаксис COM:

LPENTITY GetAxis1();
Возвращаемое значение:
- указатель на интерфейс ksEntity или IEntity.    - в случае успешного завершения,
NULL    - в случае неудачи.

Примечание: Направление сетки можно определить, указывая ребра или оси, вдоль которых строится сетка. Если ось 1 определена, то игнорируется свойство angle1 (Угол наклона 1-ой оси).

GetAxis2 - Получить вторую ось операции

Синтаксис Automation:

LPDISPATCH GetAxis2();

Синтаксис COM:

LPENTITY GetAxis2();
Возвращаемое значение:
указатель на интерфейс ksEntity или IEntity.    - в случае успешного завершения,
NULL    - в случае неудачи.

Примечание: Направление сетки можно определить, указывая ребра или оси, вдоль которых строится сетка. Если ось 2 определена, то игнорируется свойство angle2 (Угол наклона 2-ой оси).

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 = iCopyMesh.insideFlag    Получить свойство(* )
iCopyMesh.insideFlag = insideFlag    Установить свойство (* )
insideFlag = iCopyMesh.GetInsideFlag()    Получить свойство (**)
iCopyMesh.SetInsideFlag(insideFlag)    Установить свойство (**)

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

Синтаксис Automation:

IDispatch * OperationArray();

Синтаксис COM:

LPENTITYCOLLECTION OperationArray();
Возвращаемое значение:
- указатель на интерфейс динамического массива элементов, подлежащих копированию ksEntityCollection или IEntityCollection.

SetAxis1 - Задать первую ось операции

Синтаксис Automation:

BOOL SetAxis1 (LPDISPATCH entity);

Синтаксис COM:

BOOL SetAxis1 (LPENTITY);
Входные параметры:
entity    - указатель на интерфейс ksEntity или IEntity (ось или прямолинейное ребро).
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: Направление сетки можно определить, указывая ребра или оси, вдоль которых строится сетка. Если ось 1 определена, то игнорируется свойство angle1 (Угол наклона 1-ой оси).

SetAxis2 - Задать вторую ось операции

Синтаксис Automation:

BOOL SetAxis2 (LPDISPATCH entity);

Синтаксис COM:

BOOL SetAxis2 (LPENTITY);
Входные параметры:
entity    - указатель на интерфейс ksEntity или IEntity (ось или прямолинейное ребро).
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: Направление сетки можно определить, указывая ребра или оси, вдоль которых строится сетка. Если ось 1 определена, то игнорируется свойство angle2 (Угол наклона 2-ой оси).

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 = iCopyMesh.step1    Получить свойство(* )
iCopyMesh.step1 = stept1    Установить свойство (* )
step1 = iCopyMesh.GetStep1()    Получить свойство (**)
iCopyMesh.SetStep1(step1)    Установить свойство (**)

step2 - Шаг вдоль второй оси

Тип данных: double Синтаксис Automation:

step2 = iCopyMesh.step2    Получить свойство(* )
iCopyMesh.step2 = stept2    Установить свойство (* )
step2 = iCopyMesh.GetStep2()    Получить свойство (**)
iCopyMesh.SetStep2(step2)    Установить свойство (**)