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

7.5 KiB

title, type, api, domain, tags, sources
title type api domain tags sources
Массив сопряжений (Интерфейсы ksMateConstraintCollection, IMateConstraintCollection) interface
api7
3d
interface
api7
3d
ksmateconstraintcollection
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    - в случае успешного завершения.