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

262 lines
8.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.
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: "Положение объекта (Интерфейсы ksPlacement, IPlacement)"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, ksplacement]
sources:
- 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 - компоненты вектора направления оси.
```