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

217 lines
7.5 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: "Массив сопряжений (Интерфейсы ksMateConstraintCollection, IMateConstraintCollection)"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, ksmateconstraintcollection]
sources:
- ksmateconstraintcollection.html
---
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Запрос к сиcтеме (Интерфейсы ksRequestInfo3D, IRequestInfo) *
## Массив сопряжений (Интерфейсы ksMateConstraintCollection, IMateConstraintCollection)
Интерфейс параметров массива сопряжений компонента сборки.
| ksMateConstraintCollection | - интерфейс Automation |
| --- | --- |
| IMateConstraintCollection | - интерфейс COM |
Примечание:
Данный интерфейс может быть получен с использованием метода интерфейса ksRequestInfo3D::GetMateConstraintCollection.
Интерфейсы структуры параметров сопряжения (Интерфейсы ksMateConstraint, IMateConstraint)
## AddMateConstraint - Добавить сопряжение в массив
Синтаксис Automation:
```
BOOL AddMateConstraint (LPDISPATCH mate);
```
Синтаксис COM:
```
BOOL AddMateConstraint (LPMATECONSTRAINT mate);
Входные параметры:
mate - указатель на интерфейс ksMateConstraint или IMateConstraint.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## Clear - Очистить массив сопряжений
Синтаксис Automation:
```
BOOL Clear();
```
Синтаксис COM:
```
BOOL Clear();
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
Объекты удаляются только из массива, в модель изменения не передаются.
## FindIt - Получить индекс элемента в массиве
Синтаксис Automation:
```
long FindIt (LPDISPATCH entity);
Возвращаемое значение:
индекс элемента - если элемент найден в массиве,
-1 - если элемент не найден.
```
Синтаксис COM:
```
unsigned long FindIt (LPMATECONSTRAINT entity);
Возвращаемое значение:
индекс элемента - если элемент найден в массиве,
SYS_MAX_UINT - если элемент не найден.
Входные параметры:
entity - указатель на интерфейс ksMateConstraint или IMateConstraint.
```
## First - Получить указатель на интерфейс первого объекта в массиве сопряжений
Синтаксис Automation:
```
LPDISPATCH First();
```
Синтаксис COM:
```
LPMATECONSTRAINT First();
Возвращаемое значение:
- указатель на интерфейс параметров сопряжения ksMateConstraint или IMateConstraint.
```
## GetByIndex - Получить указатель на интерфейс объекта с указанным индексом в массиве сопряжений
Синтаксис Automation:
```
LPDISPATCH GetByIndex (long index);
```
Синтаксис COM:
```
LPMATECONSTRAINT GetByIndex (long index);
Входной параметр:
index - индекс сопряжения в массиве.
Возвращаемое значение:
- указатель на интерфейс параметров сопряжения ksMateConstraint или IMateConstraint.
```
## GetCount - Получить количество элементов в массиве сопряжений
Синтаксис Automation:
```
long GetCount();
```
Синтаксис COM:
```
unsigned long GetCount();
Возвращаемое значение:
- количество элементов в массиве сопряжений.
```
## GetSafeArrayByObj - Сформировать массив SAFEARRAY параметров сопряжений по объекту
Синтаксис Automation:
```
BOOL GetSafeArrayByObj( LPDISPATCH obj, VARIANT * pArray );
```
Синтаксис COM:
```
BOOL GetSafeArrayByObj( LPUNKNOWN obj, VARIANT * pArray );
Входные параметры:
obj - указатель на объект.
Выходные параметры:
pArray - указатель на массив параметров сопряжений.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
1. Тип выходного массива VT_ARRAY | VT_UNKNOWN. Элемент, лежащий в массиве, IMateConstraint.
2. Входной объект либо компонент IPart, тогда будет сформирован массив всех сопряжений для этого компонента, либо объект модели, который может фигурировать в сопряжениях.
## Last - Получить указатель на интерфейс последнего объекта в массиве сопряжений
Синтаксис Automation:
```
LPDISPATCH Last();
```
Синтаксис COM:
```
LPMATECONSTRAINT Last();
Возвращаемое значение:
- указатель на интерфейс параметров сопряжения ksMateConstraint или IMateConstraint.
```
## Next - Получить указатель на интерфейс следующего объекта в массиве сопряжений
Синтаксис Automation:
```
LPDISPATCH Next();
```
Синтаксис COM:
```
LPMATECONSTRAINT Next();
Возвращаемое значение:
- указатель на интерфейс параметров сопряжения ksMateConstraint или IMateConstraint.
```
## Prev - Получить указатель на интерфейс предыдущего объекта в массиве сопряжений
Синтаксис Automation:
```
LPDISPATCH Prev();
```
Синтаксис COM:
```
LPMATECONSTRAINT Prev();
Возвращаемое значение:
- указатель на интерфейс параметров сопряжения ksMateConstraint или IMateConstraint.
```
## Refresh - Обновить массив сопряжений
Синтаксис Automation:
```
BOOL Refresh();
```
Синтаксис COM:
```
BOOL Refresh();
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
Метод не работает для временного массива (полученного от ksRequestInfo3D::GetMateConstraintCollection).
## RemoveMateConstraint - Удалить сопряжение из массива
Синтаксис Automation:
```
BOOL RemoveMateConstraint (LPDISPATCH mate);
```
Синтаксис COM:
```
BOOL RemoveMateConstraint (LPMATECONSTRAINT mate);
Входные параметры:
mate - указатель на интерфейс ksMateConstraint или IMateConstraint.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```