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

317 lines
14 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Копия элементов детали по параллелограммной сетке( Интерфейсы ksMeshCopyDefinition и ICopyMeshDefinition)"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, ksmeshcopydefinition]
sources:
- 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) Установить свойство (**)
```