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

9.1 KiB
Raw Blame History

title, type, api, domain, tags, sources
title type api domain tags sources
Интерфейсы структуры параметров сопряжения (Интерфейсы ksMateConstraint, IMateConstraint) interface
api7
3d
interface
api7
3d
ksmateconstraint
ksmateconstraint.html

*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Запрос к сиcтеме (Интерфейсы ksRequestInfo3D, IRequestInfo)  > Массив сопряжений (Интерфейсы ksMateConstraintCollection, IMateConstraintCollection) *

Интерфейсы структуры параметров сопряжения (Интерфейсы ksMateConstraint, IMateConstraint)

Интерфейс параметров сопряжения.

ksMateConstraint - интерфейс Automation
ImateConstraint - интерфейс COM
Примечание:
Данный интерфейс может быть получен следующими способами:
•с использованием метода интерфейса ksDocument3D::GetMateConstraint,
•с использованием методов интерфейса ksMateConstraintCollection.

constraintType - Тип сопряжения

Тип данных: short Синтаксис Automation:

сonstraintType = mateConstraint.сonstraintType    Получить свойство(* )
mateConstraint.сonstraintType = сonstraintType    Установить свойство (* )
сonstraintType = mateConstraint.GetConstraintType()    Получить свойство (**)
mateConstraint.SetConstraintType(сonstraintType)    Установить свойство (**)

Синтаксис COM:

сonstraintType = mateConstraint.GetConstraintType()    Получить свойство
mateConstraint.SetConstraintType(сonstraintType)    Установить свойство
Типы сопряжений...

Create - Создать временное сопряжение

Синтаксис Automation:

BOOL Create();

Синтаксис COM:

BOOL Create();
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание:

  1. Сопряжения бывают постоянными и временными. Временные сопряжения, в отличие от постоянных, существуют только в течении процесса указания местоположения или объектов. Процесс запускается методом ksDocument3D::UserGetPlacementAndEntity. Постоянные сопряжения создаются с помощью метода ksDocument3D::AddMateConstraint.
  2. Данный метод необходимо вызвать для создания временного сопряжения в модели после создания интерфейса с помощью метода ksDocument3D::GetMateConstraint и изменения параметров создаваемого сопряжения. Если до вызова данного метода параметры не изменены, сопряжение создается с параметрами, принятыми по умолчанию.
  3. Пример использования методов создания временных и постоянных сопряжений приведен в демонстрационной библиотеке построения модели стандартного изделия (шпильки), которая сохранена в файле STUDS3D.rtw.

direction - Направление

Тип данных: short Синтаксис Automation:

direction = mateConstraint.direction    Получить свойство(* )
mateConstraint.direction = direction    Установить свойство (* )
direction = mateConstraint.GetDirection()    Получить свойство (**)
mateConstraint.SetDirection(direction)    Установить свойство (**)

Синтаксис COM:

direction = mateConstraint.GetDirection()    Получить свойство
mateConstraint.SetDirection(direction)    Установить свойство
Направления сопряжений...

distance - Расстояние между объектами

Тип данных: double Синтаксис Automation:

distance = mateConstraint.distance    Получить свойство(* )
mateConstraint.distance = distance    Установить свойство (* )
distance = mateConstraint.GetDistance()    Получить свойство (**)
mateConstraint.SetDistance(distance)    Установить свойство (**)

Синтаксис COM:

distance = mateConstraint.GetDistance()    Получить свойство
mateConstraint.SetDistance(distance)    Установить свойство

fixed - Фиксация

Тип данных: short Синтаксис Automation:

fixed = mateConstraint.fixed    Получить свойство(* )
mateConstraint.fixed = fixed    Установить свойство (* )
fixed = mateConstraint.GetFixed()    Получить свойство (**)
mateConstraint.SetFixed(fixed)    Установить свойство (**)

Синтаксис COM:

fixed = mateConstraint.GetFixed()    Получить свойство
mateConstraint.SetFixed(fixed)    Установить свойство
Фиксации сопряжений...

Примечание: В настоящее время не используется.

GetBaseObj - Получить указатель на интерфейс объекта для сопряжения по номеру

Синтаксис Automation:

LPDISPATCH GetBaseObj (short number);

Синтаксис COM:

LPENTITY GetBaseObj (short number);
Входные параметры:
number    - номер объекта для сопряжения (1 или 2).
Возвращаемое значение:
- указатель на интерфейс объекта для сопряжения ksEntity или IEntity.

GetEntityParams - Получить параметры математических обектов, участвующих в сопряжении

Синтаксис Automation:

long GetEntityParams (long index, VARIANT * params);

Синтаксис COM:

int GetEntityParams (int index, VARIANT * params);
Входные параметры:
index    - индекс объекта.
Выходные параметры Automation:
params    - параметры объекта массив SafeArray вещественных чисел.
Выходные параметры COM:
params    - параметры объекта.
Возвращаемое значение:
тип математического объекта, участвующего в сопряжении из ksMateType    - если параметры получены,
ksMateUnknown    - в случае ошибки.

Примечание:

  1. Параметры возвращаются в системе координат сборки. При необходимости их можно перевести в систему координат нужного компонента с помощью функции IPart::TransformPoint.
  2. Геометрический объект для сопряжения описывается набором из 8-ми вещественных чисел, сгруппированных следующим образом: •три координаты точки Pc, Pc = { pointX, pointY, pointZ }, •три координаты вектора V, V = { vectorI, vectorJ, vectorK }, •две координаты, соответствующие радиусам, V = { vectorI, vectorJ, vectorK }. Представление математических объектов, участвующих в сопряжении...

GetFeature - Получить указатель на интерфейс параметров объекта дерева построения, связанного с данным объектом

Синтаксис Automation:

LPDISPATCH GetFeature();

Синтаксис COM:

LPFEATURE GetFeature();
Возвращаемое значение:
- указатель на интерфейс ksFeature или IFeature.

SetBaseObj - Установить указатель на интерфейс объекта для сопряжения по номеру

Синтаксис Automation:

BOOL SetBaseObj (short number, LPDISPATCH obj);

Синтаксис COM:

BOOL SetBaseObj (short number, LPENTITY obj);
Входные параметры:
number    - номер объекта для сопряжения (1 или 2),
obj    - указатель на интерфейс объекта для сопряжения ksEntity или IEntity.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.