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

8.5 KiB
Raw Blame History

title, type, api, domain, tags, sources
title type api domain tags sources
Положение объекта (Интерфейсы ksPlacement, IPlacement) interface
api7
3d
interface
api7
3d
ksplacement
ksplacement.html

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

Положение объекта (Интерфейсы ksPlacement, IPlacement)

Интерфейс локальной системы координат (положение объекта).

ksPlacement - интерфейс Automation
IPlacement - интерфейс COM
Примечание:
Данный интерфейс может быть получен с использованием методов интерфейсов ksRequestInfo3D::GetPlacement, ksObject3DNotifyResult::GetPlacement, ksPlaneParam::GetPlacement, ksTorusParam::GetPlacement, ksEllipse3dParam::GetPlacement, ksCylinderParam::GetPlacement, ksArc3dParam::GetPlacement, ksConeParam::GetPlacement, ksDocument3D::DefaultPlacement, ksViewProjection::GetPlacement, ksCircle3dParam::GetPlacement, ksPart::GetPlacement, ksSphereParam::GetPlacement.

GetAxis - Получить компоненты вектора направления оси OX, OY или OZ локальной системы координат

Синтаксис Automation:

BOOL GetAxis (double* x,
double* y,
double* z,
long type);

Синтаксис COM:

BOOL GetAxis (double *x,
double *y,
double *z,
long type);
Входной параметр:
type    - тип оси: 0  OX, 1 OY, >1 OZ.
Выходные параметры:
x, y, z    - компоненты вектора направления оси.
Возвращаемое значение:
TRUE    - в случае успешного завершения.

Примечание: Положение начала локальной системы координат можно получить при помощи метода GetOrigin.

GetMatrix - Получить суммарную матрицу преобразования координат

Синтаксис Automation:

VARIANT GetMatrix();

Синтаксис COM:

HRESULT GetMatrix( VARIANT * Result );
Возвращаемое значение:
- массив SafeAttray типа (VT_ARRAY    VT_R8).

Примечание:

  1. Элементы матрицы возвращаются в виде одномерного массива из 16 элементов.
  2. Матрица имеет размер 4х4.

GetOrigin - Получить координаты начала локальной системы координат

Синтаксис Automation:

BOOL GetOrigin (double* x,
double* y,
double* z);

Синтаксис COM:

BOOL GetOrigin (double *x,
double *y,
double *z);
Выходные параметры:
x, y, z    - координаты начала локальной системы координат в глобальной системе координат.
Возвращаемое значение:
TRUE    - в случае успешного завершения.

Примечание: Направление осей локальной системы координат можно получить при помощи метода GetAxis.

GetVector - Получить вектор для указанной оси

Синтаксис Automation:

BOOL GetVector( long type, double * X, double * Y, double * Z );

Синтаксис COM:

BOOL GetVector( long type, double * X, double * Y, double * Z );
Возвращаемое значение:
TRUE    - в случае удачи.
Входные параметры:
type    - тип оси: 0  OX, 1  OY, >1 – OZ.
Выходные параметры:
X, Y, Z    - компоненты вектора направления оси.

InitByMatrix3D - Установить систему координат по матрице

Синтаксис Automation:

BOOL InitByMatrix3D( VARIANT * mtr );

Синтаксис COM:

BOOL InitByMatrix3D( VARIANT * mtr );
Входные параметры:
mtr    - массив SafeAttray типа (VT_ARRAY    VT_R8).

Примечание:

  1. Элементы матрицы возвращаются в виде одномерного массива из 16 элементов.
  2. Матрица имеет размер 4х4.

PointProjection - Получить проекцию точки на плоскость XY

Синтаксис Automation:

BOOL PointProjection (double XIn, double YIn, double ZIn, double * XOut, double * YOut);

Синтаксис COM:

BOOL PointProjection (double XIn, double YIn, double ZIn, double * XOut, double * YOut);
Входные параметры:
XIn, YIn, ZIn    - координаты исходной пространственной точки.
Выходные параметры:
XOut, YOut    - координаты точки на плоскости XY.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Rotate - Получить последний объект в дереве

Синтаксис Automation:

BOOL Rotate( double X0, double Y0, double Z0, double AxisZX, double AxisZXY, double AxisZZ, double Angle );

Синтаксис COM:

BOOL Rotate( double X0, double Y0, double Z0, double AxisZX, double AxisZXY, double AxisZZ, double Angle );
Возвращаемое значение:
TRUE    - в случае успешного завершения,

SetAxes - Установить оси X и Y

Пример... Синтаксис Automation:

VARIANT_BOOL SetAxes (double Xx,
double Xy,
double Xz,
double Yx,
double Yy,
double Yz );

Синтаксис COM:

BOOL SetAxes (double Xx,
double Xy,
double Xz,
double Yx,
double Yy,
double Yz)
Входные параметры:
Xx, Xy, Xz    - координаты точки на оси X,
Yx, Yy, Yz    - координаты точки на оси Y.
Возвращаемое значение:
TRUE    - в случае успешного завершения.

SetAxis - Установить компоненты вектора направления оси OX, OY или OZ локальной системы координат

Пример... Синтаксис Automation:

BOOL SetAxis (double x,
double y,
double z,
long type);

Синтаксис COM:

BOOL SetAxis (double x,
double y,
double z,
int type);
Входные параметры:
x, y, z    - компоненты вектора направления оси,
type    - тип оси: 0  OX, >0 – OY.
Возвращаемое значение:
TRUE    - в случае успешного завершения.

SetOrigin - Изменить координаты начала локальной системы координат

Пример... Синтаксис Automation:

BOOL SetOrigin (double x,
double y,
double z);

Синтаксис COM:

BOOL SetOrigin (double x,
double y,
double z);
Входные параметры:
x, y, z    - координаты начала локальной системы координат в глобальной системе координат.
Возвращаемое значение:
TRUE    - в случае успешного завершения.

SetPlacement - Изменить локальную систему координат

Синтаксис Automation:

BOOL SetPlacement (LPDISPATCH placement);

Синтаксис COM:

BOOL SetPlacement (LPPLACEMENT placement);
Входной параметр:
placement    - указатель на интерфейс ksPlacement или IPlacement.
Возвращаемое значение:
TRUE    - в случае успешного завершения.

SetVector - Задать вектор для указанной оси

Синтаксис Automation:

BOOL SetVector( long type, double * X, double * Y, double * Z );

Синтаксис COM:

BOOL SetVector( long type, double * X, double * Y, double * Z );
Возвращаемое значение:
TRUE    - в случае удачи.
Входные параметры:
type    - тип оси: 0  OX, 1  OY, >1 – OZ.
Выходные параметры:
X, Y, Z    - компоненты вектора направления оси.