Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/kscurvecopydefinition.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

155 lines
7.3 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.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Копия элементов детали по кривой (Интерфейсы ksCurveCopyDefinition и ICopyCurveDefinition)"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, kscurvecopydefinition]
sources:
- kscurvecopydefinition.html
---
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы копирования *
## Копия элементов детали по кривой (Интерфейсы ksCurveCopyDefinition и ICopyCurveDefinition)
Интерфейс операции копирования по кривой.
| ksCurveCopyDefinition | - интерфейс Automation |
| --- | --- |
| ICopyCurveDefinition | - интерфейс COM |
Примечание:
Данный интерфейс можно получить, используя метод интерфейса элемента модели ksEntity::GetDefinition или IEntity::GetDefinition.
## count - Количество копий
Тип данных: long
Синтаксис Automation:
```
count = iCopyCurve.count Получить свойство(* )
iCopyCurve.count = count Установить свойство (* )
count = iCopyCurve.GetСount() Получить свойство (**)
iCopyCurve.SetСount(count) Установить свойство (**)
```
## CurveArray - Получить указатель на массив кривых, образующих траекторию копирования
Синтаксис Automation:
```
IDispatch * CurveArray();
```
Синтаксис COM:
```
LPENTITYCOLLECTION CurveArray();
Возвращаемое значение:
- указатель на интерфейс динамического массива кривых ksEntityCollection или IEntityCollection.
```
## DeletedCollection - Получить массив индексов удаленных копий
Синтаксис Automation:
```
LPDISPATCH DeletedCollection();
```
Синтаксис COM:
```
LPDELETEDCOPYCOLLECTION DeletedCollection();
Возвращаемое значение:::/Glava_50_Massiv_po_koncentr_setke.htm#CIRCULAR_PATTERN_main
указатель на интерфейс ksDeletedCopyCollection или IDeletedCopyCollection - в случае успешного завершения,
NULL - в случае неудачи.
```
Примечание:
Интерфейс применяется для массивов компонентов и операций копирования, для получения информации о удаленных копиях, а также управления составом удаленных копий. Информация о удаленной копии выдается в виде индексов копии в узоре копирования. В общем случае это два индекса по ортогональным осям в плоскости узора. Для копий по кривой используется один индекс (первый). Значения индексов начинаются с 1.
## factor - Признак полного шага
Тип данных: BOOL
Значения свойства:
| TRUE | - полный шаг, |
| --- | --- |
| FALSE | - шаг между соседними копиями. |
Синтаксис Automation:
```
factor = iCopyCurve.factor Получить свойство(* )
iCopyCurve.factor = factor Установить свойство (* )
factor = iCopyCurve.GetFactor() Получить свойство (**)
iCopyCurve.SetFactor(factor) Установить свойство (**)
```
## fullCurve - Признак распределения копий
Тип данных: BOOL
Значения свойства:
| TRUE | - по всей длине траектории, |
| --- | --- |
| FALSE | - по шагу и количеству. |
Синтаксис Automation:
```
fullCurve = iCopyCurve.fullCurve Получить свойство(* )
iCopyCurve.fullCurve = fullCurve Установить свойство (* )
fullCurve = iCopyCurve.GetFullCurve() Получить свойство (**)
iCopyCurve.SetFullCurve(fullCurve) Установить свойство (**)
```
## geomArray - Признак использования геометрического копирования
Тип данных: BOOL
Значения свойства:
| TRUE | - использовать геометрическое копирование. Содержимое операций источников (грани, ребра) копируется без пересчета. В простых случаях операция ускоряется, но возможны ошибки при копировании скруглений и фасок на криволинейных поверхностях; |
| --- | --- |
| FALSE | - при копировании все операции-источники строятся заново, т.е. производится полноценный расчет. |
Синтаксис Automation:
```
geomArray = iCopyCurveDefinition.geomArray Получить свойство(* )
iCopyCurveDefinition.geomArray = geomArray Установить свойство (* )
geomArray = iCopyCurveDefinition.GetGeomArray() Получить свойство (**)
iCopyCurveDefinition.SetGeomArray( geomArray) Установить свойство (**)
```
## keepAngle - Признак сохранения угла элементов относительно траектории в начальной точке
Тип данных: BOOL
Значения свойства:
| TRUE | - сохранять угол, |
| --- | --- |
| FALSE | - не сохранять угол. |
Синтаксис Automation:
```
keepAngle = iCopyCurve.keepAngle Получить свойство(* )
iCopyCurve.keepAngle = keepAngle Установить свойство (* )
keepAngle = iCopyCurve.GetKeepAngle() Получить свойство (**)
iCopyCurve.SetKeepAngle(keepAngle) Установить свойство (**)
```
## OperationArray - Получить указатель на массив элементов для копирования
Синтаксис Automation:
```
IDispatch * OperationArray();
```
Синтаксис COM:
```
LPENTITYCOLLECTION OperationArray();
Возвращаемое значение:
- указатель на интерфейс динамического массива операций, подлежащих копированию ksEntityCollection или IEntityCollection.
```
## step - Шаг копирования
Тип данных: double
Синтаксис Automation:
```
step = iCopyCurve.step Получить свойство(* )
iCopyCurve.step = step Установить свойство (* )
step = iCopyCurve.GetStep() Получить свойство (**)
iCopyCurve.SetStep(step) Установить свойство (**)
```