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

365 lines
12 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: "IMeasurement3D"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, imeasurement3d]
sources:
- imeasurement3d.html
---
*API интерфейсов. Версия 7 > Сервисные функции  > Измерения *
## IMeasurement3D
Интерфейс измерения расстояния и угла
Иерархия:
IDispatch
IKompasAPIObject
IMeasurement3D
Примечание:
Интерфейс можно получить, используя свойство IPart7::Measurement3D.
Интерфейс позволяет измерить расстояния и углы (если это возможно) между двумя указанными объектами.
Объекты могут быть следующих типов:
•координатные и вспомогательные оси и плоскости,
•эскизы (если указан эскиз, то объектом измерения является плоскость эскиза),
•грани,
•ребра,
•вершины,
•пространственные кривые и точки,
•тела,
•компоненты.
Объекты можно указывать в любой комбинации, например, плоскость и вершина,  ребро и ось, две грани, тело и грань, тело и вершина, тело и ребро, тело и компонент, компонент и компонент и т.д.
Система определяет значение расстояния между объектами (если оно не нулевое) и значение угла между ними (если объекты не параллельны).
КОМПАС v23
## Angle - Угол между объектами
Тип данных: double
Синтаксис Automation:
```
Angle = Object.Angle Получить свойство (* )
Angle = Object.GetAngle() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Angle( &Angle ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## Briefly - Кратко
Тип данных: BOOL
Синтаксис Automation:
```
Briefly = Object.Briefly Получить свойство (* )
Object.Briefly = Briefly Установить свойство (* )
Briefly = Object.GetBriefly() Получить свойство (**)
Object.SetBriefly( Briefly ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Briefly( &Briefly ) Получить свойство
Object.put_Briefly( Briefly ) Установить свойство
```
## Calculate - Вычислить
Синтаксис Automation:
```
ksMeasureResultEnum Calculate()
```
Синтаксис COM:
```
HRESULT Calculate( ksMeasureResultEnum * Result );
Возвращаемое значение:
- результат вычисления из перечисления ksMeasureResultEnum.
```
## DirectionObject - Направляющий объект
Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
DirectionObject = Object.DirectionObject Получить свойство (* )
Object.DirectionObject = DirectionObject Установить свойство (* )
DirectionObject = Object.GetDirectionObject() Получить свойство (**)
Object.SetDirectionObject( DirectionObject ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DirectionObject( &DirectionObject ) Получить свойство
Object.put_DirectionObject( DirectionObject ) Установить свойство
```
## DirectionVector - Параметры направляющего вектора
Тип данных: Указатель на интерфейс IVector3D
Синтаксис Automation:
```
DirectionVector = Object.DirectionVector Получить свойство (* )
DirectionVector = Object.GetDirectionVector() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_DirectionVector( &DirectionVector ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## ExtendObject1 - Бесконечен ли первый объект (для кривых и плоскостей)
Тип данных: BOOL
Синтаксис Automation:
```
ExtendObject1 = Object.ExtendObject1 Получить свойство (* )
ExtendObject1 = Object.GetExtendObject1() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ExtendObject1( &ExtendObject1 ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## ExtendObject2 - Бесконечен ли второй объект (для кривых и плоскостей)
Тип данных: BOOL
Синтаксис Automation:
```
ExtendObject2 = Object.ExtendObject2 Получить свойство (* )
ExtendObject2 = Object.GetExtendObject2() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ExtendObject2( &ExtendObject2 ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## Gap - Зазор или проекция
Тип данных:  BOOL
Синтаксис Automation:
```
Gap = Object.Gap Получить свойство (* )
Object.Gap = Gap Установить свойство (* )
Gap = Object.GetGap() Получить свойство (**)
Object.SetGap( Gap ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Gap( &Gap ) Получить свойство
Object.put_Gap( Gap ) Установить свойство
```
## GetMaxPoint1 - Получить первую точку отрезка максимального расстояния
Синтаксис Automation:
```
BOOL GetMaxPoint1( double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetMaxPoint1( double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Выходные параметры:
X, Y, Z - координаты точки.
```
## GetMaxPoint2 - Получить вторую точку отрезка максимального расстояния
Синтаксис Automation:
```
BOOL GetMaxPoint2( double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetMaxPoint2( double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Выходные параметры:
X, Y, Z - координаты точки.
```
## GetMinPoint1 - Получить первую точку отрезка минимального расстояния
Синтаксис Automation:
```
BOOL GetMinPoint1( double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetMinPoint1( double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Выходные параметры:
X, Y, Z - координаты точки.
```
## GetMinPoint2 - Получить вторую точку отрезка минимального расстояния
Синтаксис Automation:
```
BOOL GetMinPoint2( double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetMinPoint2( double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Выходные параметры:
X, Y, Z - координаты точки.
```
## GetNormalPoint1 - Получить первую точку отрезка расстояния по нормали
Синтаксис Automation:
```
BOOL GetNormalPoint1( double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetNormalPoint1( double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Выходные параметры:
X, Y, Z - координаты точки.
```
## GetNormalPoint2 - Получить вторую точку отрезка расстояния по нормали
Синтаксис Automation:
```
BOOL GetNormalPoint2( double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetNormalPoint2( double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Выходные параметры:
X, Y, Z - координаты точки.
```
## IsAngleValid - Применимость расчета угла. TRUE - если для данных объектов угол имеет смысл
Тип данных: BOOL
Синтаксис Automation:
```
IsAngleValid = Object.IsAngleValid Получить свойство (* )
IsAngleValid = Object.GetIsAngleValid() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsAngleValid( &IsAngleValid ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## Lmax - Максимальное расстояние
Тип данных: double
Синтаксис Automation:
```
Lmax = Object.Lmax Получить свойство (* )
Lmax = Object.GetLmax() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Lmax( &Lmax ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## Lmin - Минимальное расстояние
Тип данных: double
Синтаксис Automation:
```
Lmin = Object.Lmin Получить свойство (* )
Lmin = Object.GetLmin() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Lmin( &Lmin ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## LNormal - Расстояние по нормали
Тип данных: double
Синтаксис Automation:
```
LNormal = Object.LNormal Получить свойство (* )
LNormal = Object.GetLNormal() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_LNormal( &LNormal ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## Object1 - Первый объект
Тип данных: Указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
Object1 = Object.Object1 Получить свойство (* )
Object.Object1 = Object1 Установить свойство (* )
Object1 = Object.GetObject1() Получить свойство (**)
Object.SetObject1( Object1 ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Object1( &Object1 ) Получить свойство
Object.put_Object1( Object1 ) Установить свойство
```
## Object2 - Второй объект
Тип данных: Указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
Object2 = Object.Object2 Получить свойство (* )
Object.Object2 = Object2 Установить свойство (* )
Object2 = Object.GetObject2() Получить свойство (**)
Object.SetObject2( Object2 ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Object2( &Object2 ) Получить свойство
Object.put_Object2( Object2 ) Установить свойство
```