---
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 )    Установить свойство
```
