e1337e4016
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>
317 lines
14 KiB
Markdown
317 lines
14 KiB
Markdown
---
|
||
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) Установить свойство (**)
|
||
```
|